标注 | 说明 | 数据类型 |
输入观察点要素 | 包含观察点的点要素类。 | Feature Layer |
输入要素 | 表示天际线的输入线要素类,或表示轮廓的输入多面体要素类。 | Feature Layer |
输出要素类 | 将放置天际线障碍物或阴影体积的输出要素类。 | Feature Class |
最小半径 (可选) | 三角形边将从观察点延伸的最小半径。 例如,值为 10 米意味着所有输出障碍物要素将从其原点延伸至少 10 米。 默认值为 0,表示不强制执行最小距离。 | Linear Unit; Field |
最大半径 (可选) | 三角形边将从观察点延伸的最大半径。 默认值为 0,表示不强制执行最大距离。 | Linear Unit; Field |
闭合 (可选) | 指定是否将向天际线障碍物添加裙状伪影和基础高程,以便多面体显示为闭合实体。
| Boolean |
基础高程 (可选) | 闭合多面体的基础高程。 如果未选中闭合参数,则忽略此参数。 默认值为 0。 | Linear Unit; Field |
投影到平面 (可选) | 指定障碍物的正面(靠近观察点)和背面(远离观察点)是否将分别投影到垂直平面上。 通常情况下,将选中此选项以创建阴影体。
| Boolean |
插图
使用情况
障碍物与三角形扇相似,通过从观察点到天际线的第一个顶点绘制一条线,然后将该线扫过天际线的所有顶点而形成。 可以使用此工具确定要素(例如表示建筑物的多面体)是否与通过它而突出的障碍物发生冲突,或者建议的建筑物是否会改变天际线。
首先使用天际线工具生成天际线或轮廓。 轮廓将生成来自观察点的光投射的阴影的体积表示。
最小半径和最大半径参数定义了从观察点发出的三角形边的长度。 如果为最小半径或最大半径指定默认值 0,则分析中将不使用最小或最大长度。
如果创建闭合多面体,输出将被拉伸到基础高程参数中定义的高度,并且将创建一个水平环以形成闭合几何的底部。 如果指定的基础高程大于天际线障碍物中的最高顶点,则基础将为顶面。
新多面体要素类将包含以下字段:
- OBSV_PT_ID观察点的 FID,通过它来创建天际线,转而用天际线来创建天际线障碍物多面体。
- ORIGFTR_ID以天际线线段或用来创建阴影体的轮廓表示的原始要素(如建筑物)的 FID。
- SILHOUE_ID用来创建阴影体的多面体要素(轮廓)的 FID(只用于轮廓)。
参数
arcpy.ddd.SkylineBarrier(in_observer_point_features, in_features, out_feature_class, {min_radius_value_or_field}, {max_radius_value_or_field}, {closed}, {base_elevation}, {project_to_plane})
名称 | 说明 | 数据类型 |
in_observer_point_features | 包含观察点的点要素类。 | Feature Layer |
in_features | 表示天际线的输入线要素类,或表示轮廓的输入多面体要素类。 | Feature Layer |
out_feature_class | 将放置天际线障碍物或阴影体积的输出要素类。 | Feature Class |
min_radius_value_or_field (可选) | 三角形边将从观察点延伸的最小半径。 例如,值为 10 米意味着所有输出障碍物要素将从其原点延伸至少 10 米。 默认值为 0,表示不强制执行最小距离。 | Linear Unit; Field |
max_radius_value_or_field (可选) | 三角形边将从观察点延伸的最大半径。 默认值为 0,表示不强制执行最大距离。 | Linear Unit; Field |
closed (可选) | 指定是否将向天际线障碍物添加裙状伪影和基础高程,以便多面体显示为闭合实体。
| Boolean |
base_elevation (可选) | 闭合多面体的基础高程。 如果 closed 参数设置为 NO_CLOSED,则忽略此参数。 默认值为 0。 | Linear Unit; Field |
project_to_plane (可选) | 指定障碍物的正面(靠近观察点)和背面(远离观察点)是否将分别投影到垂直平面上。 通常情况下,此选项设置为 PROJECT_TO_PLANE 以创建阴影体。
| Boolean |
代码示例
下面的示例演示了如何在 Python 窗口中使用此工具。
arcpy.env.workspace = "C:/data"
arcpy.ddd.SkylineBarrier("observers.shp", "skyline_outline.shp",
"barrier_output.shp")
下面的示例演示了如何在独立 Python 脚本中使用此工具。
'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the
Skyline Barrier tool.
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = 'C:/data'
# Set Local Variables
inPts = 'observers.shp'
inLine = 'skyline.shp'
outFC = 'output_barriers.shp'
minRadius = '0 METERS'
maxRadius = '200 METERS'
#Execute SkylineBarrier
arcpy.ddd.SkylineBarrier(inPts, inLine, outFC, minRadius,
maxRadius, 'CLOSED')