陰影起伏 (Hillshade) (3D Analyst)

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

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

概要

光源の角度と影を考慮して、サーフェス ラスターから陰影起伏を作成します。

[陰影起伏 (HillShade)] ツールの詳細

陰影起伏の図
HillShade_3d (InRas1, 99, 33, OutRas)

使用法

  • [陰影起伏 (HillShade)] ツールは、ラスターを基にして陰影起伏ラスターを作成します。光源は無限遠と見なされます。

  • 陰影起伏ラスターの整数値範囲は 0 〜 255 です。

  • 2 種類の陰影起伏ラスターを出力できます。[影を解析] オプションが無効 (オフ) の場合、局所光源角度のみを考慮してラスターが出力されます。このオプションが有効 (オン) の場合は、局所照明角度と影の両方を考慮してラスターが出力されます。

  • 影については、各セルにおける水平線の影響を考慮して解析されます。影のラスター セルには値 0 が割り当てられます。

  • 影領域のみのラスターを作成するには、[再分類 (Reclassify)] ツールを使用して、その他の陰影起伏値から値 0 を切り分けます。この結果を作成するには、[影の解析] オプションを有効 (オン) にする必要があります。

  • 入力ラスターが球面座標系 (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

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

構文

arcpy.3d.HillShade(in_raster, out_raster, {azimuth}, {altitude}, {model_shadows}, {z_factor})
パラメーター説明データ タイプ
in_raster

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

Raster Layer
out_raster

出力陰影起伏ラスター。

陰影起伏ラスターの整数値範囲は 0 〜 255 です。

Raster Dataset
azimuth
(オプション)

光源の方位。

方位は正の角度 (0 ~ 360) で表され、北から時計回りに計測されます。

デフォルト値は 315 度です。

Double
altitude
(オプション)

水平線を基準とする、光源の高度。

高度は正の角度で表され、水平線の高さが 0 度、頭の真上が 90 度になります。

デフォルト値は 45 度です。

Double
model_shadows
(オプション)

生成する陰影起伏のタイプ。

  • NO_SHADOWS出力ラスターでは、局所光源角度のみが考慮されます。影の影響は考慮されません。出力値の範囲は 0 ~ 255 で、0 は最も暗いエリアを表し、255 は最も明るいエリアを表します。これがデフォルトです。
  • SHADOWS出力の陰影起伏ラスターでは、局所光源角度と影の両方が考慮されます。出力値の範囲は 0 ~ 255 で、0 は影のエリアを表し、255 は明るいエリアを表します。
Boolean
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

コードのサンプル

HillShade (陰影起伏) の例 1 (Python ウィンドウ)

この例では、影を含む陰影起伏ラスターを生成します。特定の方位角と高度角が設定されています。

import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.HillShade_3d("elevation", "C:/output/outhillshd01", 180, 75, "SHADOWS", 1)
HillShade (陰影起伏) の例 2 (スタンドアロン スクリプト)

この例では、影を含む陰影起伏ラスターを生成します。特定の方位角と高度角が設定されており、フィート単位の Z 値をメートル単位へ変換するための Z 係数が使用されています。

# Name: HillShade_3d_Ex_02.py
# Description: Computes hillshade values for a raster surface.
# Requirements: 3D Analyst Extension

# Import system modules
import arcpy
from arcpy import env

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

# Set local variables
inRaster = "elevation"
outRaster = "C:/output/outhillshd02"
azimuth = 180
altitude = 75
modelShadows = "SHADOWS"
zFactor = 0.348

# Execute HillShade
arcpy.HillShade_3d(inRaster, outRaster, azimuth, altitude, 
                   modelShadows, zFactor)

ライセンス情報

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

関連トピック