计算从多边形中心到多边形边界的最大距离


9

我在QGIS中准备好了多边形。我想做的是计算从多边形的质心到多边形边界的最大可能距离(以公里为单位)。

我需要两件事:

  • 从多边形的质心到边界的最大可能距离
  • 多边形的中心(纬度/经度)

Answers:


6

要获取质心,可以使用矢量->几何工具->多边形质心。然后,要获取坐标,您可以将几个字段添加到属性表,并使用分别为每个字段设置为$ x和$ y的字段计算器,或使用Coordinate Capture插件。

为了获得最大距离,您将需要做更多的工作。一种非常简单的方法是将多边形转换为节点(矢量->几何工具->提取节点),然后使用距离矩阵工具(矢量-> AnalysisTools->距离矩阵)。这将为您提供到多边形每个顶点的距离,您只需要筛选结果即可获得最高值。为了提高这种方法的准确性,您可以先将顶点压缩。如果确保质心和节点点数据集保留来自多边形的ID,则此操作应该很简单。

您也可以使用PostGis ST_Distance_spheroid函数代替QGIS Distance Matrix函数,因为这将为您提供椭球体上的线性距离,并可能节省您重新投影数据的时间。不幸的是,ST_Distance函数仅给您最小距离,因此无论哪种方式,您都需要迭代给定多边形的所有点。


实际上我在excel中有多边形的角点和质心(纬度/经度)..我们如何在excel中..任何公式。我如何计算最大 'C列中的可能距离。
GIS数据屠夫

距离矩阵返回以度为单位的距离。我要公里。我无法将此数据转换为任何特殊的UTM Projection。因为它涵盖了整个印度国家。做到这一点的任何技巧。
GIS Data Butcher

1
您需要做一个很大的圆距离计算。在此网站上搜索“ Haversine”。
MappaGnosis

2
(1)除非多边形非常大,否则无需对顶点进行致密化:到边界的最大距离必须出现在其中一个顶点处(使用欧几里得计算)。(2)如果多边形停留在半球内,为什么不计算多边形与其中心的对映体之间的最短距离?多边形上达到最短距离的点将最大远离中心。通过对纬度取反并在经度上加上180度(模360)来获得对映体;例如,(lon,lat)=(2,50)的对映体为(-178,-50)。
Whuber
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.