Skip To Content

GeoTagger Processor

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 processor will emit an event record for each event record it receives. When an event record's geometry satisfies the spatial relationship the processor is evaluating, the name(s) of relevant geofences are written to the specified target field. If an event record's geometry does not satisfy the spatial relationship the processor is evaluating for any identified geofence, a null value will be appended to the GeoTag field value.
  • 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

ParameterDescription

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, specified as a pair of regular expression patterns.

For example:

  • Storms/HurricaneJohnDoe
  • FlightZones/Zone_A
Nota:

Regular expressions are used for both the category and the name. For example, Weather/.* is used to include all geofences in the Weather category for geotagging. The expression .*/.* is used to evaluate all geofences registered with GeoEvent Server regardless of the category or name. Remember, regular expression pattern matches are case-sensitive.

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:

  • Contains Any
  • Crosses Any
  • Disjoint Any
  • Enter Any
  • Equals Any
  • Exit Any
  • Inside Any
  • Intersects Any
  • Outside Any
  • Overlaps Any
  • Touches Any
  • Within Any

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.

  • New Field—Geotagged value(s) will be written to a new field. Altering an event record’s schema by adding a new field requires a new GeoEvent Definition.
  • Existing Field—Geotagged value(s) will be written to an existing field in the processed event record. The existing field must be a string to receive the geotagged value(s).
Nota:

When the processor is configured to write to a new field, data written to the specified field can be formatted as either delimited values or as a JSON Group or JSON List. When configured to write to an existing field, the names of the geofences which satisfy the spatial relationship the processor is evaluating are appended to the existing field's value as delimited text. The option to enrich the processed event record with geofence names formatted as a JSON Group or JSON List is not supported when writing to an 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.

  • Delimited Value—Geotagged value(s) will be formatted and stored as a comma-separated list.
    • For example: “UnitedStates/California,Counties/San_Bernardino”
  • Group—Geotagged value(s) will be formatted and stored as elements in a JSON group.
    • For example: [{"Category":"UnitedStates","Name":"California"},{"Category":"Counties","Name":"San_Bernardino"}]
  • List—Geotagged value(s) will be formatted and stored as a JSON list.
    • For example: ["UnitedStates/California","Counties/San_Bernardino"]

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

(Conditional)

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).

Nota:

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.

Property is shown when Target Field is set to Existing Field and is hidden when set to New Field.

Include Geofence Category in GeoTag

Specifies whether to include the geofence category in the geotagged value(s). The default is Yes.

  • Yes—The geofence category will be included in the geotagged value(s).
    • For example: Counties/San_Bernardino
  • No—The geofence category will not be included in the geotagged value(s). Only the geofence name will be geotagged.
    • For example: San_Bernardino

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.