ラベル | 説明 | データ タイプ |
入力ラスター | 入力サーフェス ラスター。 整数または浮動小数点のいずれのラスターでもかまいません。 可視領域計算中に、入力ラスターは 3 次元地心座標系に変換されます。 入力ラスターの NoData セルは可視領域をブロックしません。 | Raster Layer |
入力観測ポイント、またはライン フィーチャ | 観測位置を指定する入力フィーチャクラス。 入力には、ポイント フィーチャ、マルチポイント フィーチャ、またはポリライン フィーチャを使用できます。 可視領域計算中に、入力フィーチャクラスは 3 次元地心座標系に変換されます。 サーフェス ラスターの範囲外の観測点または NoData セル上にある観測点は計算で無視されます。 | Feature Layer |
出力ラスター | 出力ラスター。 [頻度] 解析タイプの場合、垂直誤差パラメーターが 0 であるか、または指定しなかった場合、出力ラスターには、入力観測点から、入力サーフェス ラスターの各セル位置を見通せる回数が記録されます。 垂直誤差パラメーターが 0 よりも大きい場合、出力ラスターの各セルには、観測点からセルを見通せる確率の合計が記録されます。 [観測点] 解析タイプの場合、出力ラスターには、可視領域の一意の地域 ID が記録されます。これらの一意の地域 ID は観測点-地域リレーションシップ テーブルを介して観測点フィーチャに関連付けることができます。 | Raster Dataset |
出力 AGL (地上レベル) ラスター (オプション) | 出力 AGL (地上レベル) ラスター。 AGL の出力は、見えないセルが 1 つ以上の観測点から見えるようにするためにセルに追加する必要がある最小の高さで各セルの値が構成されるラスターとなります。 この出力ラスターでは、すでに見通せるセルには値 0 が割り当てられます。 垂直誤差パラメーターが 0 の場合、出力 AGL ラスターは 1 バンド ラスターになります。 垂直誤差パラメーターが 0 より大きい場合、入力ラスターからのランダムな効果を考慮に入れるために、出力 AGL ラスターは 3 バンド ラスターとして作成されます。 1 番目のバンドは平均 AGL 値、2 番目のバンドは最小 AGL 値、3 番目のバンドは最大 AGL 値を表します。 | Raster Dataset |
解析タイプ (オプション) | 実行する可視領域解析のタイプを指定します。観測点から各セルがどのように見えるかを確認するか、サーフェスの位置ごとに見ることができる観測点を特定します。
| String |
垂直誤差 (オプション) | サーフェス標高値の不確実性 (二乗平均平方根誤差 (RMSE)) の大きさ。 これは、入力標高値の予測誤差を表す浮動小数点値です。 このパラメーターに 0 よりも大きい値を指定すると、出力可視領域ラスターは浮動小数点になります。 この場合、出力可視領域ラスターの各セルの値は観測点からセルを見通せる確率の合計を表しています。 解析タイプが [観測点] の場合、または解析方法が [周長の見通し線] の場合、このパラメーターは無効です。 | Linear Unit |
出力観測点-地域リレーションシップ テーブル (オプション) | 各観測点で見通せる地域を特定するための出力テーブル。 このテーブルは、所定の観測点から見通せる地域を特定するために、入力観測点フィーチャクラスおよび出力可視領域ラスターに関連付けることができます。 この出力は、解析タイプが [観測点] の場合にのみ作成されます。 | Table |
屈折係数 (オプション) | 大気中での可視光線の屈折係数。 デフォルト値は 0.13 です。 | Double |
サーフェス オフセット (オプション) | 可視領域解析の対象となる各セルの Z 値に加算する垂直距離。 値は整数または浮動小数点で指定する必要があります。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 たとえば、観測対象のオブジェクトが車両の場合、車両の高さをここで指定する必要があります。 このパラメーターに値を設定すると、その値はすべての観測点によって使用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は 0 です。 | Linear Unit; Field |
観測点の標高 (オプション) | 観測点または頂点のサーフェス標高。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターを指定しなかった場合、観測点の標高は共一次内挿法を使用してサーフェス ラスターから取得されます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Linear Unit; Field |
観測点オフセット (オプション) | 観測点の標高に追加する垂直距離。 値は整数または浮動小数点で指定する必要があります。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 たとえば、塔からの観測点の場合、塔の高さをここで指定する必要があります。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は 1 メートルです。 | Linear Unit; Field |
非観測距離 (オプション) | 可視領域を決定する開始距離。 この距離よりも近くにあるセルは出力に表示されませんが、内径と外径の間にあるセルの可視領域をブロックします。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は 0 です。 | Linear Unit; Field |
非観測距離は 3D 距離 (オプション) | 非観測距離パラメーターの距離のタイプを指定します。
| Boolean |
外半径 (オプション) | 可視領域を決定する最大距離。 この距離を超えるセルは、解析から除外されます。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Linear Unit; Field |
観測距離は 3D 距離 (オプション) | 観測距離パラメーターの距離のタイプを指定します。
| Boolean |
方位角始点 (オプション) | 水平方向のスキャン範囲の開始角度。 0 を北の方向として、整数または浮動小数点数で、度単位の 0 ~ 360 の値を指定します。 デフォルト値は 0 です。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Double; Field |
方位角終点 (オプション) | 水平方向のスキャン範囲の終了角度。 0 を北の方向として、整数または浮動小数点数で、度単位の 0 ~ 360 の値を指定します。 デフォルト値は 360 です。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Double; Field |
仰角 (オプション) | 水平面に対してスキャンするときの仰角の上限。 値は、度単位で指定し、整数または浮動小数点を使用できます。 許可される範囲は -90 度~ 90 度 (90 度を含む) です。 このパラメーターの値は [俯角] パラメーターの値よりも大きくなければなりません。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は、90 (真上) です。 | Double; Field |
俯角 (オプション) | 水平面に対してスキャンするときの仰角の下限。 値は、度単位で指定し、整数または浮動小数点を使用できます。 許可される範囲は -90 度~ 90 度 (90 度を含まない) です。 このパラメーターの値は [仰角] パラメーターの値よりも小さくなければなりません。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は、-90 (真下) です。 | Double; Field |
解析方法 (オプション) | 可視性を計算する方法を指定します。 このオプションを使用すると、精度が多少下がる代わりに、パフォーマンスを向上することができます。
| String |
解析のターゲット デバイス (オプション) | 計算の実行に使用するデバイスを指定します。
| String |
Spatial Analyst のライセンスで利用可能。
3D Analyst のライセンスで利用可能。
図
使用法
このツールでは、頻度および観測点という 2 種類の可視領域解析を実行することができます。これらの可視領域解析は、[解析タイプ] パラメーターを使用して設定できます。
出力の精度を確保するには、「鉛直座標系」を入力ラスターに割り当てます (まだ割り当てられていない場合)。
このツールでは、Z 係数パラメーターを指定する必要がありません。 入力ラスターの空間参照の鉛直単位 (Z) とマップ単位 (XY) を使用して Z 係数の計算が内部で実行されます。
ノイズを含む入力ラスターは、高解像度のデータで最もよく見られ、予想外の結果を生むことがあります。 このツールを実行する前に、前処理手順でデータを修正しておくことができます。 ArcGIS Spatial Analyst エクステンションが使用可能な場合は、可視領域の操作を実行する前に、[フォーカル統計 (Focal Statistics)] ツールまたは [フィルター (Filter)] ツールを使用して、エラーの影響が及ばないようにしておくことができます。
入力ラスターをリサンプリングする必要がある場合は、共一次内挿法を使用します。 入力ラスターをリサンプリングする例としては、出力座標系、範囲、またはセル サイズが入力と異なる場合があります。
パフォーマンスを向上させるために、[観測距離] パラメーターに、実行する解析の最大表示距離を表す値を明示的に設定することができます。
[解析方法] パラメーターでは、デフォルトで [すべての見通し線] オプションが使用されるため、最も正確な出力が生成されます。 処理時間に関してこのツールのパフォーマンスを向上させるには、[周長の見通し線] オプションを使用します。
[サーフェス オフセット]、[観測点の標高]、[観測点オフセット] など、高さに関する観測点パラメーターを距離単位またはフィールドとして指定できます。 計算中に、距離単位の値が入力ラスターの Z 単位に内部で変換されます。 ただし、距離単位が不明な場合または数値フィールドが指定されている場合、この値は入力ラスターの Z 単位であると見なされます。
[非観測距離] や [観測距離] など、表示距離に関する観測点パラメーターを距離単位またはフィールドとして指定できます。 計算中に、距離単位の値が入力ラスターの XY 単位に内部で変換されます。 ただし、距離単位が不明な場合または数値フィールドが指定されている場合、この値は入力ラスターの XY 単位であると見なされます。
[サーフェス オフセット] や [観測点オフセット] などの観測点パラメーターに指定されたフィールドには、数値と単位で構成された文字列を入力することができます。 たとえば、[観測点オフセット] に obs_height フィールドが指定されている場合は、「6 Feet」などの値を入力できます。
スクリプトでは、[observer_offset] などの観測点パラメーターをさまざまな形式の文字列で指定することができます。 形式ごとに、値と距離単位が文字列から解析されます。 いくつかの入力文字列の例とそれぞれの文字列から距離単位を決定する方法を次の表に示します。 これ以外のパラメーターでも、同じパターンに従うことができます。
観測点オフセットの入力文字列の例 使用される距離単位 ' ' または '#'
デフォルトの値と単位 (1 メートル) が使用されます。
'6'
観測点オフセットが 6 になり、単位が指定されていないため、このツールのデフォルト単位 (メートル) が使用されます。
'6 Feet'
観測点オフセットが 6 フィートになります。
'6 Unknown'
観測点オフセットが 6 になり、単位が指定されていないため、このツールのデフォルト単位 (メートル) が使用されます。
入力文字列と距離単位の例 このツールは GPU により処理を加速化できます。つまり、システムで互換性のある GPU (グラフィックス処理装置) を使用可能な場合は、その GPU を使用してツールのパフォーマンスを強化できます。 このツールの実行に GPU と CPU のどちらを使用するかを制御するには、[解析のターゲット デバイス] (Python の analysis_target_device) パラメーターを使用します。
互換性のある GPU、GPU デバイスの構成と操作、トラブルシューティングのヒントの詳細については、Spatial Analyst エクステンション ヘルプの「Spatial Analyst での GPU 処理」をご参照ください。
パラメーター
arcpy.ddd.Viewshed2(in_raster, in_observer_features, out_raster, {out_agl_raster}, {analysis_type}, {vertical_error}, {out_observer_region_relationship_table}, {refractivity_coefficient}, {surface_offset}, {observer_elevation}, {observer_offset}, {inner_radius}, {inner_radius_is_3d}, {outer_radius}, {outer_radius_is_3d}, {horizontal_start_angle}, {horizontal_end_angle}, {vertical_upper_angle}, {vertical_lower_angle}, {analysis_method}, {analysis_target_device})
名前 | 説明 | データ タイプ |
in_raster | 入力サーフェス ラスター。 整数または浮動小数点のいずれのラスターでもかまいません。 可視領域計算中に、入力ラスターは 3 次元地心座標系に変換されます。 入力ラスターの NoData セルは可視領域をブロックしません。 | Raster Layer |
in_observer_features | 観測位置を指定する入力フィーチャクラス。 入力には、ポイント フィーチャ、マルチポイント フィーチャ、またはポリライン フィーチャを使用できます。 可視領域計算中に、入力フィーチャクラスは 3 次元地心座標系に変換されます。 サーフェス ラスターの範囲外の観測点または NoData セル上にある観測点は計算で無視されます。 | Feature Layer |
out_raster | 出力ラスター。 FREQUENCY 解析タイプの場合、垂直誤差パラメーターが 0 であるか、または指定しなかった場合、出力ラスターには、入力観測点から、入力サーフェス ラスターの各セル位置を見通せる回数が記録されます。 垂直誤差パラメーターが 0 よりも大きい場合、出力ラスターの各セルには、観測点からセルを見通せる確率の合計が記録されます。 OBSERVERS 解析タイプの場合、出力ラスターには、可視領域の一意の地域 ID が記録されます。これらの一意の地域 ID は観測点-地域リレーションシップ テーブルを介して観測点フィーチャに関連付けることができます。 | Raster Dataset |
out_agl_raster (オプション) | 出力 AGL (地上レベル) ラスター。 AGL の出力は、見えないセルが 1 つ以上の観測点から見えるようにするためにセルに追加する必要がある最小の高さで各セルの値が構成されるラスターとなります。 この出力ラスターでは、すでに見通せるセルには値 0 が割り当てられます。 垂直誤差パラメーターが 0 の場合、出力 AGL ラスターは 1 バンド ラスターになります。 垂直誤差パラメーターが 0 より大きい場合、入力ラスターからのランダムな効果を考慮に入れるために、出力 AGL ラスターは 3 バンド ラスターとして作成されます。 1 番目のバンドは平均 AGL 値、2 番目のバンドは最小 AGL 値、3 番目のバンドは最大 AGL 値を表します。 | Raster Dataset |
analysis_type (オプション) | 実行する可視領域解析のタイプを指定します。観測点から各セルがどのように見えるかを確認するか、サーフェスの位置ごとに見ることができる観測点を特定します。
| String |
vertical_error (オプション) | サーフェス標高値の不確実性 (二乗平均平方根誤差 (RMSE)) の大きさ。 これは、入力標高値の予測誤差を表す浮動小数点値です。 このパラメーターに 0 よりも大きい値を指定すると、出力可視領域ラスターは浮動小数点になります。 この場合、出力可視領域ラスターの各セルの値は観測点からセルを見通せる確率の合計を表しています。 解析タイプが [観測点] の場合、または解析方法が [周長の見通し線] の場合、このパラメーターは無効です。 | Linear Unit |
out_observer_region_relationship_table (オプション) | 各観測点で見通せる地域を特定するための出力テーブル。 このテーブルは、所定の観測点から見通せる地域を特定するために、入力観測点フィーチャクラスおよび出力可視領域ラスターに関連付けることができます。 この出力は、解析タイプが OBSERVERS の場合のみ作成されます。 | Table |
refractivity_coefficient (オプション) | 大気中での可視光線の屈折係数。 デフォルト値は 0.13 です。 | Double |
surface_offset (オプション) | 可視領域解析の対象となる各セルの Z 値に加算する垂直距離。 値は整数または浮動小数点で指定する必要があります。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 たとえば、観測対象のオブジェクトが車両の場合、車両の高さをここで指定する必要があります。 このパラメーターに値を設定すると、その値はすべての観測点によって使用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は 0 です。 | Linear Unit; Field |
observer_elevation (オプション) | 観測点または頂点のサーフェス標高。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターを指定しなかった場合、観測点の標高は共一次内挿法を使用してサーフェス ラスターから取得されます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Linear Unit; Field |
observer_offset (オプション) | 観測点の標高に追加する垂直距離。 値は整数または浮動小数点で指定する必要があります。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 たとえば、塔からの観測点の場合、塔の高さをここで指定する必要があります。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は 1 メートルです。 | Linear Unit; Field |
inner_radius (オプション) | 可視領域を決定する開始距離。 この距離よりも近くにあるセルは出力に表示されませんが、内径と外径の間にあるセルの可視領域をブロックします。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は 0 です。 | Linear Unit; Field |
inner_radius_is_3d (オプション) | 非観測距離パラメーターの距離のタイプを指定します。
| Boolean |
outer_radius (オプション) | 可視領域を決定する最大距離。 この距離を超えるセルは、解析から除外されます。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Linear Unit; Field |
outer_radius_is_3d (オプション) | 観測距離パラメーターの距離のタイプを指定します。
| Boolean |
horizontal_start_angle (オプション) | 水平方向のスキャン範囲の開始角度。 0 を北の方向として、整数または浮動小数点数で、度単位の 0 ~ 360 の値を指定します。 デフォルト値は 0 です。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Double; Field |
horizontal_end_angle (オプション) | 水平方向のスキャン範囲の終了角度。 0 を北の方向として、整数または浮動小数点数で、度単位の 0 ~ 360 の値を指定します。 デフォルト値は 360 です。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 | Double; Field |
vertical_upper_angle (オプション) | 水平面に対してスキャンするときの仰角の上限。 値は、度単位で指定し、整数または浮動小数点を使用できます。 許可される範囲は -90 度~ 90 度 (90 度を含む) です。 このパラメーターの値は [俯角] パラメーターの値よりも大きくなければなりません。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は、90 (真上) です。 | Double; Field |
vertical_lower_angle (オプション) | 水平面に対してスキャンするときの仰角の下限。 値は、度単位で指定し、整数または浮動小数点を使用できます。 許可される範囲は -90 度~ 90 度 (90 度を含まない) です。 このパラメーターの値は [仰角] パラメーターの値よりも小さくなければなりません。 入力観測点データセットのフィールドを選択するか、数値を指定できます。 このパラメーターに値を設定すると、その値はすべての観測点に適用されます。 観測点ごとに別の値を指定するには、このパラメーターを、入力観測点フィーチャ データセット内のフィールドに設定してください。 デフォルト値は、-90 (真下) です。 | Double; Field |
analysis_method (オプション) | 可視性を計算する方法を指定します。 このオプションを使用すると、精度が多少下がる代わりに、パフォーマンスを向上することができます。
| String |
analysis_target_device (オプション) | 計算の実行に使用するデバイスを指定します。
| String |
コードのサンプル
この例では、観測点パラメーターを使用せず、一連の観測位置から見通せるサーフェス位置を決定します。
import arcpy
from arcpy import env
env.workspace = "C:/data"
result = arcpy.Viewshed2_3d("elevation", "obser1.shp", "C:/output/outvwshd01",
"", "OBSERVERS", "", "C:/output/obstable01.dbf")
この例では、入力フィーチャクラスの属性を観測点パラメーターとして使用して、一連の観測位置から見通せるサーフェス位置を決定します。
# 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"
parmSurface = "elevation"
parmObservers = "obser2.shp"
parmOutput = "c:/output/outvshd02"
parmAGL = ""
parmAnalysisType="OBSERVERS"
parmVerticalError = ""
parmAnalysisRelationTable = "C:/output/obser_region2.dbf"
parmRefractCoeff = ""
parmSurfaceOffset = "offsetb"
parmObserverElevation="spot"
parm_ObserverOffset="offseta"
parmInnerRadius = "radius1"
parmInnerIs3D="False"
parmOuterRadius = "radius2"
parmOuterIs3D="True"
parmAz1 = "azimuth1"
parmAz2 = "azimuth2"
parmVert1 = "vert1"
parmVert2 = "vert2"
# Execute Viewshed2
result = arcpy.Viewshed2_3d(parmSurface, parmObservers, parmOutput, parmAGL,
parmAnalysisType, parmVerticalError, parmAnalysisRelationTable,
parmRefractCoeff, parmSurfaceOffset, parmObserverElevation,
parm_ObserverOffset,parmInnerRadius, parmInnerIs3D, parmOuterRadius,
parmOuterIs3D, parmAz1, parmAz2, parmVert1, parmVert2)
環境
ライセンス情報
- Basic: 次のものが必要 3D Analyst または Spatial Analyst
- Standard: 次のものが必要 3D Analyst または Spatial Analyst
- Advanced: 次のものが必要 3D Analyst または Spatial Analyst