2013-03-02 5 views
3

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

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

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

ли я делаю что-то неправильно в запросе?

ответ

12

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

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

st_distance 
-- 
103753.197677054 

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

+0

Wow..It работал..Thnks bro :) – scanE

Смежные вопросы