{"action":"created","issue":{"url":"https://api.github.com/repos/mapzen/vector-datasource/issues/266","labels_url":"https://api.github.com/repos/mapzen/vector-datasource/issues/266/labels{/name}","comments_url":"https://api.github.com/repos/mapzen/vector-datasource/issues/266/comments","events_url":"https://api.github.com/repos/mapzen/vector-datasource/issues/266/events","html_url":"https://github.com/mapzen/vector-datasource/issues/266","id":108920485,"number":266,"title":"Density filter for POIs / labels","user":{"login":"zerebubuth","id":271360,"avatar_url":"https://avatars.githubusercontent.com/u/271360?v=3","gravatar_id":"","url":"https://api.github.com/users/zerebubuth","html_url":"https://github.com/zerebubuth","followers_url":"https://api.github.com/users/zerebubuth/followers","following_url":"https://api.github.com/users/zerebubuth/following{/other_user}","gists_url":"https://api.github.com/users/zerebubuth/gists{/gist_id}","starred_url":"https://api.github.com/users/zerebubuth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerebubuth/subscriptions","organizations_url":"https://api.github.com/users/zerebubuth/orgs","repos_url":"https://api.github.com/users/zerebubuth/repos","events_url":"https://api.github.com/users/zerebubuth/events{/privacy}","received_events_url":"https://api.github.com/users/zerebubuth/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mapzen/vector-datasource/labels/in%20review","name":"in review","color":"e6e6e6"}],"state":"open","locked":false,"assignee":{"login":"zerebubuth","id":271360,"avatar_url":"https://avatars.githubusercontent.com/u/271360?v=3","gravatar_id":"","url":"https://api.github.com/users/zerebubuth","html_url":"https://github.com/zerebubuth","followers_url":"https://api.github.com/users/zerebubuth/followers","following_url":"https://api.github.com/users/zerebubuth/following{/other_user}","gists_url":"https://api.github.com/users/zerebubuth/gists{/gist_id}","starred_url":"https://api.github.com/users/zerebubuth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zerebubuth/subscriptions","organizations_url":"https://api.github.com/users/zerebubuth/orgs","repos_url":"https://api.github.com/users/zerebubuth/repos","events_url":"https://api.github.com/users/zerebubuth/events{/privacy}","received_events_url":"https://api.github.com/users/zerebubuth/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/mapzen/vector-datasource/milestones/2","html_url":"https://github.com/mapzen/vector-datasource/milestones/Compilation%202.1","labels_url":"https://api.github.com/repos/mapzen/vector-datasource/milestones/2/labels","id":1323410,"number":2,"title":"Compilation 2.1","description":"","creator":{"login":"nvkelso","id":853051,"avatar_url":"https://avatars.githubusercontent.com/u/853051?v=3","gravatar_id":"","url":"https://api.github.com/users/nvkelso","html_url":"https://github.com/nvkelso","followers_url":"https://api.github.com/users/nvkelso/followers","following_url":"https://api.github.com/users/nvkelso/following{/other_user}","gists_url":"https://api.github.com/users/nvkelso/gists{/gist_id}","starred_url":"https://api.github.com/users/nvkelso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvkelso/subscriptions","organizations_url":"https://api.github.com/users/nvkelso/orgs","repos_url":"https://api.github.com/users/nvkelso/repos","events_url":"https://api.github.com/users/nvkelso/events{/privacy}","received_events_url":"https://api.github.com/users/nvkelso/received_events","type":"User","site_admin":false},"open_issues":31,"closed_issues":2,"state":"open","created_at":"2015-09-25T08:00:30Z","updated_at":"2015-10-27T20:57:45Z","due_on":"2015-10-30T07:00:00Z","closed_at":null},"comments":4,"created_at":"2015-09-29T17:43:57Z","updated_at":"2015-10-28T17:30:36Z","closed_at":null,"body":"As a post-process filter, we should be able to control the density of POIs and labels, preventing a whole bunch of them from rendering on top of one another. Client-side clipping will help, but it would be better to not send all of this data to begin with.\r\n\r\nThe issue arises because many buildings and other features are legitimately clustered, and each may have its own label / icon. However, once zoomed out these become all mashed together. The fix has to be something that's \"zoom sensitive\" as it doesn't make sense to merge these POIs at all zooms.\r\n\r\nOne possible implementation is to divide up the tile into NxN blocks (possibly even one 1x1) and rank the POIs within each block, possibly by type, taking only the most prominent and/or collapsing several of the same type into each other. For example, when binning mountain peaks, order by elevation and take only the highest within the block."},"comment":{"url":"https://api.github.com/repos/mapzen/vector-datasource/issues/comments/151919631","html_url":"https://github.com/mapzen/vector-datasource/issues/266#issuecomment-151919631","issue_url":"https://api.github.com/repos/mapzen/vector-datasource/issues/266","id":151919631,"user":{"login":"nvkelso","id":853051,"avatar_url":"https://avatars.githubusercontent.com/u/853051?v=3","gravatar_id":"","url":"https://api.github.com/users/nvkelso","html_url":"https://github.com/nvkelso","followers_url":"https://api.github.com/users/nvkelso/followers","following_url":"https://api.github.com/users/nvkelso/following{/other_user}","gists_url":"https://api.github.com/users/nvkelso/gists{/gist_id}","starred_url":"https://api.github.com/users/nvkelso/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nvkelso/subscriptions","organizations_url":"https://api.github.com/users/nvkelso/orgs","repos_url":"https://api.github.com/users/nvkelso/repos","events_url":"https://api.github.com/users/nvkelso/events{/privacy}","received_events_url":"https://api.github.com/users/nvkelso/received_events","type":"User","site_admin":false},"created_at":"2015-10-28T17:30:36Z","updated_at":"2015-10-28T17:30:36Z","body":"Super cool!"}}