标注 | 说明 | 数据类型 |
观察点 | 输入观察点。 | Feature Set |
目标 | 输入目标点。 | Feature Set |
输入高程表面 | 输入高程栅格表面。 | Raster Layer; Mosaic Dataset; Mosaic Layer |
输出通视分析要素类 | 用于显示可见和不可见表面区域线的输出要素类。 | Feature Class |
输出视线要素类 | 用于显示观察点与目标之间的直接视线的输出线要素类。 | Feature Class |
输出观察点要素类 | 输出观察点要素类。 | Feature Class |
输出目标要素类 | 输出目标点要素类。 | Feature Class |
输入障碍物要素 (可选) | 可能会遮挡视线的输入多面体要素。 | Feature Layer |
观察点表面上方高度(米) (可选) | 观察点表面高程以上的高度。 默认值为 2。 | Double |
目标表面上方高度(米) (可选) | 目标表面高程以上的高度。 默认值为 0。 | Double |
将剖面图附件添加到视线 (可选) | 指定工具是否将观察点和目标之间的剖面(横截面地形图)附件添加到要素。
| Boolean |
在 Advanced 许可等级下可用。
需要 3D Analyst 许可。
摘要
在观察点和目标之间创建视线。
使用情况
此工具使用 3D Analyst 工具箱中的构造视线和通视分析。
观察点和目标分别是用于确定可见性的线的起点和终点。
将使用一个或多个观察点和一个或多个目标点要素。
所有观察点均需要与所有目标匹配。
将对结果行着色以显示可见部分(绿色)和不可见部分(红色)。
以下字段将被添加到输出视线要素类参数值:
- 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; Mosaic Dataset; Mosaic 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.defense.LinearLineOfSight("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.management.MakeFeatureLayer(antenna_layer, whereClause)
# Select observer test location
obs_layer = "observer_locations"
whereClause = "site_name = 'test_site'"
test_obs_layer = arcpy.management.MakeFeatureLayer(obs_layer, whereClause)
# Inputs
input_surface = "n36.dt2"
# Create line of sight between selected antenna and observer locations
arcpy.defense.LinearLineOfSight(test_obs_layer,
test_ant_layer,
input_surface,
"LineOfSight",
"SightLines",
"Test_Observers",
"Test_Targets",
None,
2,
0,
"NO_PROFILE_GRAPH")