使用 st_distance postgresql 寻找两个位置 (lat, lng) 的距离
Looking for distance of two location (lat, lng) with st_distance postgresql
我尝试获取 (-7.4379722 109.2442663)
和 (-7.4201487 109.245204)
两点的距离
我正在使用这个查询:
select st_distance(
st_geomfromtext('POINT(-7.4379722 109.2442663)'),
st_geomfromtext('POINT(-7.4201487 109.245204)')
)
和 return 的查询:
0.0178481493029382 meters
看着 google 这是 2,59 KM
https://i.stack.imgur.com/Rahrb.png
我该怎么办?
坐标必须先用经度表示,再用纬度表示。
如果您使用经纬度几何计算距离,则输出将以度为单位(这不是一个好的距离单位)。相反,您可以使用地理数据类型,它使用 meters
select st_distance(
st_geogfromtext('POINT( 109.2442663 -7.4379722)'),
st_geogfromtext('POINT( 109.245204 -7.4201487)')
);
st_distance
---------------
1973.86761798
(1 row)
我尝试获取 (-7.4379722 109.2442663)
和 (-7.4201487 109.245204)
我正在使用这个查询:
select st_distance(
st_geomfromtext('POINT(-7.4379722 109.2442663)'),
st_geomfromtext('POINT(-7.4201487 109.245204)')
)
和 return 的查询:
0.0178481493029382 meters
看着 google 这是 2,59 KM
https://i.stack.imgur.com/Rahrb.png
我该怎么办?
坐标必须先用经度表示,再用纬度表示。
如果您使用经纬度几何计算距离,则输出将以度为单位(这不是一个好的距离单位)。相反,您可以使用地理数据类型,它使用 meters
select st_distance(
st_geogfromtext('POINT( 109.2442663 -7.4379722)'),
st_geogfromtext('POINT( 109.245204 -7.4201487)')
);
st_distance
---------------
1973.86761798
(1 row)