ラベル | 説明 | データ タイプ |
入力サーフェス ラスター | 入力サーフェス ラスター。 | Raster Layer |
出力ラスター | 出力ラスター。 浮動小数点タイプになります。 | Raster Dataset |
パラメーター タイプ (オプション) | 計算する出力サーフェス パラメーターのタイプを指定します。
| String |
局所サーフェス タイプ (オプション) | ターゲット セルの周囲に合わせるサーフェス関数のタイプを指定します。
| String |
近隣距離 (オプション) | ターゲット セルの中心からこの距離全体の出力が計算されます。 これは、近傍サイズを決定します。 デフォルト値は入力ラスターのセル サイズで、3 x 3 近傍になります。 | Linear Unit |
適応近傍の使用 (オプション) | 近傍距離が地形の変更とともに変動するかどうかを指定します (適応)。 最大距離は、近隣距離によって決まります。 最小距離は、入力ラスターのセル サイズです。
| Boolean |
Z 単位 (オプション) | 鉛直方向の Z 値の距離単位を指定します。 これは、鉛直座標系で定義されます (存在する場合)。 鉛直座標系が存在しない場合、正しい測地線の計算を実現するために、単位リストを使用して Z 単位を定義します。 デフォルトはメートルです。
| String |
傾斜角の計測 (オプション) | 出力傾斜角ラスターに使用する計測単位 (度またはパーセンテージ)。 [パラメーターのタイプ] パラメーターが [傾斜角] に設定されている場合のみ、このパラメーターを使用できます。
| String |
測地線方位の投影 (オプション) |
出力空間参照によって引き起こされる角度の歪みを修正するために、測地線方位を投影するかどうかを指定します。
[パラメーターのタイプ] パラメーターが [傾斜方向] に設定されている場合のみ、このパラメーターを使用できます。 | Boolean |
赤道傾斜方向の使用 (オプション) |
赤道上のポイントからの傾斜方向を測定するか、北極からの傾斜方向を測定するかを指定します。
[パラメーターのタイプ] パラメーターが [傾斜方向] に設定されている場合のみ、このパラメーターを使用できます。 | Boolean |
入力解析マスク (オプション) | 解析を行う場所を定義する入力データ。 これは、ラスターでもフィーチャ データセットでもかまいません。 入力がラスターの場合、整数タイプまたは浮動小数点タイプのいずれかになります。 入力がフィーチャ データの場合、ポイント、ライン、ポリゴン タイプのいずれかにできます。 入力マスク データがラスターの場合、解析は有効な値 (0 を含む) をもつ場所で行われます。 マスク入力の NoData のセルは、出力でも NoData になります。 | Composite Geodataset |
Spatial Analyst のライセンスで利用可能。
3D Analyst のライセンスで利用可能。
使用法
出力パラメーターは、ターゲット セルの周囲に局所サーフェスを適合させることで、セルごとに計算されます。 [パラメーター タイプ] パラメーター (Python では parameter_type) で使用できるサーフェス パラメーター オプションは、[傾斜角]、[傾斜方向]、[平均曲率]、[接線 (正規コンター) 曲率]、[断面 (正規傾斜ライン) 曲率]、[平面 (投影コンター) 曲率]、[コンター測地線のねじれ]、[ガウス曲率]、[カソラティ曲率] です。
すべての出力パラメーターは、測地座標と方程式を使って計算されます。
[パラメーター タイプ] に対して [傾斜角] (Python では SLOPE) オプションが指定されている場合、出力は各デジタル標高モデル (DEM) セルの標高変化率を表します。 これは DEM の一次微分です。 傾斜角出力の値の範囲は、計測単位のタイプによって異なります。
[パラメータータイプ] に対して [傾斜方向] (Python では ASPECT) オプションが指定されている場合、出力は各場所の下り坂斜面のコンパスの向きを特定します。 コンパスの向きは、0 〜 360 度の正の角度で、北から時計回りに計測されます。
曲率は、サーフェスの形状を表現するために使用されます。 地球科学に応用する場合、重力、侵食、その他の要因がサーフェスに与える影響を理解するために使用され、他のサーフェス パラメーターと組み合わせて地形を識別および分類するために使用されます。
- [平均曲率] (Python では MEAN_CURVATURE) - サーフェスの全体的な曲率です。 最小曲率と最大曲率の平均として計算されます。 [パラメーターのタイプ] に指定すると、出力は断面 (正規傾斜ライン) 曲率と接線 (正規コンター) 曲率の平均と等しくなります。 その符号 (正または負) は、極値を除き、確定的なインジケーターではありません。 高い正の値は最大の浸食エリアを示し、高い負の値は最大の堆積エリアを示します (Minár および他の著者、 2020)。
- [断面 (正規傾斜ライン) 曲率] (Python では PROFILE_CURVATURE) - 傾斜に沿った幾何学的な法曲率です。 正の値は、サーフェスの流れや侵食が加速している領域を示します。 負の断面曲率は、サーフェスの流れや堆積が遅くなっている領域を示します。 正の断面 (正規傾斜ライン) 曲率は、サーフェスが傾斜方向のセルで凸状になっていることを示します。 負の曲率は、サーフェスが同じ方向のセルで凹状になっていることを示します。 ゼロ (0) という値はサーフェスが平らであることを示します。
- [接線 (正規コンター) 曲率] (Python では TANGENTIAL_CURVATURE) - 傾斜に垂直で輪郭線に接する幾何学的な法曲率です。 正の値は、サーフェスの流れが分岐している領域を示します。 負の接線曲率は、サーフェスの流れが収束している領域を示します。 正の接線 (正規コンター) 曲率は、傾斜の方向に垂直なセルでサーフェスが凸状であることを示します。 負の曲率は、サーフェスが傾斜に垂直な方向のセルで凹状になっていることを示します。 ゼロ (0) という値はサーフェスが平らであることを示します。
- [平面 (投影コンター) 曲率] (Python では CONTOUR_CURVATURE) - コンター ラインに沿った曲率です。
- [コンター測地線のねじれ] (Python では CONTOUR_GEODESIC_TORSION) - コンター ラインに沿った傾斜角の変化率です。
- [ガウス曲率] (Python では GAUSSIAN_CURVATURE) - サーフェスの一般的な曲率です。 最小曲率と最大曲率の積として計算され、正の値と負の値を取ることができます。 値が正の場合はサーフェスがそのセルで凸面であることを示し、値が負の場合は凹面であることを示します。 ゼロ (0) という値はサーフェスが平らであることを示します。
- [カソラティ曲率] (Python では CASORATI_CURVATURE) - サーフェスの一般的な曲率です。 ゼロまたは正です。 正の値が高い場合、角の領域が複数の方向に曲がっていることを示します。
すべての曲率タイプ出力の単位が出力座標系環境の X、Y 単位の逆数 (ガウス曲率の逆数の 2 乗) になります。
[局所サーフェス タイプ] パラメーターの [二次] オプション (Python では local_surface_type = "QUADRATIC") は、隣接するセルに正確に適合しません。 これはデフォルトであり、ほとんどのデータやアプリケーションに対しておすすめのオプションです。
- 二次サーフェスは、高解像度のライダー サーフェスのようなノイズの多いサーフェス データの影響を最小限に抑えます。この効果は曲率を計算する際に特に重要です。
- セル サイズよりも大きい近傍サイズを指定するとき、および適応近傍オプションを使用するときには、二次サーフェスを使用します。
[局所サーフェス タイプ] パラメーターの [四次] オプション (Python では local_surface_type = "BIQUADRATIC") は、隣接するセルのデータに正確に適合しません。
- このオプションは精度の高い入力サーフェスに適しています。
- 近傍距離が入力ラスターのセル サイズよりも大きい場合、四次サーフェス タイプの精度の利点は失われます。 近傍距離はデフォルトのまま (セル サイズに等しい状態) にしておきます。
[近傍距離] (Python では neighborhood_distance) は近傍サイズを決定し、ターゲット セルの中心からこの距離でサーフェス パラメーターを計算します。
- 入力ラスターのセル サイズよりも小さくすることはできません。
- 近隣距離が小さいほど地形内の局所的変動 (小さい地形フィーチャの特性など) が多く取得されます。 高解像度の標高データでは、距離が大きい方が適切な場合があります。
[適応近傍の使用] パラメーターをオンにしている場合 (Python では use_adaptive_neighborhood = "ADAPTIVE_NEIGHBORHOOD" の場合)、近隣距離が地形の変動により変化します。 計算ウィンドウで変動が多すぎると、近隣距離が縮小されます。
傾斜角出力を適切に計算できるようにするには、サーフェスの [Z 単位] (Python では z_unit) パラメーター値を指定することが重要です。
入力ラスターの鉛直座標系では、Z 単位が使用できる場合は自動的に適用されます。 入力ラスターの Z 単位がない場合は定義することをお勧めします。 Z 単位の指定には、[投影法の定義 (Define Projection)] ツールを使用できます。 これが定義されていない場合、デフォルトでメートルが使用されます。
傾斜角出力の値の範囲は、[傾斜角の計測] (Python では output_slope_measurement) パラメーターの測定単位によって異なります。
- [度] (Python では DEGREE) - 傾斜角の値の範囲は 0 から 90 です。
- [勾配率] (Python では PERCENT_RISE) - 範囲は 0 から基本的に無限です。 平坦なサーフェスを 0%、45 度のサーフェスを 100% として表し、サーフェスが垂直に近くなるほど勾配率は大きくなります。
[測地線方位の投影] パラメーターがオン (Python では project_geodesic_azimuths = "PROJECT_GEODESIC_AZIMUTHS") の場合、以下の点が当てはまります。
- 北は 360 度として表されます。
- 方位は、非正角な出力座標系環境の値によって引き起こされる歪みを修正するために投影されます。 これらの角度を使用すると、最も急な下り勾配に沿ったポイントを正確に配置できます。
[赤道傾斜方向の使用] パラメーターがオンの場合 (Python では project_geodesic_azimuths = "USE_EQUATORIAL_ASPECT")、傾斜方向は赤道に沿ったポイントから測定され、極点に近づいたときに発生する方向のねじれを補正します。 このパラメーターは、南北軸と東西軸が互いに垂直である状態を確保します。
テレインが北極または南極に近い場合は、[赤道傾斜方向の使用] パラメーターをオンにしてください。
[入力解析マスク] パラメーター (Python では in_analysis_mask) を使用して、解析を入力サーフェス ラスター内の特定の対象位置に制限します。 位置はラスターまたはフィーチャ データによって定義できます。 [入力解析マスク] パラメーターは [マスク] 環境設定よりも優先されます。
[入力サーフェス ラスター] (Python では in_raster) の値と [入力解析マスク] ラスター データ (Python では in_analysis_mask) のセル サイズが同じで、セルが位置揃えされている場合、これらはツールで直接使用されます。 ツールの実行時に内部でリサンプリングされません。
セル サイズが異なる場合、出力セル サイズは入力の最大値になり、[入力サーフェス ラスター] の値は内部でスナップ対象ラスターとして使用されます。 セル サイズは同じだが、セル同士が位置揃えされていない場合、[入力サーフェス ラスター] の値が内部でスナップ対象ラスターとして使用されます。 これらの場合、抽出操作が実行される前に、内部でリサンプリングが開始されます。
詳細については、「セル サイズ」と「スナップ対象ラスター」の環境トピックをご参照ください。
参考文献:
- James, D. E., Tomer, M. D., and Porter, S. A. Trans-scalar landform segmentation from high-resolution digital elevation models. ESRI Annual Users Conference (2014 年 7 月、サンディエゴ、カリフォルニア) で示されたポスター。
- Minár, J., Evans, I. S., and Jenčo, M. A comprehensive system of definitions of land surface (topographic) curvatures, with implications for their application in geoscience modelling and prediction. Earth-Science Reviews, 103414, 2020. https://doi.org/10.1016/j.earscirev.2020.103414
パラメーター
arcpy.ddd.SurfaceParameters(in_raster, out_raster, {parameter_type}, {local_surface_type}, {neighborhood_distance}, {use_adaptive_neighborhood}, {z_unit}, {output_slope_measurement}, {project_geodesic_azimuths}, {use_equatorial_aspect}, {in_analysis_mask})
名前 | 説明 | データ タイプ |
in_raster | 入力サーフェス ラスター。 | Raster Layer |
out_raster | 出力ラスター。 浮動小数点タイプになります。 | Raster Dataset |
parameter_type (オプション) | 計算する出力サーフェス パラメーターのタイプを指定します。
| String |
local_surface_type (オプション) | ターゲット セルの周囲に合わせるサーフェス関数のタイプを指定します。
| String |
neighborhood_distance (オプション) | ターゲット セルの中心からこの距離全体の出力が計算されます。 これは、近傍サイズを決定します。 デフォルト値は入力ラスターのセル サイズで、3 x 3 近傍になります。 | Linear Unit |
use_adaptive_neighborhood (オプション) | 近傍距離が地形の変更とともに変動するかどうかを指定します (適応)。 最大距離は、近隣距離によって決まります。 最小距離は、入力ラスターのセル サイズです。
| Boolean |
z_unit (オプション) | 鉛直方向の Z 値の距離単位を指定します。 これは、鉛直座標系で定義されます (存在する場合)。 鉛直座標系が存在しない場合、正しい測地線の計算を実現するために、単位リストを使用して Z 単位を定義します。 デフォルトはメートルです。
| String |
output_slope_measurement (オプション) | 出力傾斜角ラスターに使用する計測単位 (度またはパーセンテージ)。
このパラメーターは、parameter_type パラメーターが SLOPE に設定されているときのみサポートされます。 | String |
project_geodesic_azimuths (オプション) |
出力空間参照によって引き起こされる角度の歪みを修正するために、測地線方位を投影するかどうかを指定します。
このパラメーターは、parameter_type パラメーターが ASPECT に設定されているときのみサポートされます。 | Boolean |
use_equatorial_aspect (オプション) |
赤道上のポイントからの傾斜方向を測定するか、北極からの傾斜方向を測定するかを指定します。
このパラメーターは、parameter_type パラメーターが ASPECT に設定されているときのみサポートされます。 | Boolean |
in_analysis_mask (オプション) | 解析を行う場所を定義する入力データ。 これは、ラスターでもフィーチャ データセットでもかまいません。 入力がラスターの場合、整数タイプまたは浮動小数点タイプのいずれかになります。 入力がフィーチャ データの場合、ポイント、ライン、ポリゴン タイプのいずれかにできます。 入力マスク データがラスターの場合、解析は有効な値 (0 を含む) をもつ場所で行われます。 マスク入力の NoData のセルは、出力でも NoData になります。 | Composite Geodataset |
コードのサンプル
次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。
この例では、適応近傍メソッドを使用して、出力値をパーセンテージで表示した傾斜ラスターを生成します。 最大近傍距離は 5 メートルです。
from arcpy.ddd import *
SurfaceParameters("elevation_1m.tif", "C:/data/output/outsurfaceparameters01.tif",
"", "", "5 METERS", "ADAPTIVE_NEIGHBORHOOD", "", "PERCENT_RISE")
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
この例では、適応近傍メソッドを使用して、断面 (正規傾斜ライン) 曲率ラスターを生成しています。 最大近傍距離は 10 メートルです。
# Name: SurfaceParameters_Ex_02.py
# Description: Derive profile (normal slope line) curvature for a 1m
# resolution elevation raster over an adaptive neighborhood distance of maximum 10m.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy.ddd import *
# Set environment settings
arcpy.env.workspace = "C:/data"
# Check out the ArcGIS 3D Analyst extension license
arcpy.CheckOutExtension("3D")
# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters02.tif"
inParameterType = "PROFILE_CURVATURE"
inNeighborhoodDistance = "10 METERS"
inUseAdaptiveNeighborhood = "ADAPTIVE_NEIGHBORHOOD"
# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "",
inNeighborhoodDistance, inUseAdaptiveNeighborhood)
次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。
この例では、5 メートルの近傍距離を使用して傾斜方向ラスターを生成しています。 非共形投影を使用した場合の方向の歪みを補正します。
# Name: SurfaceParameters_Ex_03.py
# Description: Derive aspect for an elevation surface over a distance of 5m, correct
# for direction distortion from non-conformal projection system.
# Requirements: 3D Analyst Extension
# Import system modules
import arcpy
from arcpy.ddd import *
# Set environment settings
arcpy.env.workspace = "C:/data"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("3D")
# Set local variables
inRaster = "elevation_1m.tif"
outRaster = "C:/data/output/outsurfaceparameters03.tif"
inParameterType = "ASPECT"
inNeighborhoodDistance = "5 METERS"
inProjectGeodesicAzimuths = "PROJECT_GEODESIC_AZIMUTHS"
# Execute the tool
SurfaceParameters(inRaster, outRaster, inParameterType, "", inNeighborhoodDistance,
"", "", "", inProjectGeodesicAzimuths)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst または Spatial Analyst
- Standard: 次のものが必要 3D Analyst または Spatial Analyst
- Advanced: 次のものが必要 3D Analyst または Spatial Analyst