算法 – 包含原始详细多边形的简化(或平滑)多边形

我有一个详细的2D多边形(表示一个地理区域)由一个非常大的顶点集合定义。我正在寻找一个算法,将简化和平滑多边形(减少顶点的数量)的约束,结果多边形的面积必须包含详细多边形的所有顶点。

对于上下文,下面是一个复杂面的边的示例:

我的研究:

>我发现了Ramer-Douglas-Peucker算法会减少顶点的数量 – 但是结果多边形不会包含所有原始多边形的顶点。看到这篇文章Ramer-Douglas-Peucker on Wikipedia
>我认为扩展多边形(我相信这也被称为向外多边形偏移)。我发现这些问题:Expanding a polygon (convex only)Inflating a polygon.但我不认为这将大大减少我的多边形的细节。

感谢任何建议,你可以给我!

编辑

截至2013年,以下大部分连结已无法运作。但是,我发现了the cited paper, algorithm included, still available at this (very slow) server

Here你可以找到一个完全符合你的问题的项目。虽然它主要工作在一个区域“填充”点,你可以设置它与一个“周界”类型定义作为你的工作。

它使用k-最近邻居方法来计算区域。

样品:

enter image description here

Here你可以要求一份纸的副本。

似乎他们planned to offer an online service请求计算,但我没有测试它,并可能是不是运行。

HTH!

http://stackoverflow.com/questions/5037588/simplified-or-smooth-polygons-that-contain-the-original-detailed-polygon

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:算法 – 包含原始详细多边形的简化(或平滑)多边形