创建 Indoors 类别

适用于 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps 扩展模块。

Categories in a map define how users interact with point and polygon data in Indoor Viewer and Indoors mobile apps. 这些图层可以派生自要素图层、web 要素图层和地图影像图层。 These categories can be organized into logical groups to help  Indoors  app users quickly find relevant information, such as a bike rack, elevator, conference room, or work order.

提示:

请规划类别组的结构,使每个组仅包含来自单个地图图层的类别。 使单个类别组中包含来自多个地图图层的类别可能会影响 Indoors 应用程序的搜索和浏览功能的性能和体验。

在创建类别之前,必须通过设置地图的室内图层属性将地图配置为楼层感知型地图

创建 Indoors 类别向导可用于创建类别,以与 Indoor ViewerIndoors for iOSIndoors for Android 应用程序中的要素进行交互。 要为图层创建默认类别,而不是单独创建每个类别,请使用创建默认 Indoors 类别向导

定义类别

此向导由活动地图根据上下文驱动,并使用地图内容中的属性来预填充参数。 在打开向导后更改活动地图将重置向导并删除未完成的类别。

在创建类别时,需要考虑要素的相应类别组。

  1. 启动 ArcGIS Pro
  2. Open or create an ArcGIS Indoors map.
  3. 确保将地图配置为楼层感知型地图
  4. 单击视图选项卡,然后单击 Indoors > 配置 Indoors 类别

    随即显示配置 Indoors 类别窗格。

  5. 在类别视图中,单击创建 Indoors 类别按钮 创建 Indoors 类别

    随即显示创建 Indoors 类别向导。

    定义窗格将列出活动地图中可用的现有点和面要素图层。 可以展开图层以查看这些图层及其符号。

  6. 选择将从其派生新类别项目的图层。

    除非进行更改,否则您正在创建的类别的名称字段将使用您在列表中选择的图层的名称。

    注:

    类别配置将反映所选图层,更改所选图层将重置向导参数。

  7. 您也可以更改类别的名称。

    此名称将在 Indoor ViewerIndoors 移动应用程序的浏览面板中显示为带有图标的类别。 向导将限制使用现有类别名称,以避免在 Indoors web 和移动应用程序中列出重复类别。

  8. 单击类别组下拉箭头,然后选择要关联新类别的组。

    类别组将列出所有现有 Indoors 类别。 可以通过保留默认值来创建独立类别。

  9. 单击下一步

过滤要素的子集

通过应用过滤器表达式,可以将新类别的要素过滤为源图层中的要素子集。 没有表达式的类别将返回源图层中的所有记录。 如果您针对定义窗格中的新类别选择了图层子类型,则向导会自动设置一个表达式。 可以通过以下三种方法来定义或修改现有表达式:

  • 子句模式 - 可以使用 SQL 查询构建器中的下拉菜单来构建查询。
  • SQL 模式 - 如果您熟悉 SQL 表达式,则可以通过语法帮助和自动完成功能在 SQL 编辑器中创建表达式。
    注:

    在继续执行下一步之前,请使用验证选项以确保表达式有效。

  • 添加表达式 - 可以将查询表达式文件(.exp 文件扩展名)中的预定义查询加载到向导中,并根据需要在子句或 SQL 模式下对其进行修改。

Indoors 还包含使用令牌在查询表达式中替换字符串的功能。 可以配置类别以动态过滤应用程序驱动的信息。 可以使用以下语法来定义令牌:

{user.username}

在上一示例中,令牌包含在括号之间。

以下 SQL 编辑器示例显示了 WHERE 子句中使用的令牌:

Field1 = ‘{user.username}’

以下内容标识了 Indoors 支持的 URL 令牌:

名称字符串描述

用户名

user.username

替换字符串中的文本以包含登录用户的 ArcGIS 组织用户名。

此令牌主要在查询表达式中用于构造子类别,这些子类别仅限于与活动用户相关联的项目(例如,分配给活动用户的工作订单)。

其需要 Indoors 应用程序用户登录 ArcGIS 组织。

提示:

使用简单的表达式可定义要包含在类别中的要素,例如 USE_TYPE = 'ENTRYWAY'

将相同的字段用于要分组的所有类别来定义类别。 例如,如果要为地点 + 事物类别组定义类别,所有类别都将引用相同的字段,例如其表达式中的 USE_TYPE

  1. 或者,创建或编辑表达式。
  2. 单击下一步

将字段映射到 Indoors 模型

When configuring categories, you can provide field mapping to define fields in the layer that describe the fields used in the Indoors web and mobile apps. 包括必填的唯一 ID 字段,以及子标题、显示和工单属性的可选字段。 要将地图配置为楼层感知型,在创建类别之前设置地图的室内图层属性

注:

在配置类别之前,如果未将地图配置为楼层感知型,则必须提供相应字段,用于标识要素的关联设施点和关联级别。

需要唯一 ID 字段映射。

需要以下字段映射:

  • 唯一 ID

以下字段映射为可选项:

  • 副标题字段
  • 显示字段(仅适用于 web 图层)
  • 工作订单字段

唯一 ID

某些适用于发布要素图层的系统无法可靠地提供静态对象 ID。 A static unique ID is required to support Indoors. 请将此字段映射到另一个可用字段中表示的唯一 ID。

属性描述

唯一 ID

要素的静态唯一 ID。

Indoors uses the layer’s object ID as the unique ID for a web layer’s features by default. However, this is not always appropriate, as Indoors uses a static unique ID for the features in a web layer that does not change over the lifetime of the feature.

其他属性

以下字段映射为可选项:

属性描述

子标题

Displays subtitles in Indoor Viewer.

显示字段

Displays titles for features in Viewer.

如果要素图层不包含显示字段属性,或者您要覆盖图层的显示字段属性,则为必需项。

工作订单属性

These field mappings are required if you want to use the work order listing capabilities of  Indoors. Omitting these additional field mappings in the category definition for a work order feature layer results in the layer being treated as a traditional web layer in Viewer and  Indoors mobile apps with the traditional explore experience for feature layers.

The following properties are required field mappings to configure work orders as Indoors categories:

属性描述

工单 ID

为每个工作订单定义一个标识号。

标题

工单的简要描述,可以为记录的易读标题。

优先级

解决工作指令时必须采用的顺序或优先级。

该值应为可显示给应用程序用户的优先级的文本描述。

示例 - 严重、高、中

状态

工作指令在其生命周期中的状态或当前位置。

该值应为可显示给应用程序用户的状态的文本描述。

示例 - 规划、已分配

创建日期

工单的创建日期和时间。

创建者

报告工单或受工单影响的用户。

分配给

工单分配给的代理的名称。

字段映射工作流

要添加类别需要的字段映射,请完成以下步骤:

  1. 确保将地图配置为楼层感知型地图
  2. If the source layer does not conform to the Indoors model, map the unique ID field.
  3. 或者,映射其他属性以定义用于 Viewer 中的副标题字段和显示字段。
    如果要配置工单类别,则这是必需的。
    注:

    显示字段映射仅适用于要素图层。 对于独立图层,需要在图层属性中设置显示字段。

  4. 或者,完成工作订单集成的字段映射。
    如果要配置工单类别,则这是必需的。
  5. 单击下一步

示例字段映射

The following table shows an example of attribute mapping for Indoors and ServiceNow work order feature layer integration:

映射属性字段名

工单 ID

编号

标题

short_description

优先级

priority_level

状态

state_label

创建日期

sys_created_on

创建者

called_id_name

分配给

assigned_to_name

指定搜索字段

需要指定搜索字段,才能在 ViewerIndoors 移动应用程序中支持搜索体验。 搜索关键字将与这些字段相匹配。 可以选择一个或多个字段作为默认搜索字段,但至少需要指定一个字段,才能支持搜索功能。

  1. 选择您希望 Indoors 应用程序搜索的字段。
    注:

    Indoors 搜索仅支持文本字段。 某些字段(例如 ObjectIDGlobalID 或不支持的字段)会被限制使用并且不可用。

  2. 单击下一步

指定建议模板

可以配置搜索建议的模板。 该模板通过在键入搜索关键字时,提供可能的匹配项列表来支持 Indoors 搜索功能。

  1. 单击可用字段下拉箭头并选择一个字段。
    注:

    要支持 Indoors 搜索建议功能,至少需要一个字段。 添加新字段会将其附加到现有模板。 该向导将自动构造一个 Indoors 支持的表达式。

  2. 单击添加到模板

    现在,该模板包含一个表达式,该表达式指向源要素类或要素图层中的特定数据值。

    提示:

    该模板同时还是一个表达式编辑器,您可以在其中手动添加或删除字段。 在添加或编辑表达式时,请确保遵循正确的语法。 支持包含空格或文本以形成表达式。

    示例

    "{MODEL} by {MFG}"

    "{MODEL}{MFG}"

    注:

    Indoors 搜索建议仅支持文本字段。 某些字段(例如 ObjectIDGlobalID 或不支持的字段)会被限制使用并且不可用。

  3. 单击下一步

选择图标

您需要为新类别设置图标符号,才能在 Indoor ViewerIndoors 移动应用程序的浏览面板和其他区域中显示。 如果源图层使用单个符号或唯一值渲染器,则将从源图层的符号系统中自动填充用于新类别的图标。 向导会将图标缩放至用于 ViewerIndoors 移动应用程序的相应大小并显示预览。 如果所选图层使用不受支持的符号类型,则向导中的图标将为空,并且您必须手动为所有必需的分辨率添加符号。

注:

建议您使用 SVG 符号,因为其可以缩放至不同的分辨率。 在调整大小或者重新格式化为所需分辨率时,其他矢量符号的质量可能会降低,并且变得模糊或像素化。

  1. 选择图标符号。

    可以通过以下两种方法来替换图标符号:

    • 从文件加载 - 从计算机加载 .png 图标。
      注:

      确保图像大小适合分辨率。

    • 从样式加载 - 加载 ArcGIS Pro 图标。 由此将打开 ArcGIS Pro 库,其中包含导入样式 (.stylx) 和默认符号。 选择后,向导会自动将符号缩放至所需分辨率。

      IndoorsArcGIS Pro 中预先配置了默认符号作为样式文件。 如果默认符号不符合您的要求,则可以修改现有符号集或创建自己的符号。

      设置符号时,选中符号属性中的按比例缩放复选框,以使符号在应用为类别图标时能够正确调整大小和缩放。

      提示:
      • 地图上相应图层的类别图标和符号系统必须一致。 如果不一致,则可能会导致浏览面板以及 Indoors web 和移动应用程序中地图图层中的图标之间出现断开连接的体验。

      • 对于基于面图层的类别,系统将根据图层的符号系统来创建图标。 该图标将在 Indoors 应用程序的浏览面板中使用。
  2. 单击完成以保存类别配置。
    注:

    如果存在无效或缺失参数,则完成选项不可用,并且创建 Indoors 类别向导将在相应导航痕迹周围以红色轮廓来指示包含错误的窗格。 您可以继续在向导中移动以进行更改。