comaps-maps¶
CoMaps' own map files for your map regions, checked against CoMaps' index
- Version recorded: station
- Categories:
navigation-maps - Upstream: https://www.comaps.app/
What it does¶
Downloads CoMaps' own map files (.mwm) for the map regions in station config from CoMaps' CDN, checks each against CoMaps' index, and keeps them under /usr/local/share/hammunition/data/comaps-maps/, one directory per map version. A US state is one to a dozen files, tens to a few hundred megabytes; all of the US is 15.7 GB. Each file carries the map, its search index (addresses, places, postcodes) and its routing data. hammunition maps comaps links them where CoMaps looks.
Why you would want it¶
CoMaps reads its own format and nothing else, so this is how its search and routing work offline. The files are the ones the CoMaps phone app downloads, so the laptop and a phone can carry the same maps.
Before it will work¶
Map regions set in station config with Geofabrik's region paths, for example hammunition station set --map-regions north-america/us/vermont. With none set this unit is deferred by name.
How it installs¶
- CoMaps' own maps for the regions in station config, each checked by the SHA-1 and size in
catalog/data/comaps-pins.yaml(ODbL-1.0, https://www.openstreetmap.org/copyright)
Known problems¶
The check is the SHA-1 and size in CoMaps' own index at the pinned commit ("SHA-1 and size from CoMaps' own map index at the pinned commit (the publisher's check)"); there is no signature and no sha256 from CoMaps. The size is compared exactly, because CoMaps' mirrors answer a missing file with 200 and a web page. Every map not yet installed is asked for with a HEAD before the plan prints, so an expired pin refuses the plan before anything is changed. A Geofabrik region CoMaps names differently (Geofabrik's europe/germany/bayern is CoMaps' "Free State of Bavaria") has no row in the region table; the plan names it and fetches nothing for it. The table covers 262 of the 532 Geofabrik regions Hammunition carries lists of: the 50 US states and DC, Canada's provinces and territories but Newfoundland and Labrador (CoMaps splits it in two), and 165 of the 197 country-level regions. Not covered, among others: China, Russia and its districts, Ireland and Northern Ireland, Israel and Palestine, the Democratic Republic of the Congo and Ivory Coast, which CoMaps names or groups differently. CoMaps' own grouping also brings along what it files with a country (the UK's row includes British Indian Ocean Territory), a small extra download. A LAN mirror set with station set --mirror is asked first, checked the same way. The maps are OpenStreetMap data under the ODbL: anything you publish from them must credit OpenStreetMap's contributors. US address-search quality has not been measured.
Keeping it current¶
- probe: comaps maps
- strategy: reinstall
- The maps are the version the
comapspin's index names. CoMaps' CDN keeps a version for months, not forever:update --upstreamsays "pin expiring" from 90 days after the version's date and "pin expired" once the CDN stops serving it; then movecomapsto a newer tag and regenerate the pins with scripts/gen_comaps_pins.py.
Where to get help with the software itself¶
CoMaps' Codeberg issue tracker (https://codeberg.org/comaps/comaps/issues) for the maps and the app; OpenStreetMap itself for the data.