-
Notifications
You must be signed in to change notification settings - Fork 91
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
Buildings overzoom #503
Comments
Mission accepted ;D |
So indeed keep it simple and begin on how to render only at zoom 17 and keep it for larger zooms. |
Also @Gustl22 if building layers need core changes and different implementation to support overzoom, we better proceed with new classes for testing, leaving the original ones unmodified. |
Ok :) For clarification: current implementation doesn't seem to need overzoom as
If its not what you're looking for, plz let me know. |
Online vector tiles normally don't have extraction zoom levels >17, so current implementation works. Mapsforge maps can have max extraction zoom level >17, e.g.:
That's because building layers are connected via Implementation should be important for efficiency / performance.. 🙂 As you describe, if we zoom at 18 and move map far, then at new areas we won't have zoom 17 building data. |
Yes, that would be avoided with above mentioned implementation, too (appears only at mapsforge maps). There's a more native approach, too, but would need more changes in MapDatabase and core :/ |
All map sources, either online vector tiles or Mapsforge maps, eventually should have max zoom that of So it's not a Mapsforge issue but a generic VTM one and should be handled globally. |
It appears in all vector maps if change their max zoom. Same behavior is everywhere. |
Back to initial topic:
I didn't add a PR yet. Maybe you can review the branch, before start PR. There I also started to implement zoom limit for
Yes, that would be good. This should be possible soon. |
Using sub-tiles data seems like underzoom?
|
I discarded that approach anyway, it's too unsafe. I used the third option. Did you test it already? Or should I start PR with relevant changes? |
Thanks, will have a look. 🙂 |
I checked the branch, looks promising! When have time will review more the code changes. Regarding the result on screen: BTW instead of any "zoom limit" as class / method, better use "overzoom", as it's that exactly what we want to introduce. Also let's focus on one feature at a time, building layer first, label layer later, to easier check any code changes. |
Don't know if I can solve that. But I try to.
I think there's a little difference, "overzoom" clips its parent tile, as "zoom limit" uses exactly the parent to avoid unwanted artifacts. It could be used in not overzoomed sources, too, to avoid artifacts at tileborders.
Yes, it was only for demonstration purpose. |
I solved this issue: the tile renderer always uses the newest tiles, but they aren't always at state Do you want to have a second look, or shall I post a PR (only with affected parts)? |
I tested the branch, the results seem working very nice! 👍 |
Implemented via PR #528. |
Implement overzoom for
BuildingLayer
andS3DBLayer
, i.e. render them only in zoom 17 and keep those extrusions in larger zooms.The building layers are connected via
TileLoaderThemeHook
on vector tile layer's extraction zoom levels. So if extend them beyond 17, then extrusions render again for each extraction level >17 (which better be avoided).Note:
S3DBTileLayer
plays directly with its own vector tiles, so it's fine and already working ok.The text was updated successfully, but these errors were encountered: