Точность рассчетов GEOGRAPHY
Добавлено: 12 авг 2013, 16:01
Добрый день!
PostgreSQL 9.2
PostGIS 2.0
Во такой запрос для примера:
SELECT
ST_Distance('POINT(48.710317 44.523394)'::geography, 'POINT(48.779722 44.369657)'::geography) / 1000.0 AS postgis,
111.2*SQRT(POW(48.710317-48.779722, 2) + POW(44.523394-44.369657, 2)*POW(COS(48.710317*PI()/180), 2)) AS distance;
PostGIS показывает расстояние 17.954551725226
Расчет по формуле в запросе и по Google Earth показывает около 13 км.
Или для расстояния Москва-Питер:
SELECT
ST_Distance('POINT(55.738265 37.600223)'::geography, 'POINT(59.861631 30.342213)'::geography) / 1000.0 AS postgis,
111.2*SQRT(POW(55.738265-59.861631, 2) + POW(37.600223-30.342213, 2)*POW(COS(55.738265*PI()/180), 2)) AS distance ;
PostGIS: 890.437517891946
Google: 630 км
Подскажите, почему может быть такой разброс, как можно добиться большей точности?
PostgreSQL 9.2
PostGIS 2.0
Во такой запрос для примера:
SELECT
ST_Distance('POINT(48.710317 44.523394)'::geography, 'POINT(48.779722 44.369657)'::geography) / 1000.0 AS postgis,
111.2*SQRT(POW(48.710317-48.779722, 2) + POW(44.523394-44.369657, 2)*POW(COS(48.710317*PI()/180), 2)) AS distance;
PostGIS показывает расстояние 17.954551725226
Расчет по формуле в запросе и по Google Earth показывает около 13 км.
Или для расстояния Москва-Питер:
SELECT
ST_Distance('POINT(55.738265 37.600223)'::geography, 'POINT(59.861631 30.342213)'::geography) / 1000.0 AS postgis,
111.2*SQRT(POW(55.738265-59.861631, 2) + POW(37.600223-30.342213, 2)*POW(COS(55.738265*PI()/180), 2)) AS distance ;
PostGIS: 890.437517891946
Google: 630 км
Подскажите, почему может быть такой разброс, как можно добиться большей точности?