postgis st_distance返回不正确的结果

时间:2013-03-02 07:43:15

标签: postgresql postgis postgresql-9.1

我使用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

我在查询中做错了吗?

1 个答案:

答案 0 :(得分:12)

POINT()在经度,纬度上取自己的参数。交换你的论点。

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

st_distance
--
103753.197677054

我经常犯这个错误,因为我认为在纬度和经度方面,而不是经度和纬度。