5

我正在使用 postgis 计算 2 个地理坐标之间的距离。

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/计算得出

我在查询中做错了吗?

4

1 回答 1

15

POINT() 以经度、纬度为参数。交换你的论点。

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

st_distance
--
103753.197677054

我经常犯这个错误,因为我考虑的是经纬度,而不是经度和纬度。

于 2013-03-02T11:35:32.860 回答