Optimization in Educational
PlacemarkLayout: tile level caching of Placemarks
More popular placemarks get to high-level "tile level", less popular go to low-level ones.
For a given BBox, calculating the "Tile pyramid" and getting placemarks from those TileIds provides a small subset of placemarks that should get rendered.
Some figures: we have currently c.a. 22000 placemarks, and most BBox provides an 10ish TileIds Pyramid, leading so c.a. 400 placemarks.
The scalability of filtering placemarks sounds quite obvious.
Tweaking level, placemark popIdx, and radius to level is TODO:
- radius to level table (used to determine at which radius which level should be used),
- popIdx to level (used to seed placemarks to level according to their PopIdx)
- filtering the first 300 placemarks to display (should stay untouched)
RevBy: Torsten Rahn