【问题标题】:Get concave hull in mapKit在 mapKit 中获取凹壳
【发布时间】:2015-06-11 09:46:23
【问题描述】:

使用 Swift 和苹果 mapKit 我想从 gps 坐标计算凹壳。我有一个定义折线的 CLLocation (纬度,经度)数组。对于路线地理围栏,我为折线中的每个 2d 点计算了距离为 n 米的所有可能的纬度和经度。此时我想计算这组点的凹壳。我找不到任何关于如何从 gps 坐标计算凹壳的信息。谁能给我推荐一个教程?

【问题讨论】:

    标签: algorithm swift mapkit concave-hull


    【解决方案1】:

    在阅读您的问题之前,我从未听说过凹壳这个词,所以我用谷歌搜索了它。我找到了几种凹壳算法的参考资料。

    似乎没有单一的解决方案。您必须决定是想要更光滑的船体还是内部面积最小的船体,或者介于两者之间。

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

    将点转换为笛卡尔坐标后,它就变成了一个简单的凹壳问题。

    如果您正在处理大片区域并且想要考虑地球的曲率,那么您遇到的问题要复杂得多。

    【讨论】:

      【解决方案2】:

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

      您还可以通过Delaunay triangulation 对您的形状进行三角测量,然后像here 这样删除边界边缘。

      【讨论】:

        猜你喜欢
        • 2014-05-21
        • 1970-01-01
        • 2011-03-27
        • 1970-01-01
        • 2019-08-01
        • 2015-02-19
        • 2015-07-11
        • 2015-11-03
        • 2014-06-21
        相关资源
        最近更新 更多