ラベル | 説明 | データ タイプ |
入力サーフェス ラスター | 入力サーフェス ラスター。 | Raster Layer |
出力ラスター | 出力ラスター。 浮動小数点タイプになります。 | Raster Dataset |
パラメーター タイプ (オプション) | 計算する出力サーフェス パラメーターのタイプを指定します。
| String |
局所サーフェス タイプ (オプション) | ターゲット セルの周囲に適合するサーフェス関数のタイプを指定します。
| String |
近傍距離 (オプション) | 出力は、ターゲットセル中心に対してこの距離を比較して計算されます。 これによって近傍サイズを決定します。 デフォルト値は入力ラスターのセル サイズで、3 x 3 の近傍になります。 | Linear Unit |
適応近傍の使用 (オプション) | 地形の変化に応じて近傍距離が変化するかどうかを指定します (アダプティブ)。 最大距離は近傍距離によって決定されます。 最小距離は、出力ラスターのセル サイズです。
| Boolean |
Z 単位 (オプション) | 鉛直方向の Z 値に使用する距離単位を指定します。 存在する場合は、鉛直座標系によって定義されます。 鉛直座標系が存在しない場合、正しい測地線の計算を実現するために、単位リストを使用して Z 単位を定義します。 デフォルトはメートルです。
| String |
出力傾斜角の計測 (オプション) | 出力傾斜角ラスターに使用される計測単位 (度またはパーセンテージ)。 このパラメーターは、[パラメーター タイプ] パラメーターが [傾斜角] に設定されている場合にのみ利用できます。
| String |
測地線方位の投影 (オプション) |
出力空間参照によって引き起こされる角度の歪みを修正するために、測地線方位を投影するかどうかを指定します。
このパラメーターは、[パラメーター タイプ] パラメーターが [傾斜方向] に設定されている場合にのみ利用できます。 | Boolean |
赤道傾斜方向の使用 (オプション) |
赤道上のポイント、または北極から傾斜方向を測定するかどうかを指定します。
このパラメーターは、[パラメーター タイプ] パラメーターが [傾斜方向] に設定されている場合にのみ利用できます。 | Boolean |
入力解析マスク (オプション) | 解析が行われる場所を定義する入力データ。 これは、ラスターでもフィーチャ データセットでもかまいません。 入力がラスターの場合、整数タイプまたは浮動小数点タイプのいずれかになります。 入力がフィーチャ データの場合、ポイント、ライン、またはポリゴンのいずれかになります。 入力マスク データがラスターの場合、有効な値 (ゼロを含む) を持つ場所で解析が行われます。 マスク入力の NoData のセルは、出力でも NoData になります。 | Composite Geodataset |
Spatial Analyst のライセンスで利用可能。
3D Analyst のライセンスで利用可能。
使用法
出力パラメーターは、ターゲット セルの周囲に局所サーフェスを適合させることで、セルごとに計算されます。 [パラメーター タイプ] パラメーター (Python では parameter_type) で利用できるサーフェス パラメーター オプションは、[傾斜角]、[傾斜方向]、[平均曲率]、[接線 (正規コンター) 曲率]、[断面 (正規傾斜ライン) 曲率]、[平面 (投影コンター) 曲率]、[コンター測地線のねじれ率]、[ガウス曲率]、[カソラティ曲率] です。
すべての出力パラメーターは、測地座標と方程式を使って計算されます。
[パラメーター タイプ] に対して [傾斜角] (Python では SLOPE) オプションが指定されている場合、出力は各デジタル標高モデル (DEM) セルの標高変化率を表します。 これは DEM の一次微分です。 傾斜角出力の値の範囲は、計測単位のタイプによって異なります。
[パラメータータイプ] に対して [傾斜方向] (Python では ASPECT) オプションが指定されている場合、出力は各場所の下り坂斜面のコンパスの向きを特定します。 コンパスの向きは、0 〜 360 度の正の角度で、北から時計回りに計測されます。
曲率は、サーフェスの形状を表現するために使用されます。 地球科学に応用する場合、重力、侵食、その他の要因がサーフェスに与える影響を理解するために使用され、他のサーフェス パラメーターと組み合わせて地形を識別および分類するために使用されます。
- [平均曲率] (Python では MEAN_CURVATURE) - サーフェスの全体的な曲率。 最小曲率と最大曲率の平均として計算されます。 これが [パラメータータイプ] に対して指定されている場合、出力は断面 (正規傾斜ライン) と接線 (正規コンター) の曲率の平均と等しくなります。 その符号は正または負のいずれかで、極端な値を除いて決定的な指標にはなりません。 高い正の値は最大の浸食エリアを示し、高い負の値は最大の堆積エリアを示します (Minár et al., 2020)。
- [断面 (正規傾斜ライン) 曲率] (Python では PROFILE_CURVATURE) - 傾斜に沿った幾何学的な法曲率。 正の値は、サーフェスの流れや侵食が加速している領域を示します。 負の断面曲率は、サーフェスの流れや堆積が遅くなっている領域を示します。 正の断面 (正規傾斜ライン) 曲率は、サーフェスが傾斜方向のセルで凸状になっていることを示します。 負の曲率は、サーフェスが同じ方向のセルで凹状になっていることを示します。 ゼロという値はサーフェスが平らであることを示します。
- [接線 (正規コンター) 曲率] (Python では TANGENTIAL_CURVATURE) は、傾斜に垂直で輪郭線に接する幾何学的な法曲率。 正の値は、サーフェスの流れが分岐している領域を示します。 負の接線曲率は、サーフェスの流れが収束している領域を示します。 正の接線 (正規コンター) 曲率は、傾斜の方向に垂直なセルでサーフェスが凸状であることを示します。 負の曲率は、サーフェスが傾斜に垂直な方向のセルで凹状になっていることを示します。 ゼロという値はサーフェスが平らであることを示します。
- [平面 (投影コンター) 曲率] (Python では CONTOUR_CURVATURE) - 等高線に沿った曲率。
- [コンター測地線のねじれ率] (Python では CONTOUR_GEODESIC_TORSION) - 等高線に沿った傾斜角の変化率。
- [ガウス曲率] (Python では GAUSSIAN_CURVATURE) - サーフェスの全体的な曲率。 曲率の最大値と最小値の積として計算され、負の値と正の値を取ることができます。 正の値はそのセルでサーフェスが凸面であることを示し、負の値はサーフェスが凹面であることを示します。 ゼロという値はサーフェスが平らであることを示します。
- [カソラティ曲率] (Python では CASORATI_CURVATURE) - サーフェスの全体的な曲率。 ゼロまたは正にできます。 高い正の値は、尖ったエリアが複数の方向に曲がっていることを示します。
曲率タイプ出力の単位は、すべて「出力座標系」環境の XY 単位の逆数 ([ガウス曲率] の逆数の二乗) になります。
[局所サーフェス タイプ] パラメーター (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 ユーザー会 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 (オプション) | 解析が行われる場所を定義する入力データ。 これは、ラスターでもフィーチャ データセットでもかまいません。 入力がラスターの場合、整数タイプまたは浮動小数点タイプのいずれかになります。 入力がフィーチャ データの場合、ポイント、ライン、またはポリゴンのいずれかになります。 入力マスク データがラスターの場合、有効な値 (ゼロを含む) を持つ場所で解析が行われます。 マスク入力の 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