postgis st_distance возвращает неверные результаты

Я использую postgis для расчета расстояния между двумя географическими координатами.

select st_distance(
  'POINT(15.651955 73.712769)'::geography, 
  'POINT(14.806993 74.131451)'::geography) AS d;

Он возвращает мне 53536,743496517 метров, что примерно равно 54 км, но фактическое расстояние составляет 103 км, которые я рассчитал через http://boulter.com/gps/distance/

Я делаю что-то не так в запросе?


person scanE    schedule 02.03.2013    source источник


Ответы (1)


POINT() принимает аргументы долготы и широты. Поменяйте свои аргументы.

select st_distance(
  'POINT(73.712769 15.651955)'::geography, 
  'POINT(74.131451 14.806993)'::geography) AS d;

st_distance
--
103753.197677054

Я регулярно совершаю эту ошибку, потому что думаю в терминах широты и долготы, а не долготы и широты.

person Mike Sherrill 'Cat Recall'    schedule 02.03.2013