714795d52b2436e2fd458ee9d5daa38393ed0f37
No custom Planetiler profile needed after all — Maptool::HikingTrails runs osmium tags-filter r/route=hiking against the same .osm.pbf PmtilesBuilder already downloads per country for offline.pmtiles, then osmium cat -f opl (locations_on_ways=true) to get member-way geometry back as plain text, no separate node-id lookup table to build. No general OSM tool stitches a route relation into one line (routes are a semantic grouping, not a geometry type) — parse_opl does that walk itself, same as the Overpass-based click handler already does client-side. Kept pure/testable apart from the two osmium subprocess calls, mirroring OverpassPois.fetch vs .to_geojson. rake hiking:trails[pbf,out] to try it by hand against a real cached extract. Not wired into the actual offline build or rendering yet — still just a prototype, per TODO.adoc.
MapTool
Table of Contents
A mapping application written in Ruby with Sinatra.
The project’s shape is still open — this is the initial scaffold.
Status
Early scaffold. The web application serves a vector map (MapLibre GL JS), with an online style and an optional offline style backed by a local PMTiles file, an animated RainViewer radar overlay, GPX upload/display (points and tracks, organized in folders), and a live position marker from a local GNSS receiver via gpsd.
Requirements
-
Ruby (see
.ruby-version) and Bundler
Getting started
bundle install
bundle exec puma -C config/puma.rb
Then open http://127.0.0.1:4567 in a browser.
Languages
JavaScript
48.7%
Ruby
43.6%
CSS
6%
HTML
1.2%
Dockerfile
0.5%