Skip to content

chore(tiling): vector-tile grid spike + verified 25km/5km encoding sizes (#87) - #101

Open
wietzesuijker wants to merge 1 commit into
mainfrom
vector-pmtiles-tiling
Open

chore(tiling): vector-tile grid spike + verified 25km/5km encoding sizes (#87)#101
wietzesuijker wants to merge 1 commit into
mainfrom
vector-pmtiles-tiling

Conversation

@wietzesuijker

Copy link
Copy Markdown
Collaborator

Analysis spike for #87 (add a 5 km tier to the current 25 km grid). This is not an app change: it adds build_vector_tiles.py and gitignores the tiles it generates.

What it measured, from public data:

  • 5 km grid = 951,250 land cells (confirms the ~953k estimate).
  • The same spatial-gap field encodes as 246 MB vector PMTiles (over GitHub's 100 MB/file push limit) vs 20.9 MB raster PMTiles.

Decision it informs: since #20 removed the weight sliders, each goal is now a fixed precomputed scalar field, so the 5 km cell layer should be raster PMTiles single-band rather than pure vector. This matches the serving direction from the 2026-07-17 lab call. The builder's resample and grid logic is reusable for the raster bake; the 5 km build itself waits on the lab's 5 km data.

Part of #87 (does not close it).


AI (Claude) supported my development of this PR.

…#87)

Spike for #87 (25km + 5km tiling). build_vector_tiles.py bakes the cell grid
to PMTiles at two resolutions from public data: 25km from the committed grid,
5km resampled from the public 1km iNat density COG (inverse density = the #89
spatial gap, here an architecture fixture pending W's parquet).

Verified the core #87 unknown — the 5km grid is 951,250 land cells, and the
same field encodes as:
  vector PMTiles  246 MB naive / ~90 MB lossy  (at/over GitHub's 100 MB/file cap)
  raster PMTiles  20.9 MB                        (fits, reuses density-overlay infra)
Since #20 removed the weight sliders, each goal is a fixed scalar field (a
raster), so raster/hybrid now looks better-fit than pure vector. Surfaced to W.

Generated tiles are gitignored (re-derivable; 5km vector exceeds the push limit).
Gate: build ran clean; sizes measured on disk, not estimated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant