可視領域(Viewshed) (3D Analyst)
使用法
-
観測ポイントの決定は、コンピュータに負荷がかかる処理です。処理にかかる時間は、解像度によって変わります。事前調査の場合、粗いセル サイズにして入力のセル数を減らすことも考えられます。最終結果を生成する準備が整ったら、フル解像度のラスタを使用します。
入力ラスタにサンプリング エラーによって発生した望ましくないノイズが含まれていて、Spatial Analyst を使用できる場合、このツールを実行する前に [フォーカル統計(Focal Statistics)] ツールの [MEAN] オプションのようなローパス フィルタを使用することでラスタをなめらかにすることも考えられます。
-
各セルの中心の可視または不可視は、セルの中心における高度をローカル水平線に対する高度と比較して決定されます。ローカル水平線は、観測点と各セルの中心との間にある地形を考慮して計算されます。観測点がローカル水平線より上にある場合、可視とみなされます。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
入力サーフェス ラスタ。 | Raster Layer |
in_observer_features |
観測位置を指定するフィーチャクラス。 入力には、ポイント フィーチャまたはポリライン フィーチャを使用できます。 | Feature Layer |
out_raster |
出力ラスタ。 出力には、入力観測点(またはポリラインの頂点)から、入力サーフェス ラスタの各セル位置を見通せた回数だけが記録されます。観測の頻度は、出力ラスタの属性テーブルに VALUE 項目として記録されます。 | Raster Dataset |
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 |
curvature_correction (オプション) |
地球の曲率の補正を適用します。
| Boolean |
refractivity_coefficient (オプション) |
大気中での可視光線の屈折係数。 デフォルト値は 0.13 です。 | Double |
コードのサンプル
この例では、シェープファイルで定義された一連の観測位置から見通せるサーフェス位置を決定します。
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.Viewshed_3d("elevation", "observers.shp", "C:/output/outvwshd01", 2, "CURVED_EARTH", 0.15)
この例では、シェープファイルで定義された一連の観測位置から見通せるサーフェス位置を決定します。
# Name: Viewshed_3d_Ex_02.py # Description: Determines the raster surface locations visible to a set of # observer features. # Requirements: 3D Analyst Extension # Import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Set local variables inRaster = "elevation" inObserverFeatures = "observers.shp" outViewshed = "C:/output/outvwshd02" zFactor = 2 useEarthCurvature = "CURVED_EARTH" refractivityCoefficient = 0.15 # Check out the ArcGIS 3D Analyst extension license arcpy.CheckOutExtension("3D") # Execute Viewshed arcpy.Viewshed_3d(inRaster, inObserverFeatures, outViewshed, zFactor, useEarthCurvature, refractivityCoefficient)