Advanced のライセンスで利用可能。
3D Analyst のライセンスで利用可能。
概要
観測点と目標点の間に見通し線を作成します。
使用法
このツールは、3D Analyst ツールボックスの [見通し線の構築 (Construct Sight Lines)] と [見通し (Line Of Sight)] を使用します。
観測点は始点であり、目標点は見通し範囲の決定に使用するラインの終点です。
1 つ以上の観測点フィーチャと 1 つ以上の目標点フィーチャが使用されます。
すべての観測点はすべての目標点と対応付けられています。
出力されるラインは色分けされ、可視セクション (緑) と不可視セクション (赤) を示します。
次のフィールドが [出力見通し線フィーチャクラス] に追加されます。
- OID_OBSERV - 見通し線の作成に使用した観測点のオブジェクト ID
- OID_TARGET - 見通し線の作成に使用した目標点のオブジェクト ID
- TarIsVis - 目標点が各見通し線に沿って観測点から見える (1) か見えない (0) かを示します
- AZIMUTH - 観測点の位置から目標点までの方位角
- VERT_ANGLE - 観測点から目標点を見上げる/見下ろす表示角度
次のフィールドが [出力見通し線フィーチャクラス] に追加されます。
- OID_OBSERV - 見通し線の作成に使用した観測点のオブジェクト ID
- OID_TARGET - 見通し線の作成に使用した目標点のオブジェクト ID
- VisCode - サーフェス セグメントが観測点から見える (1) か、見えない (2) かを示します。
- TarIsVis - 目標点が各見通し線に沿って観測点から見える (1) か見えない (0) かを示します
- AZIMUTH - 観測点の位置から目標点までの方位角
- ObsSPOT - 観測点の標高
- TgtSPOT - 目標点の標高
次のフィールドが [出力観測点フィーチャクラス] に追加されます。
- OID_OBSERV - 見通し線の作成に使用した観測点のオブジェクト ID
- OID_TARGET - 見通し線の作成に使用した目標点のオブジェクト ID
- AZIMUTH - 観測点の位置から目標点までの方位角
- VERT_ANGLE - 観測点から目標点を見上げる/見下ろす表示角度
- TarIsVis - 目標点が各見通し線に沿って観測点から見える (1) か見えない (0) かを示します
- Z - 観測場所のサーフェス標高
- ObsSPOT - 観測点の標高
次のフィールドが [出力目標点フィーチャクラス] に追加されます。
- OID_OBSERV - 見通し線の作成に使用した観測点のオブジェクト ID
- OID_TARGET - 見通し線の作成に使用した目標点のオブジェクト ID
- AZIMUTH - 観測点の位置から目標点までの方位角
- VERT_ANGLE - 観測点から目標点を見上げる/見下ろす表示角度
- TarIsVis - 目標点が各見通し線に沿って観測点から見える (1) か見えない (0) かを示します
- Z - 目標場所のサーフェス標高
- TgtSPOT - 目標点の標高
高さ単位が標高サーフェスの単位に設定されます。
このツールは、入力サーフェスが地球の曲率と屈折率の計算をサポートしている場合、それらを使用します。
障害物フィーチャを使用している場合、出力されるサーフェス断面ラインはサーフェス断面図に従わず、観測点と目標点の間を直接拡張します。このため、オプションの断面図グラフが変更されます。
構文
arcpy.defense.LinearLineOfSight(in_observer_features, in_target_features, in_surface, out_los_feature_class, out_sight_line_feature_class, out_observer_feature_class, out_target_feature_class, {in_obstruction_features}, {observer_height_above_surface}, {target_height_above_surface}, {add_profile_attachment})
パラメーター | 説明 | データ タイプ |
in_observer_features | 入力観測点。 | Feature Set |
in_target_features | 入力目標点。 | Feature Set |
in_surface | 入力標高ラスター サーフェス。 | Raster Layer |
out_los_feature_class | 可視または不可視サーフェス エリアのラインを示す出力フィーチャクラス。 | Feature Class |
out_sight_line_feature_class | 観測点と目標点の間の直接見通し線を示す出力ライン フィーチャクラス。 | Feature Class |
out_observer_feature_class | 出力観測点フィーチャクラス。 | Feature Class |
out_target_feature_class | 出力目標点フィーチャクラス。 | Feature Class |
in_obstruction_features (オプション) | 見通し線を妨げる可能性のある入力マルチパッチ フィーチャ。 | Feature Layer |
observer_height_above_surface (オプション) | 観測点のサーフェス標高に追加される高さ。デフォルトは 2 です。 | Double |
target_height_above_surface (オプション) | 目標点のサーフェス標高に追加される高さ。デフォルトは 0 です。 | Double |
add_profile_attachment (オプション) | ツールが観測点と目標点の間の断面 (断面テレイン グラフ) を使用して、フィーチャに添付ファイルを追加するかどうかを指定します。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、LinearLineOfSight 関数の使用方法を示しています。
import arcpy
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.LinearLineOfSight_defense("LLOS_Obs",
"LLOS_Tar",
"n36.dt2",
"LineOfSight",
"SightLines",
"Observers",
"Targets",
None,
2,
0,
"NO_PROFILE_GRAPH")
次の例は、サンプル ワークフロー スクリプトで LinearLineOfSight 関数を使用する方法を示しています。
# Description: Create Linear Line of Sight to test siting of a radio antenna
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
# Select antenna to test
antenna_layer = "antennas"
whereClause = "antenna_call_sign = 'KJT'"
test_ant_layer = arcpy.MakeFeatureLayer_management(antenna_layer, whereClause)
# Select observer test location
obs_layer = "observer_locations"
whereClause = "site_name = 'test_site'"
test_obs_layer = arcpy.MakeFeatureLayer_management(obs_layer, whereClause)
# Inputs
input_surface = "n36.dt2"
# Create line of sight between selected antenna and observer locations
arcpy.LinearLineOfSight_defense(test_obs_layer,
test_ant_layer,
input_surface,
"LineOfSight",
"SightLines",
"Test_Observers",
"Test_Targets",
None,
2,
0,
"NO_PROFILE_GRAPH")
ライセンス情報
- Basic: いいえ
- Standard: いいえ
- Advanced: はい