生成设施点入口 (Indoors)

可用于具有 Indoors 扩展模块许可的 ArcGIS 组织。

摘要

用于创建或更新表示建筑物入口或出口位置的点。

该工具将对输入单元要素进行分析,以标识设施点的外部边,并针对位于这些边邻域内的门生成点要素。 ArcGIS Indoors 网络将在进入和离开建筑物以及在建筑物之间选择路径时使用这些入口点。

插图

单开门的生成设施点入口工具示例
双开门的生成设施点入口工具示例
旋转门的生成设施点入口工具示例

使用情况

  • 以下输入参数可以是室内数据集(使用创建室内数据集工具创建)中的要素图层或要素类,也可以是 Indoors 地理数据库(使用创建室内数据库工具创建):输入楼层要素输入单元要素输入门要素

  • 输入楼层要素参数值必须是符合 Levels 要素类的 Indoors 模型的面要素图层或要素类。 通过在输入图层上进行选择或者提供定义查询,可以将入口的生成限制为特定楼层。 如果没有选择或定义查询,则该工具将为输入图层中的所有楼层创建入口。

  • 输入单元要素参数值必须是符合 Units 要素类的 Indoors 模型的面要素图层或要素类。 此工具将使用单位要素来标识设施点的外边缘。

    可以使用外部单位表达式参数来定义将视为设施点外部的输入单元要素(例如露台或外部楼梯)。 此工具将任何门或开口标识为定义的外部单位要素和内部单位要素之间的入口。 除了输入图层上的任何定义查询或选择之外,还将应用此表达式。

  • 输入门要素参数值必须是符合 Details 要素类的 Indoors 模型的折线要素图层。 图层必须选择一个或多个门要素。

    • 如果所选图层中没有选择任何要素,则该工具将无法运行。 可以使用按属性选择图层工具进行选择。
    • 该工具将标识并处理门的不同折线要素制图表达。 其中包括但不限于由单个或多个要素组成的门、穿过开口的直线、表示门平开的曲线以及表示旋转门的圆形线。
    • 为了获得最佳结果,在选择门要素并运行此工具之前,请解决源要素类中的所有几何问题。 例如,移除不必要的节点并删除较小或无关的门要素。 ArcGIS Indoors 产品数据安装包包含 Data Reviewer 批处理作业,可帮助标识要修复的要素。

  • 缓冲区大小参数将定义工具将用于沿建筑物外边缘查找入口要素的距离。 该工具将在外边缘的内部和外部进行缓冲,以同时捕获内开门和外开门。 缓冲区不需要包含整个门,它仅需与其中至少一个要素相交即可。 使用过大的缓冲区可能会捕获建筑物内靠近外边缘的要素,但无法捕获建筑物的实际入口。

  •  入口使用类型 参数值将填充新入口要素的 USE_TYPE 字段。

  • 如果使用 Indoor 数据集,则输出点要素的 z 值派生自门所在级别的 z 值。 如果您正在使用 Indoors 地理数据库,则 z 值将派生自输入门要素值上的 ELEVATION_RELATIVE 字段。

  • 如果多个门廊彼此相邻,则此工具可能会生成单个入口点以表示这些门廊。 如果需要通过每个单独的门廊进行路线选择,请复制并手动定位生成的入口点。

  • 楼层 ID 字段参数值用于确定使用目标入口要素图层中的楼层 ID 值来填充哪个字段。 如果输入楼层要素参数值是楼层感知型图层,则楼层 ID 字段参数将默认为该图层的已配置楼层字段值。 否则,该参数将默认为 LEVEL_ID 字段。

    楼层 ID 字段参数设置的字段必须是数据类型文本,且字段长度必须为 255。

  • 使用类型字段参数值用于确定要使用入口使用类型值为新入口要素填充哪个字段。 默认情况下,该字段将为 USE_TYPE 字段。 如果目标入口要素图层中不存在已定义字段,则系统将创建一个具有您所提供名称的字段,并使用入口使用类型值对其进行填充。

    使用类型字段参数设置的字段必须是数据类型文本,且字段长度必须为 50。

参数

标注说明数据类型
输入楼层要素

输入面要素,表示一个或多个设施点中的一个或多个楼层。 在 Indoors 模型中,此项将为 Levels 图层。 该工具将仅处理这些要素表示的楼层。

Feature Layer
输入单元要素

表示建筑物空间的输入面要素。 在 Indoors 模型中,此项将为 Units 图层。 在标识设施点的外部边时,该工具将使用这些要素。

Feature Layer
输入门要素

表示门的输入折线要素。 在 Indoors 模型中,这将为 Details 图层中的要素子集。 在标识沿设施点外部的入口时,该工具将使用这些要素。

注:

图层必须选择一个或多个门要素才能运行该工具。 可以使用按属性选择图层工具进行选择。

Feature Layer
目标入口

将写入生成的入口点的要素类或要素图层。

Feature Layer
缓冲区大小
(可选)

该工具将从设施点的外部边向内和向外进行搜索以标识潜在入口的距离,以米为单位。 默认值为 0.5,且必须大于 0 且小于 10。

Double
入口使用类型
(可选)

用于计算新入口点的 USE_TYPE 字段的值。 默认值为 Entry。

String
外部单位表达式
(可选)

一个 SQL 表达式,用于定义表示设施点外部空间的输入单元要素值,例如露台或逃生通道。 在入口生成过程中,匹配此表达式的空间将被视为外部。

SQL Expression
删除现有入口
(可选)

指定在创建新的入口点之前,是否将删除 USE_TYPE 字段值匹配入口使用类型参数值的现有入口要素。 在删除现有入口时,该工具将仅标识输入楼层要素参数中包含的楼层上的入口。

  • 选中 - 将删除现有要素。
  • 未选中 - 将不删除现有要素。 这是默认设置。
Boolean
楼层 ID 字段
(可选)

将使用新入口要素的关联楼层 ID 进行更新的字段。 如果输入楼层要素参数值是楼层感知型图层,则此参数将默认为该图层的已配置楼层字段值。 否则,该参数将默认为 LEVEL_ID 字段。 如果目标入口要素图层中不存在已定义字段,则系统将创建一个具有所提供名称的新字段,并使用楼层 ID 字段值对其进行填充。

Field
使用类型字段
(可选)

将使用新入口要素的入口使用类型值进行更新的字段。 其默认设置为 USE_TYPE 字段。 如果目标入口要素图层中不存在已定义字段,则系统将创建一个具有所提供名称的字段,并使用入口使用类型值对其进行填充。

Field

派生输出

标注说明数据类型
已更新的入口

已更新的目标入口要素图层或要素类。

Feature Class

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}, {level_id_field}, {use_type_field})
名称说明数据类型
in_level_features

输入面要素,表示一个或多个设施点中的一个或多个楼层。 在 Indoors 模型中,此项将为 Levels 图层。 该工具将仅处理这些要素表示的楼层。

Feature Layer
in_unit_features

表示建筑物空间的输入面要素。 在 Indoors 模型中,此项将为 Units 图层。 在标识设施点的外部边时,该工具将使用这些要素。

Feature Layer
in_door_features

表示门的输入折线要素。 在 Indoors 模型中,这将为 Details 图层中的要素子集。 在标识沿设施点外部的入口时,该工具将使用这些要素。

注:

图层必须选择一个或多个门要素才能运行该工具。 可以使用按属性选择图层工具进行选择。

Feature Layer
target_entryways

将写入生成的入口点的要素类或要素图层。

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 参数中包含的楼层上的入口。

  • DELETE_FEATURES将删除现有要素。
  • NO_DELETE_FEATURES将不删除现有要素。 这是默认设置。
Boolean
level_id_field
(可选)

将使用新入口要素的关联楼层 ID 进行更新的字段。 如果 in_level_features 参数值是楼层感知型图层,则此参数将默认为该图层的已配置楼层字段值。 否则,该参数将默认为 LEVEL_ID 字段。 如果 target_entryways 要素图层中不存在已定义字段,则系统将创建一个具有所提供名称的字段,并使用楼层 ID 字段值对其进行填充。

Field
use_type_field
(可选)

将使用新入口要素的 entryway_use_type 值进行更新的字段。 其默认设置为 USE_TYPE 字段。 如果 target_entryways 要素图层中不存在已定义字段,则系统将创建一个具有所提供名称的字段,并使用 entryway_use_type 值对其进行填充。

Field

派生输出

名称说明数据类型
updated_entryways

已更新的 target_entryways 要素图层或要素类。

Feature Class

代码示例

GenerateFacilityEntryways 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 GenerateFacilityEntryways 函数。

import arcpy
arcpy.indoors.GenerateFacilityEntryways("C:/Indoors/ExampleCampus.gdb/Indoor/Levels", 
                                        "C:/Indoors/ExampleCampus.gdb/Indoor/Units", 
                                        "DoorDetails", 
                                        "C:/Indoors/ExampleCampus.gdb/Indoor/PointsOfInterest",  
                                        0.25, "Entry", 
                                        "USE_TYPE IN ('Fire Escape', 'Patio')",
                                        "NO_DELETE FEATURES",
                                        "LEVEL_ID", "USE_TYPE")
GenerateFacilityEntryways 示例 2(独立脚本)

以下独立脚本演示了如何使用 GenerateFacilityEntryways 函数。

# Name: Indoors_GenerateFacilityEntryways_example2
# Description: Creates entryway point features for selected door features

import arcpy

in_level_features = "C:/Indoors/ExampleCampus.gdb/Indoor/Levels"
in_unit_features = "C:/Indoors/ExampleCampus.gdb/Indoor/Units"
door_details_feature_class = "C:/Indoors/ExampleCampus.gdb/Indoor/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/Indoor/PointsOfInterest"

buffer_size = 0.5
entryway_use_type = "Entry"
exterior_unit_exp = "USE_TYPE IN ('Fire Escape', 'Patio')"
delete_existing_entryways = "NO_DELETE_FEATURES"
level_id_field = "LEVEL_ID"
use_type_field = "USE_TYPE"


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,
                                        level_id_field,
                                        use_type_field)

环境

此工具不使用任何地理处理环境。

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 需要 Indoors and 3D Analyst

相关主题