一連の座標の外側の境界を使用して MKPolygon を構築しようとしています。
私が知る限り、これを実現するための提供された機能はありませんXcode
(MKPolygon メソッドは、内部ポイントを含むすべてのポイントを使用してポリゴンを構築します)。
いくつかの調査の後、凸包がこの問題を解決することがわかりました。さまざまなアルゴリズムを調べた結果、実装するのに最も適しているのは QuickHull です。
これは、外側の緯度座標を取得し、2 つの間に線を引きます。そこから、その線に基づいてポイントを 2 つのサブセットに分割し、外側の緯度間の距離を処理して三角形の構築を開始し、外側の境界が残るまで内側のポイントを削除します。
最小/最大緯度を見るだけで外側のポイントを見つけることができ、2 つの間に線を引くことができます ( MKPolyline
) - しかし、ポイントがこの MKPolyline の一方の側にあるか、もう一方の側にあるかをどのように判断すればよいでしょうか?
フォローアップの質問は、ポイントが MKPolygon 内にあるかどうかを判断するためのヒット テストがあるかどうかです。
ありがとう!