Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Ability to generate only specific tiles #776

Open
stdmn opened this issue Jul 25, 2019 · 3 comments
Open

Feature Request: Ability to generate only specific tiles #776

stdmn opened this issue Jul 25, 2019 · 3 comments

Comments

@stdmn
Copy link

stdmn commented Jul 25, 2019

*Update: just realized that there is already an option to produce a single tile (#521). I could obviously run this sequentially, but would be a bit easier if I could:

  1. Just provide a CSV file or something with Z/X/Y
  2. Run the "one-tile" (-R) function on tile-join

Requested functionality:
I know that Tippecanoe currently allows users to specify a bbox to generate only the tiles that fall within that bbox, but it would be nice if we could pass a manifest of specific tiles (z/x/y) for Tippecanoe to generate

Reasoning:
I'm trying to create a hot-swapping tileserver backend that regenerates only specific tiles as the data changes. If I use the bbox functionality, it will generate all tiles within that bbox instead of only the specific tiles I'd like to change. For large tilesets, this could lead to a substantial overhead

@stdmn
Copy link
Author

stdmn commented Jul 25, 2019

For a little additional color, I have developed functionality where users can edit the data in a given database. As they edit, I am hoping to use AWS Lambda-hosted "Tile-Join" to update an S3-hosted directory with only the tiles that are affected by the edits. Some of these tilesets are very large (> 1GB), so regenerating more than the specific tiles I need will take quite a while. In some cases, only 1 or 2 tiles will be affected by the changes so if I can call out the specific tiles to update, it would save a huge amount of processing/time.

@e-n-f
Copy link
Contributor

e-n-f commented Jul 27, 2019

Is your source data set up in a way that you would be giving Tippecanoe only the data for those tiles, or would you still have the overhead of going through all the source data on every run?

@stdmn
Copy link
Author

stdmn commented Jul 27, 2019

It will only be the data that has changed. Basically the process is:

  1. A user edits a data point
  2. The edit is pushed simultaneously to a Postgres database (for separate analysis) and a Lambda function that uses Tile-Join to remove the old data points from the previous tilesete, creates new tiles from just the new data and splice together the old and new tilesets

Some of the datasets/tilesets are very large so the goal is to minimize Tippecanoe processing to make it feel more realtime

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

No branches or pull requests

2 participants