Spatial Analyst のライセンスで利用可能。
3D Analyst のライセンスで利用可能。
概要
ラスター サーフェスから、コンターのフィーチャクラスを作成します。
使用法
コンターはラスターの空間範囲を超えることはなく、NoData のエリアに作成されることもありません。そのため隣接するコンターの入力データはまず、隣り合うフィーチャ データセットとエッジを合わせる必要があります。エッジを合わせる代わりに、コンターを計算する前に隣接するラスターをマージすることもできます。
コンター ポリゴンは、[コンター タイプ] が CONTOUR でない場合にはラスターの外部エッジに対して外挿されることに注意してください。
コンターは負のラスター値を持つエリアにも作成できます。そのようなエリアではコンター値は負の値になります。負のコンター指定はできません。
ArcGIS Spatial Analyst エクステンションを使用できる場合、正確さには劣るにしても滑らかなコンターを作成したい場合には、[フォーカル統計 (Focal Statistics)] ツールの [MEAN] オプションを使用するか、[フィルター (Filter)] ツールの [LOW] オプションを使用して、入力ラスターを事前処理します。
ベース コンターは、たとえば、10 メートルから開始して、15 メートルおきにコンターを作成するために使用されます。この場合は、ベース コンターとして 10、コンター間隔として 15 が使用されます。コンターの値は 10、25、40、55 のようになります。
ベース コンターを指定しても、その値より上または下のコンターが作成されるのを防ぐことはできません。
[コンター タイプ] を使用すると、コンター ラインまたはコンター ポリゴンのいずれかを生成できます。たとえば、値が 0 ~ 575 のラスターがあり、コンター間隔が 250 の場合には、次に示すさまざまな出力フィーチャクラスが生成されます。実際の出力のほか、各コンポーネント ポリゴンが別々に表示されます。
- CONTOUR - 250 および 500 のライン
- CONTOUR_POLYGON - 0 ~ 250、250 ~ 500、および 500 ~ 575 の重複しないポリゴン (図 1)
図 1 コンター ポリゴン オプションは、0 ~ 250、250 ~ 500、および 500 ~ 575 に重複しないポリゴンを 3 つ作成します。 - CONTOUR_SHELL - 0 ~ 575、0 ~ 500、および 0 ~ 250 の重複するポリゴン (図 2)
図 2 コンター シェル オプションは、0 ~ 575、0 ~ 500、および 0 ~ 250 に重複するポリゴンを 3 つ作成します。 CONTOUR_SHELL_UP - 0 ~ 575、250 ~ 575、および 500 ~ 575 の重複するポリゴン (図 3)
図 3 コンター シェル オプションは、0 ~ 575、250 ~ 500、および 500 ~ 250 に重複するポリゴンを 3 つ作成します。
[1 フィーチャあたりの最大頂点数] パラメーターを使用して、フィーチャを分割できます。これは、出力フィーチャにあまりにも多数の頂点 (何百万) がある場合にのみ使用します。このパラメーターを指定すると、[フィーチャの分割 (Dice)] ツールで生成される出力によく似た出力が生成されます。
このパラメーターは、フィーチャの格納、解析、描画時など、後で問題が発生する可能性がある極端に大きなフィーチャを分割することを目的としています。
制限の選択は、ツールが実行されているコンピューター上で使用可能なメモリおよびフィーチャのサイズ (フィーチャが大きいほど多くのメモリが必要) に依存します。64 ビット ソフトウェアを実行する最新のほとんどのコンピューターでは、膨大な数の頂点を含む各フィーチャの問題は通常発生しません。問題が生じた場合は、このパラメーターを 100 万などの大きな値に設定すると、フィーチャのサイズによる問題を軽減できる場合があります。
頂点制限パラメーターを使用して、フィーチャを分割できます。これは、出力フィーチャにあまりにも多数の頂点 (何百万) がある場合にのみ使用します。
デフォルトでは、このツールはマルチコア プロセッサを利用します。使用できるコアの最大数は 4 です。
ツールが使用するコア数を減らしたい場合、並列処理ファクター環境設定を使用します。
環境設定で [範囲] が指定され、出力範囲の左下隅が入力ラスターのどのセルの隅にも一致しない場合、処理では、指定された範囲に一致するように入力ラスターのセル配置のシフトが実行されます。このシフトにより、共一次内挿法を使用した入力ラスターのリサンプリングが開始されます。したがって、出力フィーチャもシフトされるため、結果として、出力フィーチャが元の入力ラスターを正確にオーバーレイしない場合があります。このシフトが実行されないようにするには、環境内で入力ラスターを [スナップ対象ラスター] として使用します。
構文
arcpy.ddd.Contour(in_raster, out_polyline_features, contour_interval, {base_contour}, {z_factor}, {contour_type}, {max_vertices_per_feature})
パラメーター | 説明 | データ タイプ |
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」(1 メートル = 3.2808 フィートであるため) と設定します。 | Double |
contour_type (オプション) | 出力のタイプを指定します。出力では、コンターをラインまたはポリゴンとして表すことができます。ポリゴン向けに、いくつかのオプションがあります。
| String |
max_vertices_per_feature (オプション) | フィーチャを分割するときの頂点制限。これは、出力フィーチャにあまりにも多数の頂点 (何百万) がある場合にのみ使用します。 このパラメーターは、フィーチャの格納、解析、描画時など、後で問題が発生する可能性がある極端に大きなフィーチャを分割することを目的としています。 空のままであれば、フィーチャを分割せずに出力します。デフォルトは空です。 | Long |
コードのサンプル
Contour (コンター) の例 1 (Python ウィンドウ)
この例では、Esri Grid ラスターからコンターを作成して、それをシェープファイルとして出力します。
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Contour_3d("elevation", "C:/output/outcontours.shp", 200, 0)
Contour (コンター) の例 2 (スタンドアロン スクリプト)
この例では、Esri Grid ラスターからコンターを作成して、それをシェープファイルとして出力します。
# Name: Contour_3d_Ex_02.py
# Description: Creates contours or isolines from a raster surface.
# 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"
contourInterval = 200
baseContour = 0
outContours = "C:/sapyexamples/output/outcontours02.shp"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Execute Contour
arcpy.Contour_3d(inRaster, outContours, contourInterval, baseContour)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst または Spatial Analyst
- Standard: 次のものが必要 3D Analyst または Spatial Analyst
- Advanced: 次のものが必要 3D Analyst または Spatial Analyst