Skip to main content

Module geospatial

Module geospatial 

Source
Expand description

Geospatial query support for AllSource events

Enables spatial filtering of events based on coordinates stored in event metadata or payload. Supports:

  • Bounding box queries: Find events within a rectangular region
  • Radius queries: Find events within a distance of a point (haversine)
  • Geospatial indexing: In-memory spatial index using grid cells for O(1) lookups

§Coordinate extraction

Coordinates are extracted from events by checking (in order):

  1. metadata.location.lat / metadata.location.lng
  2. metadata.lat / metadata.lng
  3. payload.location.lat / payload.location.lng
  4. payload.lat / payload.lng
  5. metadata.latitude / metadata.longitude
  6. payload.latitude / payload.longitude

§Limitations

  • Grid-based spatial index (not R-tree) — adequate for moderate datasets
  • Haversine assumes spherical Earth (max ~0.3% error vs ellipsoidal)
  • Events without coordinates are silently excluded from spatial queries

Structs§

BoundingBox
Bounding box for rectangular queries
Coordinate
A geographic coordinate
GeoEventResult
A geo-enriched event result
GeoIndex
In-memory geospatial index using grid cells
GeoIndexStats
Geo index statistics
GeoQueryRequest
Geospatial query request
RadiusQuery
Radius query parameters

Functions§

execute_geo_query
Execute a geospatial query against events using the geo index
extract_coordinates
Extract coordinates from an event’s metadata or payload
haversine_distance
Haversine distance between two coordinates in kilometers