database - map : Does calculating distance between 2 points factor in altitude?

标签 database mapping geometry geospatial distance

在计算 2 点之间的距离时,Postgres 的 Spatial 插件或任何用于该方式的 Spatial 包是否会考虑海拔高度?

我知道地球的近似曲率中的空间包因素,但如果一个位置在山顶而另一个位置靠近大海 - 这两点之间的计算差异似乎会有很大差异如果不考虑海拔差异。

另外请记住,如果我有 2 个点处于相同的海洋高度,但在这 2 个点之间存在一座山 - 距离包应该考虑到这一点。

最佳答案

这些因素根本没有被计算在内。为什么?该软件只知道这两个特征(您获得距离的两个点,球体/椭球体和基准/投影因子)。

要做到这一点,您可能需要使用开发的线串,您将在其中将您的点与 n 个顶点连接起来,每个顶点都是 Z 感知的。

想象一下(松散的 WKT):LINESTRING((0,1,2),(0,2,3),(0,3,4),(0,10,15),(0,11,- 1)).

要求软件计算每个顶点之间的距离并相加,会考虑地形的变化。但如果没有类似的东西,就不可能绘制出地形的不规则性。

所有 GIS 软件都无法自行判断地形中的那些不规则性是什么,因此不会将它们考虑在内。

您可以使用 ArcGIS(和其他软件)等软件创建此类线串(自动),使用线(两点之间)和表面文件,例如 NASA(SRTM 项目)免费提供的文件。这些文件采用光栅格式,每个像素都有一个以米为单位的 X Y 和 Z 值。遍历你想要的线路,再加上那个地形剖面,就可以实现你想要实现的计算。如果您需要进行 super 精确的计算,则需要一个精确的表面,以及该剖面线每个顶点的精确 Z 值。

清理了吗?

关于database - map : Does calculating distance between 2 points factor in altitude?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1375003/

相关文章:

ios - Mapbox-zoomWithLatitudeLongitudeBoundsSouthWest无法缩放到正确的位置

objective-c - iOS 中的画圈触摸移动了

algorithm - 如何计算一组循环数据的平均值?

javascript - 我们可以用javascript连接数据库吗

c# - Sql Server和.Net是如何处理一个存储过程的

python - 三个列表压缩到字典列表中

java - 具有外键关系的 Hibernate 子类

javascript - 如何在固定宽度和高度的div内对齐四个圆圈

java - 有没有办法检查一个列在java中是否是虚拟的?

mysql - 如何使用 Resque 在父子之间共享 MySQL 连接?