适用于具有 Indoors 功能许可的门户。
描述
用于创建或更新表示建筑物入口或出口位置的点。
该工具将对输入单元要素进行分析,以标识建筑物(设施点)的外部边,并针对位于这些边邻域内的门生成点要素。ArcGIS Indoors 网络将在进入和离开建筑物以及在建筑物之间选择路径时使用这些入口点。
插图
使用方法
输入楼层要素参数必须是符合 Levels 要素类的 Indoors Model 的面要素图层或要素类。通过在输入图层上进行选择或者提供定义查询,可以将入口的生成限制为特定楼层。如果没有选择或定义查询,则该工具将为输入图层中的所有楼层创建入口。
输入单元要素参数必须是符合 Units 要素类的 Indoors Model 的面要素图层或要素类。此工具将使用单位要素来标识建筑物的外边缘。
- 可以使用外部单位表达式参数来定义将视为建筑物(设施点)外部的输入单元要素(例如露台或外部楼梯)。此工具将任何门或开口标识为定义的外部单位要素和内部单位要素之间的入口。除了输入图层上的任何定义查询或选择之外,还将应用此表达式。
输入门要素参数必须是符合 Details 要素类的 Indoors Model 的折线要素图层。图层必须选择一个或多个门要素:
- 如果所选图层中没有任何要素,则该工具将无法运行。可以使用按属性选择图层工具进行选择。
- 该工具将标识并处理门的不同折线要素制图表达。其中包括但不限于由单个或多个要素组成的门、穿过开口的直线、表示门平开的曲线以及表示旋转门的圆形线。
- 为了获得最佳结果,在选择门要素并运行此工具之前,请解决源要素类中的所有几何问题。例如,移除不必要的节点并删除较小或无关的门要素。ArcGIS Indoors 产品数据安装包包含 Data Reviewer 批处理作业,可帮助标识要修复的要素。
缓冲区大小参数将定义工具将用于沿建筑物外边缘查找入口要素的距离。该工具将在外边缘的内部和外部进行缓冲,以同时捕获内开门和外开门。缓冲区不需要包含整个门,它仅需与其中至少一个要素相交即可。使用过大的缓冲区可能会捕获建筑物内靠近外边缘的要素,但无法捕获建筑物的实际入口。
入口使用类型 参数值将填充新入口要素的 USE_TYPE 字段。
输出点要素的 z 值源自输入门要素上的 ELEVATION_RELATIVE 字段。
如果多个门廊彼此相邻,则此工具可能会生成单个入口点以表示这些门廊。如果需要通过每个单独的门廊进行路线选择,请复制并手动定位生成的入口点。
语法
arcpy.indoors.GenerateFacilityEntryways(in_level_features, in_unit_features, in_door_features, target_entryways, {buffer_size}, {entryway_use_type}, {exterior_unit_exp}, {delete_existing_entryways})
参数 | 说明 | 数据类型 |
in_level_features | 输入面要素,表示一个或多个建筑物中的一个或多个楼层。在 Indoors Model 中,此项将为 Levels 图层。该工具将仅处理这些要素表示的建筑物楼层。 | Feature Layer |
in_unit_features | 表示建筑物空间的输入面要素。在 Indoors 模型中,此项将为 Units 图层。在标识建筑物的外部边时,该工具将使用这些要素。 | Feature Layer |
in_door_features | 表示门的输入折线要素。在 Indoors Model 中,这将为 Details 图层中的要素子集。在标识沿建筑物外部的入口时,该工具将使用这些要素。 注:如果源要素类还包含表示其他建筑细节(例如窗户或楼梯)的要素,则必须首先在表示门的图层中选择要素。可以使用按属性选择图层工具进行选择。 | Feature Layer |
target_entryways | 将写入生成的入口点的要素类或要素图层。在 Indoors Model 中,此项将为 PointsOfInterest 图层。 | Feature Layer |
buffer_size (可选) | 该工具将从建筑物的外部边向内和向外进行搜索以标识潜在入口的距离,以米为单位。默认值为 0.5,范围为 0 到 10。 | Double |
entryway_use_type (可选) | 用于计算新入口点的 USE_TYPE 字段的值。默认值为 Entry。 | String |
exterior_unit_exp (可选) | 一个 SQL 表达式,用于定义表示建筑物外部空间的输入单元要素,例如露台或逃生通道。在入口生成过程中,匹配此表达式的空间将被视为外部。 | SQL Expression |
delete_existing_entryways (可选) | 指定在创建新的入口点之前,是否将删除 USE_TYPE 字段值匹配 entryway_use_type 参数值的现有入口要素。在删除现有入口时,该工具将仅标识 in_level_features 参数中包含的楼层上的入口。
| Boolean |
派生输出
名称 | 说明 | 数据类型 |
updated_entryways | 已更新的目标入口要素图层或要素类。 | 要素类 |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 GenerateFacilityEntryways 函数。
import arcpy
arcpy.indoors.GenerateFacilityEntryways("C:/Indoors/ExampleCampus.gdb/Indoors/Levels",
"C:/Indoors/ExampleCampus.gdb/Indoors/Units",
"DoorDetails",
"C:/Indoors/ExampleCampus.gdb/Indoors/PointsOfInterest",
0.25, "Entry",
"USE_TYPE IN ('Fire Escape', 'Patio')")
以下独立脚本演示了如何使用 GenerateFacilityEntryways 函数。
# Name: Indoors_GenerateFacilityEntryways_example2
# Description: Creates entryway point features for selected door features
import arcpy
in_level_features = "C:/Indoors/ExampleCampus.gdb/Indoors/Levels"
in_unit_features = "C:/Indoors/ExampleCampus.gdb/Indoors/Units"
door_details_feature_class = "C:/Indoors/ExampleCampus.gdb/Indoors/Details"
# Select just the door detail features
in_door_features = arcpy.SelectLayerByAttribute_management(door_details_feature_class,
'NEW_SELECTION',
"USE_TYPE = 'A-DOOR'")
target_entryways = "C:/Indoors/ExampleCampus.gdb/Indoors/PointsOfInterest"
buffer_size = 0.5
entryway_use_type = "Entry"
exterior_unit_exp = "USE_TYPE IN ('Fire Escape', 'Patio')"
delete_existing_features = "NO_DELETE_FEATURES"
arcpy.indoors.GenerateFacilityEntryways(in_level_features, in_unit_features,
in_door_features, target_entryways,
buffer_size, entryway_use_type,
exterior_unit_exp,
delete_existing_features)
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 Indoors and 3D Analyst