Skip to content

vector-map-kit

The fixed files the offline browser map needs, from their publishers, pinned

What it does

Installs, under /usr/local/share/hammunition/data/vector-map-kit/, the fixed files the offline browser map needs besides your regions: tilemaker's OpenMapTiles profile (config and Lua) and the four Natural Earth layers it names (ocean, urban areas, glaciers, Antarctic ice shelves), which osm-pmtiles reads when it builds each region's vector tiles; and the OSM Bright style with its sprite and three Noto fonts, MapLibre GL JS and pmtiles.js, which hammunition reference serve hands to the browser to draw them. About 79 MB downloaded, most of it tilemaker's whole tarball, of which only the profile, the style and the three fonts are kept; about 45 MB installed.

Why you would want it

None of it is in any distribution's archive (tilemaker's own package ships no profile, and no archive carries MapLibre), and the style as tilemaker ships it loads its library and sprite from the internet. Pinned here, the map draws with the network off. It is what a browser map of your own regions needs, the alternative to an online tile service.

Before it will work

Nothing. It installs with osm-pmtiles in the navigation profile.

How it installs

  • data (Several, each the publisher's: FTWPL (tilemaker's profile); CC-BY-4.0 (the OSM Bright design and the OpenMapTiles schema, which require the visible credit "© OpenMapTiles © OpenStreetMap contributors" that the page draws); BSD-3-Clause (OSM Bright's code, MapLibre GL JS, pmtiles.js); OFL-1.1 (the Noto fonts, kept under KlokanTech's names as their README asks); public domain (Natural Earth), https://github.com/openmaptiles/osm-bright-gl-style/blob/master/LICENSE.md): https://deb.debian.org/debian/pool/main/t/tilemaker/tilemaker_3.0.0.orig.tar.gz (43,679,032 bytes), https://github.com/maplibre/maplibre-gl-js/releases/download/v6.11.2/dist.zip (3,271,366 bytes), https://registry.npmjs.org/pmtiles/-/pmtiles-4.5.0.tgz (96,124 bytes), https://raw.githubusercontent.com/openmaptiles/osm-bright-gl-style/286b174adbd6e8693887841d6cfdf7445cd5f8c0/sprite.png (30,851 bytes), https://raw.githubusercontent.com/openmaptiles/osm-bright-gl-style/286b174adbd6e8693887841d6cfdf7445cd5f8c0/sprite.json (15,604 bytes), https://raw.githubusercontent.com/openmaptiles/osm-bright-gl-style/286b174adbd6e8693887841d6cfdf7445cd5f8c0/sprite@2x.png (68,139 bytes), https://raw.githubusercontent.com/openmaptiles/osm-bright-gl-style/286b174adbd6e8693887841d6cfdf7445cd5f8c0/sprite@2x.json (15,666 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_ocean.shp (7,176,064 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_ocean.shx (108 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_ocean.dbf (138 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_ocean.prj (145 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_cultural/ne_10m_urban_areas.shp (19,119,748 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_cultural/ne_10m_urban_areas.shx (95,124 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_cultural/ne_10m_urban_areas.dbf (950,401 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_cultural/ne_10m_urban_areas.prj (147 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_glaciated_areas.shp (3,938,340 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_glaciated_areas.shx (15,188 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_glaciated_areas.dbf (300,067 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_glaciated_areas.prj (143 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_antarctic_ice_shelves_polys.shp (364,308 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_antarctic_ice_shelves_polys.shx (1,372 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_antarctic_ice_shelves_polys.dbf (28,336 bytes), https://raw.githubusercontent.com/nvkelso/natural-earth-vector/f1890d9f152c896d250a77557a5751a93d494776/10m_physical/ne_10m_antarctic_ice_shelves_polys.prj (143 bytes)

Known problems

The ocean is Natural Earth's 1:10m polygon, about 1 km of accuracy: at street zoom a coast can sit a little off OpenStreetMap's own shoreline. The accurate water polygons (906 MB, osmdata.openstreetmap.de) are rebuilt daily with no checksum, so they cannot be pinned, and are not carried. Only Latin, Greek and Cyrillic glyphs are carried (the three KlokanTech Noto Sans faces); the CJK faces are another 64 MB and are left out, so labels in Chinese, Japanese or Korean script do not draw. On a release whose tilemaker is older than 3.0 (Ubuntu 24.04 and those built on it), navigation defers osm-pmtiles but still installs this kit, so the page opens and says no maps are installed; hammunition uninstall vector-map-kit takes it back out.

Keeping it current

  • probe: none
  • strategy: reinstall
  • Each file is pinned to a release, a tag's commit or a pool file. A new MapLibre or pmtiles release, a tilemaker the archive moves to, or a new Natural Earth tag is a manifest change: download the file once, hash it, compare with the publisher's own digest where there is one (GitHub's asset digest, npm's integrity), and bump url, sha256 and size together. A new tilemaker profile changes the tiles, so CONVERTER in backends/pmtiles.py is bumped with it and every region is rebuilt.

Where to get help with the software itself

Each project's own tracker: tilemaker (https://github.com/systemed/tilemaker/issues), OSM Bright (https://github.com/openmaptiles/osm-bright-gl-style/issues), MapLibre GL JS (https://github.com/maplibre/maplibre-gl-js/issues), pmtiles (https://github.com/protomaps/PMTiles/issues), Natural Earth (https://github.com/nvkelso/natural-earth-vector/issues).

Source: catalog/packages/vector-map-kit.yaml