生成室内网络要素 (Indoors)

摘要

在一个或多个设施点的所选楼层生成室内通道和楼层过渡。 该工具可在一次工具运行中为室内可路由网络生成水平路径和垂直楼层过渡。

使用情况

  • 输入楼层要素参数值必须是符合 Levels 要素类的 ArcGIS Indoors 信息模型的要素图层或要素类。

    • 要为特定设施点或级别生成路径,在运行该工具之前,请使用按属性选择图层工具来选择相应的级别要素。
    • 如果某一要素类或要素图层未选中任何要素,则该工具将为所有要素生成路径。

  • 输入单元要素参数必须是符合 Units 要素类的 Indoors 模型的要素图层或要素类。

  • 输入障碍物要素参数值必须是一个要素图层或要素类,用于表示会阻碍通道生成的不可穿越要素,例如墙壁、窗户和柱子。

    • 此参数使用的输入必须包含 LEVEL_ID 字段,或者是已配置为楼层感知的地图图层。
    • 可选的障碍物表达式参数可用于配置 SQL 表达式,该表达式定义来自输入障碍物要素参数值的要素子集,以选择定义阻碍通道生成的障碍(例如墙壁、窗户或柱子)的属性值。

  • 目标室内路径参数值必须是符合 Pathways 要素类的 Indoors 模型的要素图层或要素类。

    • 如果目标室内路径参数值包含输入楼层要素参数值定义的现有楼层路径,则该工具将覆盖现有路径。
  • 可选的目标楼层过渡参数值必须是符合 Transitions 要素类的 Indoors 模型的要素图层或要素类。 如果此参数未提供目标过渡图层,则该工具将仅创建水平路径要素。

    • 如果该图层提供的目标楼层过渡参数值包含输入楼层要素参数值定义的现有楼层过渡,则该工具将覆盖现有路径。
    • 该工具创建的过渡要素的折点将被捕捉到路径要素以确保网络连通。
    • 输入楼层要素中必须包含至少两个楼层要素才能创建过渡。
    • 如果提供了过渡,则必须为楼梯单元表达式参数、电梯表达式参数或两者提供一个值。
  • 路径生成方法参数为工具如何创​​建路径要素提供了以下选项:

    • 通用循环网络 - 将使用通用循环网络算法创建水平路径,该算法更接近步行模式,非常适合不主要由 90 度角或一致旋转组成的建筑物。 如果提供了输入过渡,那么也会创建过渡要素。
    • 仅过渡 - 如果您有现有路径,则可以使用此选项在楼层之间创建垂直过渡并将其捕捉到现有路径。
  • 可选的可路由位置参数值必须是一个点要素图层或要素类,用于表示除单元质心之外还将生成路径的兴趣点。 如果没有提供可路由的位置,该工具将仅生成到单元质心的路径。

  • 可选的障碍物缓冲区参数用于定义在定义路径时在障碍物周围创建多少缓冲区。 使用障碍物缓冲区时请考虑以下事项:

    • 障碍物缓冲区越低,创建的通道要素就越靠近障碍物(例如井)。
    • 障碍物缓冲区的最大宽度应为最窄入口宽度的一半,以确保单元之间的通道连通性。
    • 如果可路由位置位于缓冲区内,则该工具将不会路由到这些位置。

  • 可选的电梯延迟参数用于定义电梯在楼层之间过渡时等待的时间(以秒为单位)。

  • 搜索半径参数用于定位在路径生成期间应该与任何给定的可路由位置具有路径连接的附近可路由位置。 定义搜索半径时请考虑以下事项:

    • 增加搜索半径会生成更多路径。
    • 对于较大的开放空间或长走廊,使用较大的搜索半径可以确保通道的连通性。
    • 较大的搜索半径可能会导致工具运行时间更长。

  • 此工具支持并行处理因子环境。 如果未设置环境,则默认值为可用核心的 50%。 如果环境已设置为 100,则将启用完全并行处理,同时该工具尝试将工作分配给计算机上的所有逻辑内核。 将环境设置为 0 将禁用并行处理。 在 1 到 99 之间指定一个因子时,工具将通过应用公式(并行处理因子 / 100 * 逻辑内核数)确定要使用的逻辑内核的百分比,其结果将向上舍入到最近的整数值。 如果此公式的结果是 0 或 1,则将不启用并行处理。

参数

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

包含楼层要素的要素类或图层。 在 Indoors 模型中,此项将为 Levels 图层。 该工具支持应用于图层的选择和定义查询。

Feature Layer
输入单元要素

包含单元要素的要素类或图层。 在 Indoors 模型中,此项将为 Units 图层。

Feature Layer
输入障碍物要素

包含表示不可穿越要素(例如墙壁、窗户和柱子)的折线要素的要素类或图层。 障碍物要素图层必须包含一个 LEVEL_ID 字段或在地图中定义为楼层感知。

Feature Layer
目标室內路径

将创建生成的路径要素的要素类或要素图层。 在 Indoors 模型中,此项将为 Pathways 图层。

Feature Layer
目标室内过渡
(可选)

将创建生成过渡要素(表示楼层之间的垂直过渡,例如楼梯和电梯)的要素类或要素图层。 在 Indoors 模型中,此项将为 Transitions 图层。

Feature Layer
障碍物表达式
(可选)

一个 SQL 表达式,定义输入障碍物要素参数中的哪些要素子集是路径不应穿越的障碍物。 这包括墙壁、窗户和柱子等要素。

SQL Expression
可路由位置
(可选)

应生成路径的其他位置。 此参数接受点要素图层作为输入。

Feature Layer
路径生成方法
(可选)

指定用于生成室内路径的方法。

  • 通用循环网络将使用通用循环网络算法创建水平路径,该算法更接近步行模式。 该方法非常适合不主要由 90 度角或一致旋转组成的建筑物。 如果提供了输入过渡,那么也会创建过渡要素。
  • 仅过渡如果您有现有路径,则可以使用此选项在楼层之间创建垂直过渡并将其捕捉到现有路径。
String
楼梯单元表达式
(可选)

SQL 表达式将定义输入单元图层中表示基于台阶的过渡(例如楼梯和自动扶梯)的要素。

SQL Expression
电梯表达式
(可选)

SQL 表达式将定义输入单元图层中表示基于提升的过渡(例如电梯)的要素。

SQL Expression
电梯延迟
(可选)

电梯乘客预期等待进入和离开电梯所花费时间的平均值,以秒为单位。 使用此参数可以改善路径选择和过渡时间计算。

该值必须等于或大于零。

Double
障碍物缓冲区
(可选)

将应用于定义为障碍的障碍物要素的缓冲区距离。

Linear Unit
搜索半径
(可选)

从任意给定点搜索可路由位置的距离。 提供更大的半径将导致生成更多的路径。 大空间和长走廊需要更大的搜索半径来生成路径。

Linear Unit

派生输出

标注说明数据类型
已更新的路径

已更新的目标室内路径图层。

Feature Layer
更新的目标过渡

已更新的目标室内过渡图层。

Feature Layer

arcpy.indoors.GenerateIndoorNetworkFeatures(in_level_features, in_unit_features, in_obstacle_features, target_indoor_pathways, {target_floor_transitions}, {obstacle_expression}, {routable_locations}, {generation_method}, {stairway_unit_exp}, {elevator_unit_exp}, {elevator_delay}, {obstacle_buffer}, {search_radius})
名称说明数据类型
in_level_features

包含楼层要素的要素类或图层。 在 Indoors 模型中,此项将为 Levels 图层。 该工具支持应用于图层的选择和定义查询。

Feature Layer
in_unit_features

包含单元要素的要素类或图层。 在 Indoors 模型中,此项将为 Units 图层。

Feature Layer
in_obstacle_features

包含表示不可穿越要素(例如墙壁、窗户和柱子)的折线要素的要素类或图层。 障碍物要素图层必须包含一个 LEVEL_ID 字段或在地图中定义为楼层感知。

Feature Layer
target_indoor_pathways

将创建生成的路径要素的要素类或要素图层。 在 Indoors 模型中,此项将为 Pathways 图层。

Feature Layer
target_floor_transitions
(可选)

将创建生成过渡要素(表示楼层之间的垂直过渡,例如楼梯和电梯)的要素类或要素图层。 在 Indoors 模型中,此项将为 Transitions 图层。

Feature Layer
obstacle_expression
(可选)

一个 SQL 表达式,定义 in_obstacle_features 参数中的哪些要素子集是路径不应穿越的障碍物。 这包括墙壁、窗户和柱子等要素。

SQL Expression
routable_locations
[routable_locations,...]
(可选)

应生成路径的其他位置。 此参数接受点要素图层作为输入。

Feature Layer
generation_method
(可选)

指定用于生成室内路径的方法。

  • UCN将使用通用循环网络算法创建水平路径,该算法更接近步行模式。 该方法非常适合不主要由 90 度角或一致旋转组成的建筑物。 如果提供了输入过渡,那么也会创建过渡要素。
  • TRANSITIONS_ONLY如果您有现有路径,则可以使用此选项在楼层之间创建垂直过渡并将其捕捉到现有路径。
String
stairway_unit_exp
(可选)

SQL 表达式将定义输入单元图层中表示基于台阶的过渡(例如楼梯和自动扶梯)的要素。

SQL Expression
elevator_unit_exp
(可选)

SQL 表达式将定义输入单元图层中表示基于提升的过渡(例如电梯)的要素。

SQL Expression
elevator_delay
(可选)

电梯乘客预期等待进入和离开电梯所花费时间的平均值,以秒为单位。 使用此参数可以改善路径选择和过渡时间计算。

该值必须等于或大于零。

Double
obstacle_buffer
(可选)

将应用于定义为障碍的障碍物要素的缓冲区距离。

Linear Unit
search_radius
(可选)

从任意给定点搜索可路由位置的距离。 提供更大的半径将导致生成更多的路径。 大空间和长走廊需要更大的搜索半径来生成路径。

Linear Unit

派生输出

名称说明数据类型
updated_pathways

更新的 target_indoor_pathways 图层。

Feature Layer
updated_transitions

更新的 target_floor_transitions 图层。

Feature Layer

代码示例

GenerateIndoorNetworkFeatures 示例(Python 窗口)

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

import arcpy
arcpy.indoors.GenerateIndoorNetworkFeatures(r"C:\Indoors.gdb\Indoors\Levels",
                                 r"C:\Indoors.gdb\Indoors\Units",
                                 r"C:\Indoors.gdb\Indoors\Details",
                                 r"C:\Indoors.gdb\Network\Pathways",
                                 r"C:\Indoors.gdb\Network\Transitions",
                                 "USE_TYPE = 'Interior Wall'", "Occupants", 
                                 r"C:\Data.gdb\RoutableLocationPoints",
                                 "UCN",
                                 "USE_TYPE = 'Stairway'", "USE_TYPE = 'Elevator'", "",
                                 '0.5 Meters', '5 Meters'
                                 )
GenerateIndoorNetworkFeatures 示例 2(独立脚本)

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

#Name: Indoors_GenerateIndoorNetworkFeatures_example2.py
#Description: Generates indoor pathways on selected levels in one or more facilities.

import arcpy

# Set Local Variables
in_level_features=r"C:\data\Indoors.gdb\Indoors\Levels",
in_unit_features=r"C:\data\Indoors.gdb\Indoors\Units",
in_obstacle_features=r"C:\data\Indoors.gdb\Indoors\Details",
target_indoor_pathways=r"C:\data\Indoors.gdb\Network\Pathways",
target_transitions=r"C:\data\Indoors.gdb\Network\Transitions",
obstacle_expression="USE_TYPE = 'Interior Wall'",
routable_locations="Occupants",
generation_method="UCN"
stairway_unit_exp="USE_TYPE = 'Stairway'",
elevator_unit_exp="USE_TYPE = 'Elevator'",
elevator_delay="15"
obstacle_buffer="0.4 Meters",
search_radius="10 Meters"

#Call the function
arcpy.indoors.GenerateIndoorNetworkFeatures(
    in_level_features,
    in_unit_features,
    in_obstacle_features,
    target_indoor_pathways,
    target_floor_transitions,
    obstacle_expression,
    routable_locations,
    generation_method,
    stairway_unit_exp,
    elevator_unit_exp,
    elevator_delay,
    obstacle_buffer,
    search_radius,
)

许可信息

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

相关主题