Monday, September 22, 2025

Making Maps Easy with Ultra

Ultra describes itself as “a web application made to simplify making maps with MapLibre GL JS using data from various file/query types.” In essence, it is a tool for turning geospatial data from OSM, CSVs, or GeoJSON into interactive maps using simple YAML “recipes” to define data sources, styling, and popups.

Using Ultra, it is possible to visualize geospatial data from multiple sources, including the Overpass API (OpenStreetMap), CSV/Google Sheets, and GeoJSON. Unlike traditional Overpass queries, which only fetch raw OSM data, Overpass-Ultra provides a flexible interface for styling, filtering, and interacting with map features.

YAML

In Ultra, YAML (Yet Another Markup Language) is used as a map recipe to tell the application what to map, how to style it, and how users can interact with it. This approach makes it easy to turn geospatial datasets into interactive, shareable maps without writing custom code.

Ultra uses YAML to define:

  • Data sources - URLs for Overpass queries, CSV files, or other datasets.
  • Map options - initial zoom, center coordinates, and controls like geolocation.
  • Styling layers - how points, lines, and polygons are rendered (circles, icons, arrows).
  • Popups - HTML templates for what appears when a feature is clicked, including images, text, and links.

Examples

If this all sounds a little confusing, it can help to start with some practical examples. Explore these maps, inspect their YAML “recipes,” and see if you can adapt them:
  • London Artworks - adjust the center coordinates to map pictures of artworks in your town
  • Vintage Photos of Richmond, VA - the YAML loads data from a Google Sheet - inspect the linked CSV to see how the data is structured and loaded
  • UK Castles - loads castle data from a GeoJSON file
(click 'Run' in Ultra to view these maps!)

No comments: