可視領域の作成 (Create Viewshed) (ラスター解析)

サマリー

観測者が地上でオブジェクトを見ることができるエリアを作成します。 入力観測点によって、観測者 (地上にいる人または火の見櫓の監視人など) または観測されるオブジェクト (風力タービン、給水塔、乗り物、またはその他の人など) を表すことができます。

観測者と観測対象オブジェクトはいずれも、地面からの高さに設定することができます。これらの高さは、可視領域を決定する際に使用されます。 たとえば、風力タービンの高さが 300 フィート、地上に立っている人の身長が 6 フィートの場合に計算される可視領域は、風力タービンの高さが 200 フィート、地上に立っている人の身長が 5 フィートの場合に計算される可視領域よりも大きくなるのが一般的です。

結果レイヤーには、入力観測点から入力サーフェス ラスターの各セル位置を見通せた回数が記録されます。 表示されないセルには NoData 値が割り当てられます。

可視領域の作成ツールの図

使用法

  • このラスター解析ポータル ツールは、ラスター解析 用に構成された ArcGIS Image Server を備えた ArcGIS Enterprise にサインインすると使用できます。 このツールを実行すると、ArcGIS Pro がクライアントとしてサービスを提供し、ArcGIS Enterprise とフェデレートされているサーバーで処理が発生します。 ポータル ツールはポータルから入力としてレイヤーを受け取り、ポータルに出力を作成します。

    入力ラスター レイヤーは、ポータルから入力されたレイヤー、イメージ サービスへの URI または URL、[Image Server レイヤーの作成 (Make Image Server Layer)] ツールからの出力に対応しています。 入力フィーチャ レイヤーには、ポータルからのレイヤー、フィーチャ サービスへの URI または URL を使用できます。 このツールは、ローカルのラスター データまたはレイヤーをサポートしません。 このポータル ツールへの入力としてはローカルのフィーチャ データとレイヤーを使用できますが、ポータルのレイヤーを入力することをお勧めします。

  • 各セルの中心の可視領域は、目標点と各観測点の間の見通し線テストにより判定されます。

パラメーター

ラベル説明データ タイプ
入力標高サーフェス

可視領域の計算に使用する標高サーフェス。

入力サーフェスの鉛直単位が水平単位と異なる場合 (標高値がフィート単位であり、座標系がメートル単位である場合など)、そのサーフェスの鉛直座標系を定義しておく必要があります。 これは、このツールでは可視領域解析の Z 係数の計算に鉛直 (Z) 単位と水平 (X、Y) 単位が使用されるためです。 鉛直座標系が定義されていないと、Z 単位の情報を取得できないため、Z 単位が X、Y 単位と同じであると判断します。 その結果、内部 Z 係数 1.0 が解析に使用されるので、予期しない結果が生成される可能性があります。

標高サーフェスは、整数または浮動少数点にすることができます。

Raster Layer; Image Service; String
観測点フィーチャ

可視領域を計算する際の観測点の位置を表すポイント フィーチャ。

Feature Set
出力名

出力ラスター サービスの名前。

デフォルトの名前は、ツール名と入力レイヤー名に基づいて設定されます。 レイヤー名がすでに存在する場合は、別の名前を指定するよう求められます。

String
最適化の対象
(オプション)

可視領域の計算に使用する最適化方法を指定します。

  • 速度処理速度が最適化され、結果の精度がやや落ちる一方で、パフォーマンスが向上します。 これがデフォルトです。
  • 精度処理時間が長くなる代わりに、結果の精度が最適化されます。
String
最大表示距離タイプ
(オプション)

最大表示距離を決定する方法を指定します。

タイプを [距離] から [フィールド] に変更すると、[最大表示距離] パラメーターが [最大表示距離フィールド] に変わります。

  • 距離最大距離は、指定した値によって決定されます。 これがデフォルトの方法です。
  • フィールド観測点の位置ごとの最大距離は、指定したフィールド内の値によって決定されます。
String
最大表示距離
(オプション)

表示可能エリアの計算を停止する位置に使用される距離。 この距離を超えると、観測点およびその他のオブジェクトが互いに見えるかどうかはわかりません。

単位の値は、[キロメートル][メートル][法定マイル][国際ヤード][国際フィート][米国測量マイル][米国測量ヤード][米国測量フィート] です。

デフォルト値は 9 法定マイルです。

Linear Unit
最大表示距離フィールド
(オプション)

観測点ごとの最大表示距離を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの X、Y 単位と同じ単位にする必要があります。

最大表示距離は、表示可能エリアの計算を停止する距離を指定するオプションです。 この距離を超えると、観測点およびその他のオブジェクトが互いに見えるかどうかはわかりません。

Field
最小表示距離タイプ
(オプション)

最小表示距離を決定する方法を指定します。

タイプを [距離] から [フィールド] に変更すると、[最小表示距離] パラメーターが [最小表示距離フィールド] に変わります。

  • 距離最小距離は、指定した値によって決定されます。 これがデフォルトの方法です。
  • フィールド観測点の位置ごとの最小距離は、指定したフィールド内の値によって決定されます。
String
最小表示距離
(オプション)

表示可能エリアの計算を開始する位置に使用される距離。 この距離よりも近くにあるサーフェス上のセルは出力に表示されませんが、最小表示距離と最大表示距離の間にあるセルの可視領域をブロックできます。

単位の値は、[キロメートル][メートル][法定マイル][国際ヤード][国際フィート][米国測量マイル][米国測量ヤード][米国測量フィート] です。

Linear Unit
最小表示距離フィールド
(オプション)

観測点ごとの最小表示距離を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの X、Y 単位と同じ単位にする必要があります。

最小表示距離は、表示可能エリアの計算を開始する距離を定義します。 この距離よりも近くにあるサーフェス上のセルは出力に表示されませんが、最小表示距離と最大表示距離の間にあるセルの可視領域をブロックできます。

Field
3D 可視距離
(オプション)

最小可視距離パラメーターと最大可視距離パラメーターの値を 3D と 2D のどちらで計測するかを指定します。 2D 距離は、海面と同じ高さの投影位置を使用して観測点と対象の間で計測される単純な直線距離です。 3D 距離は、相対的な高さが考慮されるため、より現実的な値になります。

  • オン - 表示距離は、3D 距離で測定されます。
  • オフ - 表示距離は、2D 距離で測定されます。 これがデフォルトです。
Boolean
観測点の標高タイプ
(オプション)

観測点の標高を決定する方法を指定します。

タイプを [標高] から [フィールド] に変更すると、[観測点の標高] パラメーターが [観測点の標高フィールド] に変わります。

  • 標高観測点の標高は、指定した値によって決定されます。 これがデフォルトの方法です。
  • フィールド観測点の位置ごとの標高は、指定したフィールド内の値によって決定されます。
String
観測点の標高
(オプション)

観測点の位置に使用される標高。

このパラメーターを指定しなかった場合、観測点の標高は共一次内挿法を使用してサーフェス ラスターから取得されます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ内のフィールドに設定してください。

単位の値は、[キロメートル][メートル][法定マイル][国際ヤード][国際フィート][米国測量マイル][米国測量ヤード][米国測量フィート] です。

Linear Unit
観測点の標高フィールド
(オプション)

観測点の標高を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの Z 単位と同じ単位にする必要があります。

このパラメーターを指定しなかった場合、観測点の標高は共一次内挿法を使用してサーフェス ラスターから取得されます。

Field
観測点の高度タイプ
(オプション)

観測点の高度を決定する方法を指定します。

タイプを [高度] から [フィールド] に変更すると、[観測点の高度] パラメーターが [観測点の高度フィールド] に変わります。

  • 高度観測点の高度は、指定した値によって決定されます。 これがデフォルトの方法です。
  • フィールド観測点の位置ごとの高度は、指定したフィールド内の値によって決定されます。
String
観測点の高度
(オプション)

観測点の位置に使用される高度。

単位の値は、[キロメートル][メートル][法定マイル][国際ヤード][国際フィート][米国測量マイル][米国測量ヤード][米国測量フィート] です。

デフォルト値は 6 国際フィートです。

Linear Unit
観測点の高度フィールド
(オプション)

観測点の高度を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの Z 単位と同じ単位にする必要があります。

Field
目標点の高度タイプ
(オプション)

目標点の高度を決定する方法を指定します。

タイプを [高度] から [フィールド] に変更すると、[目標点の高度] パラメーターが [目標点の高度フィールド] に変わります。

  • 高度目標点の高度は、指定した値によって決定されます。 これがデフォルトの方法です。
  • フィールド目標点ごとの高度は、指定したフィールド内の値によって決定されます。
String
目標点の高度
(オプション)

可視性の評価に使用される地上の構造物または人の高さ。 生成される可視領域は、観測点からこれらの他のオブジェクトを見ることができるエリアです。 その逆も同じことが当てはまります。その他のオブジェクトから観測点を見ることができます。

単位の値は、[キロメートル][メートル][法定マイル][国際ヤード][国際フィート][米国測量マイル][米国測量ヤード][米国測量フィート] です。

Linear Unit
目標点の高度フィールド
(オプション)

目標点の高度を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの Z 単位と同じ単位にする必要があります。

Field
地上レベル出力名
(オプション)

出力 AGL (地上レベル) ラスターの名前。 AGL の出力は、見えないセルが 1 つ以上の観測点から見えるようにするためにセルに追加する必要がある最小の高さで各セルの値が構成されるラスターとなります。 この出力ラスターでは、すでに見通せるセルには値 0 が割り当てられます。

String
垂直誤差
(オプション)

サーフェス標高値の不確実性 (二乗平均平方根 (RMS) 誤差) の大きさ。 これは、入力標高値の予測誤差を表す浮動小数点値です。

このパラメーターに 0 よりも大きい値を指定すると、出力可視領域ラスターは浮動小数点になります。

Linear Unit
屈折係数
(オプション)

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

デフォルト値は 0.13 です。

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

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String
方位角終点
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String
仰角
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String
俯角
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String

派生した出力

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

出力の可視領域ラスター。

Raster Layer
出力 AGL (地上レベル) ラスター

出力 AGL (地上レベル) ラスター。

Raster Layer

arcpy.ra.CreateViewshed(inputElevationSurface, inputObserverFeatures, outputName, {optimizeFor}, {maximumViewingDistanceType}, {maximumViewingDistance}, {maximumViewingDistanceField}, {minimumViewingDistanceType}, {minimumViewingDistance}, {minimumViewingDistanceField}, {viewingDistanceIs3D}, {observersElevationType}, {observersElevation}, {observersElevationField}, {observersHeightType}, {observersHeight}, {observersHeightField}, {targetHeightType}, {targetHeight}, {targetHeightField}, {aboveGroundLevelOutputName}, {verticalError}, {refractivityCoefficient}, {horizontalStartAngle}, {horizontalEndAngle}, {verticalUpperAngle}, {verticalLowerAngle})
名前説明データ タイプ
inputElevationSurface

可視領域の計算に使用する標高サーフェス。

入力サーフェスの鉛直単位が水平単位と異なる場合 (標高値がフィート単位であり、座標系がメートル単位である場合など)、そのサーフェスの鉛直座標系を定義しておく必要があります。 これは、このツールでは可視領域解析の Z 係数の計算に鉛直 (Z) 単位と水平 (X、Y) 単位が使用されるためです。 鉛直座標系が定義されていないと、Z 単位の情報を取得できないため、Z 単位が X、Y 単位と同じであると判断します。 その結果、内部 Z 係数 1.0 が解析に使用されるので、予期しない結果が生成される可能性があります。

標高サーフェスは、整数または浮動少数点にすることができます。

Raster Layer; Image Service; String
inputObserverFeatures

可視領域を計算する際の観測点の位置を表すポイント フィーチャ。

Feature Set
outputName

出力ラスター サービスの名前。

デフォルトの名前は、ツール名と入力レイヤー名に基づいて設定されます。 レイヤー名がすでに存在する場合は、別の名前を指定するよう求められます。

String
optimizeFor
(オプション)

可視領域の計算に使用する最適化方法を指定します。

  • SPEED処理速度が最適化され、結果の精度がやや落ちる一方で、パフォーマンスが向上します。 これがデフォルトです。
  • ACCURACY処理時間が長くなる代わりに、結果の精度が最適化されます。
String
maximumViewingDistanceType
(オプション)

最大表示距離を決定する方法を指定します。

  • DISTANCE最大距離は、指定した値によって決定されます。 これがデフォルトの方法です。
  • FIELD観測点の位置ごとの最大距離は、指定したフィールド内の値によって決定されます。
String
maximumViewingDistance
(オプション)

表示可能エリアの計算を停止する位置に使用される距離。 この距離を超えると、観測点およびその他のオブジェクトが互いに見えるかどうかはわかりません。

単位の値は、KilometersMetersMilesIntYardsIntFeetIntMilesYardsFeet です。

デフォルト値は 9 法定マイルです。

Linear Unit
maximumViewingDistanceField
(オプション)

観測点ごとの最大表示距離を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの X、Y 単位と同じ単位にする必要があります。

最大表示距離は、表示可能エリアの計算を停止する距離を指定するオプションです。 この距離を超えると、観測点およびその他のオブジェクトが互いに見えるかどうかはわかりません。

Field
minimumViewingDistanceType
(オプション)

最小表示距離を決定する方法を指定します。

  • DISTANCE最小距離は、指定した値によって決定されます。 これがデフォルトの方法です。
  • FIELD観測点の位置ごとの最小距離は、指定したフィールド内の値によって決定されます。
String
minimumViewingDistance
(オプション)

表示可能エリアの計算を開始する位置に使用される距離。 この距離よりも近くにあるサーフェス上のセルは出力に表示されませんが、最小表示距離と最大表示距離の間にあるセルの可視領域をブロックできます。

単位の値は、KilometersMetersMilesIntYardsIntFeetIntMilesYardsFeet です。

Linear Unit
minimumViewingDistanceField
(オプション)

観測点ごとの最小表示距離を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの X、Y 単位と同じ単位にする必要があります。

最小表示距離は、表示可能エリアの計算を開始する距離を定義します。 この距離よりも近くにあるサーフェス上のセルは出力に表示されませんが、最小表示距離と最大表示距離の間にあるセルの可視領域をブロックできます。

Field
viewingDistanceIs3D
(オプション)

最小可視距離パラメーターと最大可視距離パラメーターの値を 3D と 2D のどちらで計測するかを指定します。 2D 距離は、海面と同じ高さの投影位置を使用して観測点と対象の間で計測される単純な直線距離です。 3D 距離は、相対的な高さが考慮されるため、より現実的な値になります。

  • 2D表示距離は、2D 距離で測定されます。 これがデフォルトです。
  • 3D表示距離は、3D 距離で測定されます。
Boolean
observersElevationType
(オプション)

観測点の標高を決定する方法を指定します。

  • ELEVATION観測点の標高は、指定した値によって決定されます。 これがデフォルトの方法です。
  • FIELD観測点の位置ごとの標高は、指定したフィールド内の値によって決定されます。
String
observersElevation
(オプション)

観測点の位置に使用される標高。

このパラメーターを指定しなかった場合、観測点の標高は共一次内挿法を使用してサーフェス ラスターから取得されます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ内のフィールドに設定してください。

単位の値は、KilometersMetersMilesIntYardsIntFeetIntMilesYardsFeet です。

Linear Unit
observersElevationField
(オプション)

観測点の標高を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの Z 単位と同じ単位にする必要があります。

このパラメーターを指定しなかった場合、観測点の標高は共一次内挿法を使用してサーフェス ラスターから取得されます。

Field
observersHeightType
(オプション)

観測点の高度を決定する方法を指定します。

  • HEIGHT観測点の高度は、指定した値によって決定されます。 これがデフォルトの方法です。
  • FIELD観測点の位置ごとの高度は、指定したフィールド内の値によって決定されます。
String
observersHeight
(オプション)

観測点の位置に使用される高度。

単位の値は、KilometersMetersMilesIntYardsIntFeetIntMilesYardsFeet です。

デフォルト値は 6 国際フィートです。

Linear Unit
observersHeightField
(オプション)

観測点の高度を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの Z 単位と同じ単位にする必要があります。

Field
targetHeightType
(オプション)

目標点の高度を決定する方法を指定します。

  • HEIGHT目標点の高度は、指定した値によって決定されます。 これがデフォルトの方法です。
  • FIELD目標点ごとの高度は、指定したフィールド内の値によって決定されます。
String
targetHeight
(オプション)

可視性の評価に使用される地上の構造物または人の高さ。 生成される可視領域は、観測点からこれらの他のオブジェクトを見ることができるエリアです。 その逆も同じことが当てはまります。その他のオブジェクトから観測点を見ることができます。

単位の値は、KilometersMetersMilesIntYardsIntFeetIntMilesYardsFeet です。

Linear Unit
targetHeightField
(オプション)

目標点の高度を含むフィールド。 そのフィールドに含まれる値を入力標高サーフェスの Z 単位と同じ単位にする必要があります。

Field
aboveGroundLevelOutputName
(オプション)

出力 AGL (地上レベル) ラスターの名前。 AGL の出力は、見えないセルが 1 つ以上の観測点から見えるようにするためにセルに追加する必要がある最小の高さで各セルの値が構成されるラスターとなります。 この出力ラスターでは、すでに見通せるセルには値 0 が割り当てられます。

String
verticalError
(オプション)

サーフェス標高値の不確実性 (二乗平均平方根 (RMS) 誤差) の大きさ。 これは、入力標高値の予測誤差を表す浮動小数点値です。

このパラメーターに 0 よりも大きい値を指定すると、出力可視領域ラスターは浮動小数点になります。

Linear Unit
refractivityCoefficient
(オプション)

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

デフォルト値は 0.13 です。

Double
horizontalStartAngle
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String
horizontalEndAngle
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String
verticalUpperAngle
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String
verticalLowerAngle
(オプション)

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

入力観測点フィーチャのフィールドを選択するか、数値を指定できます。

String

派生した出力

名前説明データ タイプ
outputRaster

出力の可視領域ラスター。

Raster Layer
outputAboveGroundLevelRaster

出力 AGL (地上レベル) ラスター。

Raster Layer

コードのサンプル

CreateViewshed の例 1 (Python ウィンドウ)

この例では、指定されたサーフェスと観測点を使用して、可視領域イメージ サービスを作成します。

import arcpy

arcpy.ra.CreateViewshed(
    "https://myserver/rest/services/elevation/ImageServer", 
    "https://myserver/rest/services/destination/FeatureServer/0", 
    "outview1", "SPEED", "DISTANCE", "9 Miles", "#", "DISTANCE",
    "0 Meters", "#", "2D", "ELEVATION", "#", "#", "HEIGHT",
    "6 Feet", "#", "HEIGHT", "3 Feet", "#", "outagl1")
CreateViewshed の例 2 (スタンドアロン スクリプト)

この例では、指定されたサーフェスと観測点を使用して、可視領域イメージ サービスを作成します。

#---------------------------------------------------------------------------
# Name: CreateViewshed_example02.py
# Description: Creates a viewshed image service raster from given surface
#   and observer points.
#
# Requirements: ArcGIS Image Server

# Import system modules
import arcpy

# Set local variables
inSurface = "https://myserver/rest/services/elevation/ImageServer"
inObservers = "https://myserver/rest/services/destination/FeatureServer/0"
outputViewshed = "outview1"
optimizeFor = "Speed"
maxDistType = "Distance"
maxDist = "9 Miles"
maxDistField = "#"
minDistType = "Distance"
minDist = "0 Miles"
minDistField = "#"
distanceIs3D = "2D"
obsElevationType = "Elevation"
obsElevation = "#"
obsElevationField = "#"
obsOffsetType = "Height"
obsOffset = "6 Feet"
obsOffsetField = "#"
surfOffsetType = "Height"
surfOffset = "3 Feet"
surfOffsetField = "#"
outputAgl = "outagl1"

# Execute Create Viewshed raster analysis tool
arcpy.ra.CreateViewshed(
    inSurface, inObservers, outputViewshed, optimizeFor,
    maxDistType, maxDist, maxDistField, minDistType, minDist,
    minDistField, distanceIs3D, obsElevationType, obsElevation,
    obsElevationField, obsOffsetType, obsOffset, obsOffsetField,
    surfOffsetType, surfOffset, surfOffsetField, outputAgl)

ライセンス情報

  • Basic: 次のものが必要 ArcGIS Image Server
  • Standard: 次のものが必要 ArcGIS Image Server
  • Advanced: 次のものが必要 ArcGIS Image Server

関連トピック