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

サマリー

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

[測地線可視領域 (Geodesic Viewshed)] ツールにより、機能とパフォーマンスが向上します。

頻度オプション設定済みの高度な可視領域の出力
陰影起伏標高サーフェスに表示された、頻度オプション設定済みの高度な可視領域の出力
観測点オプション設定済みの高度な可視領域の出力
陰影起伏標高サーフェスに表示された、観測点オプション設定済みの高度な可視領域の出力

使用法

  • このツールは、頻度および観測点の 2 つの可視領域解析タイプをサポートしています。これらは、[解析タイプ] ツール パラメーターで制御されます。 1 番目のタイプの場合、ツールは、一連の観測点から見通せるラスター サーフェスの位置を決定します。 2 番目のタイプの場合、ツールは、各ラスター サーフェスの位置から見通せる観測点を特定します。

  • 入力ラスターにサンプリング エラーによって発生した望ましくないノイズが含まれている場合、このツールを実行する前に [フォーカル統計 (Focal Statistics)] ツールの平均オプションのようなローパス フィルターを使用することでラスターを滑らかにすることも考えられます。

  • 各セルの中心の可視または不可視は、セルの中心における高度をローカル水平線に対する高度と比較して決定されます。 ローカル水平線は、観測点と各セルの中心との間にある地形を考慮して計算されます。 その点がローカル水平線よりも上にある場合は、可視と見なされます。

  • ツールでは、オプションで出力 AGL (地上レベル) ラスターを提供しています。 AGL 出力ラスターの各セルには、1 つ以上の観測点からセルを見通すために、セルに追加する必要がある高さの最小値が記録されます。

    入力観測フィーチャに複数の観測点が含まれているとき、出力値はすべての観測点における AGL 値の最小値になります。

  • より詳細に可視領域解析プロセスを制御したい場合は、[観測点] パラメーターを使用します。 たとえば、[観測点オフセット] パラメーターを使用すると、可視領域解析を行うときに観測点の標高に対するオフセットを指定することができます。

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

パラメーター

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

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

Raster Layer
入力観測ポイント、またはライン フィーチャ

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

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

Feature Layer
出力 AGL (地上レベル) ラスター
(オプション)

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

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

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

Raster Dataset
解析タイプ
(オプション)

可視領域解析タイプ。

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

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

  • オフ - 見通せないセルには 0 が割り当てられます。 これがデフォルトです。
  • オン - 見通せないセルには NoData が割り当てられます。
Boolean
Z 係数
(オプション)

サーフェス Z 単位あたりの地表 X,Y 単位の数。

Z 単位の測定基準が入力サーフェスの X、Y 単位と異なる場合、Z 係数を使用して Z 計測単位を調整します。 最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。

XY 単位と Z 単位の測定基準が同じである場合、Z 係数は 1 になります。 これがデフォルトです。

X,Y 単位と Z 単位の測定基準が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。 たとえば、Z 単位がフィートであり、X,Y 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します (1 フィート = 0.3048 メートル)。

Double
地球の曲率を使用
(オプション)

地球の曲率の補正を適用するかどうかを指定します。

  • オフ - 曲率補正は適用されません。 これがデフォルトです。
  • オン - 曲率補正が適用されます。
Boolean
屈折係数
(オプション)

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

デフォルト値は 0.13 です。

Double
サーフェス オフセット
(オプション)

可視領域解析の対象となる各セルの Z 値に加算する垂直距離。 値は整数または浮動小数点で指定する必要があります。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
観測点の標高
(オプション)

観測点または頂点のサーフェス標高。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
観測点オフセット
(オプション)

観測点の標高に追加する垂直距離。 値は整数または浮動小数点で指定する必要があります。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
非観測距離
(オプション)

可視領域を決定する開始距離。 この距離よりも近くにあるセルは出力に表示されませんが、非観測距離と観測距離の間にあるセルの可視領域をブロックする可能性があります。

値は、正および負の整数または浮動小数点で指定できます。 正の値の場合、値は 3 次元の見通し距離として解釈されます。 負の値の場合、値は 2 次元の平面距離として解釈されます。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
観測距離
(オプション)

可視領域を決定する最大距離。 この距離を超えるセルは、解析から除外されます。

値は、正および負の整数または浮動小数点で指定できます。 正の値の場合、値は 3 次元の見通し距離として解釈されます。 負の値の場合、値は 2 次元の平面距離として解釈されます。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
方位角始点
(オプション)

水平方向のスキャン範囲の開始角度。 0 を北の方向として、度単位の 0 ~ 360 の値を指定します。 整数または浮動小数の値となります。 デフォルト値は 0 です。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
方位角終点
(オプション)

水平方向のスキャン範囲の終了角度。 0 を北の方向として、度単位の 0 ~ 360 の値を指定します。 整数または浮動小数の値となります。 デフォルト値は 360 です。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
仰角
(オプション)

水平面に対してスキャンするときの仰角の上限。 度単位の -90 ~ 90 度 (90 度を含む) の値を指定します。 整数または浮動小数の値となります。 デフォルト値は、90 (垂直上向き方向) です。

このパラメーターの値は、[俯角] パラメーターの値よりも大きくなければなりません。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
俯角
(オプション)

水平面に対してスキャンするときの仰角の下限。 度単位の -90 ~ 90 度 (90 度を含まない) の値を指定します。 整数または浮動小数の値となります。 デフォルト値は、-90 (垂直下向き方向) です。

このパラメーターの値は、[仰角] パラメーターの値よりも小さくなければなりません。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field

戻り値

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

出力ラスター。

出力には、入力された観測位置から入力サーフェス ラスターの各セル位置を見通せる回数が記録されるか (頻度解析タイプ)、ラスター サーフェス位置の各セルから見通せる観測点の位置が記録されます (観測点タイプ)。

Raster

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 Dataset
analysis_type
(オプション)

可視領域解析タイプ。

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

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

  • ZERO見通せないセルには 0 が割り当てられます。 これがデフォルトです。
  • NODATA見通せないセルには NoData が割り当てられます。
Boolean
z_factor
(オプション)

サーフェス Z 単位あたりの地表 X,Y 単位の数。

Z 単位の測定基準が入力サーフェスの X、Y 単位と異なる場合、Z 係数を使用して Z 計測単位を調整します。 最終的な出力サーフェスを計算する際、入力サーフェスの Z 値に Z 係数が乗算されます。

XY 単位と Z 単位の測定基準が同じである場合、Z 係数は 1 になります。 これがデフォルトです。

X,Y 単位と Z 単位の測定基準が異なる場合は、Z 係数に適切な値を設定する必要があります。Z 係数が適切でないと、正しい結果が得られません。 たとえば、Z 単位がフィートであり、X,Y 単位がメートルの場合、Z 係数 0.3048 を使用して Z 単位をフィートからメートルへ変換します (1 フィート = 0.3048 メートル)。

Double
curvature_correction
(オプション)

地球の曲率の補正を適用するかどうかを指定します。

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

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

デフォルト値は 0.13 です。

Double
surface_offset
(オプション)

可視領域解析の対象となる各セルの Z 値に加算する垂直距離。 値は整数または浮動小数点で指定する必要があります。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
observer_elevation
(オプション)

観測点または頂点のサーフェス標高。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
observer_offset
(オプション)

観測点の標高に追加する垂直距離。 値は整数または浮動小数点で指定する必要があります。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
inner_radius
(オプション)

可視領域を決定する開始距離。 この距離よりも近くにあるセルは出力に表示されませんが、非観測距離と観測距離の間にあるセルの可視領域をブロックする可能性があります。

値は、正および負の整数または浮動小数点で指定できます。 正の値の場合、値は 3 次元の見通し距離として解釈されます。 負の値の場合、値は 2 次元の平面距離として解釈されます。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
outer_radius
(オプション)

可視領域を決定する最大距離。 この距離を超えるセルは、解析から除外されます。

値は、正および負の整数または浮動小数点で指定できます。 正の値の場合、値は 3 次元の見通し距離として解釈されます。 負の値の場合、値は 2 次元の平面距離として解釈されます。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
horizontal_start_angle
(オプション)

水平方向のスキャン範囲の開始角度。 0 を北の方向として、度単位の 0 ~ 360 の値を指定します。 整数または浮動小数の値となります。 デフォルト値は 0 です。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
horizontal_end_angle
(オプション)

水平方向のスキャン範囲の終了角度。 0 を北の方向として、度単位の 0 ~ 360 の値を指定します。 整数または浮動小数の値となります。 デフォルト値は 360 です。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
vertical_upper_angle
(オプション)

水平面に対してスキャンするときの仰角の上限。 度単位の -90 ~ 90 度 (90 度を含む) の値を指定します。 整数または浮動小数の値となります。 デフォルト値は、90 (垂直上向き方向) です。

このパラメーターの値は、[俯角] パラメーターの値よりも大きくなければなりません。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field
vertical_lower_angle
(オプション)

水平面に対してスキャンするときの仰角の下限。 度単位の -90 ~ 90 度 (90 度を含まない) の値を指定します。 整数または浮動小数の値となります。 デフォルト値は、-90 (垂直下向き方向) です。

このパラメーターの値は、[仰角] パラメーターの値よりも小さくなければなりません。

入力観測点データセットのフィールドを選択するか、数値を指定できます。

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

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

Double; Field

戻り値

名前説明データ タイプ
out_raster

出力ラスター。

出力には、入力された観測位置から入力サーフェス ラスターの各セル位置を見通せる回数が記録されるか (頻度解析タイプ)、ラスター サーフェス位置の各セルから見通せる観測点の位置が記録されます (観測点タイプ)。

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

# 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")

関連トピック