| Ocalt Query Language
Pricing Dashboard ocalt.com v1.0

Maps & Geocoding

Render interactive maps, geocode addresses, reverse geocode coordinates, search for places, and calculate routes — all without an API key. Powered by OpenStreetMap Nominatim and OSRM. Each request uses a randomised IP identity — no rate limiting, no queuing.

VerbDescription
MAP RENDER ?points SET ?urlRender an interactive Leaflet map — returns a temporary URL
MAP RENDER ?points WITH 13 SET ?urlWITH sets the zoom level (1–19, default 13 for single point)
MAP PIN ?point AS "Label"Add a labelled pin to the map
MAP GEOCODE "address" SET ?coordsAddress to {lat, lon, display_name}
MAP REVERSE "lat,lon" SET ?addressCoordinates to address
MAP SEARCH "query" SET ?placesPOI search — returns array of places
MAP ROUTE "from" TO "to" SET ?routeDriving route — returns distance and duration
MAP DISTANCE "lat1,lon1" TO "lat2,lon2" SET ?kmHaversine distance in kilometres
MAP CLUSTER ?places SET ?clustersGroup nearby points — returns cluster array
MAP BOUNDS ?places SET ?boundsBounding box around a set of points
MAP STYLE ?map WITH "preset"Apply tile preset: satellite, toner, watercolor

Render a map

MAP GEOCODE "Cape Town, South Africa" SET ?pt AFTER MAP RENDER ?pt SET ?url AFTER EMIT ?url
Try it ›

Multi-pin map from database

QUERY "stores" FROM "shop" SET ?rows AFTER MAP RENDER ?rows SET ?url AFTER EMIT ?url (* rows must have lat and lon (or lng) fields *)

Geocode — address to coordinates

MAP GEOCODE "10 Downing Street, London" SET ?loc AFTER EMIT ?loc(lat) & ", " & ?loc(lon) AFTER EMIT ?loc(display_name)
Try it ›

Reverse geocode

MAP REVERSE "-33.9249,18.4241" SET ?addr AFTER EMIT ?addr(display_name)
Try it ›

Route

MAP ROUTE "Cape Town" TO "Johannesburg" SET ?r AFTER EMIT ?r(distance_km) & " km — " & ?r(duration_min) & " min"
Try it ›

Distance

MAP DISTANCE "-33.9249,18.4241" TO "-26.2041,28.0473" SET ?km AFTER EMIT ?km & " km (Haversine)"
Try it ›