При использовании запроса в SQL window/DB Manager:
Код: Выделить всё
SELECT sum(ST_Length_Spheroid(the_geom,'SPHEROID["WGS 84",6378137,298.257223563]'))/1000 AS km_roads FROM "D1_r";
При запросе (длина для каждой таблицы)
Код: Выделить всё
SELECT
sum(ST_Length_Spheroid("D1_r".the_geom,'SPHEROID["WGS 84",6378137,298.257223563]'))/1000 AS km_roads1, sum(ST_Length_Spheroid("D2_r".the_geom,'SPHEROID["WGS 84",6378137,298.257223563]'))/1000 AS km_roads2
FROM "D1_r","D2_r";
При запросе (длина для таблицы_1 из при запросе из двух таблиц)
Код: Выделить всё
SELECT sum(ST_Length_Spheroid("D1_r".the_geom,'SPHEROID["WGS 84",6378137,298.257223563]'))/1000 AS km_roads1 FROM "D1_r","D2_r";
При запросе (суммарная длина для двух таблиц)
Код: Выделить всё
SELECT
(sum(ST_Length_Spheroid("D1_r".the_geom,'SPHEROID["WGS 84",6378137,298.257223563]'))/1000)+
( sum(ST_Length_Spheroid("D2_r".the_geom,'SPHEROID["WGS 84",6378137,298.257223563]'))/1000) AS total
FROM "D1_r", "D2_r";
Правильный результат должен быть 2267 km (10453 rows in table) и 220 km (834 rows in table).
Какой должен быть правильный запрос для получения правильного результата?