【问题标题】:Issues with POSTGIS ST_DISTANCE function and resultsPOSTGIS ST_DISTANCE 函数和结果的问题
【发布时间】:2020-06-23 17:50:30
【问题描述】:

您好,我在 postgis 和计算方面遇到了一些问题。

使用 ST_DISTANCE 会引起一些混乱:

SELECT st_distance(
    ST_SetSRID(ST_MakePoint(16.0420,45.8250), 4326),
    ST_SetSRID(ST_MakePoint(16.1675,45.8344), 4326));

返回 0.12585153952177025 作为结果。

结果似乎有点奇怪,因为通过简单的可见检查,这些点距离很远,结果 应该以米为单位。

例如:

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

返回 53536.74349675 似乎工作正常。

你能告诉我我做错了什么吗?

【问题讨论】:

    标签: postgresql postgis


    【解决方案1】:

    st_distance 以使用的坐标系为单位返回距离。对于4326,单位是degree,所以距离是度数(没有意义)。

    正如您所做的那样,您可以先转换为地理,它会返回以米为单位的结果。您也可以使用ST_DistanceSpheroid 获取以米为单位的距离,或者您可以使用以米为单位的合适坐标系。

    【讨论】:

      猜你喜欢
      • 2013-02-16
      • 2011-09-11
      • 1970-01-01
      • 2023-03-25
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      相关资源
      最近更新 更多