Vector tiles with tippecanoe
Exports only the approved columns with ogr2ogr, generates tiles by layer and zoom and measures the size of each zoom in the intermediate MBTiles.
Octo for OpenLayers, Leaflet, MapLibre, PMTiles and Martin
With tippecanoe, PMTiles and MapLibre GL JS, an entire web map fits in a file read in chunks (HTTP Range) directly from static hosting; when the data changes all day, Martin serves PostGIS live. Octo generates tiles with only the approved columns, measures the size per zoom, checks the hosting by content and builds the page with visible attribution. What goes public and the credit for each source stay with the data owner and the administrator.
Six possible deliverables, taken from the survey. All of them start by reading what exists without changing anything, and all go through the lead before going public.
Exports only the approved columns with ogr2ogr, generates tiles by layer and zoom and measures the size of each zoom in the intermediate MBTiles.
Converts, verifies and publishes with a versioned name; checks 206, signature, version 3 and CORS by the response content.
Publishes only the approved view, with a read-only user and auto-discovery turned off, and measures sample tiles per zoom.
Deliverable: configuration + measured sampleMapLibre, OpenLayers or Leaflet, depending on projection, source and team; JSON style, click with the public columns and a visible attribution control.
Deliverable: versioned page + styleMeasures use of tile.openstreetmap.org against the OSMF policy and proposes a PMTiles extract with ODbL attribution.
Reads each layer's attributes in tiles already published and flags personal data that went along without appearing in the style.
Deliverable: list for the data protection officer to decideThe same Octo cycle, applied to the web map. Each arm has a narrow role; people decide what goes out, how the credit appears and when to publish.
Libraries and versions in the code, tile sources, use of tile.openstreetmap.org, attributions present or missing.
Which layer changes every day, which column the map needs, up to which zoom the data holds up.
Personal attributes, tables visible to the Martin user, CORS that is too open, an exposed bucket URL.
Static PMTiles, live Martin or an OGC server; MapLibre, OpenLayers or Leaflet; maximum zoom and cache.
Export, tile generation, Martin configuration and the map page, with a dry-run mode and the source of each option noted.
206 response, file signature, size per zoom, columns in the tile, visible attribution. Status 200 is not a check.
Upload under a new name and reference swap in the style in the agreed window, with the administrator's approval.
Version of each file, columns that went out, sources and attributions, and who approved.
Octo works with read access and as support. It does not publish, change the version in production or choose attributes that go public without approval.
The criteria Octo uses to choose, with the documentation for the installed version.
| Task | Path | Note |
|---|---|---|
| Stable base on the web | tippecanoe + PMTiles on static hosting | Read-only file; new version, new name |
| Data that changes all day | Martin over a PostGIS view | Read-only user; auto-discovery turned off |
| Local projection, WMS and WFS | OpenLayers | proj4 for SIRGAS 2000 / UTM |
| Simple map with markers | Leaflet 1.9 | 2.0 still in pre-release |
| Vector background with your own style | MapLibre GL JS | pmtiles:// protocol |
| Background for heavy or offline use | Your own extract with pmtiles extract | Do not seed tile.openstreetmap.org |
| Check the hosting | curl -r 0-126 + OPTIONS | Require 206 and CORS with Range |
| Cap tile size | --drop-densest-as-needed, -y | Measure in MBTiles before converting |
| Serve via an OGC standard | OGC API – Tiles or WMTS (OGC servers page) | When the client requires a standard |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo lists libraries, tile sources, attributes in the tiles and attributions, without changing anything.
Stable layers in a single file, measured per zoom and checked on the hosting.
When the data changes, a new file is generated, checked and swapped with a record; what is live goes through Martin.
Each point below has a source published by the project or by the organization responsible for the standard. The sources are in the next section.
5
points with a published source, each with its reference shown alongside.
tile.openstreetmap.org; blocking without notice.Source: OSMF, tile usage policypmtiles extract clips by --bbox or --region and zoom, from a clustered source; in Martin, auto_publish: false turns off discovery and martin cp writes only MBTiles; tippecanoe caps a tile at 500K compressed and 200,000 features.Source: pmtiles CLI and Martin documentation and the tippecanoe repositoryOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by the signerOcto does not sign. Projects, technical reports, ART/RRT, accountability reports and any official document are still signed by the company's or agency's licensed professional: here, the technical lead for the map or the survey.
Signature: technical lead for the map or surveyRepositories, project documentation and the OSMF policy, consulted on Oct 31, 2026.
The assessment starts with an inventory of what your web map loads: tile sources, attributes that reach the browser and attributions. You get the list of what is exposed and the decisions only your team makes, and you decide with it in hand.