サーフェス パラメーター (Surface Parameters) (Spatial Analyst)

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

パラメーター

ラベル説明データ タイプ
入力サーフェス ラスター

入力サーフェス ラスター。

Raster Layer
パラメーター タイプ
(オプション)

計算する出力サーフェス パラメーターのタイプを指定します。

  • 傾斜角標高の変化率が計算されます。 これがデフォルトです。
  • 傾斜方向各セルの最大変化率の下り傾斜方向が計算されます。
  • 平均曲率サーフェスの全体的な曲率が計算されます。 最小曲率と最大曲率の平均として計算されます。 この曲率は、方向や重力の影響とは無関係に、サーフェスの固有の凹凸を表します。
  • 接線 (正規コンター) 曲率傾斜に垂直で輪郭線に接する幾何学的な法曲率が測定されます。 一般的に、この曲率はサーフェスを横断する流れの収束または分岐を特徴づけるために適用されます。
  • 断面 (正規傾斜ライン) 曲率傾斜に沿った幾何学的な法曲率が測定されます。 一般的に、この曲率はサーフェスを流れる流れの加速または減速を特徴づけるために適用されます。
  • 平面 (投影コンター) 曲率等高線に沿った曲率が測定されます。
  • コンター測地線のねじれ率等高線に沿った傾斜角の変化率が測定されます。
  • ガウス曲率サーフェスの全体的な曲率が計算されます。 最小曲率と最大曲率の積として計算されます。
  • カソラティ曲率サーフェスの全体的な曲率が測定されます。 ゼロか他の任意の正の数値にすることができます。
String
局所サーフェス タイプ
(オプション)

ターゲット セルの周囲に適合するサーフェス関数のタイプを指定します。

  • 二次二次サーフェス関数が隣接するセルに適合されます。 これがデフォルトです。
  • 四次四次サーフェス関数が隣接するセルに適合されます。
String
近傍距離
(オプション)

出力は、ターゲットセル中心に対してこの距離を比較して計算されます。 これによって近傍サイズを決定します。

デフォルト値は入力ラスターのセル サイズで、3 x 3 の近傍になります。

Linear Unit
適応近傍の使用
(オプション)

地形の変化に応じて近傍距離が変化するかどうかを指定します (アダプティブ)。 最大距離は近傍距離によって決定されます。 最小距離は、出力ラスターのセル サイズです。

  • オフ - すべての場所で単一の (固定された) 近傍距離を使用します。 これがデフォルトです。
  • オン - すべての場所で適応可能な近傍距離を使用します。
Boolean
Z 単位
(オプション)

鉛直方向の Z 値の距離単位を指定します。

これは、鉛直座標系で定義されます (存在する場合)。 鉛直座標系が存在しない場合、正しい測地線の計算を実現するために、単位リストを使用して Z 単位を定義します。 デフォルトはメートルです。

  • インチ距離単位はインチになります。
  • フィート距離単位はフィートになります。
  • ヤード距離単位はヤードになります。
  • US マイル距離単位はマイルになります。
  • 海里距離単位は海里になります。
  • ミリメートル距離単位はミリメートルになります。
  • センチメートル距離単位はセンチメートルになります。
  • メートル距離単位はメートルになります。
  • キロメートル距離単位はキロメートルになります。
  • デシメートル距離単位はデシメートルになります。
String
出力傾斜角の計測
(オプション)

出力傾斜角ラスターに使用される計測単位 (度またはパーセンテージ)。

このパラメーターは、[パラメーター タイプ] パラメーターが [傾斜角] に設定されている場合にのみ利用できます。

  • 傾斜角を度単位で計算します。
  • 勾配率傾斜角は、勾配率 (傾斜率) として計算されます。
String
測地線方位の投影
(オプション)

出力空間参照によって引き起こされる角度の歪みを修正するために、測地線方位を投影するかどうかを指定します。

  • オフ - 測地線方位は投影されません。 これがデフォルトです。
  • オン - 測地線方位が投影されます。

[パラメーターのタイプ] パラメーターが [傾斜方向] に設定されている場合のみ、このパラメーターを使用できます。

Boolean
赤道傾斜方向の使用
(オプション)

赤道上のポイント、または北極からアスペクトを測定するかどうかを指定します。

  • オフ - 北極からのアスペクトが測定されます。 これがデフォルトです。
  • オン - 赤道上のポイントからのアスペクトが測定されます。

[パラメーターのタイプ] パラメーターが [傾斜方向] に設定されている場合のみ、このパラメーターを使用できます。

Boolean
入力解析マスク
(オプション)

解析が行われる場所を定義する入力データ。

これは、ラスターでもフィーチャ データセットでもかまいません。 入力がラスターの場合、整数タイプまたは浮動小数点タイプのいずれかになります。 入力がフィーチャ データの場合、ポイント、ライン、またはポリゴンのいずれかになります。

入力マスク データがラスターの場合、有効な値 (ゼロを含む) を持つ場所で解析が行われます。 マスク入力の NoData のセルは、出力でも NoData になります。

Composite Geodataset

戻り値

ラベル説明データ タイプ
出力ラスター

出力ラスター。

Raster

SurfaceParameters(in_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
parameter_type
(オプション)

計算する出力サーフェス パラメーターのタイプを指定します。

  • SLOPE標高の変化率が計算されます。 これがデフォルトです。
  • ASPECT各セルの最大変化率の下り傾斜方向が計算されます。
  • MEAN_CURVATUREサーフェスの全体的な曲率が計算されます。 最小曲率と最大曲率の平均として計算されます。 この曲率は、方向や重力の影響とは無関係に、サーフェスの固有の凹凸を表します。
  • TANGENTIAL_CURVATURE傾斜に垂直で輪郭線に接する幾何学的な法曲率が測定されます。 一般的に、この曲率はサーフェスを横断する流れの収束または分岐を特徴づけるために適用されます。
  • PROFILE_CURVATURE傾斜に沿った幾何学的な法曲率が測定されます。 一般的に、この曲率はサーフェスを流れる流れの加速または減速を特徴づけるために適用されます。
  • CONTOUR_CURVATURE等高線に沿った曲率が測定されます。
  • CONTOUR_GEODESIC_TORSION等高線に沿った傾斜角の変化率が測定されます。
  • GAUSSIAN_CURVATUREサーフェスの全体的な曲率が計算されます。 最小曲率と最大曲率の積として計算されます。
  • CASORATI_CURVATUREサーフェスの全体的な曲率が測定されます。 ゼロか他の任意の正の数値にすることができます。
String
local_surface_type
(オプション)

ターゲット セルの周囲に適合するサーフェス関数のタイプを指定します。

  • QUADRATIC二次サーフェス関数が隣接するセルに適合されます。 これがデフォルトです。
  • BIQUADRATIC四次サーフェス関数が隣接するセルに適合されます。
String
neighborhood_distance
(オプション)

出力は、ターゲットセル中心に対してこの距離を比較して計算されます。 これによって近傍サイズを決定します。

デフォルト値は入力ラスターのセル サイズで、3 x 3 の近傍になります。

Linear Unit
use_adaptive_neighborhood
(オプション)

地形の変化に応じて近傍距離が変化するかどうかを指定します (アダプティブ)。 最大距離は近傍距離によって決定されます。 最小距離は、出力ラスターのセル サイズです。

  • FIXED_NEIGHBORHOODすべての場所で単一の (固定された) 近傍距離を使用します。 これがデフォルトです。
  • ADAPTIVE_NEIGHBORHOODすべての場所で適応可能な近傍距離を使用します。
Boolean
z_unit
(オプション)

鉛直方向の Z 値の距離単位を指定します。

これは、鉛直座標系で定義されます (存在する場合)。 鉛直座標系が存在しない場合、正しい測地線の計算を実現するために、単位リストを使用して Z 単位を定義します。 デフォルトはメートルです。

  • INCH距離単位はインチになります。
  • FOOT距離単位はフィートになります。
  • YARD距離単位はヤードになります。
  • MILE_US距離単位はマイルになります。
  • NAUTICAL_MILE距離単位は海里になります。
  • MILLIMETER距離単位はミリメートルになります。
  • CENTIMETER距離単位はセンチメートルになります。
  • METER距離単位はメートルになります。
  • KILOMETER距離単位はキロメートルになります。
  • DECIMETER距離単位はデシメートルになります。
String
output_slope_measurement
(オプション)

出力傾斜角ラスターに使用される計測単位 (度またはパーセンテージ)。

  • DEGREE傾斜角を度単位で計算します。
  • PERCENT_RISE傾斜角は、勾配率 (傾斜率) として計算されます。

このパラメーターは、parameter_type パラメーターが SLOPE に設定されている場合のみサポートされます。

String
project_geodesic_azimuths
(オプション)

出力空間参照によって引き起こされる角度の歪みを修正するために、測地線方位を投影するかどうかを指定します。

  • GEODESIC_AZIMUTHS測地線方位は投影されません。 これがデフォルトです。
  • PROJECT_GEODESIC_AZIMUTHS測地線方位が投影されます。

このパラメーターは、parameter_type パラメーターが ASPECT に設定されているときのみサポートされます。

Boolean
use_equatorial_aspect
(オプション)

赤道上のポイント、または北極からアスペクトを測定するかどうかを指定します。

  • NORTH_POLE_ASPECT北極からのアスペクトが測定されます。 これがデフォルトです。
  • EQUATORIAL_ASPECT赤道上のポイントからのアスペクトが測定されます。

このパラメーターは、parameter_type パラメーターが ASPECT に設定されているときのみサポートされます。

Boolean
in_analysis_mask
(オプション)

解析が行われる場所を定義する入力データ。

これは、ラスターでもフィーチャ データセットでもかまいません。 入力がラスターの場合、整数タイプまたは浮動小数点タイプのいずれかになります。 入力がフィーチャ データの場合、ポイント、ライン、またはポリゴンのいずれかになります。

入力マスク データがラスターの場合、有効な値 (ゼロを含む) を持つ場所で解析が行われます。 マスク入力の NoData のセルは、出力でも NoData になります。

Composite Geodataset

戻り値

名前説明データ タイプ
out_raster

出力ラスター。

Raster

コードのサンプル

SurfaceParameters の例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

この例では、適応近傍メソッドを使用して、出力値をパーセンテージで表示した傾斜ラスターを生成します。 最大近傍距離は 5 メートルです。

from arcpy.sa import *
outSurfaceParameters = SurfaceParameters("elevation_1m.tif", "", "", "5 METERS",
                                         "ADAPTIVE_NEIGHBORHOOD", "", "PERCENT_RISE")
outSurfaceParameters.save("C:/sapyexamples/output/outsurfaceparameters01.tif")
SurfaceParameters の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン 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: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Set environment settings
arcpy.env.workspace = "C:/sapyexamples/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set local variables
inRaster = "elevation_1m.tif"
inParameterType = "PROFILE_CURVATURE"
inNeighborhoodDistance = "10 METERS"
inUseAdaptiveNeighborhood = "ADAPTIVE_NEIGHBORHOOD"

# Execute the tool
outSurfaceParameters = SurfaceParameters(inRaster, inParameterType, "",
                                         inNeighborhoodDistance, inUseAdaptiveNeighborhood)

# Save the output 
outSurfaceParameters.save("C:/sapyexamples/output/outsurfaceparameters02.tif")
SurfaceParameters の例 3 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン 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: Spatial Analyst Extension

# Import system modules
import arcpy
from arcpy.sa import *

# Set environment settings
arcpy.env.workspace = "C:/sapyexamples/data"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Set local variables
inRaster = "elevation_1m.tif"
inParameterType = "ASPECT"
inNeighborhoodDistance = "5 METERS"
inProjectGeodesicAzimuths = "PROJECT_GEODESIC_AZIMUTHS"

# Execute the tool
outSurfaceParameters = SurfaceParameters(inRaster, inParameterType, "",
                                         inNeighborhoodDistance, "", "", "",
                                         inProjectGeodesicAzimuths)

# Save the output 
outSurfaceParameters.save("C:/sapyexamples/output/outsurfaceparameters03.tif")