etter: Natural language location

etter is a new open‑source #Python package that turns natural language location queries into GeoJSON geometries, focusing purely on the spatial component of the query. It supports multilingual input, a range of spatial relations, and integrates with common geodata sources and #LLMs. #NLP
Author
Published

May 6, 2026

On the heels of yesterday’s post about vague or fuzzy geography comes a new package in the same vein: etter is a Python package for (per its tagline) “transform[ing] natural language location queries into structured geographic filters — multilingual, streaming-ready, LLM-agnostic”. etter focuses exclusively on extracting and handling the spatial part of a natural language query and returns a suitable GeoJSON geometry for that; the calling application has to deal with the remaining parts — see the below diagram.

Sequence diagram of parsing a natural language query with support from etter (source: etter)

etter supports 15 (mostly) a priori qualitative spatial relations that are then operationalised using crisp quantitative values (where applicable): 8 directions, containment, and:

Note that while the package deals with mostly qualitative spatial relations, at least for now, it outputs crisp geometries. It could be interesting to incorporate some of the vague geography concepts from yesterday’s post into the approach.

Example of the on_shores_of relation for Lake Morat (source: etter)

etter currently connects to SwissNames3D (for Switzerland), IGN BD-CARTO (for France), and PostGIS (if you want to plug in your own data) as sources for the geographic referent, and can use OpenAI, Anthropic, or any local LLM through LangChain.

The package was sponsored by camptocamp and is open-source under the BSD-3-Clause license. The announcement has more details.