From 6be2ba5193e297efbedf10d8b7c6cf0f54c046d3 Mon Sep 17 00:00:00 2001 From: Nils Stinnesbeck Date: Mon, 26 Oct 2026 23:54:30 +0100 Subject: [PATCH] App 2.39.1, server 2.8.0: map roads from OpenFreeMap, on demand The public Overpass answered 429/502 and needs ~40 s a tile while the car gives up after 8 s, so the server cancelled its queries and the car's retries added load. Now the server fetches only the tiles a car asks for, as OpenStreetMap vector tiles from OpenFreeMap (MAP_TILES_URL), decodes the transportation layer with a small reader of its own, and keeps each tile 30 days on a volume (MAP_CACHE_DIR). A fetch finishes even after the car has stopped waiting; the car hears 503 with Retry-After and gets the tile on its next try. App: OpenFreeMap/OpenMapTiles attribution on the map, retry after 15 s. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01LhzAVaUyqcw5PkGjz4mWW6 --- AGENTS.md | 2 +- LICENSE.md | 6 +- README.md | 4 +- SPECS.md | 20 + THEMES.md | 4 +- app/build.gradle | 4 +- .../main/java/com/evsuite/abrp/GridView.java | 4 +- .../main/java/com/evsuite/abrp/MapRoads.java | 3 +- k8s/server.yaml | 35 +- screenshots/themes/grid-map-panel.png | Bin 71214 -> 73470 bytes screenshots/themes/grid-map.png | Bin 67579 -> 69238 bytes server/README.md | 30 +- server/api.go | 2 +- server/main.go | 30 +- server/maps.go | 458 ++++++++++-------- server/maps_test.go | 343 +++++++++---- server/mvt.go | 278 +++++++++++ 17 files changed, 891 insertions(+), 332 deletions(-) create mode 100644 server/mvt.go diff --git a/AGENTS.md b/AGENTS.md index b36a6bc..e78aa04 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -21,7 +21,7 @@ MG4 head unit (Android 9, AAOS, MT2712) - **server/** — Go 1.27 API at `https://car.k8s.stinnesbeck.com`: stores telemetry, consumption and charging in InfluxDB, pairs cars by QR code, carries settings typed on a phone, relays app releases from the private forge, and serves the roads for the Grid's map from - OpenStreetMap (Overpass). It does **not** talk to ABRP. See `server/README.md`. + OpenStreetMap vector tiles (OpenFreeMap), fetched per tile on demand and cached on a volume. It does **not** talk to ABRP. See `server/README.md`. - **k8s/** — plain Kubernetes manifests (InfluxDB, server, Grafana with three provisioned dashboards, Traefik routes). See `k8s/README.md`. - **EVHardware/** — vendored shared vehicle layer (PolyForm Noncommercial, see `LICENSE.md`). diff --git a/LICENSE.md b/LICENSE.md index 13ca00b..6db5db7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -21,8 +21,10 @@ software. `LICENSE` names all of them; keep every line. ## Map data The roads of the "Grid with map" style are © OpenStreetMap contributors, under the -[Open Database Licence](https://opendatacommons.org/licenses/odbl/); the style shows that line -whenever it draws them. The server fetches them from an Overpass API (`server/maps.go`). +[Open Database Licence](https://opendatacommons.org/licenses/odbl/), in vector tiles +© OpenMapTiles served by [OpenFreeMap](https://openfreemap.org). The style shows +"OpenFreeMap © OpenMapTiles · © OpenStreetMap contributors" whenever it draws them. The server +fetches the tiles (`server/maps.go`). ## The EVHardware library diff --git a/README.md b/README.md index 26e1031..982ba69 100644 --- a/README.md +++ b/README.md @@ -82,14 +82,14 @@ car ──live telemetry───▶ car.k8s.stinnesbeck.com (Go) The car sends live data to ABRP itself, with the ABRP credentials set on the Live data tab, so ABRP and the server do not depend on each other. The server stores, relays the app's updates -from the forge and serves the roads for the Grid's map (from OpenStreetMap). The car authenticates +from the forge and serves the roads for the Grid's map (OpenStreetMap, through OpenFreeMap). The car authenticates with the server using a token of its own, obtained by pairing with a phone (below). ## The app | Tab | What it shows | |---|---| -| **Overview** | Battery, range, power and speed; range, usage and energy since start; 5-minute averages of range, usage, power and speed; vehicle info (odometer, lease allowance, climate setpoint) and tyre pressures. Read five times a second. Looks to choose from in Settings → Overview style: Tiles, Gauges, Cockpit, Retro, Futuristic, Sci-fi, Cartoon, MG, Minimal, Terminal, Nixie tubes, Chronograph, Grid, Grid with map, Time circuits, Quest, Visor and Empire ([THEMES.md](THEMES.md) shows them all). A style with its own colours (Sci-fi, Cartoon, Nixie tubes, Time circuits, Quest, Empire, and Retro, Terminal, Grid and Visor with "Original"). Grid with map lays the roads round the car on the Grid's floor: the app asks the car's server for the map tile it is in (not its position), the server fetches the roads from OpenStreetMap's Overpass API and keeps them, and the GPS runs for it only while that style is on screen colours the whole app to match, e.g. turquoise for Retro. The small button next to the MG4 logo in the navigation hides the navigation for a full-width Overview; swipe in from the left edge (a faint handle marks it) to bring it back; with Settings → Full screen off, the car's own sidebar sits at that edge, so tap the small tab at the left edge (›) instead. Pages change only by the navigation, not by swiping sideways | +| **Overview** | Battery, range, power and speed; range, usage and energy since start; 5-minute averages of range, usage, power and speed; vehicle info (odometer, lease allowance, climate setpoint) and tyre pressures. Read five times a second. Looks to choose from in Settings → Overview style: Tiles, Gauges, Cockpit, Retro, Futuristic, Sci-fi, Cartoon, MG, Minimal, Terminal, Nixie tubes, Chronograph, Grid, Grid with map, Time circuits, Quest, Visor and Empire ([THEMES.md](THEMES.md) shows them all). A style with its own colours (Sci-fi, Cartoon, Nixie tubes, Time circuits, Quest, Empire, and Retro, Terminal, Grid and Visor with "Original") colours the whole app to match, e.g. turquoise for Retro. Grid with map lays the roads round the car on the Grid's floor: the app asks the car's server for the map tile it is in (not its position), the server fetches only that tile from OpenFreeMap's OpenStreetMap vector tiles and keeps it, and the GPS runs for it only while that style is on screen. The small button next to the MG4 logo in the navigation hides the navigation for a full-width Overview; swipe in from the left edge (a faint handle marks it) to bring it back; with Settings → Full screen off, the car's own sidebar sits at that edge, so tap the small tab at the left edge (›) instead. Pages change only by the navigation, not by swiping sideways | | **Consumption** | Lifetime, last 7 and 30 days, Trip A and B (distance, energy, average consumption and speed, SOC change), and a daily log of the last four months | | **Charging** | The current session (SOC, voltage, current, power, energy into the battery and from the grid, time, cost) and its SOC/power curve | | **Live data** | Live data on/off, ABRP credentials for sending directly from the car, upload frequency | diff --git a/SPECS.md b/SPECS.md index 7a3f1c8..9a74a35 100644 --- a/SPECS.md +++ b/SPECS.md @@ -138,6 +138,26 @@ tyre pressures, GPS (lat, lon, elevation, heading) and the is_* flags. It does * confirmed car facts, app structure, UI conventions, build/test/ship, documents. It replaces upstream's EVABRPUploader text. The test emulator is now in the flake: `nix run .#car-emulator` (Android 9 AOSP at 1920×720, 160 dpi; the car build installs as the system user — checked). +- 2026-10-26 — App 2.39.1 and server 2.8.0: **the map's roads come from OpenFreeMap, on + demand.** In the car, server 2.7.0 logged `overpass answered 502`, `overpass could not be + reached`, and the owner saw 429s: the public Overpass limits per IP, and a tile takes it ~40 s + while the car gives up after 8 s (`ServerHttp.TIMEOUT_MS`) — the server then cancelled the + query, threw the work away, and the car's retries added to the load. Owner's choice: fetch + only the tiles the car asks for (a self-hosted Overpass would need a whole region imported). + Server: the zoom-14 OpenStreetMap vector tile (OpenMapTiles schema) from the TileJSON at + `MAP_TILES_URL` (default OpenFreeMap, free, no key, no limits; its template re-read every 6 h, + https only), decoded by our own minimal protobuf/MVT reader (`mvt.go`, the `transportation` + layer; classes motorway/trunk, primary/secondary, tertiary, minor), simplified as before. A + fetch runs to its end without the car (requests wait ≤ 6 s, then 503 with `Retry-After: 10`), + at most two at once, one per tile; tiles kept 30 days in `MAP_CACHE_DIR` (a 1 Gi volume + `mg4-server-maps`, pod `fsGroup` 65532) and the last 300 in memory; `OVERPASS_URL` is gone. + Tests with an encoded vector tile and a fake tile host (classes, split lines, scaled extent, + malformed tiles, gzip from the host, fetched once and kept across a restart, a slow fetch + finished for the next try, failures not cached and no tile in the log, http template refused, + config). Real: the 9 Berlin tiles in 0.7 s (9–15 KB each). App 2.39.1: "OpenFreeMap © + OpenMapTiles · © OpenStreetMap contributors" on the map, a tile the server did not have yet is + asked for again after 15 s (was a minute). Emulator with those tiles: same roads as before. + Not tried: the deployed server and the car. - 2026-10-26 — Server 2.7.0 image pushed (`git.stinnesbeck.com/nils/mg4-server:2.7.0`, Go 1.27.3, govulncheck clean) and pinned in `k8s/server.yaml` by digest `sha256:e5da9452a9dbdfabe3340766cc51f18bb1418b2588ab534714550470abe1ce29` (checked with skopeo); diff --git a/THEMES.md b/THEMES.md index bab6f29..087fcc1 100644 --- a/THEMES.md +++ b/THEMES.md @@ -165,11 +165,11 @@ films' other side. ## Grid with map -The Grid, with the roads round the car from OpenStreetMap laid on its floor as light lanes, in +The Grid, with the roads round the car from OpenStreetMap (through OpenFreeMap) laid on its floor as light lanes, in the floor's perspective and turned with the direction you drive: motorways glow brightest, then main roads, then the smaller streets, fading towards the horizon. The car is the chevron on the floor, and between GPS fixes it runs on with the speed. The roads come through the car's own -server, which fetches them from OpenStreetMap and keeps them (see the README); the car also keeps +server, which fetches only the map tiles you drive through and keeps them (see the README); the car also keeps the last few hundred tiles itself. Without GPS, the server or the roads, the floor says so and stays the plain grid. The light-cycle trail makes way for the map here; power stays on the disc. Shown with sample values over real roads in central Berlin. diff --git a/app/build.gradle b/app/build.gradle index cec6e50..e114d24 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -34,8 +34,8 @@ android { applicationId "com.stinnesbeck.nilsmg4" minSdk 27 targetSdk 36 - versionCode 142 - versionName "2.39.0" + versionCode 143 + versionName "2.39.1" // Nothing about the server ships in the APK: its URL and ingest token are entered in // the app's Server tab (ServerConfig), and the database is only reachable by the server. diff --git a/app/src/main/java/com/evsuite/abrp/GridView.java b/app/src/main/java/com/evsuite/abrp/GridView.java index 0873c88..74d4305 100644 --- a/app/src/main/java/com/evsuite/abrp/GridView.java +++ b/app/src/main/java/com/evsuite/abrp/GridView.java @@ -296,14 +296,14 @@ final class GridView extends ClusterCanvasView { caption(c, why, w / 2f, horizon + (h - horizon) * 0.2f, u, Paint.Align.CENTER); } - /** OpenStreetMap's licence asks for its name wherever its data is shown. */ + /** The tiles' and the data's licences ask for their names wherever the map is shown. */ private void drawAttribution(Canvas c, float w, float h, float u) { text.setTypeface(label); text.setTextSize(12f * u); text.setTextAlign(Paint.Align.RIGHT); text.setStyle(Paint.Style.FILL); text.setColor(dim); - c.drawText("© OpenStreetMap contributors", w - 26f * u, h - 80f * u, text); + c.drawText("OpenFreeMap © OpenMapTiles · © OpenStreetMap contributors", w - 26f * u, h - 80f * u, text); } // ---------- Top ---------- diff --git a/app/src/main/java/com/evsuite/abrp/MapRoads.java b/app/src/main/java/com/evsuite/abrp/MapRoads.java index 1973357..00f3977 100644 --- a/app/src/main/java/com/evsuite/abrp/MapRoads.java +++ b/app/src/main/java/com/evsuite/abrp/MapRoads.java @@ -49,7 +49,8 @@ final class MapRoads { private static final String TAG = "MapRoads"; private static final int DISK_TILES = 400; private static final long DISK_AGE_MS = 30L * 24 * 60 * 60 * 1000; - private static final long RETRY_MS = 60_000L; + /** A tile the server did not have yet (it goes on fetching) is asked for again after this. */ + private static final long RETRY_MS = 15_000L; /** A fix older than this is not drawn from. */ static final long FIX_FRESH_MS = 15_000L; diff --git a/k8s/server.yaml b/k8s/server.yaml index 660568c..7b6fad6 100644 --- a/k8s/server.yaml +++ b/k8s/server.yaml @@ -1,5 +1,21 @@ # The car server (Go). One replica on purpose: pending pairing requests and the wrong-password # counters are kept in memory. +# The roads of the app's Grid map, fetched on demand, are kept on this small volume. +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: mg4-server-maps + namespace: mg4 + labels: + app.kubernetes.io/name: mg4-server + app.kubernetes.io/part-of: mg4 +spec: + accessModes: ["ReadWriteOnce"] + # No storageClassName: the cluster's default class is used. + resources: + requests: + storage: 1Gi +--- apiVersion: apps/v1 kind: Deployment metadata: @@ -25,11 +41,12 @@ spec: runAsNonRoot: true runAsUser: 65532 runAsGroup: 65532 + fsGroup: 65532 seccompProfile: type: RuntimeDefault containers: - name: server - # 2.6.2, pinned by digest so a re-pushed tag cannot change what runs. + # Pinned by digest so a re-pushed tag cannot change what runs (version in SPECS.md). image: git.stinnesbeck.com/nils/mg4-server@sha256:e5da9452a9dbdfabe3340766cc51f18bb1418b2588ab534714550470abe1ce29 ports: - name: http @@ -50,9 +67,12 @@ spec: value: https://git.stinnesbeck.com - name: FORGE_REPO value: nils/mg4 - # The roads for the app's Grid map, from OpenStreetMap; "off" switches maps off. - - name: OVERPASS_URL - value: https://overpass-api.de/api/interpreter + # The roads for the app's Grid map: OpenStreetMap vector tiles, fetched only for the + # tiles a car asks for and kept on the volume below; "off" switches maps off. + - name: MAP_TILES_URL + value: https://tiles.openfreemap.org/planet + - name: MAP_CACHE_DIR + value: /var/cache/mg4-maps - name: INFLUX_TOKEN valueFrom: secretKeyRef: @@ -84,6 +104,13 @@ spec: readOnlyRootFilesystem: true capabilities: drop: ["ALL"] + volumeMounts: + - name: maps + mountPath: /var/cache/mg4-maps + volumes: + - name: maps + persistentVolumeClaim: + claimName: mg4-server-maps --- apiVersion: v1 kind: Service diff --git a/screenshots/themes/grid-map-panel.png b/screenshots/themes/grid-map-panel.png index e85c8676d1ef1acebfe18ef07365148dfd0163df..cafab90637e53cd1c8ffbd19610c234823532a3d 100644 GIT binary patch literal 73470 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 diff --git a/screenshots/themes/grid-map.png b/screenshots/themes/grid-map.png index b3bb0954672b99299635ca67ab438feaa31ff5fc..5084a46c34dda20f751ab0f17a3c50379f33c161 100644 GIT binary patch literal 69238 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

sa|=AC4;{AvSME>H$*a0*7ig_K*S_p- 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 LNkvXXu0mjfE~RM; literal 67579 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 mapCacheAge { + return nil, false + } + body, err := os.ReadFile(m.cachePath(t)) + if err != nil || !json.Valid(body) { + return nil, false + } + m.remember(t, body, info.ModTime()) + return body, true } -// buildTile turns Overpass's answer into the tile the car reads. A missing point (outside -// the clipped geometry) splits a road in two. +func (m *Maps) store(t mapTile, body []byte) { + m.remember(t, body, time.Now()) + if m.CacheDir == "" { + return + } + tmp := m.cachePath(t) + ".tmp" + if err := os.WriteFile(tmp, body, 0o600); err != nil { + slog.Warn("map tile not stored", "error", err) + return + } + if err := os.Rename(tmp, m.cachePath(t)); err != nil { + slog.Warn("map tile not stored", "error", err) + } +} + +// remember keeps the tile in memory, dropping the oldest when full. +func (m *Maps) remember(t mapTile, body []byte, at time.Time) { + m.mu.Lock() + defer m.mu.Unlock() + if m.memory == nil { + m.memory = map[mapTile]mapEntry{} + } + if _, ok := m.memory[t]; !ok && len(m.memory) >= mapMemoryTiles { + var oldest mapTile + var first time.Time + for k, e := range m.memory { + if first.IsZero() || e.at.Before(first) { + oldest, first = k, e.at + } + } + delete(m.memory, oldest) + } + m.memory[t] = mapEntry{body: body, at: at} +} + +func (m *Maps) get(ctx context.Context, u string, limit int64) ([]byte, error) { + req, err := http.NewRequestWithContext(ctx, http.MethodGet, u, nil) + if err != nil { + return nil, err + } + req.Header.Set("User-Agent", m.UserAgent) + resp, err := m.client().Do(req) + if err != nil { + // The URL holds the tile: name the failure, not the request. + if errors.Is(err, context.DeadlineExceeded) || errors.Is(ctx.Err(), context.DeadlineExceeded) { + return nil, errors.New("tile host timed out") + } + return nil, errors.New("tile host could not be reached") + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + _, _ = io.Copy(io.Discard, io.LimitReader(resp.Body, 1<<16)) + return nil, fmt.Errorf("tile host answered %d", resp.StatusCode) + } + body, err := io.ReadAll(io.LimitReader(resp.Body, limit+1)) + if err != nil { + return nil, errors.New("tile host answer could not be read") + } + if int64(len(body)) > limit { + return nil, errors.New("tile host answer is too large") + } + return body, nil +} + +// tileTemplate is the current {z}/{x}/{y} URL from the TileJSON, looked up every few hours. +func (m *Maps) tileTemplate(ctx context.Context) (string, error) { + m.mu.Lock() + tmpl, at := m.template, m.tmplAt + m.mu.Unlock() + if tmpl != "" && time.Since(at) < templateAge { + return tmpl, nil + } + body, err := m.get(ctx, m.TileJSONURL, 1<<20) + if err != nil { + return "", err + } + var doc struct { + Tiles []string `json:"tiles"` + } + if err := json.Unmarshal(body, &doc); err != nil || len(doc.Tiles) == 0 { + return "", errors.New("tile index has no tiles") + } + tmpl = doc.Tiles[0] + u, err := url.Parse(strings.NewReplacer("{z}", "0", "{x}", "0", "{y}", "0").Replace(tmpl)) + if err != nil || u.Scheme != "https" || u.Host == "" || + !strings.Contains(tmpl, "{z}") || !strings.Contains(tmpl, "{x}") || !strings.Contains(tmpl, "{y}") { + return "", errors.New("tile index names no usable https template") + } + m.mu.Lock() + m.template, m.tmplAt = tmpl, time.Now() + m.mu.Unlock() + return tmpl, nil +} + +func (m *Maps) fetch(ctx context.Context, t mapTile) ([]byte, error) { + tmpl, err := m.tileTemplate(ctx) + if err != nil { + return nil, err + } + u := strings.NewReplacer("{z}", strconv.Itoa(t.Z), "{x}", strconv.Itoa(t.X), "{y}", strconv.Itoa(t.Y)).Replace(tmpl) + raw, err := m.get(ctx, u, maxTileBytes) + if err != nil { + return nil, err + } + // Some hosts send the tile gzipped whatever the request said. + if len(raw) > 2 && raw[0] == 0x1f && raw[1] == 0x8b { + zr, err := gzip.NewReader(bytes.NewReader(raw)) + if err != nil { + return nil, errors.New("tile is not readable") + } + raw, err = io.ReadAll(io.LimitReader(zr, maxTileBytes+1)) + if err != nil || len(raw) > maxTileBytes { + return nil, errors.New("tile is not readable") + } + } + return raw, nil +} + +// buildTile keeps the roads of the vector tile's transportation layer, in the car's format. func buildTile(t mapTile, raw []byte) ([]byte, error) { - var res overpassResult - if err := json.Unmarshal(raw, &res); err != nil { - return nil, fmt.Errorf("overpass answer: %w", err) + lines, err := decodeRoads(raw) + if err != nil { + return nil, err } out := roadTile{Z: t.Z, X: t.X, Y: t.Y, Extent: mapExtent, Ways: []road{}} - for _, el := range res.Elements { - class, ok := roadClasses[el.Tags["highway"]] - if el.Type != "way" || !ok { + for _, l := range lines { + pts := simplify(l.points, mapTolerance) + if len(pts) < 2 { continue } - var run [][2]int - flush := func() { - if pts := simplify(run, mapTolerance); len(pts) >= 2 { - flat := make([]int, 0, len(pts)*2) - for _, p := range pts { - flat = append(flat, p[0], p[1]) - } - out.Ways = append(out.Ways, road{C: class, P: flat}) - } - run = nil + flat := make([]int, 0, len(pts)*2) + for _, p := range pts { + flat = append(flat, p[0], p[1]) } - for _, g := range el.Geometry { - if g == nil { - flush() - continue - } - x, y := tilePoint(t, g.Lat, g.Lon) - if n := len(run); n > 0 && run[n-1] == [2]int{x, y} { - continue - } - run = append(run, [2]int{x, y}) - } - flush() + out.Ways = append(out.Ways, road{C: l.class, P: flat}) } return json.Marshal(out) } @@ -216,100 +374,11 @@ func segmentDistance(p, a, b [2]int) float64 { if dx == 0 && dy == 0 { return math.Hypot(px-ax, py-ay) } - u := math.Max(0, math.Min(1, ((px-ax)*dx+(py-ay)*dy)/(dx*dx+dy*dy))) + u := ((px-ax)*dx + (py-ay)*dy) / (dx*dx + dy*dy) + u = max(0, min(1, u)) return math.Hypot(px-ax-u*dx, py-ay-u*dy) } -// Tile returns the tile's roads as JSON, from the cache or from Overpass, and whether it -// came from the cache. -func (m *Maps) Tile(ctx context.Context, t mapTile) ([]byte, bool, error) { - if body, ok := m.cached(t); ok { - return body, true, nil - } - m.fetchMu.Lock() - defer m.fetchMu.Unlock() - // Another request may have fetched it while this one waited. - if body, ok := m.cached(t); ok { - return body, true, nil - } - if wait := m.gap - time.Since(m.lastFetch); wait > 0 { - select { - case <-time.After(wait): - case <-ctx.Done(): - return nil, false, ctx.Err() - } - } - m.lastFetch = time.Now() - raw, err := m.fetch(ctx, t) - if err != nil { - return nil, false, err - } - body, err := buildTile(t, raw) - if err != nil { - return nil, false, err - } - m.store(t, body) - return body, false, nil -} - -func (m *Maps) cached(t mapTile) ([]byte, bool) { - m.mu.Lock() - defer m.mu.Unlock() - e, ok := m.tiles[t] - if !ok || time.Since(e.at) > mapCacheAge { - return nil, false - } - return e.body, true -} - -// store keeps the tile, dropping the oldest when the cache is full. -func (m *Maps) store(t mapTile, body []byte) { - m.mu.Lock() - defer m.mu.Unlock() - if m.tiles == nil { - m.tiles = map[mapTile]mapEntry{} - } - if len(m.tiles) >= mapCacheTiles { - var oldest mapTile - var at time.Time - for k, e := range m.tiles { - if at.IsZero() || e.at.Before(at) { - oldest, at = k, e.at - } - } - delete(m.tiles, oldest) - } - m.tiles[t] = mapEntry{body: body, at: time.Now()} -} - -// fetch asks Overpass. The query goes in the body, so its errors never carry the tile. -func (m *Maps) fetch(ctx context.Context, t mapTile) ([]byte, error) { - form := url.Values{"data": {overpassQuery(t)}}.Encode() - req, err := http.NewRequestWithContext(ctx, http.MethodPost, m.OverpassURL, strings.NewReader(form)) - if err != nil { - return nil, err - } - req.Header.Set("Content-Type", "application/x-www-form-urlencoded") - req.Header.Set("User-Agent", m.UserAgent) - resp, err := m.client().Do(req) - if err != nil { - return nil, errors.New("overpass could not be reached") - } - defer resp.Body.Close() - if resp.StatusCode != http.StatusOK { - _, _ = io.Copy(io.Discard, io.LimitReader(resp.Body, 1<<16)) - return nil, fmt.Errorf("overpass answered %d", resp.StatusCode) - } - raw, err := io.ReadAll(io.LimitReader(resp.Body, maxOverpassBytes+1)) - if err != nil { - return nil, errors.New("overpass answer could not be read") - } - if len(raw) > maxOverpassBytes { - return nil, errors.New("overpass answer is too large") - } - return raw, nil -} - func (a *API) mapRoutes(mux *http.ServeMux) { mux.HandleFunc("POST /v1/map/roads", a.ingest(a.mapRoads)) } @@ -332,17 +401,16 @@ func (a *API) mapRoads(w http.ResponseWriter, r *http.Request, c caller, body [] if *req.X < 0 || *req.X >= limit || *req.Y < 0 || *req.Y >= limit { return invalid("x and y must be within the zoom level") } - t := mapTile{Z: *req.Z, X: *req.X, Y: *req.Y} - data, cached, err := a.Maps.Tile(r.Context(), t) + // The car waits a few seconds at most; the fetch goes on without it. + wait, cancel := context.WithTimeout(r.Context(), mapWait) + defer cancel() + data, _, err := a.Maps.Tile(wait, mapTile{Z: *req.Z, X: *req.X, Y: *req.Y}) if err != nil { - slog.Warn("map tile not available", "installation", who(c), "error", err) - writeJSON(w, http.StatusServiceUnavailable, map[string]string{"error": "map data not available, try again later"}) + slog.Warn("map tile not available yet", "installation", who(c), "error", err) + w.Header().Set("Retry-After", "10") + writeJSON(w, http.StatusServiceUnavailable, map[string]string{"error": "map data not available yet, try again shortly"}) return nil } - if !cached { - slog.Info("map tile fetched", "installation", who(c), "ways", strings.Count(string(data), `"c":`), - "bytes", len(data)) - } w.Header().Set("Content-Type", "application/json") if strings.Contains(r.Header.Get("Accept-Encoding"), "gzip") { var buf bytes.Buffer diff --git a/server/maps_test.go b/server/maps_test.go index fd44c5f..efe1774 100644 --- a/server/maps_test.go +++ b/server/maps_test.go @@ -12,50 +12,140 @@ import ( "strings" "sync/atomic" "testing" + "time" ) // A tile in central Berlin. var testTile = mapTile{Z: 14, X: 8802, Y: 5373} -// fakeOverpass answers every query with a primary road (with a gap in its geometry), a -// residential street with a needless middle point, and a footway the car does not draw. -func fakeOverpass(t *testing.T, calls *atomic.Int32, status int) *httptest.Server { - t.Helper() - s, w, n, e := tileBounds(testTile) - lat := func(f float64) float64 { return s + (n-s)*f } - lon := func(f float64) float64 { return w + (e-w)*f } - answer := fmt.Sprintf(`{"elements":[ - {"type":"way","tags":{"highway":"primary"},"geometry":[ - {"lat":%f,"lon":%f},{"lat":%f,"lon":%f},null,{"lat":%f,"lon":%f},{"lat":%f,"lon":%f}]}, - {"type":"way","tags":{"highway":"residential"},"geometry":[ - {"lat":%f,"lon":%f},{"lat":%f,"lon":%f},{"lat":%f,"lon":%f}]}, - {"type":"way","tags":{"highway":"footway"},"geometry":[ - {"lat":%f,"lon":%f},{"lat":%f,"lon":%f}]}]}`, - lat(0.1), lon(0.1), lat(0.2), lon(0.2), lat(0.6), lon(0.6), lat(0.7), lon(0.7), - lat(0.5), lon(0.1), lat(0.5), lon(0.5), lat(0.5), lon(0.9), - lat(0.3), lon(0.3), lat(0.4), lon(0.4)) - return httptest.NewTLSServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) { - calls.Add(1) - if r.Method != http.MethodPost || !strings.Contains(r.UserAgent(), "nils-mg4-server") { - t.Errorf("request %s %q", r.Method, r.UserAgent()) - } - _ = r.ParseForm() - if q := r.PostForm.Get("data"); !strings.Contains(q, "out geom(") || !strings.Contains(q, "residential") { - t.Errorf("query %q", q) - } - if status != http.StatusOK { - http.Error(rw, "busy", status) - return - } - _, _ = rw.Write([]byte(answer)) - })) +// ---------- A minimal vector-tile encoder for the tests ---------- + +func pbVarint(v uint64) []byte { + var b []byte + for v >= 0x80 { + b = append(b, byte(v)|0x80) + v >>= 7 + } + return append(b, byte(v)) } -func mapsAPI(overpass *httptest.Server) http.Handler { +func pbKey(num, wire int) []byte { return pbVarint(uint64(num<<3 | wire)) } + +func pbBytes(num int, data []byte) []byte { + return append(append(pbKey(num, 2), pbVarint(uint64(len(data)))...), data...) +} + +func pbUint(num int, v uint64) []byte { return append(pbKey(num, 0), pbVarint(v)...) } + +func pbPacked(num int, vs []uint32) []byte { + var d []byte + for _, v := range vs { + d = append(d, pbVarint(uint64(v))...) + } + return pbBytes(num, d) +} + +func zz(v int) uint32 { return uint32((v << 1) ^ (v >> 31)) } + +// lineCmds encodes line strings as MoveTo/LineTo commands with relative moves. +func lineCmds(lines ...[][2]int) []uint32 { + var out []uint32 + x, y := 0, 0 + for _, l := range lines { + out = append(out, 1|1<<3, zz(l[0][0]-x), zz(l[0][1]-y)) + x, y = l[0][0], l[0][1] + out = append(out, uint32(2|(len(l)-1)<<3)) + for _, p := range l[1:] { + out = append(out, zz(p[0]-x), zz(p[1]-y)) + x, y = p[0], p[1] + } + } + return out +} + +type testFeature struct { + class int // index into the values below + geomType uint64 + geometry []uint32 +} + +// testVectorTile has a water layer (ignored) and a transportation layer with the given extent. +func testVectorTile(extent uint64) []byte { + values := []string{"primary", "minor", "service", "motorway"} + features := []testFeature{ + // A primary road with a needless middle point. + {0, 2, lineCmds([][2]int{{100, 100}, {200, 200}, {300, 300}})}, + // A minor street in two pieces. + {1, 2, lineCmds([][2]int{{0, 500}, {400, 500}}, [][2]int{{600, 500}, {900, 520}})}, + // A service road and a motorway as a polygon: neither is drawn. + {2, 2, lineCmds([][2]int{{10, 10}, {20, 20}})}, + {3, 3, lineCmds([][2]int{{10, 10}, {20, 20}})}, + } + var layer []byte + layer = append(layer, pbUint(15, 2)...) + layer = append(layer, pbBytes(1, []byte("transportation"))...) + for _, f := range features { + var feat []byte + feat = append(feat, pbPacked(2, []uint32{0, uint32(f.class)})...) + feat = append(feat, pbUint(3, f.geomType)...) + feat = append(feat, pbPacked(4, f.geometry)...) + layer = append(layer, pbBytes(2, feat)...) + } + layer = append(layer, pbBytes(3, []byte("class"))...) + for _, v := range values { + layer = append(layer, pbBytes(4, pbBytes(1, []byte(v)))...) + } + layer = append(layer, pbUint(5, extent)...) + + water := append(pbBytes(1, []byte("water")), pbUint(5, 4096)...) + return append(pbBytes(3, water), pbBytes(3, layer)...) +} + +// ---------- A fake tile host ---------- + +type fakeHost struct { + *httptest.Server + tiles atomic.Int32 + status int + delay time.Duration + gzip bool +} + +func newFakeHost(t *testing.T) *fakeHost { + t.Helper() + h := &fakeHost{status: http.StatusOK} + mux := http.NewServeMux() + mux.HandleFunc("GET /planet", func(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, `{"tilejson":"3.0.0","tiles":["%s/planet/build1/{z}/{x}/{y}.pbf"]}`, h.URL) + }) + mux.HandleFunc("GET /planet/build1/{z}/{x}/{y}", func(w http.ResponseWriter, r *http.Request) { + h.tiles.Add(1) + if !strings.Contains(r.UserAgent(), "nils-mg4-server") { + t.Errorf("user agent %q", r.UserAgent()) + } + time.Sleep(h.delay) + if h.status != http.StatusOK { + http.Error(w, "busy", h.status) + return + } + body := testVectorTile(4096) + if h.gzip { + var buf bytes.Buffer + zw := gzip.NewWriter(&buf) + _, _ = zw.Write(body) + _ = zw.Close() + body = buf.Bytes() + } + _, _ = w.Write(body) + }) + h.Server = httptest.NewTLSServer(mux) + return h +} + +func mapsAPIWith(host *fakeHost, cacheDir string) http.Handler { api, _ := newTestAPI() - api.Maps = NewMaps(overpass.URL, mapUserAgent) - api.Maps.Client = overpass.Client() - api.Maps.gap = 0 + api.Maps = NewMaps(host.URL+"/planet", cacheDir, mapUserAgent) + api.Maps.Client = host.Client() return api.Routes() } @@ -63,15 +153,8 @@ func tileBody(t mapTile) string { return fmt.Sprintf(`{"z":%d,"x":%d,"y":%d}`, t.Z, t.X, t.Y) } -func TestMapTileRoadsAreClassifiedSplitAndSimplified(t *testing.T) { - var calls atomic.Int32 - overpass := fakeOverpass(t, &calls, http.StatusOK) - defer overpass.Close() - h := mapsAPI(overpass) - if rec := do(t, h, "POST", "/v1/map/roads", "", tileBody(testTile)); rec.Code != 401 { - t.Fatalf("without the car's token: %d", rec.Code) - } - rec := do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile)) +func decodeAnswer(t *testing.T, rec *httptest.ResponseRecorder) roadTile { + t.Helper() if rec.Code != 200 { t.Fatalf("%d %s", rec.Code, rec.Body) } @@ -79,39 +162,100 @@ func TestMapTileRoadsAreClassifiedSplitAndSimplified(t *testing.T) { if err := json.Unmarshal(rec.Body.Bytes(), &got); err != nil { t.Fatal(err) } - if got.Extent != 4096 || got.X != testTile.X || got.Y != testTile.Y { + return got +} + +// ---------- Tests ---------- + +func TestVectorTileRoadsAreClassifiedSplitAndSimplified(t *testing.T) { + lines, err := decodeRoads(testVectorTile(4096)) + if err != nil { + t.Fatal(err) + } + if len(lines) != 3 || lines[0].class != 1 || lines[1].class != 3 || lines[2].class != 3 { + t.Fatalf("lines %+v", lines) + } + if fmt.Sprint(lines[1].points) != "[[0 500] [400 500]]" || fmt.Sprint(lines[2].points) != "[[600 500] [900 520]]" { + t.Fatalf("pieces %v %v", lines[1].points, lines[2].points) + } + // Another extent is scaled to 4096. + half, err := decodeRoads(testVectorTile(8192)) + if err != nil || fmt.Sprint(half[0].points[2]) != "[150 150]" { + t.Fatalf("scaled %v %v", half, err) + } + body, err := buildTile(testTile, testVectorTile(4096)) + if err != nil { + t.Fatal(err) + } + if !strings.Contains(string(body), `{"c":1,"p":[100,100,300,300]}`) { + t.Fatalf("the straight road keeps only its ends: %s", body) + } +} + +func TestMalformedVectorTilesAreRefused(t *testing.T) { + good := testVectorTile(4096) + for name, raw := range map[string][]byte{ + "cut short": good[:len(good)-7], + "bad wire type": {0x1f, 0x00}, + "length too long": {0x1a, 0x7f, 0x01}, + } { + if _, err := decodeRoads(raw); err == nil { + t.Errorf("%s: accepted", name) + } + } + if lines, err := decodeRoads(nil); err != nil || len(lines) != 0 { + t.Fatalf("an empty tile is an empty map: %v %v", lines, err) + } +} + +func TestMapTilesAreFetchedOnceAndKeptOnDisk(t *testing.T) { + host := newFakeHost(t) + host.gzip = true // some hosts gzip whatever was asked + defer host.Close() + dir := t.TempDir() + h := mapsAPIWith(host, dir) + if rec := do(t, h, "POST", "/v1/map/roads", "", tileBody(testTile)); rec.Code != 401 { + t.Fatalf("without the car's token: %d", rec.Code) + } + got := decodeAnswer(t, do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile))) + if got.Extent != 4096 || got.X != testTile.X || got.Y != testTile.Y || len(got.Ways) != 3 { t.Fatalf("tile %+v", got) } - // The primary road in two pieces, the street straightened to its ends, no footway. - if len(got.Ways) != 3 || got.Ways[0].C != 1 || got.Ways[1].C != 1 || got.Ways[2].C != 3 { - t.Fatalf("ways %+v", got.Ways) - } - if len(got.Ways[2].P) != 4 { - t.Fatalf("the straight street keeps only its ends: %v", got.Ways[2].P) - } - // Tile-local: 0.1 of the way in is about 410 units from the west edge. - if x := got.Ways[0].P[0]; x < 400 || x > 420 { - t.Fatalf("x %d", x) + decodeAnswer(t, do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile))) + // A restart: a new server with the same directory asks the host nothing. + decodeAnswer(t, do(t, mapsAPIWith(host, dir), "POST", "/v1/map/roads", testToken, tileBody(testTile))) + if n := host.tiles.Load(); n != 1 { + t.Fatalf("tile fetched %d times", n) } +} - // Cached: the second car asking costs Overpass nothing. - if rec := do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile)); rec.Code != 200 { - t.Fatalf("%d", rec.Code) +func TestASlowTileIsFinishedForTheCarsNextTry(t *testing.T) { + previous := mapWait + mapWait = 50 * time.Millisecond + defer func() { mapWait = previous }() + host := newFakeHost(t) + host.delay = 300 * time.Millisecond + defer host.Close() + h := mapsAPIWith(host, "") + rec := do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile)) + if rec.Code != 503 || rec.Header().Get("Retry-After") == "" { + t.Fatalf("the car should hear 'try again': %d", rec.Code) } - if calls.Load() != 1 { - t.Fatalf("overpass asked %d times", calls.Load()) + time.Sleep(600 * time.Millisecond) + decodeAnswer(t, do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile))) + if n := host.tiles.Load(); n != 1 { + t.Fatalf("tile fetched %d times", n) } } func TestMapTilesAreGzippedWhenTheCarAcceptsIt(t *testing.T) { - var calls atomic.Int32 - overpass := fakeOverpass(t, &calls, http.StatusOK) - defer overpass.Close() + host := newFakeHost(t) + defer host.Close() req := httptest.NewRequest("POST", "/v1/map/roads", strings.NewReader(tileBody(testTile))) req.Header.Set("Authorization", "Bearer "+testToken) req.Header.Set("Accept-Encoding", "gzip") rec := httptest.NewRecorder() - mapsAPI(overpass).ServeHTTP(rec, req) + mapsAPIWith(host, "").ServeHTTP(rec, req) if rec.Code != 200 || rec.Header().Get("Content-Encoding") != "gzip" { t.Fatalf("%d %v", rec.Code, rec.Header()) } @@ -126,84 +270,89 @@ func TestMapTilesAreGzippedWhenTheCarAcceptsIt(t *testing.T) { } func TestMapRequestsAreChecked(t *testing.T) { - var calls atomic.Int32 - overpass := fakeOverpass(t, &calls, http.StatusOK) - defer overpass.Close() - h := mapsAPI(overpass) + host := newFakeHost(t) + defer host.Close() + h := mapsAPIWith(host, "") for _, body := range []string{`{}`, `{"z":15,"x":1,"y":1}`, `{"z":14,"x":-1,"y":1}`, `{"z":14,"x":1,"y":16384}`, `not json`} { if rec := do(t, h, "POST", "/v1/map/roads", testToken, body); rec.Code != 400 { t.Errorf("%s: %d", body, rec.Code) } } - if calls.Load() != 0 { - t.Fatal("a bad request reached Overpass") + if host.tiles.Load() != 0 { + t.Fatal("a bad request reached the tile host") } } -func TestABusyOverpassIsATemporaryFailureAndNotCached(t *testing.T) { +func TestAFailingHostIsATemporaryFailureAndNotCached(t *testing.T) { var logged bytes.Buffer previous := slog.Default() slog.SetDefault(slog.New(slog.NewTextHandler(&logged, nil))) defer slog.SetDefault(previous) - var calls atomic.Int32 - overpass := fakeOverpass(t, &calls, http.StatusTooManyRequests) - defer overpass.Close() - h := mapsAPI(overpass) + host := newFakeHost(t) + host.status = http.StatusBadGateway + defer host.Close() + h := mapsAPIWith(host, t.TempDir()) for i := 0; i < 2; i++ { if rec := do(t, h, "POST", "/v1/map/roads", testToken, tileBody(testTile)); rec.Code != 503 { t.Fatalf("%d", rec.Code) } } - if calls.Load() != 2 { - t.Fatalf("a failure was cached: %d calls", calls.Load()) + if n := host.tiles.Load(); n != 2 { + t.Fatalf("a failure was cached: %d fetches", n) } // Where the car is stays out of the log. out := logged.String() - if !strings.Contains(out, "overpass answered 429") || strings.Contains(out, "8802") || + if !strings.Contains(out, "tile host answered 502") || strings.Contains(out, "8802") || strings.Contains(out, "5373") { t.Fatalf("log:\n%s", out) } } -func TestMapsAreOffWithoutOverpass(t *testing.T) { +func TestATileIndexWithoutHttpsIsRefused(t *testing.T) { + index := httptest.NewTLSServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + _, _ = w.Write([]byte(`{"tiles":["http://tiles.example.com/{z}/{x}/{y}.pbf"]}`)) + })) + defer index.Close() + api, _ := newTestAPI() + api.Maps = NewMaps(index.URL, "", mapUserAgent) + api.Maps.Client = index.Client() + if rec := do(t, api.Routes(), "POST", "/v1/map/roads", testToken, tileBody(testTile)); rec.Code != 503 { + t.Fatalf("%d", rec.Code) + } +} + +func TestMapsAreOffWithoutATileSource(t *testing.T) { api, _ := newTestAPI() if rec := do(t, api.Routes(), "POST", "/v1/map/roads", testToken, tileBody(testTile)); rec.Code != 404 { t.Fatalf("%d", rec.Code) } } -func TestOverpassURLConfiguration(t *testing.T) { +func TestMapTilesURLConfiguration(t *testing.T) { base := map[string]string{"INFLUX_URL": "http://influx", "INFLUX_TOKEN": "t", "INFLUX_ORG": "o", "INGEST_TOKEN": "0123456789abcdef01234567"} - load := func(overpass string) (config, error) { + load := func(tiles string) (config, error) { return loadConfig(func(k string) string { - if k == "OVERPASS_URL" { - return overpass + if k == "MAP_TILES_URL" { + return tiles } return base[k] }) } - if c, err := load(""); err != nil || c.overpassURL != DefaultOverpassURL { - t.Fatalf("default: %q %v", c.overpassURL, err) + if c, err := load(""); err != nil || c.mapTilesURL != DefaultMapTilesURL { + t.Fatalf("default: %q %v", c.mapTilesURL, err) } - if c, err := load("off"); err != nil || c.overpassURL != "" { - t.Fatalf("off: %q %v", c.overpassURL, err) + if c, err := load("off"); err != nil || c.mapTilesURL != "" { + t.Fatalf("off: %q %v", c.mapTilesURL, err) } - if _, err := load("http://overpass.example.com/api/interpreter"); err == nil { + if _, err := load("http://tiles.example.com/planet"); err == nil { t.Fatal("plain http accepted") } } -func TestTilePointsAndSimplification(t *testing.T) { - s, w, n, e := tileBounds(testTile) - if x, y := tilePoint(testTile, n, w); x != 0 || y != 0 { - t.Fatalf("north-west corner %d,%d", x, y) - } - if x, y := tilePoint(testTile, s, e); x != 4096 || y != 4096 { - t.Fatalf("south-east corner %d,%d", x, y) - } +func TestSimplification(t *testing.T) { line := [][2]int{{0, 0}, {10, 1}, {20, 0}, {30, 40}} got := simplify(line, 4) if len(got) != 3 || got[1] != [2]int{20, 0} { diff --git a/server/mvt.go b/server/mvt.go new file mode 100644 index 0000000..a4fa453 --- /dev/null +++ b/server/mvt.go @@ -0,0 +1,278 @@ +package main + +import ( + "errors" + "math" +) + +// The roads of a Mapbox Vector Tile (spec 2.1) in the OpenMapTiles schema: the line features +// of the "transportation" layer whose "class" the car draws (roadClasses), scaled to +// mapExtent. A minimal protobuf reader, enough for that and nothing more; anything malformed +// is an error, never a guess. + +type roadLine struct { + class int + points [][2]int +} + +var errBadTile = errors.New("vector tile is malformed") + +// pbReader walks protobuf fields. +type pbReader struct { + b []byte + i int +} + +func (r *pbReader) done() bool { return r.i >= len(r.b) } + +func (r *pbReader) varint() (uint64, error) { + var v uint64 + for shift := uint(0); shift < 64; shift += 7 { + if r.i >= len(r.b) { + return 0, errBadTile + } + c := r.b[r.i] + r.i++ + v |= uint64(c&0x7f) << shift + if c < 0x80 { + return v, nil + } + } + return 0, errBadTile +} + +// field reads one field's key and, for length-delimited ones, its bytes. +func (r *pbReader) field() (num int, wire int, val uint64, data []byte, err error) { + key, err := r.varint() + if err != nil { + return 0, 0, 0, nil, err + } + num, wire = int(key>>3), int(key&7) + switch wire { + case 0: + val, err = r.varint() + case 1: + if r.i+8 > len(r.b) { + return 0, 0, 0, nil, errBadTile + } + r.i += 8 + case 2: + var n uint64 + n, err = r.varint() + if err == nil { + if n > uint64(len(r.b)-r.i) { + return 0, 0, 0, nil, errBadTile + } + data = r.b[r.i : r.i+int(n)] + r.i += int(n) + } + case 5: + if r.i+4 > len(r.b) { + return 0, 0, 0, nil, errBadTile + } + r.i += 4 + default: + return 0, 0, 0, nil, errBadTile + } + return num, wire, val, data, err +} + +// packed reads a repeated uint32 field, packed or not. +func packed(wire int, val uint64, data []byte, into []uint32) ([]uint32, error) { + if wire == 0 { + return append(into, uint32(val)), nil + } + if wire != 2 { + return nil, errBadTile + } + r := pbReader{b: data} + for !r.done() { + v, err := r.varint() + if err != nil { + return nil, err + } + into = append(into, uint32(v)) + } + return into, nil +} + +// decodeRoads returns the drawable roads of the tile. +func decodeRoads(tile []byte) ([]roadLine, error) { + r := pbReader{b: tile} + for !r.done() { + num, _, _, data, err := r.field() + if err != nil { + return nil, err + } + if num != 3 { // layers + continue + } + lines, isRoads, err := decodeLayer(data) + if err != nil { + return nil, err + } + if isRoads { + return lines, nil + } + } + return nil, nil // a tile without roads (sea, desert) is an empty one +} + +type rawFeature struct { + tags []uint32 + geomType uint64 + geometry []uint32 +} + +func decodeLayer(layer []byte) ([]roadLine, bool, error) { + r := pbReader{b: layer} + var name string + var keys []string + var values []string // only string values matter for "class" + var features []rawFeature + extent := uint64(4096) + for !r.done() { + num, wire, val, data, err := r.field() + if err != nil { + return nil, false, err + } + switch num { + case 1: + name = string(data) + case 2: + f, err := decodeFeature(data) + if err != nil { + return nil, false, err + } + features = append(features, f) + case 3: + keys = append(keys, string(data)) + case 4: + values = append(values, valueString(data)) + case 5: + if wire != 0 || val == 0 { + return nil, false, errBadTile + } + extent = val + } + } + if name != "transportation" { + return nil, false, nil + } + scale := float64(mapExtent) / float64(extent) + var lines []roadLine + for _, f := range features { + if f.geomType != 2 { // LINESTRING + continue + } + class, ok := -1, false + for i := 0; i+1 < len(f.tags); i += 2 { + k, v := int(f.tags[i]), int(f.tags[i+1]) + if k >= len(keys) || v >= len(values) { + return nil, false, errBadTile + } + if keys[k] == "class" { + class, ok = roadClasses[values[v]] + if !ok { + class = -1 + } + } + } + if class < 0 { + continue + } + parts, err := lineGeometry(f.geometry, scale) + if err != nil { + return nil, false, err + } + for _, p := range parts { + lines = append(lines, roadLine{class: class, points: p}) + } + } + return lines, true, nil +} + +func decodeFeature(data []byte) (rawFeature, error) { + var f rawFeature + r := pbReader{b: data} + for !r.done() { + num, wire, val, d, err := r.field() + if err != nil { + return f, err + } + switch num { + case 2: + if f.tags, err = packed(wire, val, d, f.tags); err != nil { + return f, err + } + case 3: + f.geomType = val + case 4: + if f.geometry, err = packed(wire, val, d, f.geometry); err != nil { + return f, err + } + } + } + if len(f.tags)%2 != 0 { + return f, errBadTile + } + return f, nil +} + +// valueString is a Value's string_value, "" for any other kind. +func valueString(data []byte) string { + r := pbReader{b: data} + for !r.done() { + num, _, _, d, err := r.field() + if err != nil { + return "" + } + if num == 1 { + return string(d) + } + } + return "" +} + +// lineGeometry follows the MoveTo/LineTo commands of a (multi)line string. +func lineGeometry(cmds []uint32, scale float64) ([][][2]int, error) { + var parts [][][2]int + var cur [][2]int + x, y := 0, 0 + zig := func(v uint32) int { return int(int32(v>>1) ^ -int32(v&1)) } + at := func() [2]int { + return [2]int{int(math.Round(float64(x) * scale)), int(math.Round(float64(y) * scale))} + } + for i := 0; i < len(cmds); { + id, count := cmds[i]&7, int(cmds[i]>>3) + i++ + switch id { + case 1, 2: // MoveTo, LineTo + if i+2*count > len(cmds) { + return nil, errBadTile + } + for k := 0; k < count; k++ { + x += zig(cmds[i]) + y += zig(cmds[i+1]) + i += 2 + if id == 1 { + if len(cur) >= 2 { + parts = append(parts, cur) + } + cur = [][2]int{at()} + } else { + if p := at(); len(cur) == 0 || cur[len(cur)-1] != p { + cur = append(cur, p) + } + } + } + case 7: // ClosePath, not in a line; ignored + default: + return nil, errBadTile + } + } + if len(cur) >= 2 { + parts = append(parts, cur) + } + return parts, nil +}