Summary
The GeoTagger Processor can be used to enrich an event record with the name of an area of interest, also known as a geofence, with which the event record's geometry has a spatial relationship with. The processor is unique in that it performs event enrichment and spatial filtering. For example, you can configure the processor to append the names of any geofences an event record's geometry is found to be inside. Event records processed by the GeoTagger Processor will have a field appended to it that contains the names of any geofences in which its geometry is found.
Examples
- The GeoTagger Processor can be used to keep an ongoing record of which city blocks have been patrolled by parking enforcement officers in real-time. As officers patrol different city blocks over the course of a shift, a record can be kept of which blocks have been visited and by which officer.
- The processor can be used to geotag parcels with the names of active wildfires impacting them. As a wildfire grows in surface area, impacted parcels can be geotagged with the name of the wildfire currently impacting them.
- The processor can be used to monitor a hurricane for its impact on affected counties. As the hurricane intersects the counties, the hurricane’s event record can be enriched with a list of geotagged counties impacted.
Usage notes
- Geofences must be imported into GeoEvent Server from a feature service prior to configuring the GeoTagger Processor. For more information about working with geofences in GeoEvent Server, see Managing geofences.
- When configuring a GeoTagger Processor, select a spatial operator to specify the relationship that must be satisfied for the processor to tag an event record. For example, you might want to enrich event records by tagging them with the name of any geofence an event record's polygon intersects.
- The GeoTagger Processor supports a range of spatial operators including Contains Any, Crosses Any, Disjoint Any, Enter Any, Equals Any, Exit Any, Inside Any, Intersects Any, Outside Any, Overlaps Any, Touches Any, and Within Any. The spatial operators assume any geofence being considered, which satisfies the operator's defined spatial relationship, is enough to trigger the GeoTagger Processor to enrich the GeoEvent being processed. For example, if the Intersects Any spatial operator is used, and several dozen geofences modeling non-overlapping areas of interest are being considered, then the name of any geofence whose area intersects a GeoEvent's geometry would be added to that processed GeoEvent.
- When specifying the name of the field containing an event data’s geometry, the GeoTagger Processor will accept either the name of the field or a tag (typically the GEOMETRY tag) applied to a field in the GeoEvent Definition.
- The processor alters the event record’s schema which requires GeoEvent Server to create a new GeoEvent Definition. The new GeoEvent Definition will be managed by GeoEvent Server and deleted if changes are made to the processor or the GeoEvent Service in which the processor is used.
- The processor provides three options for formatting the enriched values. Delimited Value specifies geofence names that should be written as a simple comma-separated list. The other two, Group and List, format the enriched values as a JSON group or as elements in a JSON list.
- The Geometry Field parameter displays the name of every field in all GeoEvent Definition that have a type geometry. When selecting the geometry field by name, it is important to choose the name of the geometry field that corresponds to the event data’s GeoEvent Definition.
Parameters
Parameter | Description |
---|---|
Name | A descriptive name for the processor used for reference in GeoEvent Manager. |
Processor | The name of the selected processor. |
Geofence(s) | The category and name of the geofences available in GeoEvent Server. The geofences are evaluated for their spatial relationship with the inbound event data. The required format is category/name, for example:
Note:Regular expressions can be used for both the category and the name. This is useful when specifying multiple geofence categories and/or names. For example, Weather/.* can be used to evaluate all types of weather events in the weather category for geotagging. The expression .*/.* can be used to evaluate all geofences present in GeoEvent Server regardless of the category or name. |
Spatial Operator | The spatial operator to use for geotagging. The spatial operator defines how geofences are spatially evaluated in relationship to the event data. The default is Contains Any. The available spatial operators include:
|
Geometry Field | The name of the geometry field or the GEOMETRY tagged field in the inbound event data. The processor uses the event data’s geometry to evaluate the spatial relationship with geofences for geotagging. |
Target Field | The target field to write the geotagged value(s). The default is Existing Field.
|
GeoTag Field Name (Conditional) | The name of the new field that stores the geotagged value(s). Property is shown when Target Field is set to New Field and is hidden when set to Existing Field. |
GeoTag Format (Conditional) | The format of the geotagged value(s) in the GeoTag field. Geotagged value(s) can be formatted as a comma-separated list, a JSON group, or as a JSON list. The default is Delimited Value.
Property is shown when Target Field is set to New Field and is hidden when set to Existing Field. |
New GeoEvent Definition Name (Conditional) | The name assigned to the new GeoEvent Definition. The new GeoEvent Definition will combine the schema of the inbound event record with the new GeoTag field containing the geotagged value(s). Property is shown when Target Field is set to New Field and is hidden when set to Existing Field. |
Existing Field Name | The name of the existing field from the event record used to store the geotagged value(s). The existing field must be a string to receive the geotagged value(s). Note:Use the Definition menu to identify the GeoEvent Definition of the inbound event data. Choosing a GeoEvent Definition will limit the available fields to choose from. Use the Field menu to identify the specific name of the existing field where the geotagged value(s) will be stored. |
Include Geofence Category in GeoTag | Specifies whether to include the geofence category in the geotagged value(s). The default is Yes.
|
Considerations and limitations
- It is common to think of a geofence as modeling an area of interest, implying that geofences are always polygon geometries. A geofence could also be a point or polyline geometry, as the list of supported spatial operators implies. A polygon geometry associated with an event record could be tested to see if it intersects, crosses, or contains a geofence whose geometry is a point or polyline.
- Consider the geometry of the geofence(s) and the geometry of the event record when setting the Spatial Operator parameter. Certain spatial operators may be invalid given the type of geometries involved. For example, the Contains Any spatial operator cannot be used if the event record is a point and the geofence is a polygon. A point cannot contain a polygon. For more information on spatial relationships, see Spatial filters.