陰影起伏(Hillshade) (Spatial Analyst)
図
使用法
-
[陰影起伏(Hillshade)] ツールは、ラスタを基にして陰影起伏ラスタを作成します。光源は無限遠と見なされます。
-
陰影起伏ラスタの整数値範囲は 0 〜 255 です。
-
2 種類の陰影起伏ラスタを出力できます。[影を解析] オプションが無効(オフ)の場合、局所光源角度のみを考慮してラスタが出力されます。このオプションが有効(オン)の場合は、局所照明角度と影の両方を考慮してラスタが出力されます。
-
影については、各セルにおける水平線の影響を考慮して解析されます。影のラスタ セルには値 0 が割り当てられます。
-
影領域のみのラスタを作成するには、[Con]、[再分類(Reclassify)]、または [属性で抽出(Extract by Attributes)] ツールを使用して、その他の陰影起伏値から値 0 を切り分けます。[陰影起伏(Hillshade)] では、[影を解析] オプションをオンにしておく必要があります。
-
入力ラスタが球面座標系(10 進経緯度)で表されている場合、生成される陰影起伏が特異に見えることがあります。これは、水平地面の計測単位と標高 Z の計測単位が異なるためです。経度の長さは緯度によって変化するので、目的の緯度の適切な Z 係数を指定する必要があります。X、Y の単位が 10 進度で Z 単位がメートルの場合、特定の緯度に適した Z 係数は、次のようになることがあります。
Latitude Z-factor 0 0.00000898 10 0.00000912 20 0.00000956 30 0.00001036 40 0.00001171 50 0.00001395 60 0.00001792 70 0.00002619 80 0.00005156
-
ArcGIS ArcScene を使用して出力ラスタをドレープ処理すれば、陰影起伏サーフェスを 3 次元で表示し、視覚効果を高めることができます。
-
入力ラスタをリサンプリングする必要がある場合は、共一次内挿法 を使用します。入力ラスをリサンプリングする例としては、出力座標系、範囲、またはセル サイズが入力と異なる場合があります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
入力サーフェス ラスタ。 | Raster Layer |
azimuth (オプション) |
光源の方位角。 方位角は正の角度(0 〜 360)で表され、北から時計回りに計測されます。 デフォルト値は 315 度です。 | Double |
altitude (オプション) |
水平線を基準とする、光源の高度。 高度は正の角度で表され、水平線の高さが 0 度、頭の真上が 90 度になります。 デフォルト値は 45 度です。 | Double |
model_shadows (オプション) |
生成する陰影起伏のタイプ。
| Boolean |
z_factor (オプション) |
サーフェス Z 単位あたりの地表 X、Y 単位の数。 Z 単位の測定基準が入力サーフェスの XY 単位と異なる場合、Z 係数を使用して Z 測定単位を調整します。最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。 XY 単位と Z 単位の測定基準が同じ場合、Z 係数は 1(デフォルト値)になります。 XY 単位と Z 単位の測定基準が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。たとえば、Z 単位がフィートであり、XY 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します(1 フィート = 0.3048 メートル)。 | Double |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
出力陰影起伏ラスタ。 陰影起伏ラスタの整数値範囲は 0 〜 255 です。 | Raster |
コードのサンプル
この例では、影を含む陰影起伏ラスタを生成します。特定の方位角と高度角が設定されています。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outHillShade = HillShade("elevation", 180, 75, "SHADOWS", 1)
outHillShade.save("C:/sapyexamples/output/outhillshd01")
この例では、影を含む陰影起伏ラスタを生成します。特定の方位角と高度角が設定されており、フィート単位の Z 値をメートル単位へ変換するための Z 係数が指定されています。
# Name: HillShade_Ex_02.py
# Description: Computes hillshade values for a raster surface.
# 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"
azimuth = 180
altitude = 75
modelShadows = "SHADOWS"
zFactor = 0.348
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute HillShade
outHillShade = HillShade(inRaster, azimuth, altitude, modelShadows, zFactor)
# Save the output
outHillShade.save("C:/sapyexamples/output/outhillshd02")