観測ポイント(Observer Points) (Spatial Analyst)
使用法
-
観測ポイントの決定は、コンピュータに負荷がかかる処理です。処理にかかる時間は、解像度によって変わります。事前調査の場合、粗いセル サイズにして入力のセル数を減らすことも考えられます。最終結果を生成する準備が整ったら、フル解像度のラスタを使用します。
-
入力ラスタにサンプリング エラーによって発生した望ましくないノイズが含まれている場合、このツールを実行する前に [フォーカル統計(Focal Statistics)] ツールの [MEAN] オプションのようなローパス フィルタを使用することでラスタを滑らかにすることも考えられます。
-
各セルの中心の可視または不可視は、セルの中心における高度をローカル水平線に対する高度と比較して決定されます。ローカル水平線は、観測点と各セルの中心との間にある地形を考慮して計算されます。観測点がローカル水平線より上にある場合、可視と見なされます。
-
ツールでは、オプションで AGL(Above Ground Level)出力ラスタを提供しています。AGL 出力ラスタの各セルには、1 つ以上の観測点からセルを見通すために、セルに追加する必要がある高さの最小値が記録されます。
入力観測フィーチャに複数の観測点が含まれているとき、出力値はすべての観測点における AGL 値の最小値になります。
-
入力ラスタをリサンプリングする必要がある場合は、共一次内挿法 を使用します。入力ラスをリサンプリングする例としては、出力座標系、範囲、またはセル サイズが入力と異なる場合があります。
構文
パラメータ | 説明 | データ タイプ |
in_raster |
入力サーフェス ラスタ。 | Raster Layer |
in_observer_point_features |
観測点の位置を特定するポイント フィーチャクラス。 最大ポイント数は 16 です。 | Feature Layer |
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 |
curvature_correction (オプション) |
地球の曲率の補正を適用します。
| Boolean |
refractivity_coefficient (オプション) |
大気中での可視光線の屈折係数。 デフォルト値は 0.13 です。 | Double |
out_agl_raster (オプション) |
出力 AGL(Above Ground Level)ラスタ。 AGL の出力は、見えないセルが 1 つ以上の観測点から見えるようにするためにセルに追加する必要がある最小の高さで各セルの値が構成されるラスタとなります。 この出力ラスタでは、すでに見通せるセルには値 0 が設定されます。 | Raster |
戻り値
名前 | 説明 | データ タイプ |
out_raster |
出力ラスタ。 出力では、各ラスタのサーフェス位置から見える観測点を正確に特定します。 | Raster |
コードのサンプル
この例では、各ラスタのサーフェス位置から見える観測点を正確に特定します。
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outObsPoints = ObserverPoints("elevation","observers.shp", 1, "CURVED_EARTH", 0.13)
outObsPoints.save("C:/sapyexamples/output/outobspnt01")
この例では、各ラスタのサーフェス位置から見える観測点を正確に特定します。
# Name: ObserverPoints_Ex_02.py
# Description: Identifies exactly which observer points are visible
# from each raster surface location.
# 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"
inObsPoints = "observers.shp"
zFactor = 1
useEarthCurv = "CURVED_EARTH"
refractionVal = 0.13
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ObserverPoints
outObsPoints = ObserverPoints(inRaster, inObsPoints, zFactor,
useEarthCurv, refractionVal)
# Save the output
outObsPoints.save("C:/sapyexamples/output/outobspnt02")