GeoEvent 定义用于定义事件记录的方案。 在 GeoEvent 服务中的过滤器和处理器之间路由的事件记录具有特定数据类型的属性,如日期、字符串、整型或几何。 属性字段名称及其数据类型在 GeoEvent 定义中指定。 要查看 GeoEvent 定义,请在 ArcGIS GeoEvent Manager 中单击站点 > GeoEvent > GeoEvent 定义。

GeoEvent 定义简介
配置输入连接器时,必须指定 GeoEvent 定义,输入可以使用该定义来调整从传感器接收的原始数据。 输入可将数据格式调整为 JSON、XML 或分隔文本以创建事件记录。 同样,输出连接器使用 GeoEvent 定义从已处理的事件记录中提取数据,并对其进行格式化以供传播。
GeoEvent 定义可由用户创建并编辑。 某些输入连接器可以基于它们在所接收的数据中发现的数据来创建事件定义。 管理员导入事件定义来支持某些操作,比如更新已发布要素服务中的要素记录。
注:
将随 GeoEvent Server 安装两个 GeoEvent 定义,incident 和 TrackGap。 这些 GeoEvent 定义只能查看和复制,而不能删除和编辑。 事件检测器处理器和追踪间距检测器处理器使用这些 GeoEvent 定义。
GeoEvent Server 入门教程中包含练习,这些练习将演示如何创建 GeoEvent 定义、输入连接器如何根据其接收的数据构建 GeoEvent 定义以及如何导入来自发布的要素服务的 GeoEvent 定义。 您可以通过 GeoEvent Server 教程访问该教程。
GeoEvent 定义字段数据类型
GeoEvent 定义中包含的每个字段均具有关联的字段数据类型。 在输入连接器根据流事件数据构建事件记录时,或在通过输出连接器发送事件记录前解构事件记录时,将使用此字段数据类型。
可用字段数据类型如下:
- 布尔
- 日期
- 双精度
- 浮点型
- 几何
- 分组
- 整型
- 长整型
- 短整型
- 字符串
字段基数
某些基于事件的数据流可定义一种单个字段具有多个条目(如数组)的方案。 在 GeoEvent 定义中,这些字段被表示为基数大于一的字段。 字段基数是一种高级功能,用于在发现上述情况时为数据流提供支持。 管理员可在 GeoEvent Manager 中配置 GeoEvent 定义的基数,方法是将字段基数由一更改为多。
字段组
某些数据源可定义这样一种方案,其中单个字段不是离散数据类型(如日期、字符串和整型),而是包含多个数据值类型的组。 在 GeoEvent 定义中,这些字段被表示为组。 组中每个字段的离散数据类型列在字段组名称下。
字段组支持是另一种高级功能,用于在发现上述情况时为数据源提供支持。 组字段数据类型可以包括嵌套组,允许创建复杂结构。
在 GeoEvent Manager 中,将 GeoEvent 定义的字段配置为组字段的方法是将字段类型更改为组。
注:
并非所有的输出连接器都支持字段包含多个基数或组结构的事件数据。 例如,当使用添加要素输出连接器或更新要素输出连接器时,必须使用字段映射器处理器使事件数据结构变平,以使其与要素服务图层期望的方案匹配。 另一个示例是,当使用将要素发送到流服务输出连接器时,应将事件数据结构变平,以使从流图层中生成的要素弹出窗口显示简单的文本值而不是等级 JSON。
字段名称限制
GeoEvent 定义中的属性字段名称不能包含以下任意字符:$ . [ ] ? * < > ! = { } % ( )。 字段名称虽然不受限制,但也不应使用通常被识别为算术或逻辑运算符的元字符,例如加 (+)、减 (-)、乘 (*)、除 (/)、逻辑 AND (&&)、逻辑 OR (||) 以及空格。
最佳做法是从字段名称中删除所有非字母数字或下划线的字符。 有关详细信息,请参阅字段命名原则,以及 Esri 技术 支持 文章 ArcGIS 中的字段名称和表名称中不能使用什么字符。
如果存在不建议在 GeoEvent 定义的属性字段名称中使用的元字符,请在事件处理工作流中尽早使用字段映射器处理器重新映射事件记录的方案,以解决字段命名限制。