The team building the live dock map is moving the layer from a single GeoJSON to vector tiles. The tiling tool wants a minimum zoom and a per-tile feature limit; above the limit it drops features, which for a map of where the bikes are is the one thing that must not happen. Before setting the numbers, the engineer wants to know, from the data, how many stations land in the busiest tile at each zoom.
For each zoom level from 10 to 16, assign every docking station to its XYZ tile (256 px Web Mercator) and find the busiest tile. Report:
max_per_tile_z12 — stations in the busiest tile at zoom 12max_per_tile_z13 — at zoom 13max_per_tile_z14 — at zoom 14first_zoom_under_100 — the lowest zoom from 10 upward at which no tile holds more than 100 stationsTile indices follow the standard formulas:
x = floor((lon + 180) / 360 · 2^z)
y = floor((1 − ln(tan φ + sec φ) / π) / 2 · 2^z)These are where the teaching is. Read them twice.
Per-tile feature limits are the setting that silently deletes data in vector-tile pipelines, and this count is how the limit is chosen deliberately.
Work the problem in whatever tool you like, then enter the answers here.
max_per_tile_z12max_per_tile_z13max_per_tile_z14first_zoom_under_1004 scored, 0 informational
Busiest tile at zoom 12
20%Busiest tile at zoom 13
20%Busiest tile at zoom 14
20%First zoom with no tile over the limit
40%