从GIS文件(城市地图)中获得一组(2D)点,我需要生成定义该地图(其边界)的“轮廓”的多边形。它的输入参数将是设置的点和“最大边缘长度”。然后它将输出相应的(可能是非凸的)多边形。
到目前为止,我发现的最佳解决方案是生成Delaunay三角形,然后删除长于最大边缘长度的外部边缘。在所有外部边缘都短于该边缘之后,我只需移除内部边缘并获得所需的多边形。问题是,这非常耗时,我想知道是否有更好的方法。
此论述了 高效代简单多边形的用于表征一组在平面上的点的形状 ,并且提供的算法。还有使用相同的算法的Java小程序在这里。