スリバーポリゴンの削除方法
▼スリバーポリゴンを含むベクタを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