当前位置: 首页 > 知识库问答 >
问题:

POSTGISST_DISTANCE功能和结果的问题

微生宝
2023-03-14

使用ST_距离会引起一些混乱:

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,它似乎工作正常。

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

共有1个答案

卫博学
2023-03-14

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

正如您所做的那样,您可以首先强制转换到geography,这将返回以米为单位的结果。您也可以使用ST_DistanceSpheroid获取以米为单位的距离,也可以使用以米为单位的合适坐标系。

 类似资料:
  • 我正在使用postgis计算两个地理坐标之间的距离。 它返回给我53536.743496517米,大约等于54公里,但实际距离是103公里,我通过http://boulter.com/gps/distance/ 我在询问中是否做错了什么?

  • 我有一个关于ReactJS和组件的问题,特别是关于函数如何在组件系统中交互。 在这个例子中: ComponentA导入pp.js,并尝试将App.functionA分配给函数B,然后在JSX中调用它。这会导致失败,基本上就是说函数没有定义。 我知道这不是功能共享的方式(我已经学习了如何通过道具等传递功能)。 我只是想知道为什么这不起作用,以帮助我更好地理解React和Javascript的机制。

  • 本文向大家介绍iOS10实现推送功能时的注意点和问题总结,包括了iOS10实现推送功能时的注意点和问题总结的使用技巧和注意事项,需要的朋友参考一下 1、在项目 target 中,打开Capabilitie —> Push Notifications,并会自动在项目中生成 .entitlement 文件。(很多同学升级后,获取不到 deviceToken,大概率是由于没开这个选项) Capabili

  • 我想知道在返回二维数组时是否可以在Google Sheets中编辑自定义函数的结果。 如果我尝试删除作为返回数组一部分的单元格,它将闪烁但仍保持不变。 如果我在作为返回的二维数组一部分的单元格中输入了某个内容,则它可以工作,但函数随后不会返回,因为该值阻止了二维数组的显示(数组结果未展开,因为它将覆盖A3中的数据)

  • 按钮功能 A300 有五个按钮,根据使用情况有不同功能。请查看以下图表了解各个按钮在不同模式中具有的功能。 实用建议 在任何视图中(除训练期间外),按 上、下开始或 返回打开以调暗背光。如果要开启明亮背光,请按 灯光按钮。 要将按钮锁定或解锁,请在时间视图中或训练时长按“灯光”。 长按时间视图中的“向上”可更改时钟画面。 长按时间视图中的“返回”可使 A300 与 Flow 应用程式同步。 长按“

  • 启用时在配置中添加插件名称 QustionPlugin,参数如下: 参数 描述 QustionPlugin 数组类型,内容为object类型(内容为多个问题和答案) id 问题和答案的唯一标识。 content 问题内容。类型:String showTime 显示问题的时间点类型:int explainInfo 问题答案的解释类型:String jump 是否跳过。类型:Boolean; back