陰影起伏 (Hillshade) (Spatial Analyst)

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

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

サマリー

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

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

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

使用法

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

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

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

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

  • 影領域のみのラスターを作成するには、[Con][再分類 (Reclassify)]、または [属性で抽出 (Extract by Attributes)] ツールを使用して、その他の陰影起伏値から値 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

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

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

パラメーター

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

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

Raster Layer
方位
(オプション)

光源の方位。

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

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

Double
高度
(オプション)

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

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

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

Double
影の解析
(オプション)

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

  • オフ: 出力ラスターでは、局所光源角度のみが考慮されます。影の影響は考慮されません。

    出力値の範囲は 0 ~ 255 で、0 は最も暗いエリアを表し、255 は最も明るいエリアを表します。これがデフォルトです。

  • オン: 出力の陰影起伏ラスターでは、局所光源角度と影の両方が考慮されます。

    出力値の範囲は 0 ~ 255 で、0 は影のエリアを表し、255 は明るいエリアを表します。

Boolean
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

戻り値

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

出力陰影起伏ラスター。

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

Raster

Hillshade(in_raster, {azimuth}, {altitude}, {model_shadows}, {z_factor})
名前説明データ タイプ
in_raster

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

Raster Layer
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

戻り値

名前説明データ タイプ
out_raster

出力陰影起伏ラスター。

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

Raster

コードのサンプル

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

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

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")
Hillshade (陰影起伏) の例 2 (スタンドアロン スクリプト)

この例では、影を含む陰影起伏ラスターを生成します。 特定の方位角と高度角が設定されており、フィート単位の 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

# Execute HillShade
outHillShade = Hillshade(inRaster, azimuth, altitude, modelShadows, zFactor)

# Save the output 
outHillShade.save("C:/sapyexamples/output/outhillshd02")

関連トピック