首页 > 解决方案 > 比质心更好的“中心点”

问题描述

我正在使用多边形的质心在地图应用程序中附加标记。这对于凸多边形绝对适用,并且对于许多凹多边形非常好。

但是,某些多边形(香蕉、甜甜圈)显然不会产生预期的结果:在这些情况下,质心位于多边形区域之外。

有没有人知道在任何多边形区域(可能包含孔!)找到合适的点来附加标记的更好方法?

在此处输入图像描述

标签: algorithmgeometrycentercomputational-geometrycentroid

解决方案


一种方法是生成和细化多边形的骨架,然后使用骨架的中点放置标记(如果是文本,则正确定位文本)。这适用于大多数形状,包括带有孔的形状,以及香蕉形或蝌蚪形的新月形。

CGAL 库有一个2D Straight Skeleton and Polygon Offsetting模块,或者您可以使用 PostGIS,例如。


推荐阅读