mapbox / mapbox/tippecanoe

Gridded data

Open
#666 1 comment 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

Tippecanoe's gridded data support is limited to `--grid-low-zooms`, which requires a lot of guesswork to choose an appropriate detail and maxzoom, uses the tile grid rather than the natural grid of the data, and drops rows and columns instead of interpolating values.

There should be a `tippecanoe-grid` command that is roughly equivalent to `gdal_polygonize` (and perhaps also `gdal_contour`) but instead of outputting a single set of polygons for the grid, outputs a series of grids appropriate to different zoom levels, with `"tippecanoe": { "minzoom": …, "maxzoom": … }` set so they show up at the appropriate zoom levels.

For manageable tile sizes, the grid should be approximately 128x128 in each tile, so if the grid unit is, say, 1000 feet, it should choose zoom level 10 for the full-detail zoom level, because `360 / (2^10) / .00000274 / 128` is about 1000. Each lower zoom level should then cut the number of cells in each dimension in half.

Major uncertainties:

* What file format should it accept? Is there a format that is each for people to get their data into, sufficiently general, and not too much work to parse?
* How much projection support is needed? Ideally it would handle the natural projection of the gridded data instead of requiring that it already be reprojected to WGS84 or Web Mercator.
* Does it need to be able to reconstruct the grid of data that has already been polygonized?

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

Start by reviewing the existing --grid-low-zooms behavior and the proposed tippecanoe-grid command. Resolve the open questions about input format, projection support, and reconstructing polygonized grids before implementation. Done means producing zoom-appropriate grids with tippecanoe minzoom and maxzoom metadata and approximately 128x128 cells per tile.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.