陰影起伏(Hillshade) (3D Analyst)
図
使用法
-
[陰影起伏(Hillshade)] ツールは、ラスタを基にして陰影起伏ラスタを作成します。光源は無限遠と見なされます。
-
陰影起伏ラスタの整数値範囲は 0 ~ 255 です。
-
2 種類の陰影起伏ラスタを出力できます。[影を解析] オプションが無効(オフ)の場合、局所光源角度のみを考慮してラスタが出力されます。このオプションが有効(オン)の場合は、局所照明角度と影の両方を考慮してラスタが出力されます。
-
影については、各セルにおける水平線の影響を考慮して解析されます。影のラスタ セルには値 0 が割り当てられます。
-
影領域のみのラスタを作成するには、[再分類(Reclassify)] ツールを使用して、その他の陰影起伏値から値 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 |
out_raster |
出力陰影起伏ラスタ。 陰影起伏ラスタの整数値範囲は 0 ~ 255 です。 | Raster Dataset |
azimuth (オプション) |
光源の方位角。 方位角は正の角度(0 ~ 360)で表され、北から時計回りに計測されます。 デフォルト値は 315 度です。 | Double |
altitude (オプション) |
水平線を基準とする、光源の高度。 高度は正の角度で表され、水平線の高さが 0 度、頭の真上が 90 度になります。 デフォルト値は 45 度です。 | Double |
model_shadows (オプション) |
生成する陰影起伏のタイプ。
| Boolean |
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 |
コードのサンプル
この例では、影を含む陰影起伏ラスタを生成します。特定の方位角と高度角が設定されています。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.HillShade_3d("elevation", "C:/output/outhillshd01", 180, 75, "SHADOWS", 1)
この例では、影を含む陰影起伏ラスタを生成します。特定の方位角と高度角が設定されており、フィート単位の 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 # Check out the ArcGIS 3D Analyst extension license arcpy.CheckOutExtension("3D") # Execute HillShade arcpy.HillShade_3d(inRaster, outRaster, azimuth, altitude, modelShadows, zFactor)