在 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 - 目标的高度
高度单位以高程表面单位为单位。
如果输入表面支持地球曲率和折射率计算,则该工具将使用它们。
如果使用了障碍物要素,则生成的表面剖面线将不遵循表面剖面,而是直接在观察点和目标之间延伸。这将更改可选的剖面图。
语法
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 (可选) | 指定工具是否将观察点和目标之间的剖面(横截面地形图)附件添加到要素。
| Boolean |
代码示例
以下 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 函数。
# 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: 是