内部可視性 (Intervisibility) (3D Analyst)

サマリー

3D フィーチャとサーフェスの任意の組み合わせによって定義される潜在的な障害物を使用して、見通し線の可視性を判断します。

使用法

  • このツールは、新しいフィールドを追加するか、既存のフィールドを更新することで、入力 [見通し線] パラメーター値を変更します。 [表示可能なフィールド名] パラメーターで、フィールド名を指定できます。 フィールド値は、見通し線が表示可能な場合は 1、妨げられる場合は 0 になります。 入力フィーチャへの書き込みアクセス権を持っていない場合や、入力データを変更したくない場合は、このツールで使用するために入力のコピーを作成します。 詳細と不要なデータの変更を回避するための方法については、「出力データセットを作成しないツール」をご参照ください。

  • 観測点と目標点の定義には、入力ラインの端点のみが使用されます。 見通し線は、見通しを決定する対象の観測点と目標点を表す 2 つの頂点のみで構成される直線であることが理想的です。

  • ポイント フィーチャによって観測点の位置が定義され、別のフィーチャクラスに格納されたデータによって可視性の目標点が表される場合は、[見通し線の構築 (Construct Sight Lines)] ツールを使用することを検討してください。

  • すべての入力が同じ空間参照を使用している場合、ツールの実行速度は速くなります。これは、障害物の有無を確認するためにデータを投影する (複数回の場合あり) 必要がないからです。 すべての障害物が同じ空間参照を使用している場合に効果があります。見通し線の空間参照は、簡単に投影できるため、それほど重要ではありません。

  • 非可視の見通し線に対する障害の位置を特定するには、[見通し (Line of Sight)] ツールを使用できます。

パラメーター

ラベル説明データ タイプ
見通し線

可視性が判断される 3D 見通し線。

Feature Layer
障害物

見通し線に潜在的な障害物を提供するメッシュおよびサーフェス データセット。 障害物は、マルチパッチ フィーチャ、3D メッシュ シーン レイヤー、TIN データセット、ラスター サーフェスの任意の組み合わせによって定義できます。

Feature Layer; TIN Layer; Raster Layer; Mosaic Layer; Scene Layer; File
表示可能なフィールド名
(オプション)

可視性の結果を格納するフィールドの名前。 生成結果が 0 の場合、見通し線の開始点および終点はお互いに不可視です。 生成結果が 1 の場合、見通し線の開始点および終点はお互いに可視です。 デフォルトのフィールド名は VISIBLE です。 フィールドがすでに存在する場合、その値は上書きされます。

String

派生した出力

ラベル説明データ タイプ
出力フィーチャクラス

更新された 3D 見通し線。

Feature Layer

arcpy.ddd.Intervisibility(sight_lines, obstructions, {visible_field})
名前説明データ タイプ
sight_lines

可視性が判断される 3D 見通し線。

Feature Layer
obstructions
[obstructions,...]

見通し線に潜在的な障害物を提供するメッシュおよびサーフェス データセット。 障害物は、マルチパッチ フィーチャ、3D メッシュ シーン レイヤー、TIN データセット、ラスター サーフェスの任意の組み合わせによって定義できます。

Feature Layer; TIN Layer; Raster Layer; Mosaic Layer; Scene Layer; File
visible_field
(オプション)

可視性の結果を格納するフィールドの名前。 生成結果が 0 の場合、見通し線の開始点および終点はお互いに不可視です。 生成結果が 1 の場合、見通し線の開始点および終点はお互いに可視です。 デフォルトのフィールド名は VISIBLE です。 フィールドがすでに存在する場合、その値は上書きされます。

String

派生した出力

名前説明データ タイプ
out_feature_class

更新された 3D 見通し線。

Feature Layer

コードのサンプル

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

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Intervisibility_3d("sightlines.shp", ["3dbuildings.shp", "topo_tin"], "Visibility")
Intervisibility の例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

このスクリプトは、サーフェスおよび建物フィーチャの障害物を使用して、観測点とターゲット ラインから構築された見通し線の内部可視性を計算する方法を示しています。

# Import system modules
import arcpy

# Set environments
arcpy.env.workspace = 'C:/data'

print("Constructing Sightlines")
arcpy.ddd.ConstructSightLines("Observers.shp", "Targets.shp", "sightlines.shp", 
                              observer_height_field='Shape.Z', target_height_field='Shape.Z')

print("Calculating Intervisibility")
arcpy.ddd.Intervisibility("Sightlines.shp", obstructions=["DTM_Tin", "data.gdb/buildings"],
                          visible_field="Visibility")

関連トピック