天际线障碍物 (3D Analyst)

描述

生成一个表示天际线障碍物或阴影体的多面体要素类。

了解有关“天际线障碍物”工作原理的详细信息

插图

Skyline Barrier
The left image is the input to the Skyline Barrier tool. It consists of the observer point and Skyline output by the Skyline tool. The right image is the output of Skyline Barrier.

使用方法

  • 障碍物类似于从观察点到天际线的第一个折点画一条线,然后扫描通过天际线的所有折点的线所形成的三角扇。可考虑将此工具用于确定要素(如表示建筑物的多面体)是否与通过它而突出的障碍物发生冲突,或者拟建的建筑物是否要改变天际线。

  • 首先使用天际线工具生成天际线或轮廓。轮廓可表示出从观察点发的出光线所投射阴影的体积。

  • 最小半径最大半径参数可定义从观察点发出的三角形边的长度。如果将最小半径最大半径指定为默认值 0,则分析中不使用最小或最大长度。

  • 如果选择创建一个闭合多面体,则输出将拉伸到基础高程参数中定义的高度,并将创建一个水平环以形成闭合多面体的底部。如果指定的基础高程大于天际线障碍物中的最高折点,那么底面实际上将是上限。

  • 新的多面体要素类有以下字段:

    • OBSV_PT_ID - 观察点的 FID,通过它来创建天际线,转而用天际线来创建天际线障碍物多面体。
    • ORIGFTR_ID - 以天际线线段或用来创建阴影体的轮廓表示的原始要素(如建筑物)的 FID。
    • SILHOUE_ID - 用来创建阴影体的多面体要素(轮廓)的 FID(只用于轮廓)。

语法

arcpy.3d.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
(可选)

从观察点扩展到三角形边的最小半径。默认值是 0 表示没有最小值。

Linear Unit; Field
max_radius_value_or_field
(可选)

从观察点扩展到三角形边的最大半径。默认值是 0 表示没有最大值。

Linear Unit; Field
closed
(可选)

可以根据生成的多面体是否呈现为实体,选择是否通过裙面和底面闭合天际线障碍物。

  • NO_CLOSED多面体未添加裙面和底面,只有表示从观察点到天际线的表面的多面体。这是默认设置。
  • CLOSED 多面体添加有裙面和底面,从而形成一个封闭的实体。
Boolean
base_elevation
(可选)

闭合多面体的底面高程;如果障碍物不闭合则忽略。默认值为 0。

Linear Unit; Field
project_to_plane
(可选)

障碍物的前端(距离观察点较近)和后端(距离观察点较远)是否应该分别投影到垂直平面。通常选中(开启)该选项来创建阴影体。

  • NO_PROJECT_TO_PLANE障碍物将从观察点扩展到天际线(或当最小和最大半径为非零值时为较近或较远)。这是默认设置。
  • PROJECT_TO_PLANE 障碍物将从垂直平面扩展到垂直平面。
Boolean

代码示例

SkylineBarrier 示例 1(Python 窗口)

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

arcpy.env.workspace = "C:/data"
arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", 
                        "barrier_output.shp")
SkylineBarrier 示例 2(独立脚本)

下面的示例演示了如何在独立 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.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
                      maxRadius, 'CLOSED')

许可信息

  • Basic: 需要 3D Analyst
  • Standard: 需要 3D Analyst
  • Advanced: 需要 3D Analyst

相关主题