-
-
Notifications
You must be signed in to change notification settings - Fork 115
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
feat: Polygon increase label grid limit(Beta version) #996
base: main
Are you sure you want to change the base?
Conversation
Full logs: https://github.com/onthegomap/planetiler/actions/runs/10575539878 |
Thanks @CrazyBug-11 ! Would you mind giving me access to push to your fork? |
Certainly, I've already invited you. |
Thanks, but I'm pretty sure you just need to click the "allow edits from maintainers" button on the PR |
Haha, got it, I've already click the allow edits by maintainers |
OK thanks! Pushed some end to end tests that should pass once this is working. |
Thank you for your support. @msbarry |
Quality Gate passedIssues Measures |
We want to show/hide an entire feature, not individual parts of a feature that may appear on different tiles otherwise it could appear broken. It could either use the centroid for the whole feature, the first point, an interior point, etc. to compute the label grid coordinate. In practice this should only get used on very small features so it probably shouldn't make much of a difference although I could see switching to centroid as well. Can you try this out and see how it works for your dataset? |
Thank you very much for your patient guidance. |
Yes exactly, the features get grouped into tiles then when reading all the features for a tile, In the case where the tile size is not evenly divisible by the group size, you need to take care to make the tile buffer large enough that the same set of features show up in each group when that group is duplicated between adjacent tiles. But for 16, 32, 64, 128 that's not a concern. |
Ahh actually now that I think more about it, this could be problematic since if part of a large feature appears in this tile then the center of it might be far away, and there could be lots of other small features around the center point that would cause it to get hidden on the tile that contains all of those features, but this tile doesn't have visibility into them. The right way to do this would be to turn it into a 2-step process: emit all raw features along with their group ID, sort/group/filter by the group ID, then continue processing all of those features. There are other operations that could benefit from this "global grouping" step so might make sense to happen along with them. But for very small features (smaller than the tile buffer) I think that the limited implementation here could still work? |
The current feature is incomplete, and the existing code does not achieve the expected results! #993