我使用postgis来计算2个地理坐标之间的距离。
select st_distance(
'POINT(15.651955 73.712769)'::geography,
'POINT(14.806993 74.131451)'::geography) AS d;
它返回我53536.743496517米,大约等于54km,但实际距离是我通过http://boulter.com/gps/distance/计算的103km
我在查询中做错了吗?
答案 0 :(得分:12)
POINT()在经度,纬度上取自己的参数。交换你的论点。
select st_distance(
'POINT(73.712769 15.651955)'::geography,
'POINT(74.131451 14.806993)'::geography) AS d;
st_distance
--
103753.197677054
我经常犯这个错误,因为我认为在纬度和经度方面,而不是经度和纬度。