-
Notifications
You must be signed in to change notification settings - Fork 27
Description
Description
The current rendering approach does not perform equally across different zoom levels because:
- We render a greater number of WebGL features while zoomed out
- We render a greater number of points while zoomed out
A better rendering approach involves the following changes:
-
Decouple each WebGL feature from a single tile (and tile id). Each WebGL feature should be capable of including annotations from multiple tiles within a group.
-
GET Tile endpoints should accept a
grouping_factorparameter, which causes a group_ids array to be returned.e.g.,
Given a 4x4 tilegrid of ids 0-15, say we get all tiles, with grouping_factor set to 1 (defualt)resp.tile_ids = [0 - 15] resp.group_ids = [0 - 15]With grouping_factor set to 2:
resp.tile_ids = [0 - 15] resp.group_ids = [0,0,1,1, 0,0,1,1, 2,2,3,3, 2,2,3,3]With grouping_factor set to 3:
resp.tile_ids = [0 - 15] resp.group_ids = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]The client then only requests annotations for each unique group_id. Each group_id thus corresponds to a webgl feature.
-
Create a new endpoint for getting annotations within multiple tiles. This endpoint should also accept a simplification threshold so that resulting polygons are simplified to reduce the number of points to render.