曲率(Curvature) (Spatial Analyst)
使用法
-
主たる出力は、そのセルと周辺の 8 つのセルを対象として計算したセル単位でのサーフェスの曲率です。曲率は、サーフェスの二次導関数で、傾斜角の傾斜角です。オプションの出力曲率は 2 種類あります。断面曲率は最大傾斜角の方向で、平面曲率は最大傾斜角の方向に対して鉛直です。
-
正の曲率は、サーフェスがそのセルで上方向に凸状であることを示します。負の曲率は、サーフェスがそのセルで上方向に凹状であることを示します。ゼロ(0)という値はサーフェスが平らであることを示します。
-
断面出力の場合、負の値は、サーフェスがそのセルで上方向に凸状であることを示します。正の断面曲率は、サーフェスがそのセルで上方向に凹状であることを示します。ゼロ(0)という値はサーフェスが平らであることを示します。
-
平面出力の場合、正の値は、サーフェスがそのセルで上方向に凸状であることを示します。負の平面曲率は、サーフェスがそのセルで上方向に凹状であることを示します。ゼロ(0)という値はサーフェスが平らであることを示します。
-
曲率出力ラスタの単位は、オプションの出力断面曲率ラスタと出力平面曲率ラスタの単位も、Z 単位の 1/100 です。3 つの出力ラスタすべてに合理的に期待される値は、丘陵地(中程度の起伏)で -0.5 ~ 0.5、急峻で険しい山岳地帯(極端な起伏)で -4 ~ 4 の範囲になります。この範囲を超えるラスタ サーフェスを使用することもできます。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
入力サーフェス ラスタ。 | Raster Layer |
z_factor (オプション) | サーフェス Z 単位あたりの地表 X、Y 単位の数。 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 |
戻り値
名前 | 説明 | データ タイプ |
out_curvature_raster |
出力曲率ラスタ。 | Raster |
コードのサンプル
この例では、入力サーフェス ラスタから曲率ラスタを作成し、Z 係数も適用します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCurve = Curvature("elevation", 1.094)
outCurve.save("C:/sapyexamples/output/outcurv01")
この例では、入力サーフェス ラスタから曲率ラスタを作成し、Z 係数も適用します。
# Name: Curvature_Ex_02.py
# Description: Calculates the curvature of a raster surface,
# optionally including profile and plan curvature.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "elevation"
zFactor = 1.094
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute Curvature
outCurve = Curvature(inRaster, 1.094)
# Save the output
outCurve.save("C:/sapyexamples/output/outcurv02")