Spatial Analyst のライセンスで利用可能。
3D Analyst のライセンスで利用可能。
概要
ラスター サーフェスからコンターを作成します。バリア フィーチャを含めることで、バリアの両側にコンターを独立して作成できます。
使用法
現在のバージョンの [入力バリア設定を含むコンター (Contour with Barriers)] ではポリライン出力だけがサポートされています。ポリゴン出力オプションを使用した場合は、無視されて、ポリライン出力が作成されます。
ArcGIS Spatial Analyst エクステンションを使用できる場合、正確さには劣るにしても滑らかなコンターを作成したい場合には、[フォーカル統計 (Focal Statistics)] ツールの [MEAN] オプションを使用するか、[フィルター (Filter)] ツールの [LOW] オプションを使用して、入力ラスターを事前処理します。
コンターは、ラスターのセル サイズの半分の距離だけラスターの NoData セル内に延長されます。これは、単一の NoData セル上にもコンターが生成されることを意味します。ただし、3 x 3 のセル枠が NoData の場合、コンターはこの枠内にはセル サイズの半分の距離だけしか延長されません。
出力コンター フィーチャクラスの Type フィールドの値は次のとおりです。
1 for contours 2 for indexed contours 3 for explicit contours
インデックス付きコンター間隔を使用して、追加のコンターを生成できます。出力フィーチャクラスでの Type 値は 2 になります。
ベース コンターは、たとえば、10 メートルから開始して、15 メートルおきにコンターを作成する場合に使用されます。この場合、10 がベース コンターとして使用され、15 がコンター間隔になります。コンターの値は 10、25、40、55 のようになります。
ベース コンターを指定しても、その値より上または下のコンターが作成されるのを防ぐことはできません。
コンター値を指定するテキスト ファイルには、以下の行を含めることができます。
- 行頭が数値でない行はすべて無視され、コメント行として扱われます。
- 値が 1 つの行は、明示的なコンター値として扱われます。
- 値が 3 つの行は、ベース、コンター間隔、インデックスが指定されたコンターとして扱われます。
- 値が 4 つの行は、開始値、終了値、間隔、インデックスが指定されたコンターとして扱われます。
たとえば、ラスターの最小値が 102 で最大値が 500 の場合、次のようなテキスト ファイルは、
# contour values and ranges 122.75 485 500 5 12 4 100 99
次の値でコンターを作成します。
122.75 104, 204, 304, 404 103, 202, 301, 400, 499 485, 490, 495, 500 497
バリア ポリゴン フィーチャ内にラスターのセル値がある場合、コンター ラインはバリアで分割されます。ポリゴン フィーチャ内のセル値を無視する場合は、そのセルの値を NoData に変更してください。
入力ラスター サーフェスが非常に大きい場合、または、多数の出力フィーチャが要求されている場合は、オペレーティング システムの一時ファイルの作成場所に大量の一時ファイルが作成されます。この結果としてなにか問題が発生した場合は、以下のいずれかを実行してください。
- 一時ファイルに使用できるディスク容量を増やします。
- 指定するコンターの数を減らします。または、コンターの範囲を分割して、各範囲を別々に処理し、各範囲の結果を組み合わせて最終結果を得ます。
- 入力データをセクション (タイル) に分けて処理し、個々の結果をマージして 1 つのデータセットにします。
出力コンター フィーチャには、[コンター アノテーション (Contour Annotation)] ツールを使用して、ラベルを付けることができます。
構文
arcpy.ddd.ContourWithBarriers(in_raster, out_contour_feature_class, {in_barrier_features}, {in_contour_type}, {in_contour_values_file}, {explicit_only}, {in_base_contour}, {in_contour_interval}, {in_indexed_contour_interval}, {in_contour_list}, {in_z_factor})
パラメーター | 説明 | データ タイプ |
in_raster | 入力サーフェス ラスター。 | Raster Layer; Raster Dataset; Mosaic Layer; Mosaic Dataset |
out_contour_feature_class | 出力コンター フィーチャ。 | Feature Class |
in_barrier_features (オプション) | 入力バリア フィーチャ。 フィーチャはポリライン タイプまたはポリゴン タイプのいずれかになります。 | Feature Layer |
in_contour_type (オプション) | 作成するコンターのタイプです。
| String |
in_contour_values_file (オプション) | ベース コンター、コンター間隔、インデックス付きコンター間隔、明示的なコンターの値もテキスト ファイルで指定できます。 | File |
explicit_only (オプション) | 明示的なコンター値だけを使用します。ベース コンター、コンター間隔、インデックス付きコンター間隔は指定しません。
| Boolean |
in_base_contour (オプション) | ベース コンター値。 入力ラスターの値の範囲全体をカバーするように、必要に応じてこの値の上下にコンターが生成されます。デフォルトは 0 です。 | Double |
in_contour_interval (オプション) | コンター ライン間の間隔、すなわち距離。 正の数値を指定できます。 | Double |
in_indexed_contour_interval (オプション) | コンターがこの間隔でも生成され、出力フィーチャクラスではマークが付けられます。 | Double |
in_contour_list [in_explicit_contour,...] (オプション) | コンターを作成する明示的な値です。 | Double |
in_z_factor (オプション) | コンターを生成するときに使用する単位変換係数。デフォルト値は 1 です。 コンター ラインは、入力ラスターの Z 値に基づいて生成されます。これは、多くの場合、メートルまたはフィート単位です。デフォルト値が 1 の場合、コンターは入力ラスターの Z 値と同じ単位になります。Z 値とは異なる単位のコンターを作成するには、Z 係数に適切な値を設定します。このツールでは、地表 X、Y 単位とサーフェス Z 単位を一致させる必要はありません。 たとえば、入力ラスターの標高値はフィート単位であるが、コンターはメートル単位で生成したい場合、Z 係数を 0.3048 に設定します (1 フィート = 0.3048 メートルであるため)。 | Double |
コードのサンプル
ContourWithBarriers (入力バリア設定を含むコンター) の例 1 (Python ウィンドウ)
この例では、入力バリア フィーチャを組み込むことで、Esri Grid ラスターからコンターを作成します。ベースおよび間隔パラメーターも指定されます。出力コンターは、シェープファイルのポリラインです。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.ContourWithBarriers_3d("elevation", "C:/output/outcwb.shp",
"elevation_barrier.shp", "POLYLINES", "", "", 0, 300)
ContourWithBarriers (入力バリア設定を含むコンター) の例 2 (スタンドアロン スクリプト)
この例では、入力バリア フィーチャを組み込むことで、Esri Grid ラスターからコンターを作成します。ベースおよび間隔パラメーターも指定されます。出力コンターは、シェープファイルのポリラインです。
# Name: ContourWithBarriers_3d_Ex_02.py
# Description: Creates contours from a raster surface. The inclusion of
# barrier features will allow one to independently generate contours on
# either side of a barrier.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
inRaster = "elevation"
inBarrier = "elevation_barrier.shp"
inTextFile = ""
explicitValues = "NO_EXPLICIT_VALUES_ONLY"
contourInterval = 200
contourList = "600; 935; 1237.4"
baseContour = 0
outContours = "C:/output/outcwb.shp"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Contour
arcpy.ContourWithBarriers_3d(inRaster, outContours, inBarrier, "POLYLINES",
inTextFile, explicitValues, baseContour,
contourInterval, "", contourList, "")
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst または Spatial Analyst
- Standard: 次のものが必要 3D Analyst または Spatial Analyst
- Advanced: 次のものが必要 3D Analyst または Spatial Analyst