径向通视分析 (国防)

需要 3D Analyst 许可。

摘要

显示一个或多个观察点位置可见的区域。

使用情况

  • 通过查找从一个或多个指定观察点位置可见的区域来创建视域。

  • 中间数据集将投影到局部等距方位投影,以保持距离和方向的保真度。

  • 输出区域面将具有 Visibility 字段,其中包含可以查看给定区域的观察点数量。

  • 此工具可以使用表面和一个或多个观察点位置,来创建一个或多个观察点可见或任何观察点都不可见的区域。

  • 如果输入表面支持地球曲率和折射率计算,则该工具将使用它们。

参数

标注说明数据类型
输入观察点要素

输入观察点。

Feature Set
输入表面

输入高程栅格表面。

Raster Layer; Mosaic Dataset; Mosaic Layer
输出可见性

用于显示可见和不可见表面区域的输出面要素类。

Feature Class
观察点半径(米)
(可选)

分析区域距离观察点的半径。

Double
观察点表面上方高度(米)
(可选)

观察点表面高程以上的高度。 默认值为 2。

Double

arcpy.defense.RadialLineOfSight(in_observer_features, in_surface, out_feature_class, {radius}, {observer_height_above_surface})
名称说明数据类型
in_observer_features

输入观察点。

Feature Set
in_surface

输入高程栅格表面。

Raster Layer; Mosaic Dataset; Mosaic Layer
out_feature_class

用于显示可见和不可见表面区域的输出面要素类。

Feature Class
radius
(可选)

分析区域距离观察点的半径。

Double
observer_height_above_surface
(可选)

观察点表面高程以上的高度。 默认值为 2。

Double

代码示例

RadialLineOfSight 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 RadialLineOfSight 函数。

import arcpy
arcpy.env.workspace = r"C:\Data.gdb"
arcpy.defense.RadialLineOfSight(r"C:/RLOS_Observers", 
                                "Elevation_Dataset", 
                                "RLOS_Output", 5000, 2)
RadialLineOfSight 示例 2(独立脚本)

以下示例将在示例工作流脚本中使用 RadialLineOfSight 函数。

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:/Data.gdb"
arcpy.env.overwriteOutput = True

# Select points from observers from input
observers =  "Observers"
branch = "Branch"
whereClause = "Marines = 'Yes'"
arcpy.analysis.Select(branch, Marines, whereClause)

# Create Radial Line Of Sight using Marine observers
in_observer_features = "Observers"
in_surface = "Elevation_Dataset"
out_feature_class = "RLOS_Observers_Marines"
radius = "METERS"
observer_height_above_surface = "METERS"
arcpy.defense.RadialLineOfSight(Observers,
                                Elevation_Dataset,
                                RLOS_Observers_Marines,
                                1000,
                                2)