将要素导入室内数据集 (Indoors)

摘要

接受代表楼层平面图元素(如墙壁、门和窗户)的折线要素作为输入,并使用它们在符合 ArcGIS Indoors 信息模型Indoors 工作空间中生成要素。 此工具的输出可用于创建地板感知型地图。

使用情况

  • 您可以将此工具作为更大工作流程的一部分,将从点云数据生成的楼层平面图折线导入Indoors 工作空间。

  • 输入折线要素参数值必须是启用了 z 值的折线要素类或图层,且已定义水平坐标系。 例如,您可以使用从点云生成楼层平面图工具的输出作为此工具的输入。 输入折线应表示内部空间的边界,例如墙壁、窗户和门。

  • 输入折线要素将用于在目标 Indoors 工作空间中创建要素,包括单元、楼层、设施点以及可选的细节。

  • 该工具每次导入一个设施点的一个楼层的数据。

  • 目标设施点要素目标楼层要素目标单元要素目标细节要素参数选择的图层必须全部来自同一 Indoors 工作空间。 这可以是地理数据库或要素服务。

  • 设施点名称楼层名称垂直顺序参数提供的值将用于填充 Facilities 和 Levels 图层中的属性。

  • Levels、Units 和 Details 图层的 z 值将由输入折线要素的 z 值填充。 设施点轮廓线要素的 z 值被指定为 0。

    注:
    所有输入折线要素必须具有相同的 z 值。 如果输入折线图层包含来自多个楼层的要素,请在图层上进行选择,以便所有输入要素都位于同一海拔高度。
  • 此工具不支持允许地理处理工具覆盖现有数据集选项。 如果运行该工具时目标要素图层中存在数据,则将根据目标图层的类型执行以下操作:

    • Details - 与工具中指定的楼层相关的现有要素将被删除并重新导入。 与其他楼层相关的现有要素将被保留。
    • Units - 与工具中指定的楼层相关的现有要素将被删除并重新导入。 与其他楼层相关的现有要素将被保留。
    • Levels - 如果 Indoors 工作空间中存在具有相同关联设施点、楼层名称和垂直顺序的楼层要素,则会对其进行更新以包含正在导入的新单元的几何形状。 如果现有楼层要素与其他设施点相关联,或与同一设施点相关联但具有不同楼层名称和垂直顺序值,则该要素将被保留。
    • Facilities - 如果 Indoors 工作空间中存在具有指定设施点名称的要素,则会对其进行更新以包含正在导入的新楼层的几何图形。

  • 间隙容差参数可用于设置输入要素悬空端点的邻近捕捉容差。 这有助于减少不完整单元或未使用的线段的数量。 默认值为 0.039 国际英寸(1 毫米)。

    注:

    增加间隙容差会暂时增加工具处理过程中的 XY 公差,这可能会导致导入几何图形时的精度降低。 增加间隙容差参数时,运行该工具后验证导入几何体的准确性。

参数

标注说明数据类型
输入折线要素

包含将导入到 Indoors 工作空间的单元边界数据的输入折线要素图层或要素类。

Feature Layer
目标设施点要素

将使用导入的要素进行更新的 Indoors 工作空间中的 Facilities 要素图层或要素类。

Feature Layer
目标楼层要素

将使用导入的要素进行更新的 Indoors 工作空间中的 Levels 要素图层或要素类。

Feature Layer
目标单元要素

将使用导入的要素进行更新的 Indoors 工作空间中的 Units 要素图层或要素类。

Feature Layer
设施点名称

将导入要素的设施点的名称。

可以从目标 Facilities 图层中选择现有的设施点名称,或者提供新的设施点名称。

String
楼层名称

要创建的楼层要素类的名称。

可以从目标 Levels 图层中选择一个现有值,或者提供一个新值。

String
垂直顺序

表示每个楼层的垂直顺序的序数整数。 一楼的垂直顺序为零 (0)。 对于一楼之上的楼层,垂直顺序值为正;对于一楼之下的楼层,则为负。

Long
目标细节要素
(可选)

将导入要素的 Indoors 工作空间中的 Details 要素图层或要素类。

Feature Layer
间隙容差
(可选)

将被捕捉到一起的输入要素的悬空端点的邻近容差。 以毫米或国际英寸为单位提供值。 默认值为 0.039 国际英寸。

Linear Unit
最小单元宽度
(可选)

在目标单元图层中,必须将面创建为一个单元的最小宽度。 以平方米或平方国际英尺为单位提供值。 默认值为 3 国际英尺。

Linear Unit
最小单元面积
(可选)

在目标单元图层中,必须将面创建为一个单元的最小面积。 以平方米或平方国际英尺为单位提供值。 默认值为 9 平方英尺。

Areal Unit

派生输出

标注说明数据类型
更新的 Details

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

Feature Layer
更新的 Units

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

Feature Layer
更新的 Levels

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

Feature Layer
更新的 Facilities

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

Feature Layer

arcpy.indoors.ImportFeaturesToIndoorDataset(in_features, target_facility_features, target_level_features, target_unit_features, facility_name, level_name, vertical_order, {target_detail_features}, {input_gap_tolerance}, {input_unit_minimum_width}, {input_unit_minimum_area})
名称说明数据类型
in_features

包含将导入到 Indoors 工作空间的单元边界数据的输入折线要素图层或要素类。

Feature Layer
target_facility_features

将使用导入的要素进行更新的 Indoors 工作空间中的 Facilities 要素图层或要素类。

Feature Layer
target_level_features

将使用导入的要素进行更新的 Indoors 工作空间中的 Levels 要素图层或要素类。

Feature Layer
target_unit_features

将使用导入的要素进行更新的 Indoors 工作空间中的 Units 要素图层或要素类。

Feature Layer
facility_name

将导入要素的设施点的名称。

可以从目标 Facilities 图层中选择现有的设施点名称,或者提供新的设施点名称。

String
level_name

要创建的楼层要素类的名称。

可以从目标 Levels 图层中选择一个现有值,或者提供一个新值。

String
vertical_order

表示每个楼层的垂直顺序的序数整数。 一楼的垂直顺序为零 (0)。 对于一楼之上的楼层,垂直顺序值为正;对于一楼之下的楼层,则为负。

Long
target_detail_features
(可选)

将导入要素的 Indoors 工作空间中的 Details 要素图层或要素类。

Feature Layer
input_gap_tolerance
(可选)

将被捕捉到一起的输入要素的悬空端点的邻近容差。 以毫米或国际英寸为单位提供值。 默认值为 0.039 国际英寸。

Linear Unit
input_unit_minimum_width
(可选)

在目标单元图层中,必须将面创建为一个单元的最小宽度。 以平方米或平方国际英尺为单位提供值。 默认值为 3 国际英尺。

Linear Unit
input_unit_minimum_area
(可选)

在目标单元图层中,必须将面创建为一个单元的最小面积。 以平方米或平方国际英尺为单位提供值。 默认值为 9 平方英尺。

Areal Unit

派生输出

名称说明数据类型
updated_details

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

Feature Layer
updated_units

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

Feature Layer
updated_levels

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

Feature Layer
updated_facilities

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

Feature Layer

代码示例

ImportFeaturesToIndoorDataset 示例 1(Python 窗口)

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

import arcpy
ImportFeaturesToIndoorDataset('C:/Data/InputData.gdb/Input_PolyLines', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                              'Facility 1', 'ground_floor', '0', 
                              'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                               "", "", "")
ImportFeaturesToIndoorDataset 示例 2(Python 窗口)

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

#Name: Indoors_ImportFeaturesToIndoorDataset_example2.py
#Description: Imports polyline floor plan features into the Units layer of an Indoors dataset.

import arcpy

# Set input and target feature classes
in_features=r"C:\Data\InputData.gdb\Input_PolyLines",
target_unit_features=r"C:\data\Indoors.gdb\Indoor\Units",
target_facility_features=r"C:\data\Indoors.gdb\Indoor\Facilities",
target_level_features=r"C:\data\Indoors.gdb\Indoor\Levels",
target_detail_features=r"C:\data\Indoors.gdb\Indoor\Details",

# Set facility and level metadata
facility_name = "Facility 1"
level_name = "Level 3"
vertical_order = "2"

# Set tolerances

input_gap_tolerance="5 Millimeters",
min_unit_width="1.5 Meters",
min_unit_area="2 SquareMeters"

# Call the function
arcpy.indoors.ImportFeaturesToIndoorDataset(in_features, 
                                            target_facility_features, 
                                            target_level_features, 
                                            target_unit_features, 
                                            facility_name,
                                            level_name,
                                            vertical_order,
                                            target_detail_features,
                                            input_gap_tolerance, 
                                            min_unit_width, 
                                            min_unit_area)

环境

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

许可信息

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

相关主题