标注 | 说明 | 数据类型 |
输入观察点要素 | 输入观察点。 | Feature Set |
输入表面 | 输入高程栅格表面。 | Raster Layer; Mosaic Dataset; Mosaic Layer |
输出可见性 | 用于显示可见和不可见表面区域的输出面要素类。 | Feature Class |
观察点半径(米) (可选) | 分析区域距离观察点的半径。 | Double |
观察点表面上方高度(米) (可选) | 观察点表面高程以上的高度。 默认值为 2。 | Double |
需要 3D Analyst 许可。
摘要
显示一个或多个观察点位置可见的区域。
使用情况
通过查找从一个或多个指定观察点位置可见的区域来创建视域。
中间数据集将投影到局部等距方位投影,以保持距离和方向的保真度。
输出区域面将具有 Visibility 字段,其中包含可以查看给定区域的观察点数量。
此工具可以使用表面和一个或多个观察点位置,来创建一个或多个观察点可见或任何观察点都不可见的区域。
如果输入表面支持地球曲率和折射率计算,则该工具将使用它们。
参数
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 |
代码示例
以下 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 函数。
# 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)