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

Change demo map tile server to self-hosted planetiler server #214

Closed
ZeLonewolf opened this issue Mar 6, 2022 · 2 comments · Fixed by #311
Closed

Change demo map tile server to self-hosted planetiler server #214

ZeLonewolf opened this issue Mar 6, 2022 · 2 comments · Fixed by #311

Comments

@ZeLonewolf
Copy link
Member

ZeLonewolf commented Mar 6, 2022

This issue is intended to capture discussion related to switching from MapTiler Cloud to a self-hosted planetiler tile server running on AWS.

The public demo is currently using MapTiler Cloud as the tile server. This configuration has the following issues:

  1. MapTiler Cloud is updated infrequently. The current MapTiler Cloud planet has not been updated since Dec 2021, when OpenMapTiles 3.13 was released.
  2. MapTiler Cloud is free for limited use, however, as the demo becomes more popular, we may exceed the "free tier" limits.

I've been experimenting with planetiler as an option for self-hosting our own tiles so that we can have more frequent updates. I've collected a series of scripts for building tiles on AWS. I'm able to generate an updated tileserver in 1-3 hours. I'm paying for this out of pocket, but so far costs are low, in the "cups of coffee" range, since the tileserver itself is fairly light-duty, and the renderer only needs to run for the 1-3 hours that are needed to generate a new planet.

The running tileserver is here: https://6ug7hetxl9.execute-api.us-east-2.amazonaws.com/

The AWS architecture for this setup is as shown in the diagram below:

AWS Architecture

Proposed

  1. Replace MapTiler Cloud source with AWS planetiler server, with periodic updates "whenever I get around to it"

Open issues

  1. Planetiler currently does not replicate the OpenMapTiles functionality that abbreviates names, for example, "St" for "Street", "Rd" for "Road", etc. Thus, upon this change, these names would be rendered in full.
  2. Planetiler has an option to enable or disable the zoom 13 building merge. When enabled, small adjacent buildings are merged into larger polygons at z13. However, this causes some overlap problems in cities where the merged buildings overlap roads. When disabled, small buildings at z13 are simply dropped. We need to decide which configuration we want turned on. At the time of the writing of this ticket, I have building merge disabled. It's also a compute-intensive operation that takes up approximately 1/3 of the render time.
@1ec5
Copy link
Member

1ec5 commented Mar 6, 2022

Planetiler currently does not replicate the OpenMapTiles functionality that abbreviates names, for example, "St" for "Street", "Rd" for "Road", etc. Thus, upon this change, these names would be rendered in full.

Road name abbreviations are tracked in onthegomap/planetiler#14. I’d be OK with regressing that functionality for now. The abbreviation heuristics in OpenMapTiles are unreliable in English, and we haven’t really focused heavily on higher zoom levels where the road labels matter most.

@zekefarwell
Copy link
Collaborator

zekefarwell commented Mar 6, 2022

I think this is an important step to take, not only for more frequest data updates, but also because full control over what data ends up in the vector tiles is important for this project. With mapper feedback being one of our goals, relying on a schema from an intermediary project that may not want to include data we need isn't the best position to be in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants