高度な可視領域(Visibility) (Spatial Analyst)

ライセンス レベル:BasicStandardAdvanced

サマリ

一連の観測フィーチャから見通せるラスタ サーフェスの位置を決定するか、各ラスタのサーフェス位置から見える観測点を特定します。

使用法

構文

Visibility (in_raster, in_observer_features, {out_agl_raster}, {analysis_type}, {nonvisible_cell_value}, {z_factor}, {curvature_correction}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {outer_radius}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle})
パラメータ説明データ タイプ
in_raster

入力サーフェス ラスタ。

Raster Layer
in_observer_features

観測位置を指定するフィーチャクラス。

入力には、ポイント フィーチャまたはポリライン フィーチャを使用できます。

Feature Layer
out_agl_raster
(オプション)

出力 AGL(Above Ground Level)ラスタ。

AGL の出力は、見えないセルが 1 つ以上の観測点から見えるようにするためにセルに追加する必要がある最小の高さで各セルの値が構成されるラスタとなります。

この出力ラスタでは、すでに見通せるセルには値 0 が設定されます。

Raster
analysis_type
(オプション)

可視領域解析のタイプ。

  • FREQUENCY 出力には、入力観測点の位置(ポイントまたはポリライン観測点フィーチャの頂点)から入力サーフェス ラスタの各セル位置を見通せる回数が記録されます。
  • OBSERVERS 出力では、各ラスタのサーフェス位置から見える観測点を正確に特定します。
String
nonvisible_cell_value
(オプション)

見通せないセルに割り当てられる値。

  • ZERO 見通せないセルには 0 が割り当てられます。
  • NODATA 見通せないセルには NoData が割り当てられます。
Boolean
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
(オプション)

地球の曲率の補正を適用します。

  • FLAT_EARTH 曲率補正は適用されません。これはデフォルト設定です。
  • CURVED_EARTH 曲率補正が適用されます。
Boolean
refractivity_coefficient
(オプション)

大気中での可視光線の屈折係数。

デフォルト値は 0.13 です。

Double
surface_offset
(オプション)

この値は、可視領域解析の対象となる各セルの Z 値に加算する垂直距離(単位: サーフェス)を示します。値は整数または浮動小数点で指定する必要があります。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド OFFSETB が入力観測点フィーチャの属性テーブルに存在する場合は、OFFSETB がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は 0 に設定されます。

Field | Constant
observer_elevation
(オプション)

この値は、観測点または頂点のサーフェス標高を定義するために使用されます。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド SPOT が入力観測点フィーチャの属性テーブルに存在する場合は、SPOT がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、パラメータの値は、観測位置の近傍セル内の標高サーフェスの値を使用して、共一次内挿法で推定されます。

Field | Constant
observer_offset
(オプション)

この値は、観測点の標高に追加する垂直距離(単位: サーフェス)を示します。値は整数または浮動小数点で指定する必要があります。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド OFFSETA が入力観測点フィーチャの属性テーブルに存在する場合は、OFFSETA がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は 1 に設定されます。

Field | Constant
inner_radius
(オプション)

この値は、可視領域を決定する開始距離を定義します。この距離よりも近くにあるセルは出力に表示されませんが、内径と外径の間にあるセルの可視領域をブロックします。値は、正および負の整数または浮動小数点で指定できます。正の値の場合、値は 3 次元の見通し距離として解釈されます。負の値の場合、値は 2 次元の平面距離として解釈されます。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド RADIUS1 が入力観測点フィーチャの属性テーブルに存在する場合は、RADIUS1 がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は 0 に設定されます。

Field | Constant
outer_radius
(オプション)

この値は、可視領域を決定する最大距離を定義します。この距離を超えるセルは、解析から除外されます。値は、正および負の整数または浮動小数点で指定できます。正の値の場合、値は 3 次元の見通し距離として解釈されます。負の値の場合、値は 2 次元の平面距離として解釈されます。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド RADIUS2 が入力観測点フィーチャの属性テーブルに存在する場合は、RADIUS2 がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は無限大に設定されます。

Field | Constant
horizontal_start_angle
(オプション)

この値は、水平方向のスキャン範囲の開始角度を定義します。値は、0 を北の方向として度単位の 0 〜 360 で指定する必要があります。デフォルト値は 0 です。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド AZIMUTH1 が入力観測点フィーチャの属性テーブルに存在する場合は、AZIMUTH1 がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は 0 に設定されます。

Field | Constant
horizontal_end_angle
(オプション)

この値は、水平方向のスキャン範囲の終了角度を定義します。値は、0 を北の方向として度単位の 0 〜 360 で指定する必要があります。デフォルト値は 360 です。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド AZIMUTH2 が入力観測点フィーチャの属性テーブルに存在する場合は、AZIMUTH2 がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は 360 に設定されます。

Field | Constant
vertical_upper_angle
(オプション)

この値は、水平面より上でスキャンするときの仰角の上限を定義します。値は、0 〜 90 の角度で指定する必要があり、整数または浮動小数点を使用できます。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド VERT1 が入力観測点フィーチャの属性テーブルに存在する場合は、VERT1 がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は 90 に設定されます。

Field | Constant
vertical_lower_angle
(オプション)

この値は、水平面より下でスキャンするときの仰角の下限を定義します。値は、-90 〜 0 の角度で指定する必要があり、整数または浮動小数点を使用できます。

この値には、入力観測点フィーチャ データセットのフィールドまたは数値のフィールドを指定できます。数値のフィールド VERT2 が入力観測点フィーチャの属性テーブルに存在する場合は、VERT2 がデフォルトで使用されます。デフォルト値を上書きするには、別の数値フィールドまたは定数を指定します。

このパラメータが指定されておらず、入力観測点フィーチャの属性テーブルにデフォルトのフィールドが存在しない場合、デフォルトの値は -90 に設定されます。

Field | Constant

戻り値

名前説明データ タイプ
out_raster

出力ラスタ。

出力には、入力された観測位置から入力サーフェス ラスタの各セル位置を見通せる回数が記録されるか(FREQUENCY オプション)、ラスタ サーフェス位置の各セルから見通せる観測点の位置が記録されます(OBSERVERS オプション)。

Raster

コードのサンプル

Visibility(可視領域)の例 1(Python ウィンドウ)

この例では、シェープファイルで定義された一連の観測位置から見通せるサーフェス位置を決定します。

import arcpy
from arcpy import env
from arcpy.sa import *

env.workspace = "c:/sapyexamples/data"

outvis = arcpy.sa.Visibility("elevation", "observers.shp", "c:/sapyexamples/output/aglout1",
                            "FREQUENCY", "NODATA", "1", "CURVED_EARTH", "0.13",
                            "OFFSETB", "SPOT", "OFFSETA", "RADIUS1", "RADIUS2",
                            "AZIMUTH1", "AZIMUTH2", "VERT1", "VERT2")

outvis.save("c:/sapyexamples/output/visiout1")
Visibility(可視領域)の例 2(スタンドアロン スクリプト)

この例では、各サーフェス位置から見通せる観測点を決定します。

# Name: Visibility_Ex_02.py
# Description: Determines the raster surface locations visible to a set of
#              observer features.
# 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"
inObserverFeatures = "observers.shp"
aglOutput = "c:/sapyexamples/output/aglout1"
analysisType = "OBSERVERS"
nonVisibleValue = "ZERO"
zFactor = 1
useEarthCurvature = "CURVED_EARTH"
refractivityCoefficient = 0.13
surfaceOffset = 500
observerElevation = 2000
observerOffset = 500
innerRadius = 20000
outerRadius = 100000
horizStartAngle = 45
horizEndAngle = 215
vertUpperAngle = 5
vertLowerAngle = -5

# Check out the ArcGIS Spatial Analyst extension license
arcpy.checkOutExtension("Spatial")

# Execute Visibility
outvis = arcpy.sa.Visibility(inRaster, inObserverFeatures, algOutput, analysisType,
                            nonVisibleValue, zFactor, useEarthCurvature,
                            refractivityCoefficient, surfaceOffset, observerElevation,
                            observerOffset, innerRadius, outerRadius, horizStartAngle,
                            horizEndAngle, vertUpperAngle, vertLowerAngle)

# Save the output
outvis.save("c:/sapyexamples/output/visiout1")

環境

関連トピック

ライセンス情報

ArcGIS for Desktop Basic: 次のものが必要 Spatial Analyst または 3D Analyst
ArcGIS for Desktop Standard: 次のものが必要 Spatial Analyst または 3D Analyst
ArcGIS for Desktop Advanced: 次のものが必要 Spatial Analyst または 3D Analyst
7/28/2014