OpenStreetMap logo OpenStreetMap

dpschep's Diary

Recent diary entries

🚀 [Re]Introducing Ultra v3 (née Overpass Ultra)

Posted by dpschep on 9 November 2024 in English. Last updated on 25 January 2025.

In January, I introduced Overpass Ultra v2 and then in June I provided some updates. Today I’m excited to share that Overpass Ultra is now simply Ultra(v3) as it has evolved beyond simply being an Overpass client into a general purpose MapLibre GL JS IDE.

Since my last update, the following features have been implemented, culminating in the release & announcement of Ultra:

  • More extensive documentation
  • The concept of query providers
  • Auto-sorting of paint and layout layer styling directives
  • Fallback glyphs
  • Bundled icons as named sprite sheets
  • HTMLControl to add custom controls, including titles to a map

📘 Documentation

At the end of June, I announced overpass-ultra.us/docs on Mastodon. In addition to basic documentation about Ultra, it includes many Examples which are focused more on Ultra’s capabilities than the specifics of quering Overpass as there are already many resources for how to do that. It also includes a MapLibre Examples section which includes ports of many MapLibre GL JS Examples to help demonstrate Ultra’s capabilities as a MapLibre IDE rather than as an Overpass client.

⚙️ Query Providers

If you’ve kept a keen eye on the afforementioned docs, you’ll have noticed that you can specify the query provider with the type key in the YAML frontmatter

Ultra’s Overpass API support is now merely one of many query providers that are supported. Ultra now implements query providers for the following:

📄 JSON & XML GIS file formats

The geojson, kml, gpx, and tcx providers all work by simply specifying the contents of a document or the URL to a document as the query body.

For example, an in-line GeoJSON query doc (Load query in Ultra)

See full entry

Some Overpass Ultra Updates

Posted by dpschep on 14 June 2024 in English. Last updated on 15 June 2024.

In January, I introduced Overpass Ultra v2. Today, I’m pleased to announce some updates to further improve Overpass Ultra’s customization capabilities, enabling you to make custom maps like this one:

Screenshot of a map of gardens in Richmond, Va made with Overpass Ultra

Loading queries from URLs & Gists

In order to facilitate sharing updatable overpass queries&maps, Overpass Ultra is now able to load queries from a URL or Github Gist.

To use this feature, specify either query=url:... or query=gist:... in the hash parameters. For example to load a Gist:

https://overpass-ultra.us/#query=gist:02ab2139d146dd2ee0306a38d96a9c9d

or to load that same Gist with the more flexible (but more verbose when using Gists) url: option:

https://overpass-ultra.us/#query=url:https://gist.githubusercontent.com/dschep/02ab2139d146dd2ee0306a38d96a9c9d/raw/8d4b0d38eac64e8dbd772284d4cc094708cd3b26/gistfile1.txt

Improved configurability for the Overpass Ultra “interactive map” view

The YAML-frontmatter options key

See full entry

Introducing Overpass Ultra v2

Posted by dpschep on 15 January 2024 in English.

A bit more than a year ago I built the first version of Overpass Ultra. It was an experiment in making an Overpass client similar to overpass turbo but powered by MapLibre GL JS in order take advantage of its excellent support for large GeoJSON sources and vector styling capabilities.

Today, I’m excited to announce version 2 of Overpass Ultra which features a number of improvements over the first version, including the following:

  • A new URL: overpass-ultra.us
  • Configuration of the style & Overpass API server via YAML Frontmatter
  • Simplified styling of the results with a partial MapLibre style
  • Customization of the detail popups
  • lz-string compressed queries in share URLs
  • The ability to share the result as an interactive map without the “IDE” UI (not just hidden like in v1)
  • A handy menu with MapLibre styles that work with Overpass Ultra

Here’s a screenshot demonstrating a styled query:

YAML frontmatter

See full entry