What is a GeoEvent Definition?
Event data in GeoEvent Server has an associated schema that identifies the attribute fields and data types (date, string, integer, and so forth) for the event's data. This schema is referred to as a GeoEvent Definition. View GeoEvent Definitions by browsing to Site > GeoEvent > GeoEvent Definitions in GeoEvent Manager.
Two GeoEvent Definitions, incident and TrackGap, are included with GeoEvent Server. These GeoEvent Definitions can only be viewed or copied, they cannot be deleted or edited; the Incident Detector Processor and Track Gap Detector Processor use these GeoEvent Definitions.
A GeoEvent Definition consistent with the data in an event stream must exist in order for an input connector to construct a GeoEvent from the events coming in. Similarly, a GeoEvent Definition consistent with the schema of a designated output must exist in order for an output connector to construct a GeoEvent and send the event data.
GeoEvent Definitions can be created and edited by users. Some input connectors are able to create event definitions based on data they discover in the events received. Administrators import event definitions to support operations such as updating published feature services. This means the list of known GeoEvent Definitions frequently changes.
The Introduction to GeoEvent Server tutorial contains exercises illustrating how to create a GeoEvent Definition, how an input connector builds a GeoEvent Definition from data it receives, and how to import a GeoEvent Definition from a published feature service. Access the tutorial from GeoEvent Server tutorials.
GeoEvent Definition field data types
Each field contained in a GeoEvent Definition has an associated data type. This data type is used when input connectors construct a GeoEvent from streaming data or GeoEvents are deconstructed prior to sending a GeoEvent through an output connector.
The available data field types are as follows:
- Group *
* See the Field groups section below for more information.
Some event-based data streams define schemas in which a single field has multiple entries, like an array. These fields are represented in GeoEvent Definitions as fields with a cardinality greater than one. Field cardinality is an advanced feature meant to support data streams in which this condition is found.
Administrators can configure a GeoEvent Definition's cardinality in GeoEvent Manager by changing the cardinality of a field from One to Many.
Some data streams define schemas in which a single field is not a discrete data type (for example, date, string, and integer) but is instead a group containing multiple types of data values. These fields are represented in GeoEvent Definitions as Groups. The discrete data types of each field within a group will be found indented beneath the field group's name.
Support for field groups is another advanced feature meant to support data streams in which this condition is found. A group field type can contain nested groups, enabling complex structures to be created.
Configure a GeoEvent Definition's field to be a group field in GeoEvent Manager by changing the type of field to Group.
Not all output connectors support event data whose fields contain multi-cardinal or group structures. For example, when using either the Add a Feature Output Connector or the Update a Feature Output Connector, you must use a Field Mapper Processor to flatten an event's data structure to match the schema expected by a feature service's layer. Another example is when using the Send Features to a Stream Service Output Connector, the event's data structure should be flattened so feature pop-ups generated from a stream layer displays simple text values rather than hierarchical JSON.