天际线图 (3D Analyst)

摘要

计算天空的可见比,并选择性地生成表和极线图。

插图

天际线图工具图示

使用情况

  • 此工具需要由天际线工具创建的线要素,并将生成极区图。 极区图可以在工具的消息窗口中看到,也可以保存为图像。 输出消息还指示地平线以上可见天空的百分比。

  • 通过指定输出角度表参数值,可以将从观察点到每个折点的方位角和垂直角导出到独立表。 结果表将包含以下字段:

    • HORIZ_ANG - 表示算术水平角,其中 0° 为正东,值沿逆时针方向增加直至 360°。 算术水平角等于 90 减去方位角。
    • ZENITH_ANG - 天顶角,0° 为沿 z 轴正上方,90° 为地平线,180° 为沿 z 轴正下方。 天顶角是 90 减去与地平线的垂直角。
    • HOR_AN_GEO - 地理水平角,其中 0° 位于投影的北方,值沿顺时针方向增加直至 360°。
    • ZEN_AN_INV - 天顶角,其中 0° 为地平线,90° 为沿 z 轴正上方,-90° 为沿 z 轴正下方。

    如果选中附加字段参数,则输出表中还包含以下字段:

    • FEATURE_ID - 定义天际线的要素的唯一 ID。 此值为 -1 的行表示天际线由表面定义的位置,而值为 -2 表示对天际线没有贡献但用于连接定义天际线的线段的过渡线。
    • VERTEX_X - 折点的 x 坐标。
    • VERTEX_Y - 折点的 y 坐标。
    • VERTEX_Z - 折点的 z 坐标。
    • DIST_2D - 从观察点到折点的水平距离。
    • DIST_3D - 从观察点到折点的坡面距离。
  • 该工具将报告与天空的最小和最大垂直可见角以及天空可见比(该比值表示为 0 到 1 之间的值)。 可见比 0.8 表示 80% 的天空可见。

  • 可见天空的百分比将在结果中列出。 此值等于天际线上方的面积除以基本可见角参数上方的面积,并且只能在天际线的方位角范围内进行计算。

参数

标注说明数据类型
输入观察点要素

包含一个或多个观察点的输入要素。

Feature Layer
输入线要素

表示天际线的线要素。

Feature Layer
基本可见角
(可选)

用于计算可见天空百分比的基线的垂直角。 0 表示水平,90 表示竖直向上,-90 表示竖直向下。 默认值为 0。

Double
附加字段
(可选)

指定角度表中是否包含附加字段。

  • 未选中 - 不包含附加字段。 这是默认设置。
  • 选中 - 将包含附加字段。
Boolean
输出角度表
(可选)

将创建此表以输出从观察点到天际线上每个折点的水平和垂直角度。

Table
输出图形名称
(可选)

不支持此参数。

Graph
输出图形图像
(可选)

描绘可见天际线径向视图的极区图图像。 此图像可以创建为 PNG、JPG、JPEG 或 SVG 格式。

File

派生输出

标注说明数据类型
可见比

所有观察点的可见天空的平均百分比。 该值可表示为 0 到 1 之间的值,其中 0.8 表示天际线可见性为 80%。

Double

arcpy.ddd.SkylineGraph(in_observer_point_features, in_line_features, {base_visibility_angle}, {additional_fields}, {out_angles_table}, {out_graph}, {out_image_file})
名称说明数据类型
in_observer_point_features

包含一个或多个观察点的输入要素。

Feature Layer
in_line_features

表示天际线的线要素。

Feature Layer
base_visibility_angle
(可选)

用于计算可见天空百分比的基线的垂直角。 0 表示水平,90 表示竖直向上,-90 表示竖直向下。 默认值为 0。

Double
additional_fields
(可选)

指定角度表中是否包含附加字段。

  • NO_ADDITIONAL_FIELDS不包含附加字段。 这是默认设置。
  • ADDITIONAL_FIELDS将包含附加字段。
Boolean
out_angles_table
(可选)

将创建此表以输出从观察点到天际线上每个折点的水平和垂直角度。

Table
out_graph
(可选)

不支持此参数。

Graph
out_image_file
(可选)

描绘可见天际线径向视图的极区图图像。 此图像可以创建为 PNG、JPG、JPEG 或 SVG 格式。

File

派生输出

名称说明数据类型
out_visibility_ratio

所有观察点的可见天空的平均百分比。 该值可表示为 0 到 1 之间的值,其中 0.8 表示天际线可见性为 80%。

Double

代码示例

SkylineGraph 示例 1(Python 窗口)

下面的示例演示了如何在 Python 窗口中使用此工具。

arcpy.env.workspace = "C:/data"
arcpy.ddd.SkylineGraph("observers.shp", "skyline_outline.shp", 0, 
                      "ADDITIONAL_FIELDS", "table.dbf")
SkylineGraph 示例 2(独立脚本)

下面的示例演示了如何在独立 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.ddd.SkylineGraph(inPts, inLines, 0, "ADDITIONAL_FIELDS", outTable)

相关主题