适用于具有 Indoors 功能许可的门户。
描述
创建或更新符合 ArcGIS Indoors 信息模型的员工或占用者点数据。
该工具会根据输入建筑空间(单位)生成点要素,然后使用占用者数据丰富这些点。该工具的输出可用于支持 Indoors 制图和路径选择。
使用方法
输入单元要素参数必须是符合 Units 要素类的 Indoors 模型的要素图层或要素类。
输入单元要素必须包括 Units 要素类的 Indoors 模型所描述的 AREA_ID 字段。
输入占用者表参数必须是地理数据库表、Excel 工作簿中的工作表(.xls 或 .xlsx 文件)或逗号分隔文本文件 (.csv)。
输入占用者表必须包含以下字段:
- KNOWNAS - 搜索占用者时最可能使用的名字和姓氏
- EMAIL - 占用者的电子邮件地址
- CONTACT_PHONE - 占用者的电话号码
- CONTACT_EXTENSION - 与占用者关联的邮政编码扩展码(如果适用)
默认情况下,输入单元要素的坐标系将用于占用者要素类参数。可通过“输出坐标系”地理处理环境设置覆盖此设置。
该工具的输出包含 Indoor Space Planner 应用程序使用的以下字段:
- AREA_ID
- ORG_LEVEL_1
- ORG_LEVEL_2
- JOB_TITLE
- START_DATE
警告:
不要将 AREA_ID 字段添加到您的输入表中。该字段由 Indoor Space Planner 应用程式管理。请使用其他字段更新输入表,并提供填充值以提升体验。
在为 Indoor Viewer、ArcGIS Indoors for iOS 或 ArcGIS Indoors for Android 客户端应用程序准备地图时,可在地图 People 图层中使用该工具的输出。
该工具会更新 Space Planner 所使用的输入单元要素属性。如果为某个单元生成了占用者点要素,则该单元的属性将会更新,如下所示:
- ASSIGNMENT_TYPE 设定为 Office。
- AREA_ID 设定为 NULL。
语法
arcpy.indoors.GenerateOccupantFeatures(in_unit_features, unit_id_field, in_occupant_table, occupant_id_field, out_occupant_feature_class)
参数 | 说明 | 数据类型 |
in_unit_features | 输入面要素,表示可能被占用的建筑空间。在 ArcGIS Indoors 信息模型中,此项将为 Units 图层。每个空间的质心将用作一个或多个占用者的点位置。 | Feature Layer |
unit_id_field | 输入单元要素中的字段,将用作主键以将建筑空间与输入占用者表中的记录相关联。 | Field |
in_occupant_table | 包含有关建筑占用者的信息的输入表。 信息可以存储在地理数据库表、Excel 工作簿中的工作表(.xls 或 .xlsx 文件)或 .csv 文件中。 | Table View |
occupant_id_field | 输入占用者表中的字段,将用作主键以将占用者与输入单元要素相关联。 | Field |
out_occupant_feature_class | 通过连接输入单元要素和输入占用者表参数值创建的输出要素类。 | Feature Class |
派生输出
名称 | 说明 | 数据类型 |
updated_unit_feature_class | 已更新的输入单元要素图层。 | 要素类 |
代码示例
以下 Python 窗口脚本演示了如何在即时模式下使用 GenerateOccupantFeatures 函数。在此示例中,输入和输出位于同一地理数据库中。
import arcpy
arcpy.indoors.GenerateOccupantFeatures('C:/Indoors/ExampleCampus.gdb/Indoors/Units',
'UNIT_ID',
'C:/Indoors/ExampleCampus.gdb/EMPLOYEEINFO',
'LOCATION',
'C:/Indoors/ExampleCampus.gdb/Indoors/People')
以下独立脚本演示了如何使用 GenerateOccupantFeatures 函数。
# Name: Indoors_GenerateOccupantFeatures_example2.py
# Description: Imports occupant information from an Excel spreadsheet to a
# points feature class in an Indoors geodatabase.
import arcpy
# Use the Indoors geodatabase's Units feature class as the input unit features
in_unit_features = 'C:/Indoors/ExampleCampus.gdb/Indoors/Units'
# The join will use the NAME field from Units feature class
unit_id_field = 'NAME'
# Use an Excel spreadsheet as the input occupant table
in_occupant_table = r'C:\Indoors\EmployeeInfo.xls\MarketingDept$'
# The spreadsheet's OFFICE column has values that match those in Units' NAME field
occupant_id_field = 'OFFICE'
# Output People Points feature class
out_occupant_feature_class = 'C:/Indoors/ExampleCampus.gdb/Indoors/People'
# Execute GenerateOccupantFeatures
arcpy.indoors.GenerateOccupantFeatures(in_unit_features, unit_id_field,
in_occupant_table, occupant_id_field,
out_occupant_feature_class)
许可信息
- Basic: 否
- Standard: 否
- Advanced: 需要 Indoors