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

Spatial Analyst のライセンスで利用可能。

3D Analyst のライセンスで利用可能。

概要

アスペクト、傾斜角、曲率などのラスター サーフェスのパラメーターを決定します。

[サーフェス パラメーター] ツールの詳細

使用法

  • 出力パラメーターは、ターゲット セルの周囲に局所サーフェスを適合させることで、セルごとに計算されます。[傾斜角][傾斜方向][平均曲率][正接 (正規コンター) 曲率][断面 (正規傾斜ライン) 曲率] という 5 つのサーフェス パラメーターを計算できます。これらのオプションは、[パラメーター タイプ] パラメーター (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 では QUADRATIC) の [二次] (Python では local_surface_type) オプションは、隣接するセルに正確に適合しません。これはデフォルトであり、ほとんどのデータやアプリケーションに対しておすすめのオプションです。

    • 二次サーフェスは、高解像度のライダー サーフェスのようなノイズの多いサーフェス データの影響を最小限に抑えます。この効果は曲率を計算する際に特に重要です。
    • セル サイズよりも大きい近傍サイズを指定するとき、および適応近傍オプションを使用するときは、二次サーフェスを使用する必要があります。
  • [局所サーフェス] タイプの [四次] (Python では BIQUADRATIC) オプションは、隣接するセルのデータに正確に適合しません。

    • このオプションは精度の高い入力サーフェスに適しています。
    • 近傍距離が入力ラスターのセル サイズよりも大きい場合、四次サーフェス タイプの精度の利点は失われます。近傍距離はデフォルトのまま (セル サイズに等しい状態) にしておく必要があります。
  • [近傍距離] (Python では neighborhood_distance) は近傍サイズを決定し、ターゲット セルの中心からこの距離でサーフェス パラメーターを計算します。

    • 入力ラスターのセル サイズよりも小さくすることはできません。
    • 近隣距離が小さいほど、地形内のローカル変動、小さい地形フィーチャの特性が多く取得されます。高解像度の標高データでは、距離が大きい方が適切な場合があります。
  • [適応近傍の使用] パラメーターをオンにしている場合 (Python では use_adaptive_neighborhoodADAPTIVE_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_azimuthsPROJECT_GEODESIC_AZIMUTHS に設定されている場合)、以下の点が当てはまります。

    • 北は常に 360 度として表されます。
    • 方位は、非正角な出力座標系によって引き起こされる歪みを修正するために投影されます。これらの角度を使用すると、最も急な下り勾配に沿ったポイントを正確に配置できます。

    距離ツールセットのツールで、サーフェス パラメーターの出力を [入力バック方向または入力流向ラスター] パラメーターにおけるバック方向として使用する場合、[測地線方位の投影] (Python での in_back_direction_raster) パラメーターをオンにしてください。

  • [赤道傾斜方向の使用] パラメーターがオンの場合 (Python では project_geodesic_azimuthsUSE_EQUATORIAL_ASPECT 設定されています)、傾斜方向は赤道に沿ったポイントから測定され、極点に近づいたときに発生する方向のねじれを補正します。このオプションは、南北軸と東西軸が互いに垂直である状態を確保します。

    テレインが北極または南極に近い場合は、[赤道傾斜方向の使用] パラメーターをオンにしてください。

  • このツールに適用されるジオプロセシング環境の詳細については、「解析環境と Spatial Analyst」をご参照ください。

  • 参考文献:

    • James D.E., M.D. Tomer, S.A. Porter. (2014). Trans-scalar landform segmentation from high-resolution digital elevation models. ESRI Annual Users Conference (2014 年 7 月、サンディエゴ、カリフォルニア) で示されたポスター。
    • Minár, J.、Evans, I. S.、Jenčo, M (2020) A comprehensive system of definitions of land surface (topographic) curvatures, with implications for their application in geoscience modelling and prediction. Earth-Science Reviews、103414: https://doi.org/10.1016/j.earscirev.2020.103414

構文

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_raster

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

Raster Layer
parameter_type
(オプション)

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

  • SLOPE標高の変化率です。これがデフォルトです。
  • ASPECT各セルの最大変化率の下り傾斜方向です。
  • MEAN_CURVATUREサーフェスの全体的な曲率を測定します。最小曲率と最大曲率の平均値として計算されます。この曲線は、方向や重力の影響とは無関係に、サーフェス固有の凸面または凹面を表します。
  • TANGENTIAL_CURVATURE斜面ラインに垂直でコンター ラインに接する幾何学正規曲率を計測します。この曲率は通常、これはサーフェス上の流れの収束や分岐を特徴付けるために適用されます。
  • PROFILE_CURVATURE斜面ラインに沿った幾何学的正規曲率を計測します。この曲率は通常、サーフェス下方の流れの収束や分岐を特徴付けるために適用されます。
String
local_surface_type
(オプション)

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

  • QUADRATIC2 次サーフェス関数を近傍セルに合わせます。これがデフォルトです。
  • 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
(オプション)

parameter_typeSLOPE の場合、出力傾斜角ラスターの計測単位 (度またはパーセンテージ) を決定します。

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

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

  • GEODESIC_AZIMUTHS測地線方位は投影されません。これがデフォルトです。
  • PROJECT_GEODESIC_AZIMUTHS測地線方位が投影されます。
Boolean
use_equatorial_aspect
(オプション)

赤道上のポイントからの傾斜方向を測定します。

  • NORTH_POLE_ASPECT北極からの傾斜方向を測定します。これがデフォルトです。
  • EQUATORIAL_ASPECT赤道上のポイントからの傾斜方向を測定します。
Boolean

戻り値

名前説明データ タイプ
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")

ライセンス情報

  • Basic: 次のものが必要 Spatial Analyst または 3D Analyst
  • Standard: 次のものが必要 Spatial Analyst または 3D Analyst
  • Advanced: 次のものが必要 Spatial Analyst または 3D Analyst

関連トピック