曲率 (Curvature) (3D Analyst)

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

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

サマリー

ラスター サーフェスの曲率を計算します。オプションとして断面曲率と平面曲率も計算できます。

[曲率 (Curvature)] ツールの詳細

使用法

  • [曲率 (Curvature)] ツールは平面を 9 個のローカル セルに収めますが、平面は地形の記述子としてあまり役に立たず、対象の自然変動がマスクされたり、強調されたりすることがあります。 [サーフェス パラメーター (Surface Parameter)] ツールは、サーフェスを平面ではなくセルの近傍に収めるため、地形をより自然に適合させることができます。

    [曲率 (Curvature)] ツールは、常に 3 x 3 のセル ウィンドウを使用して値を計算するのに対し、[サーフェス パラメーター (Surface Parameters)] ツールは 3 x 3 から 15 x 15 のセルまでのウィンドウ サイズを使用できます。 高解像度の標高データには、大きいウィンドウ サイズが便利です。これにより、地表面の処理を適切な縮尺で捉えられるようになります。 [サーフェス パラメーター (Surface Parameters)] にはアダプティブ ウィンドウ オプションもあります。このオプションは地形のローカル変動を評価し、セルごとに最大の適切な近傍サイズを特定します。 これは、河川、道路、傾斜の急変によって途切れる、緩やかな同種の地形において便利です。

    [サーフェス パラメーター (Surface Parameters)] ツールには 3 つの曲率タイプがあり、更新された式を使用するとともに、[曲率 (Curvature)] ツールから異なる結果を生成します。

  • 主たる出力は、そのセルと周辺の 8 つのセルを対象として計算したセル単位でのサーフェスの曲率です。 オプションの出力曲率は 2 種類あります。断面曲率は最大傾斜角の方向で、平面曲率は最大傾斜角の方向に対して鉛直です。

  • 正の曲率は、サーフェスがそのセルで上方向に凸状であることを示します。 負の曲率は、サーフェスがそのセルで上方向に凹状であることを示します。 ゼロ (0) という値はサーフェスが平らであることを示します。

  • 断面出力の場合、負の値は、サーフェスがそのセルで上方向に凸状であることを示します。 正の断面曲率は、サーフェスがそのセルで上方向に凹状であることを示します。 ゼロ (0) という値はサーフェスが平らであることを示します。

  • 平面出力の場合、正の値は、サーフェスがそのセルで上方向に凸状であることを示します。 負の平面曲率は、サーフェスがそのセルで上方向に凹状であることを示します。 ゼロ (0) という値はサーフェスが平らであることを示します。

  • 曲率出力ラスターの単位は、オプションの出力断面曲率ラスターと出力平面曲率ラスターの単位も、Z 単位の 1/100 です。 3 つの出力ラスターすべてに合理的に期待される値は、丘陵地 (中程度の起伏) で -0.5 〜 0.5、急峻で険しい山岳地帯 (極端な起伏) で -4 〜 4 の範囲になります。 特定のラスター サーフェスでは、この範囲を超える可能性があることに注意してください。

  • 入力ラスターをリサンプリングする必要がある場合は、共一次内挿法を使用します。 入力ラスターをリサンプリングする例としては、出力座標系、範囲、またはセル サイズが入力と異なる場合があります。

  • [入力ラスター] パラメーターの値 (Python の in_raster) が高解像度でセル サイズが数メートル未満の場合や、特にノイズが多い場合は、このツールの直接 3 × 3 近傍ではなく、[サーフェス パラメーター (Surface Parameters)] ツールとそのユーザー定義の近傍距離オプションを使用することを検討してください。[入力ラスター] パラメーターの値 (Python の in_raster) が高解像度でセル サイズが数メートル未満の場合や、特にノイズが多い場合は、このツールの直接 3 × 3 近傍ではなく、[サーフェス パラメーター (Surface Parameters)] ツールとそのユーザー定義の近傍距離オプションを使用することを検討してください。 より大きな近傍を使用することで、ノイズの多いサーフェスの影響を最小限に抑えることができます。 また、高解像度のサーフェスを使用する場合は、より大きな近隣を使用することで、地形やサーフェスの特性をより上手く表現することができます。

  • 入力ラスターをリサンプリングする必要がある場合は、共一次内挿法を使用します。 入力ラスターをリサンプリングする例としては、出力座標系、範囲、またはセル サイズが入力と異なる場合があります。

パラメーター

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

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

Raster Layer
出力曲率ラスター

出力曲率ラスター。

浮動小数点タイプになります。

Raster Dataset
Z 係数
(オプション)

サーフェス z 単位あたりの地表 xy 単位の数。

Z 単位の測定基準が入力サーフェスの X、Y 単位と異なる場合、Z 係数を使用して Z 測定単位を調整します。 最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。

X、Y 単位と Z 単位の測定基準が同じ場合、Z 係数は 1 になります。 これがデフォルトです。

X、Y 単位と Z 単位の測定単位が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。 たとえば、Z 単位がフィートであり、X、Y 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します (1 フィート = 0.3048 メートル)。

Double
出力断面曲率ラスター
(オプション)

出力断面曲率ラスター データセットです。

これは、傾斜角の方向におけるサーフェスの曲率です。

浮動小数点タイプになります。

Raster Dataset
出力平面曲率ラスター
(オプション)

出力平面曲率ラスター データセットです。

これは、傾斜角の方向に鉛直なサーフェスの曲率です。

浮動小数点タイプになります。

Raster Dataset

arcpy.ddd.Curvature(in_raster, out_curvature_raster, {z_factor}, {out_profile_curve_raster}, {out_plan_curve_raster})
名前説明データ タイプ
in_raster

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

Raster Layer
out_curvature_raster

出力曲率ラスター。

浮動小数点タイプになります。

Raster Dataset
z_factor
(オプション)

サーフェス z 単位あたりの地表 xy 単位の数。

Z 単位の測定基準が入力サーフェスの X、Y 単位と異なる場合、Z 係数を使用して Z 測定単位を調整します。 最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。

X、Y 単位と Z 単位の測定基準が同じ場合、Z 係数は 1 になります。 これがデフォルトです。

X、Y 単位と Z 単位の測定単位が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。 たとえば、Z 単位がフィートであり、X、Y 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します (1 フィート = 0.3048 メートル)。

Double
out_profile_curve_raster
(オプション)

出力断面曲率ラスター データセットです。

これは、傾斜角の方向におけるサーフェスの曲率です。

浮動小数点タイプになります。

Raster Dataset
out_plan_curve_raster
(オプション)

出力平面曲率ラスター データセットです。

これは、傾斜角の方向に鉛直なサーフェスの曲率です。

浮動小数点タイプになります。

Raster Dataset

コードのサンプル

Curvature (曲率) の例 1 (Python ウィンドウ)

この例では、入力サーフェス ラスターから曲率ラスターを作成し、Z 係数も適用します。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Curvature_3d("elevation", "c:/output/outcurv01", 1.094)
Curvature (曲率) の例 2 (スタンドアロン スクリプト)

この例では、入力サーフェス ラスターから曲率ラスターを作成し、Z 係数も適用します。

# Name: Curvature_3d_Ex_02.py
# Description: Calculates the curvature of a raster surface, 
#              optionally including profile and plan curvature.
# 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"
outRaster = "C:/output/outcurv02"
zFactor = 1.094

# Execute Curvature
arcpy.ddd.Curvature(inRaster, outRaster, 1.094)

関連トピック