Arcpyで凹ポリゴンを凸ポリゴンに分割する方法は?


20

凹面ポリゴンを検​​出し、それらを凸面ポリゴンに分割するツールまたはアルゴリズムを探しています。写真で説明したように、青いポリゴンはAポリゴンとBポリゴンに分割されています

Arcgis 10.1でArcpyを使用しています

分割ポリゴン


15
なぜあなたはこれをしているのかを詳しく説明できますか?結局のところ、(a)検出は簡単です。凹型ポリゴンは、凸型ハルよりも面積が小さくなります。(b)すべての三角形が凸であるため、多角形の三角形分割はすべて自動的に凸多角形に分割します。これは、多くの可能なソリューションの中から選択する際にある程度の柔軟性があることを示しています。
whuber

2
このツールセットは、法案が話しているかを確認することができるようになります resources.arcgis.com/gallery/file/geoprocessing/... その後、ドロネーオプションの実行ポイントにポリゴンに変換

1
Stack Overflowでこれに対する答えがあります:stackoverflow.com/a/6686842/1300519説明したアルゴリズムは、arcpyを使用して書くのが難しくないはずです。
Snorfalorpagus

1
@snorfそれはわずかに、しかし重要なことには、異なる質問に答えるように見えます。解決策は、明らかに「ポリゴン」と「穴」の組み合わせを含みますが、これは通常「分割」が意味するものではありません。少なくとも、その答えは、ここで役立つようにさらに詳しく説明する必要があります。(ところで、あなたの答えはコメントに変更されました。これは、Webの他の場所への相互参照は、追加説明なしで、ここSEでの答えとは見なされないためです。)
whuber

2
ここでのコメントから判断し、回答が得られない場合、質問を編集してそのフィードバックを組み込み、報奨金の提供を検討することをお勧めします。
PolyGeo

回答:


1

凹面部分から頂点を識別するためのいくつかの手順を次に示します。

区画あり:最小境界ジオメトリ(ハル)-> parcelHull

区画あり:FeatureVerticesToPoint-> parcelPoints

parcelHullを使用:FeatureVerticesToPoint-> parcelHullPoints

parcelPointおよびparcelHullPointを使用:対称Diff->凹点

それらのポイントに基づいて、二等分線を描画してポリゴンをカットし(ラインまでの距離)、ポイントと交差するがパーセル境界とセグメントを共有しないVoronoï三角形のエッジを選択します(三角形を分割した後、場所で選択します)頂点のライン)、反対側のサイトの頂点を選択してラインを作成し(ラインを指す)、反対側のエッジの最も近いポイントを選択して、ラインを作成します(ラインを指す)...

最後に、好みのラインと「ポリゴンからフィーチャ」を持つ元の区画を使用して、ポリゴンを分割します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.