你
swapped
纬度和经度如果你把它们按正确的顺序排列,你会得到544430米。计算距离的方法是使用大圆弧,这是球体上点之间的最短距离。
WITH src AS (
select st_geomfromtext('POINT(-0.56 51.3168)',4326) pt1,
st_geomfromtext('POINT(-3.1883 55.9533)',4326) pt2)
SELECT
ST_DistanceSpheroid(pt1, pt2, 'SPHEROID["WGS 84",6378137,298.257223563]') Dist_sphere,
ST_Distance(pt1::geography, pt2::geography) Dist_great_circle
FROM src;
dist_sphere | dist_great_circle
------------------+-------------------
544430.941199621 | 544430.94119962
(1 row)
在旁注中,有一个警告
St_Distance_球体签名在2.2.0中被弃用。请使用
圣约远球体