使用Swift和apple mapKit我想从gps坐标计算凹壳。我有一个定义折线的CLLocation(纬度,经度)数组。对于路线地理围栏,我计算了折线中每个2d点所有可能的纬度和经度,距离为n米。此时我想计算这组点的凹壳。我找不到任何关于如何从gps坐标计算凹壳的信息。谁能建议我一个教程?
答案 0 :(得分:2)
This论文应该对您有用。我使用本文中的算法来实现我的hull.js库。
您也可以通过Delaunay triangulation对形状进行三角测量,然后移除here等边界边缘。
答案 1 :(得分:1)
在我读到你的问题之前,我从未听过凹球这个术语,所以我用谷歌搜索了它。我找到了几种凹壳算法的参考资料。
似乎没有一个解决方案。您必须决定是否需要更平滑的船体或内部区域最小的船体或介于两者之间的地方。
如果您使用的所有点都在彼此相距100公里之内,则可以简化问题并将纬度/长度转换为笛卡尔坐标。你需要做的就是计算当前纬度的经度之间的距离。
一旦你将你的点转换为笛卡尔坐标,它就会变成一个简单的凹壳问题。
如果您正在处理大区域并希望允许地球曲率,则会遇到更复杂的问题。