mapbox / mapbox/tippecanoe

Metadata maxzoom can exceed tiles maxzoom in the event of tiling errors

Open
#899 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
3.1k
Forks
430
PR merge metrics
No merged PRs in 30d

Description

This command generates an mbtiles file with tiles in zoom level 10 but with a maxzoom of 9.

➤ tippecanoe -M 300000 -m 12 -f -o sf.mbtiles tl_2010_06075_tabblock10.json
For layer 0, using name "tl_2010_06075_tabblock10"
7386 features, 830964 bytes of geometry, 667 bytes of separate metadata, 372203 bytes of string pool
tile 10/163/395 size is 309529 with detail 12, >300000
could not make tile 10/163/395 small enough



*** NOTE TILES ONLY COMPLETE THROUGH ZOOM 9 ***


➤ sqlite3 sf.mbtiles
SQLite version 3.24.0 2018-06-04 14:10:15
Enter ".help" for usage hints.
sqlite> select * from metadata where name='maxzoom';
maxzoom|9
sqlite> SELECT MAX(zoom_level) as z FROM tiles;
10

It will be rejected by Mapbox uploads after https://github.com/mapbox/mapbox-upload-validate/pull/102.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the command shown with tippecanoe and inspect the generated MBTiles metadata and tiles tables. Trace where the maxzoom metadata is written after a tiling error; done when the reported maxzoom is consistent with the highest zoom level present in the tiles table and the example no longer produces the upload-validation mismatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.