スリバーポリゴンの削除方法
▼スリバーポリゴンを含むベクタをEditorで編集用に開きます。 ▼ポリゴンのデータベースを開き、地番テーブル("xxx 地番")の上で右クリックして、[Mark All Unattached Elements]を選びます。 地番テーブルで属性レコードが付いていないポリゴンが、全57327個中29958個(52%; 半分以上属性が付いていない)あります。 そちらから送られたスナップショット中の数と同じです。 問題のポリゴンは北西縁に沿って集中しています。 検索されたポリゴンをよく見ると、スリバーのような細長い、面積の小さいポリゴンの他に、湖のようなスリバーでない、面積の大きなポリゴンも含まれています。 この2種類を区別しないといけません。 ▼POLYSTATSテーブルを見ます。 上の方に並んだ面積(Area)が0に近いポリゴンは多分すべてスリバーです。 削除すべきスリバーポリゴンの面積の上限は分からないというのが正直な所でしょう。 スリバーポリゴンを1つ選んでPOLYSTATSを見ますと、Area は0.17..、 CompactRatio は、12.798 です。 CompactRatio(CR) はポリゴンの形状を見るパラメターです。 http://www.opengis.co.jp/htm/kako_mail/mail_mag_272.htm スリバーポリゴンの削除に使うThinnessRatio(TR)との関係は、 CompactRatio = (ポリゴンの周長)/(同じ面積の円の周長) = (ポリゴンの周長)/(2 x sqrt( π x 面積 )) です。これから使う"ThinnessRatio" は今朝お送りした資料によると、 ThinnessRatio = 4πx 面積 /(ポリゴンの周長)の2乗 ですので、 TR = 1 / CR の2乗 になります。 --------------------- TR CR --------------------- <細長くなります> ↑ ↑ 0.01 10.00 0.05 4.47 0.1 3.16 0.2 2.24 0.3 1.83 0.4 1.58 0.5 1.41 0.6 1.29 0.7 1.20 0.8 1.12 0.9 1.05 1 1.00 → 円 ---------------------- ということですので、まずは、CompactRatio が10以上で検索してみました。 24820個、検索されました。かなりの数です。 これで1回スリバーポリゴンの削除をしてみましょう。 ▼<Vector Tools>ウィンドウで、Sliver Polygons アイコンを押します。 ▼選択肢から"Thinness Ratio"を選びます。 0.01 と入れます。 [Filter]ボタンを押してみましょう。これはテストです。 [Report]ボタンを押してみます。先ほどと同じ数だけのポリゴンが削除される予定です。 ▼[All]ボタンを押します。しばらくして処理バーが動きます。 という感じでスリバーポリゴンを除去していきます。 再度、地番テーブルで属性の付いていないポリゴンをあたってみると、スリバーポリゴンは確かに減りました。 この状態で、目視確認をして、スリバーがまだ残っていれば、ThinnesRatio を少し大きくするか、微小ポリゴンがあれば Area(面積)も考慮して実行します。 データは、富山県森林研究所様ご提供のデータを使用させていただきました。 web掲載日:2013.8.8 実行日 :2012.9.6