コンター(Contour) (Spatial Analyst)
使用法
-
コンターはラスタの空間範囲を超えることはなく、NoData のエリアに作成されることもありません。そのため隣接するコンターの入力データはまず、隣り合うフィーチャ データセットとエッジを合わせる必要があります。エッジを合わせる代わりに、コンターを計算する前に隣接するラスタをマージすることもできます。
-
コンターは負のラスタ値を持つエリアにも作成できます。そのようなエリアではコンター値は負の値になります。負のコンター指定はできません。
正確さには劣るにしても、より滑らかなコンターを作成したい場合には、[フォーカル統計(Focal Statistics)] ツールの [MEAN] オプションを使用するか、[フィルタ(Filter)] ツールでの [LOW] オプションを使用して、入力ラスタを事前処理します。
-
ベース コンターは、たとえば、10 メートルから開始して、15 メートルおきにコンターを作成する場合に使用されます。この場合、10 がベース コンターとして使用され、15 がコンター間隔になります。コンターの値は 10、25、40、55 のようになります。
-
ベース コンターを指定しても、その値より上または下のコンターが作成されるのを防ぐことはできません。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
入力サーフェス ラスタ。 | Raster Layer |
out_polyline_features |
出力コンター ポリライン フィーチャ。 | Feature Class |
contour_interval | コンター ライン間の間隔、または距離。 正の数値を指定できます。 | Double |
base_contour (オプション) |
ベース コンター値。 入力ラスタの値の範囲全体をカバーするように、必要に応じてこの値の上下にコンターが生成されます。デフォルトは 0 です。 | Double |
z_factor (オプション) | コンターを生成するときに使用する単位変換係数。デフォルト値は 1 です。 コンター ラインは、入力ラスタの Z 値に基づいて生成されます。これは、多くの場合、メートルまたはフィート単位です。デフォルト値が 1 の場合、コンターは入力ラスタの Z 値と同じ単位になります。Z 値と異なる単位でコンターを作成するには、Z 係数に適切な値を設定します。このツールでは、地表の X、Y 単位とサーフェスの Z 単位が一致する必要はありません。 たとえば、入力ラスタの標高値はフィート単位であるが、コンターはメートル単位で生成したい場合、Z 係数を「0.3048」に設定します(1 フィート = 0.3048 メートルであるため)。 もう 1 つの例として、WGS_84 地理座標系で標高値がメートル単位の入力ラスタに対し、50 フィートをベースにして 100 フィートごとにコンター ラインを生成する場合を考えます(つまり、コンターは 50 フィート、150 フィート、250 フィート、などのようになります)。このためには、「contour_interval」を「100」、「base_contour」を「50」、「z_factor」を「3.2808」(1m = 3.2808 フィートであるため)と設定します。 | Double |
コードのサンプル
この例では、Esri Grid ラスタからコンターを作成して、それをシェープファイルとして出力します。
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" Contour("elevation", "C:/sapyexamples/output/outcontours.shp", 200, 0)
この例では、Esri Grid ラスタからコンターを作成して、それをシェープファイルとして出力します。
# Name: Contour_Ex_02.py # Description: Creates contours or isolines from a raster surface. # 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 = "elevation" contourInterval = 200 baseContour = 0 outContours = "C:/sapyexamples/output/outcontours02.shp" # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute Contour Contour(inRaster, outContours, contourInterval, baseContour)