Більше

Чи має PostGIS розрахунок відстані Вінсенті?

Чи має PostGIS розрахунок відстані Вінсенті?


Я порівняв деякі розрахунки відстані між геопія та PostGISST_Distance_Sphere, і схоже, що PostGISST_Дістанціявикористовує обчислення, подібне до відстані великого кола, а не до Вінсенті.

Geopy Vincenty (Найточніший) з використаннямгеопія

>>> з geopy.distance import great_circle, vincenty >>> p1 = (32.083659,34.806480) >>> p2 = (32.0843373,34.8065365) >>> vincenty_distance = vincenty (p1, p2) .meters >>> print vincenty_distance 75.4044140365

Велике коло (менш точне) з використаннямгеопія

>>> great_circle_distance = great_circle (p1, p2) .meters >>> print great_circle_distance 75.6324224394

PostGISST_Distance_Sphere, Невідомий алгоритм:

=> ВИБЕРІТЬ ST_Distance_Sphere (ST_SetSRID (ST_MakePoint (34.806480, 32.083659), 4326), ST_SetSRID (ST_MakePoint (34.8065365, 32.0843373), 4326)); st_distance_sphere -------------------- 75.611223453 (1 рядок)

Чи має PostGIS розрахунок відстані Вінсенті?


Так, використовуйте ST_Distance_Spheroid, або використовуйте приведення до типу географії

ВИБЕРІТЬ ST_Distance ('POINT (34.806480 32.083659)' :: geography, 'POINT (34.8065365 32.0843373)' :: geography);

Важко визначити за координатами, які ви використовуєте, але переконайтесь, що довгота стоїть на першому місці, а широта на другому місці в синтаксисі POINT.


Перегляньте відео: Главный секрет общения с людьми. Дейл Карнеги.