需要 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 |
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.RadialLineOfSight_defense(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.Select_analysis(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.RadialLineOfSight_defense(Observers,
Elevation_Dataset,
RLOS_Observers_Marines,
1000,
2)
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是