Skip to content
Octo × Web maps PT Request an assessment

Octo for OpenLayers, Leaflet, MapLibre, PMTiles and Martin

One file, one bucket, one map. What goes along in the tile is your call.

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.

On the left, a terminal runs tippecanoe and pmtiles verify; in the center, a PMTiles file with header, directory and tile blocks, from which three byte-range requests come out; on the right, a vector map screen with blocks, streets, a river, incident points and the attribution visible in the corner $ tippecanoe -o base.mbtiles -Z10 -z16 -y inscricao … $ pmtiles convert … base.pmtiles $ pmtiles verify base.pmtiles z16 largest tile 412 KB OK cpf removed from tile ✓ base-2026-10-31.pmtiles header 127 B · v3 root directory tiles z10–z16 · read-only Range: bytes=0-126 → 206 Range: bytes=127-16510 → 206 Range: bytes=8812044-… → 206 FICTITIOUS DATA pothole · open opened on 10/30 © OpenStreetMap contributors
Illustration: from the data to the PMTiles file and the map screen, with visible attribution; fictitious data.
MapLibre GL JS6.16released on Oct 25, 2026, BSD license
OpenLayers10.11released on Oct 4, 2026, BSD-2-Clause
PMTiles specificationv3read via HTTP Range, no map server
Sources11listed at the end of the page
01

What Octo does with web maps and tiles.

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.

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.

Deliverable: tiles + size-per-zoom table

PMTiles on static hosting

Converts, verifies and publishes with a versioned name; checks 206, signature, version 3 and CORS by the response content.

Deliverable: checked file + hosting report

Martin over PostGIS

Publishes only the approved view, with a read-only user and auto-discovery turned off, and measures sample tiles per zoom.

Deliverable: configuration + measured sample

The map page

MapLibre, OpenLayers or Leaflet, depending on projection, source and team; JSON style, click with the public columns and a visible attribution control.

Deliverable: versioned page + style

Your own base map

Measures use of tile.openstreetmap.org against the OSMF policy and proposes a PMTiles extract with ODbL attribution.

Deliverable: extract + license note for the team

What goes inside the tile

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 decide
02

Eight arms, a map checked before it goes public.

The 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.

  1. Discovery

    Maps what already exists

    Libraries and versions in the code, tile sources, use of tile.openstreetmap.org, attributions present or missing.

  2. Data

    Separates stable from live

    Which layer changes every day, which column the map needs, up to which zoom the data holds up.

  3. Security

    Looks at what goes in the tile

    Personal attributes, tables visible to the Martin user, CORS that is too open, an exposed bucket URL.

  4. Architecture

    Chooses the path

    Static PMTiles, live Martin or an OGC server; MapLibre, OpenLayers or Leaflet; maximum zoom and cache.

  5. Development

    Writes the script and page

    Export, tile generation, Martin configuration and the map page, with a dry-run mode and the source of each option noted.

  6. Review

    Checks by content

    206 response, file signature, size per zoom, columns in the tile, visible attribution. Status 200 is not a check.

  7. Release

    Only with your OK

    Upload under a new name and reference swap in the style in the agreed window, with the administrator's approval.

  8. Documentation

    Records what was published

    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.

03

Each task, its own path.

The criteria Octo uses to choose, with the documentation for the installed version.

TaskPathNote
Stable base on the webtippecanoe + PMTiles on static hostingRead-only file; new version, new name
Data that changes all dayMartin over a PostGIS viewRead-only user; auto-discovery turned off
Local projection, WMS and WFSOpenLayersproj4 for SIRGAS 2000 / UTM
Simple map with markersLeaflet 1.92.0 still in pre-release
Vector background with your own styleMapLibre GL JSpmtiles:// protocol
Background for heavy or offline useYour own extract with pmtiles extractDo not seed tile.openstreetmap.org
Check the hostingcurl -r 0-126 + OPTIONSRequire 206 and CORS with Range
Cap tile size--drop-densest-as-needed, -yMeasure in MBTiles before converting
Serve via an OGC standardOGC API – Tiles or WMTS (OGC servers page)When the client requires a standard
04

From the one-off map to a map that updates itself.

Three steps. Each one only makes sense after the previous one has shown results on your team.

A proposal, not a promise

1 Today

Inventory of what is live

Octo lists libraries, tile sources, attributes in the tiles and attributions, without changing anything.

  • Tile sources and OSM use
  • Columns being sent to the browser
  • Questions for the lead
Benefit: know what is exposed before changing anything
2 Next

PMTiles base

Stable layers in a single file, measured per zoom and checked on the hosting.

  • Size per zoom with a verdict
  • Hosting checked
  • Page with visible attribution
Benefit: fewer servers to maintain
3 Later

Update routine

When the data changes, a new file is generated, checked and swapped with a record; what is live goes through Martin.

  • Scheduled and checked regeneration
  • Martin for what changes all day
  • History of versions and approvals
Benefit: an up-to-date map and publishing under control
05

Confirmed in a source.

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.

ConfirmedCurrent versions
OpenLayers v10.11.0 (Oct 4, 2026), MapLibre GL JS v6.16.0 (Oct 25, 2026), Martin v1.16.1 (Sep 9, 2026), go-pmtiles v1.31.2 (Jul 22, 2026), tippecanoe 2.79.0 (Jul 24, 2025).Source: GitHub repository releases, Oct 31, 2026
ConfirmedLeaflet 2.0 is not yet stable
The latest stable is v1.9.4 (May 18, 2023); v2.0.0-alpha.1 (Aug 16, 2025) is marked as a pre-release.Source: Leaflet releases
ConfirmedPMTiles v3 via HTTP Range
The reader fetches only the relevant tile or metadata by range request; the file is read-only.Source: Protomaps documentation
ConfirmedOSM tile policy
Visible attribution, your own User-Agent, no preloading or offline use of tile.openstreetmap.org; blocking without notice.Source: OSMF, tile usage policy
ConfirmedCommand-line options
pmtiles 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 repository
06

What Octo does and what stays with you.

Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

Surveys, calculates, organizes and produces the documents: spreadsheets, reports, maps and drafts.

Deliverable: material ready to check

Your team checks

The 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 signer

The signer

Octo 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 survey
07

Sources.

Repositories, project documentation and the OSMF policy, consulted on Oct 31, 2026.

Your map on the web, checked by what it delivers.

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.