描述
计算天空的可见性,并选择性地生成表和极线图。
所生成的表和图表示从观察点到天际线上每个折点的水平角和垂直角。
插图
使用方法
评估从观察点到每个折点的方位角和垂直角,并可以通过指定输出角度表将其导出至独立表。此表中会显示下列字段:
- HORIZ_ANG - 水平角。
- ZENITH_ANG - 天顶角。
如果选择了附加字段:
- FEATURE_ID - 遮挡观察点天空视野的天际线要素。
- VERTEX_X - 折点的 X 坐标。
- VERTEX_Y - 折点的 Y 坐标。
- VERTEX_Z - 折点的 Z 坐标。
- DIST_2D - 从观察点到折点的水平距离。
- DIST_3D - 从观察点到折点的坡面距离。
算术水平角等于 90 减去方位角,而天顶角等于 90 减去垂直角。(算术水平角为 0 时表示正东,而 90 时表示正北;天顶角为 90 时表示水平,而 0 时表示竖直向上。)
- 可见天空的百分比始终在结果中列出。此值等于天际线上方的区域除以基本可见角(参数之一,默认值为零,表示与观察点在同一高程)上方的区域,并且只能在天际线的方位角范围内进行计算。
语法
arcpy.3d.SkylineGraph(in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph})
参数 | 说明 | 数据类型 |
in_observer_point_features | 包含一个或多个观察点的输入要素。 | Feature Layer |
in_line_features | 表示天际线的线要素。 | Feature Layer |
base_visibility_angle (可选) | 用作计算可见天空百分比的基线的垂直角。0 表示水平,90 表示竖直向上;-90 表示竖直向下。默认值为 0。 | Double |
additional_fields (可选) | 指定是否有附加字段添加到角度表中。
| Boolean |
out_angles_table (可选) | 创建用于输出角度的表。 | Table |
out_graph (可选) |
不支持此参数。 | Graph |
派生输出
名称 | 说明 | 数据类型 |
out_visibility_ratio | 所有观察点的可见天空的平均百分比。该值可表示为 0 到 1 之间的值,其中 0.8 表示天际线可见性的 80%。 | 双精度型 |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = "C:/data"
arcpy.SkylineGraph_3d("observers.shp", "skyline_outline.shp", 0,
"ADDITIONAL_FIELDS", "table.dbf")
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: Skyline Example
Description: This script demonstrates how to use the
Skyline tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inPts = "observers.shp"
inLines = "skyline_outline.shp"
baseVisibility = 25
# Ensure output table has unique name
outTable = arcpy.CreateUniqueName("angles_table.dbf")
#Execute SkylineGraph
arcpy.SkylineGraph_3d(inPts, inLines, 0, "ADDITIONAL_FIELDS", outTable)
许可信息
- Basic: 需要 3D Analyst
- Standard: 需要 3D Analyst
- Advanced: 需要 3D Analyst