fen*_* ce 2 gis postgresql geometry postgis
我在 postgis 中遇到了 st_distance 函数的问题。我有三种计算距离的方法,但我不知道哪种方法最准确。
SELECT ST_Distance('POINT(115.25 39.26)'::geography, 'POINT(117.30 41.04)'::geography) as distance;
--result is 263753.911823565
SELECT ST_Distance_Sphere(ST_GeomFromText('POINT(115.25 39.26)',4326), ST_GeomFromText('POINT(117.30 41.04)',4326)) as distance;
--result is 263674.468686404
SELECT ST_Distance( ST_Transform(ST_GeomFromText('POINT(115.25 39.26)',4326),32650),ST_Transform(ST_GeomFromText('POINT(117.30 41.04)', 4326),32650)) as distance;
--result is 263669.651755417
Run Code Online (Sandbox Code Playgroud)
3 次测量计算之间的差异如下:
第一种方法通常给出最好的结果(这 3 种方法中),但对于靠近或靠近赤道的坐标,与更快的第二种方法相比,差异可以忽略不计。
第三种方法对于 UTM50N(WGS84) 坐标参考系不是特别准确,但笛卡尔坐标系还有其他重要的好处,例如计算点的三元组或多边形区域之间的角度。另请注意,与 WGS84 相比,一些与本地 CRS 一起使用的基准对地球不规则表面提供了更好的本地表示,在这种情况下,本地 CRS 变得比大弧计算更准确。您必须查找您所在地区的所有大地测量详细信息才能对其进行评估。
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |