algorithm - 比质心更好的 "centerpoint"

标签 algorithm geometry center computational-geometry centroid

我正在使用多边形的质心在 map 应用程序中附加标记。这对于凸多边形非常有效,对于许多凹多边形也非常好。

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

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

enter image description here

最佳答案

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

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

关于algorithm - 比质心更好的 "centerpoint",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50588009/

相关文章:

python - 符号数学 Python?

java - 子集和负值

actionscript-3 - 根据旋转的另一个对象定位一个对象

html - 创建圆形 div 比使用图像更简单的方法?

java - draw2d 库中的三角形

css - 将图像垂直/水平居中放置在另一个没有尺寸的图像上

algorithm - 节省工作时间的实用位操作

algorithm - LZW-解压缩算法

javascript - 使一个 CSS 对象在一个盒子中居中

javascript - 如何使动态和静态内容居中?