スリバーポリゴンの削除方法
(TNTmips)

スリバーポリゴンの削除

操作方法

  1. スリバーポリゴンを含むベクタをEditorで編集用に開きます。
  2. ポリゴンのデータベースを開き、地番テーブル("xxx 地番")の上で右クリックして、[Mark All Unattached Elements]を選びます。
  3. 地番テーブルで属性レコードが付いていないポリゴンが、全57327個中29958個(52%; 半分以上属性が付いていない)あります。
    問題のポリゴンは北西縁に沿って集中しています。
  4. 検索されたポリゴンをよく見ると、スリバーのような細長い、面積の小さいポリゴンの他に、湖のようなスリバーでない、面積の大きなポリゴンも含まれています。
    この2種類を区別しないといけません。
  5. POLYSTATSテーブルを見ます。
    上の方に並んだ面積(Area)が0に近いポリゴンは多分すべてスリバーです。
    削除すべきスリバーポリゴンの面積の上限は分からないというのが正直な所でしょう。
  6. スリバーポリゴンを1つ選んでPOLYSTATSを見ますと、Area は0.17..、CompactRatio は、12.798 です。
  7. CompactRatio(CR) はポリゴンの形状を見るパラメーターです。
    メールマガジン 第272号「ポリゴンの形状指数」 2006/10/20
  8. スリバーポリゴンの削除に使うThinnessRatio(TR)との関係は、
    CompactRatio = (ポリゴンの周長)/(同じ面積の円の周長)
              = (ポリゴンの周長)/(2 x sqrt( π x 面積 ))
    です。これから使う"ThinnessRatio" は資料によると、
    ThinnessRatio = 4πx 面積 /(ポリゴンの周長)の2乗
    ですので、
    TR = 1 / CR の2乗
    になります。
  9. ---------------------
    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	→ 円
    ----------------------
  10. ということですので、まずは、CompactRatio が10以上で検索してみました。

  11. 24820個、検索されました。かなりの数です。
    これで1回スリバーポリゴンの削除をしてみましょう。
  12. <Vector Tools>ウィンドウで、Sliver Polygons アイコンを押します。
  13. 選択肢から"Thinness Ratio"を選びます。
  14. 0.01 と入れます。
  15. [Filter]ボタンを押してみましょう。これはテストです。
    [Report]ボタンを押してみます。先ほどと同じ数だけのポリゴンが削除される予定です。
  16. [All]ボタンを押します。しばらくして処理バーが動きます。
  17. という感じでスリバーポリゴンを除去していきます
  18. 再度、地番テーブルで属性の付いていないポリゴンをあたってみると、スリバーポリゴンは確かに減りました。
  19. この状態で、目視確認をして、スリバーがまだ残っていれば、ThinnesRatio を少し大きくするか、微小ポリゴンがあれば Area(面積)も考慮して実行します。

作成
更新
株式会社オープン・ジー・アイ・エス