生成单元开口 (Indoors)

摘要

可将单元开口创建为线要素,从而对入口的位置和物理范围进行建模。

需要表示开口的线要素才能将室内数据导出为室内映射数据格式 (IMDF) 以用于 Apple 室内定位。 该工具将分析输入单元和门要素以标识入口,例如门和旋转门,或者可以平开、滑动或旋转的物理门。 将开口建模为直线可通过避免复杂的门符号系统来简化地图。

使用情况

  • 输入单元要素输入细节要素参数值可以是使用创建室内数据集工具创建的室内数据集中的要素图层或要素类,也可以是使用创建 Indoors 数据库工具创建的 Indoors 地理数据库。

  • 输入单元要素参数值必须是符合 Units 要素类的 ArcGIS Indoors 信息模型(Indoors 模型)的面要素图层或要素类。 这些单元要素用于标识沿其生成开口的边。 通过在输入图层上进行选择或定义查询,可以将开口的生成限制为特定单元。

  • 输入细节要素参数值必须是符合 Details 要素类的 Indoors 模型并且包含建筑细节折线的折线要素图层或要素类。

    注:

    在运行此工具之前,必须使用多部分至单部分工具将包含用于定义入口的门和内墙的多部分细节线分为多部分要素。

    • 可以使用门细节表达式参数来定义相应细节线,这些细节线表示单元上的门开口。 其中包括由单个或多个要素组成的门、穿过开口的直线、表示门平开的曲线、表示旋转门的圆形线以及其他类型的门。 除了输入细节图层上的任何定义查询或选择之外,还将应用此表达式。
    • 可以使用墙壁细节表达式参数来定义相应细节线,这些细节线表示围绕输入单元要素的墙壁。 单元周围可能存在不同类型的墙壁线,例如墙壁、内部墙壁或玻璃墙壁,并且表达式应包含每种类型墙壁要素的条件。
  • 墙壁厚度公差参数可指定工具将从单元要素的边向内和向外搜索以找到输入门要素的距离。 由此该工具可同时检测内开门和外开门,以及与单元不一致的门。

  • 生成的门开口将被写入 Target Openings 图层,其中 USE_TYPE 字段值设置为 Opening

  • 输出开口要素的 z 值源自输入单元要素参数值的 z 值。

参数

标注说明数据类型
输入单元要素

输入面要素,表示一个或多个设施点的单元覆盖区。 在 Indoors 模型中,此项将为 Units 图层。 该工具将仅处理包含所选要素的级别。

Feature Layer
输入细节要素

输入折线要素,表示建筑细节折线。

Feature Layer
门细节表达式

一个 SQL 表达式,用于标识表示门的细节折线。

SQL Expression
墙壁细节表达式

一个 SQL 表达式,用于标识表示墙壁的细节折线。

SQL Expression
Target Openings

将写入生成的折线的现有要素类或要素图层。 在 Indoors 模型中,此项将为 Details 图层。

Feature Layer
墙壁厚度公差
(可选)

将从单元要素的边向内和向外搜索以找到门要素的距离。 默认的测量单位为英尺。 默认值为 2 英尺,但是范围为 0 到 6 英尺。

Linear Unit
删除现有开口
(可选)

指定在创建新的开口要素之前,是否将删除 USE_TYPE 字段值为 Opening 的现有开口要素。 如果删除,则会将现有开口替换为新开口(如果其位于同一位置)。

  • 选中 - 将删除现有开口。
  • 未选中 - 将不删除现有开口。 这是默认设置。
Boolean

派生输出

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

已更新的 Target Openings 要素图层或要素类。

Feature Layer

arcpy.indoors.GenerateUnitOpenings(in_unit_features, in_detail_features, door_detail_expression, wall_detail_expression, target_openings, {wall_thickness_tolerance}, {delete_existing_openings})
名称说明数据类型
in_unit_features

输入面要素,表示一个或多个设施点的单元覆盖区。 在 Indoors 模型中,此项将为 Units 图层。 该工具将仅处理包含所选要素的级别。

Feature Layer
in_detail_features

输入折线要素,表示建筑细节折线。

Feature Layer
door_detail_expression

一个 SQL 表达式,用于标识表示门的细节折线。

SQL Expression
wall_detail_expression

一个 SQL 表达式,用于标识表示墙壁的细节折线。

SQL Expression
target_openings

将写入生成的折线的现有要素类或要素图层。 在 Indoors 模型中,此项将为 Details 图层。

Feature Layer
wall_thickness_tolerance
(可选)

将从单元要素的边向内和向外搜索以找到门要素的距离。 默认的测量单位为英尺。 默认值为 2 英尺,但是范围为 0 到 6 英尺。

Linear Unit
delete_existing_openings
(可选)

指定在创建新的开口要素之前,是否将删除 USE_TYPE 字段值为 Opening 的现有开口要素。 如果删除,则会将现有开口替换为新开口(如果其位于同一位置)。

  • DELETE_EXISTING将删除现有开口。
  • KEEP_EXISTING将不删除现有开口。 这是默认设置。
Boolean

派生输出

名称说明数据类型
updated_openings

已更新的 Target Openings 要素图层或要素类。

Feature Layer

代码示例

GenerateUnitOpenings 示例 1(Python 窗口)

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

import arcpy
arcpy.indoors.GenerateUnitOpenings("C:/Indoors/ExampleCampus.gdb/Indoor/Units", 
                                  "C:/Indoors/ExampleCampus.gdb/Indoor/Details", 
                                  "USE_TYPE IN('Door')",
                                  "USE_TYPE IN ('Wall', 'Interior Wall')",
                                  "2 feet", 
                                  "KEEP_EXISTING")
GenerateUnitOpenings 示例 2(独立脚本)

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

# Name: Indoors_GenerateUnitOpenings_example2.py
# Description: Creates Unit Openings for selected doors features

import arcpy

# Set tool parameters
in_unit_features = "C:/Indoors/ExampleCampus.gdb/Indoor/Units"
in_detail_features = "C:/Indoors/ExampleCampus.gdb/Indoor/Details"


#Define which Details features represent doors and walls
door_detail_expression = "USE_TYPE IN ('Door')"
wall_detail_expression = "USE_TYPE IN ('Wall', 'Interior Wall')"

target_openings = "C:/Indoors/ExampleCampus.gdb/Indoor/Details"
wall_thickness_tolerance = "2 feet"
delete_existing_openings = "KEEP_EXISTING"


# Run the tool
arcpy.indoors.GenerateUnitOpenings(in_unit_features, in_detail_features, door_detail_expression, wall_detail_expression, target_openings, 
					wall_thickness_tolerance, delete_existing_openings)

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 需要 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps

相关主题