Back to the website
OPEN GEOGRAPHIC INTELLIGENCE INFRASTRUCTURE

emap/labs measures what AI knows about place.

Versioned urban datasets, bilingual geographic search, a production semantic service and a reproducible benchmark. The goal is not to answer every time: it is to answer with evidence and abstain when evidence is missing.

22geographic layers
27,515indexed places
139ES / EU cases
54strict held-out cases

ARCHITECTURE

Data before models.

Every result follows a traceable chain. Visual clients and agents reuse the same domain logic.

01

Sources

OpenStreetMap, Open Data Euskadi and official GTFS with licence and date.

02

Catalogue

Reproducible pipelines, schemas, quality, coverage and freshness.

03

Hybrid retriever

High-precision keywords; e5-large only when semantics are needed; structured geo search.

04

Service

FastAPI on a VPS, explanations, reranking, rate limits and attribution.

05

Consumers

Web, mobile app, API and five MCP tools on one source of truth.

ES / EU BENCHMARK

Held-out decides.

The golden corpus evaluates hit@1, attributes, radius and abstention. The 54 held-out cases never select descriptions or thresholds.

Retrieverdev ESheld-out ESdev EUheld-out EU
baseline · keywords + geo74%60%71%62%
hybrid · MiniLM-L1280%60%76%66%
hybrid · mpnet-base79%64%73%66%
hybrid · multilingual-e5-large76%73%71%71%

Production · multilingual-e5-large · 1,024 dimensions · τ 0.80 · tie 0.01 · v2 evaluation dated 5 August 2026.

Measured abstention

19 answerable:false cases penalise a system that invents a category.

Validated Basque

Queries were checked with Itzuli; parity is measured, not assumed.

Two stages

Semantic category classification followed by geographic attribute and distance search.

Reproducible result

Every run records model, τ, tie-window, split and metrics in versioned JSON.

Read the full benchmark

PRODUCTION

A small, explicit, measurable service.

The service loads layers in memory and exposes search, hike planning, accessibility, isochrones, freshness and data quality. e5-large runs on CPU through ONNX; keywords avoid semantic work when it is unnecessary.

92 mse5-large median
178 mse5-large p95
2.1 GBmodel on disk
57 msmeasured Jina reranker

DATASETS

Urban infrastructure, not personal profiles.

Release v0.2 contains 22 layers and 27,515 POIs. The hiking vertical crosses 2,825 peaks with 9 networks: 1,700 have a stop within 2 km as the crow flies; the real walking route is computed separately.

Fountains · toilets · AEDs · pharmacies
Bike parking · car parks · EV charging
Beaches · nature · peaks · shelters
Metro · Euskotren · rail · bus
Libraries · sport · accommodation
Neighbourhoods and infrastructure coverage

MCP FOR AGENTS

Five tools, narrow contracts.

The server is registered as io.github.r3tr0eth/emap and runs over stdio or Streamable HTTP. Every response keeps attribution and the do not pretend principle.

search_places

ES / EU search with geographic context and abstention.

nearby_pois

Nearby services by layer, distance and source.

explain_place

Municipality, neighbourhood and verifiable facts around a point.

plan_route

Transit, walk, bike and car routes through owned OSRM / OTP.

plan_hike

Peak, access, stop, outward and return journey when verifiable.

Connect MCP

ETHICS AND SCALE

Describe places without ranking people.

Labs has a hard rule: infrastructure, never people. It never ingests crime, income, demographics, origin or social proxies. Uneven OSM coverage is declared; neighbourhood indices identify service deficits rather than labelling places good or bad.