線状見通し (Linear Line Of Sight) (ディフェンス)

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

ツールが観測点と目標点の間の断面 (断面テレイン グラフ) を使用して、フィーチャに添付ファイルを追加するかどうかを指定します。

  • NO_PROFILE_GRAPH断面図グラフを追加しません。これがデフォルトです。
  • ADD_PROFILE_GRAPH断面図グラフを追加します。
Boolean

コードのサンプル

LinearLineOfSight (線状見通し) の例 1 (Python ウィンドウ)

次の 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 (線状見通し) の例 2 (スタンドアロン スクリプト)

次の例は、サンプル ワークフロー スクリプトで 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: はい

関連トピック