細線化(Thin) (Spatial Analyst)
サマリ
フィーチャの幅を表すセルの数を減らすことでラスタの線形フィーチャを細線化します。
使用法
[細線化(Thin)] ツールの典型的な利用例は、スキャンした等高線マップの処理です。スキャナの解像度と元のマップのライン幅により、コンターは 5 ~ 10 セルの幅を持つライン エレメントとしてラスタで表されます。[細線化(Thin)] の実行後、各コンターは 1 セル幅の線形フィーチャとして表されます。
-
[フィルタ] オプションは、[境界のスムージング(Boundary Clean)] と同じフィルタ アルゴリズムを使用して、主要ブランチから伸びる短いライン フィーチャを削除します。また、3 セルより狭いフィーチャも削除します。
-
入力ライン フィーチャの最大幅を指定することは、ライン フィーチャの幅がデフォルトの最大幅を超えていたり、小さかったりするラスタの細線化に非常に重要です。最大幅が細線化される最も太いライン フィーチャと合うとき、最良の結果が期待できます。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
細線化対象の入力ラスタ。 整数タイプでなければいけません。 | Raster Layer |
background_value (オプション) |
背景セルを特定するセル値を指定します。ライン フィーチャは、前景セルから形成されます。
| String |
filter (オプション) |
細線化の最初のフェーズとしてフィルタを適用するかどうかを指定します。
| Boolean |
corners (オプション) |
ターンやジャンクションの角をシャープにするか丸みを付けるかを指定します。 これはベクタ変換プロセスでの曲線のスプライン化やコーナーのシャープ化にも使用されます。
| String |
maximum_thickness (オプション) |
入力ラスタのライン フィーチャの最大幅(マップ単位)。 デフォルトの幅は、セル サイズの 10 倍です。 | Double |
リターン
名前 | 説明 | データ タイプ |
out_raster |
細線化された出力ラスタ。 | Raster |
コードのサンプル
次の例では、背景値が NoData のラスタを細線化し、コーナーとジャンクションの角をシャープにしたまま境界を滑らかにしています。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" thinOut = Thin("land","NODATA", "FILTER", "SHARP", 300) thinOut.save("c:/sapyexamples/output/thinout")
次の例では、背景値が NoData のラスタを細線化し、コーナーとジャンクションの角をシャープにしたまま境界を滑らかにしています。
# Name: Thin_Ex_02.py # Description: Thins rasterized linear features by # reducing the number of cells # representing the width of the features. # Requirements: Spatial Analyst Extension # Import system modules import arcpy from arcpy import env from arcpy.sa import * # Set environment settings env.workspace = "C:/sapyexamples/data" # Set local variables inRaster = "land" tolerance = 300 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute Thin thinOut = Thin(inRaster, "NODATA", "FILTER", "SHARP", tolerance) # Save the output thinOut.save("c:/sapyexamples/output/thinoutput")