Linked Protomaps

Welcome to the experimental Linked Data wrapper for the Protomaps basemap: OpenStreetMap data cut into Web-Mercator tiles, served per tile as Linked Data and as a picture. The data is © OpenStreetMap contributors under the Open Database License. Each build is one dated PMTiles archive from build.protomaps.com, pinned: a URI here always means the same bytes.

Resources

The map is cut into square tiles, as on any web map: at zoom level z the world is 2z × 2z tiles, numbered x from west to east and y from north to south. At zoom 15 a tile in Germany is about 600 m across. A build is one dated copy of the map, named by its date.

20261102/15/17017/10978 — one tile
Build 20261102, zoom 15, x 17017, y 10978: the tile around Cologne cathedral, as Turtle, N-Triples or a 256 px picture. Zoom goes from 0 to 18. Protomaps' data stops at zoom 15; a tile at 16, 17 or 18 shows the same data as its zoom-15 tile, cut to the smaller square (e.g. 17/68069/43913, the cathedral and the station), and its picture shows more points of interest. The RDF lists the map features the tile's picture shows (each building, road, river, park, shop with an icon …), cut at the tile's edge, with its properties and its outline as WKT in longitude/latitude.
20261102 — the build
Where the build's archive is, its date, the checksum Protomaps publish for it (BLAKE3) and the basemap version.
tile?s=20261102&layer=light&z=15&x=17017&y=10978
The same picture, addressed the way the other wrappers address their tiles; as SVG: tile.svg?s=… (also tile.png, tile.ttl, tile.nt).
feature?bbox=W,S,E,N — the features of a box
The features of every tile the box touches (at &zoom=, default 15, at most 16 tiles), cut to the box, each keeping its tile's name; &typenames=pois,roads.major_road keeps some classes only. As feature.ttl, feature.nt, feature.json (GeoJSON), or the box as a picture: feature.png, feature.svg.
viewer — the map
Pan and zoom over the pictures; the features they are drawn from show on hover and can be clicked.
vocab — what the features are
Protomaps sorts the map into ten layers (roads, buildings, water, landuse, pois for points of interest, …) and, within each, into kinds: a road is a highway, major_road, minor_road, path or rail; a point of interest a cafe, pharmacy, bench and so on. Each layer and each kind is a class in one document, vocab: vocab#roads is a road, vocab#roads.major_road a major road. The layer is part of a kind's name because some kinds occur in several layers (landuse.park is a park's area, pois.park its point). Every feature is a vocab#Feature and is typed with its kind.
/index
This wrapper as an agent (index#protomapswrap), its build, and the builds it serves.
/status
The builds served and whether their archives answer, as JSON (the default) or status.ttl.
/routes
Every route of this wrapper, its formats and its parameters, read off the deployment itself (routes.json, routes.ttl).

Pictures

Each tile is drawn at 256 px, as PNG or SVG (the same drawing), after the basemap's "light" style: areas, water, buildings, roads, rail, boundaries, and icons for points of interest. No text labels. A point of interest is drawn from the zoom Protomaps give it (min_zoom): at zoom 15 a station or a museum, most shops and cafés from 16, benches from 17; an icon that would cover another is left out. At zoom 18 every feature is drawn: points of interest without an icon (trees, street lamps, …) and icons without room as dots, address points as small grey dots, places as rings, areas and lines the style leaves out faintly. The RDF and GeoJSON of a tile list what its picture shows, and only that.

Licence

Data © OpenStreetMap contributors, under the Open Database License; basemap © Protomaps. Icons: Mapzen (MIT) and Protomaps, see icons/LICENSE in the source. Limit without an API key (Authorization: Bearer): 2000 pictures and 50 other requests per 10 minutes per client.