Skip to main content
Version: 0.13.0

Geospatial

Lucenia treats location as a first-class part of search rather than a plugin bolted onto it. This page is the entry point: geospatial capability is documented alongside the mechanism it belongs to — a field type, a query, an aggregation, a processor — and this page collects it in one place so you do not have to know which of those you need before you can find it.

If you are new here, the three things worth knowing:

  • Shapes, not just points. Polygons, lines, circles and ellipses are indexed and queried directly, in geographic (geo_*) or cartesian (xy_*) coordinates.
  • Roads, not just straight lines. Road routing answers "within ten minutes' drive", which a radius cannot.
  • Rendering where the data is. Vector tiles are produced in the cluster, and OGC API - Features serves the features behind them, so a map needs no service in between.

Store a location

Field typeUse it for
geo_pointA latitude/longitude point.
geo_shapeA geographic shape — polygon, line, multi-geometry, envelope.
xy_pointA cartesian point, for projected or non-earth coordinates.
xy_shapeA cartesian shape.
graph_edgeOne edge of a network — a road segment, with a numeric cost field.

See also geographic field types and cartesian field types.

Search by location

QueryAnswers
geo_bounding_boxWhich documents fall inside this box?
Geographic queriesShape relations — intersects, within, contains, disjoint — and distance.
Cartesian queriesThe same relations in projected or non-earth space.
road_distanceWhat is within a travel-time budget by road, rather than as the crow flies?

Summarize by location

AggregationProduces
geohash_gridBuckets on a geohash grid.
geotile_gridBuckets on map tile boundaries — the natural fit for rendering.
geohex_gridBuckets on an H3 hexagonal grid.
geo_distanceBuckets by distance ring from an origin.
geo_boundsThe bounding box enclosing the matched documents.
convex_hullThe smallest convex region containing everything matched — where the data reaches.
contourWhere the data is concentrated, as percent-volume contours or value isobands.
geo_lineThe path a bucket of points traces when placed in order — a track, a route, a profile.

Route and traverse a network

Road routing and network traversal covers the graph_edge field type as a weighted network: building the routing accelerator with _graph/build, finding the cheapest path with _route, filtering by travel time with road_distance, and watching what the structures cost with _graph/stats.

The same field type also backs concept vocabularies, where edges carry no weights — see Concept expansion and vocabularies.

Transform geometry at ingest

ProcessorDoes
circlePolygonizes a circle — geofences, broadcast radii, catchments.
ellipsePolygonizes an ellipse — directional or asymmetric coverage.
reprojectionReprojects geometry from one CRS to another at index time.
image_tilingTiles imagery with spatial indexing.
vectorizeTurns a categorical raster — land cover, cloud mask, flood extent — into indexable geometry, with no model or GPU.
image_segmentSegments imagery with a model and indexes each region as a shape, georeferenced into the raster's CRS.
ip2geoResolves an IP address to a location.

At search time, the reprojection search processor reprojects requests and responses, so clients can work in their own coordinate system.

Draw a map

Vector tilesGET|POST /{index}/_mvt/{field}/{z}/{x}/{y} returns a Mapbox Vector Tile of whatever the query matched, so a map client points straight at the cluster with no tile service in between. Aggregation results and graph edges come back as their own layers.

Let a GIS client read the index

OGC API - Features serves indices as feature collections over plain HTTP and GeoJSON, so QGIS, ArcGIS Pro, OpenLayers and GDAL/OGR connect to the cluster directly. Where vector tiles draw the map, this serves the features behind it — a click can open a record.

Geospatial AI

Geospatial intelligence covers GeoTIFF extraction, spatial reprojection, and spatially-aware image tiling as part of the AI retrieval pipeline.