Algorithm 在mapKit中获得凹面外壳

Algorithm 在mapKit中获得凹面外壳,algorithm,swift,mapkit,concave-hull,Algorithm,Swift,Mapkit,Concave Hull,使用Swift和apple mapKit,我想根据gps坐标计算凹面船体。我有一个CLLocation(纬度、经度)数组,用于定义多段线。对于路线地理围栏,我计算了多段线中每个2d点的所有可能纬度和经度,距离为n米。在这一点上,我想计算这组点的凹面外壳。我找不到任何关于如何从gps坐标计算凹面船体的信息。有人能给我推荐一个教程吗?在我读到你的问题之前,我从来没有听说过凹面船体这个词,所以我在谷歌上搜索了一下。我找到了关于凹面外壳的几种算法的参考资料 似乎没有一个单一的解决办法。你必须决定是想要一

使用Swift和apple mapKit,我想根据gps坐标计算凹面船体。我有一个CLLocation(纬度、经度)数组,用于定义多段线。对于路线地理围栏,我计算了多段线中每个2d点的所有可能纬度和经度,距离为n米。在这一点上,我想计算这组点的凹面外壳。我找不到任何关于如何从gps坐标计算凹面船体的信息。有人能给我推荐一个教程吗?

在我读到你的问题之前,我从来没有听说过凹面船体这个词,所以我在谷歌上搜索了一下。我找到了关于凹面外壳的几种算法的参考资料

似乎没有一个单一的解决办法。你必须决定是想要一个更平滑的船体还是一个内部面积最小的船体,或者介于两者之间

如果使用的所有点彼此之间的距离都在100公里左右,则可以简化问题并将纬度/长度转换为笛卡尔坐标。你所要做的就是计算出当前纬度上经度之间的距离

一旦你把你的点转换成笛卡尔坐标,它就变成了一个简单的凹壳问题

如果你处理的是大面积区域,并且想要考虑地球的曲率,那么你就有一个更复杂的问题。

论文应该对你有用。我使用本文中的算法来实现我的库

还可以通过对形状进行三角化,然后删除边界边,如