{"action":"created","comment":{"url":"https://api.github.com/repos/gem/oq-platform/pulls/comments/44015203","id":44015203,"diff_hunk":"@@ -1,3 +1,8 @@\n+\n+  [Ben Wyss]\n+  * Added the Mapbox-Gl Javascript library in order to render vector\n+    tiles into the IRV application.\n+","path":"CHANGELOG","position":5,"original_position":5,"commit_id":"6f3a3c859cdd4f94adade8d633f68463bff8aaef","original_commit_id":"6f3a3c859cdd4f94adade8d633f68463bff8aaef","user":{"login":"ptormene","id":350930,"avatar_url":"https://avatars.githubusercontent.com/u/350930?v=3","gravatar_id":"","url":"https://api.github.com/users/ptormene","html_url":"https://github.com/ptormene","followers_url":"https://api.github.com/users/ptormene/followers","following_url":"https://api.github.com/users/ptormene/following{/other_user}","gists_url":"https://api.github.com/users/ptormene/gists{/gist_id}","starred_url":"https://api.github.com/users/ptormene/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ptormene/subscriptions","organizations_url":"https://api.github.com/users/ptormene/orgs","repos_url":"https://api.github.com/users/ptormene/repos","events_url":"https://api.github.com/users/ptormene/events{/privacy}","received_events_url":"https://api.github.com/users/ptormene/received_events","type":"User","site_admin":false},"body":"If you think it's worth it, you might list here also other improvements provided by this PR","created_at":"2015-11-05T14:16:34Z","updated_at":"2015-11-05T14:16:34Z","html_url":"https://github.com/gem/oq-platform/pull/482#discussion_r44015203","pull_request_url":"https://api.github.com/repos/gem/oq-platform/pulls/482","_links":{"self":{"href":"https://api.github.com/repos/gem/oq-platform/pulls/comments/44015203"},"html":{"href":"https://github.com/gem/oq-platform/pull/482#discussion_r44015203"},"pull_request":{"href":"https://api.github.com/repos/gem/oq-platform/pulls/482"}}},"pull_request":{"url":"https://api.github.com/repos/gem/oq-platform/pulls/482","id":47146786,"html_url":"https://github.com/gem/oq-platform/pull/482","diff_url":"https://github.com/gem/oq-platform/pull/482.diff","patch_url":"https://github.com/gem/oq-platform/pull/482.patch","issue_url":"https://api.github.com/repos/gem/oq-platform/issues/482","number":482,"state":"open","locked":false,"title":"Implement Mapbox-GL into IRV App","user":{"login":"bwyss","id":340159,"avatar_url":"https://avatars.githubusercontent.com/u/340159?v=3","gravatar_id":"","url":"https://api.github.com/users/bwyss","html_url":"https://github.com/bwyss","followers_url":"https://api.github.com/users/bwyss/followers","following_url":"https://api.github.com/users/bwyss/following{/other_user}","gists_url":"https://api.github.com/users/bwyss/gists{/gist_id}","starred_url":"https://api.github.com/users/bwyss/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bwyss/subscriptions","organizations_url":"https://api.github.com/users/bwyss/orgs","repos_url":"https://api.github.com/users/bwyss/repos","events_url":"https://api.github.com/users/bwyss/events{/privacy}","received_events_url":"https://api.github.com/users/bwyss/received_events","type":"User","site_admin":false},"body":"This PR adds the Mapbox-Gl Js library. \r\n\r\n**Why:**\r\nRendering pure vector geometries into the web map is required by the IRV app because each time the SVIR indicator weights are modified, new values are calculated and thus thematically mapped.\r\nRendering pure vector geometries into the web map has obvious limitations and can not be scaled.\r\nThe solution it to use the Mapbox-Gl Js library and render vector webGL tiles into the web map. There is a longer initial load time as a result, but the app can not manage far larger geometries.\r\n\r\n**How:**\r\nThe GeoJSON returned from GeoNode/Geoserver is passed directly to Mapbox-GL which uses it to create vector tiles. \r\n\r\n**Workflow**\r\nWith regards to the mapping features of the IRV app, the app now checks the browser for Web-GL support. If the browser does not support Web-GL then it will check the number of vertices. If the project is over the vertices threshold, then a error is provide to the use. If the project is under the vertices threshold, then the application will continue with the old leafletJS thematic mapping solution.\r\nHowever, if the browser does support Web-GL, then Mapbox-gl is used for  thematic mapping.\r\n\r\n**Notes**\r\nThe previously implemented leaflet thematic mapping approach is still implemented and is used as a fallback if the users browser does not support WebGL and if the vertices count is less then the predetermined threshold.\r\nThis implementation of Mapbox-GL does not require any additional server side dependancies.\r\nAdditional efficiency may be gained by improving the map source/style refreshing method.\r\nAdditional efficiency will be gained by moving away from GeoJSON provided by GeoServer to a vector tile server solution.","created_at":"2015-10-08T12:36:14Z","updated_at":"2015-11-05T14:16:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1120e30c77c9b2a3d9bb80ee6abc11d89a4b9faf","assignee":null,"milestone":{"url":"https://api.github.com/repos/gem/oq-platform/milestones/2","html_url":"https://github.com/gem/oq-platform/milestones/1.3.0","labels_url":"https://api.github.com/repos/gem/oq-platform/milestones/2/labels","id":1313380,"number":2,"title":"1.3.0","description":"","creator":{"login":"daniviga","id":1818657,"avatar_url":"https://avatars.githubusercontent.com/u/1818657?v=3","gravatar_id":"","url":"https://api.github.com/users/daniviga","html_url":"https://github.com/daniviga","followers_url":"https://api.github.com/users/daniviga/followers","following_url":"https://api.github.com/users/daniviga/following{/other_user}","gists_url":"https://api.github.com/users/daniviga/gists{/gist_id}","starred_url":"https://api.github.com/users/daniviga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/daniviga/subscriptions","organizations_url":"https://api.github.com/users/daniviga/orgs","repos_url":"https://api.github.com/users/daniviga/repos","events_url":"https://api.github.com/users/daniviga/events{/privacy}","received_events_url":"https://api.github.com/users/daniviga/received_events","type":"User","site_admin":false},"open_issues":4,"closed_issues":8,"state":"open","created_at":"2015-09-18T13:24:15Z","updated_at":"2015-11-03T10:54:03Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/gem/oq-platform/pulls/482/commits","review_comments_url":"https://api.github.com/repos/gem/oq-platform/pulls/482/comments","review_comment_url":"https://api.github.com/repos/gem/oq-platform/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gem/oq-platform/issues/482/comments","statuses_url":"https://api.github.com/repos/gem/oq-platform/statuses/6f3a3c859cdd4f94adade8d633f68463bff8aaef","head":{"label":"gem:irv-scale-up-geometry","ref":"irv-scale-up-geometry","sha":"6f3a3c859cdd4f94adade8d633f68463bff8aaef","user":{"login":"gem","id":316546,"avatar_url":"https://avatars.githubusercontent.com/u/316546?v=3","gravatar_id":"","url":"https://api.github.com/users/gem","html_url":"https://github.com/gem","followers_url":"https://api.github.com/users/gem/followers","following_url":"https://api.github.com/users/gem/following{/other_user}","gists_url":"https://api.github.com/users/gem/gists{/gist_id}","starred_url":"https://api.github.com/users/gem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gem/subscriptions","organizations_url":"https://api.github.com/users/gem/orgs","repos_url":"https://api.github.com/users/gem/repos","events_url":"https://api.github.com/users/gem/events{/privacy}","received_events_url":"https://api.github.com/users/gem/received_events","type":"Organization","site_admin":false},"repo":{"id":5497412,"name":"oq-platform","full_name":"gem/oq-platform","owner":{"login":"gem","id":316546,"avatar_url":"https://avatars.githubusercontent.com/u/316546?v=3","gravatar_id":"","url":"https://api.github.com/users/gem","html_url":"https://github.com/gem","followers_url":"https://api.github.com/users/gem/followers","following_url":"https://api.github.com/users/gem/following{/other_user}","gists_url":"https://api.github.com/users/gem/gists{/gist_id}","starred_url":"https://api.github.com/users/gem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gem/subscriptions","organizations_url":"https://api.github.com/users/gem/orgs","repos_url":"https://api.github.com/users/gem/repos","events_url":"https://api.github.com/users/gem/events{/privacy}","received_events_url":"https://api.github.com/users/gem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gem/oq-platform","description":"OpenQuake Platform.","fork":false,"url":"https://api.github.com/repos/gem/oq-platform","forks_url":"https://api.github.com/repos/gem/oq-platform/forks","keys_url":"https://api.github.com/repos/gem/oq-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gem/oq-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gem/oq-platform/teams","hooks_url":"https://api.github.com/repos/gem/oq-platform/hooks","issue_events_url":"https://api.github.com/repos/gem/oq-platform/issues/events{/number}","events_url":"https://api.github.com/repos/gem/oq-platform/events","assignees_url":"https://api.github.com/repos/gem/oq-platform/assignees{/user}","branches_url":"https://api.github.com/repos/gem/oq-platform/branches{/branch}","tags_url":"https://api.github.com/repos/gem/oq-platform/tags","blobs_url":"https://api.github.com/repos/gem/oq-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gem/oq-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gem/oq-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/gem/oq-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gem/oq-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/gem/oq-platform/languages","stargazers_url":"https://api.github.com/repos/gem/oq-platform/stargazers","contributors_url":"https://api.github.com/repos/gem/oq-platform/contributors","subscribers_url":"https://api.github.com/repos/gem/oq-platform/subscribers","subscription_url":"https://api.github.com/repos/gem/oq-platform/subscription","commits_url":"https://api.github.com/repos/gem/oq-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/gem/oq-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/gem/oq-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/gem/oq-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/gem/oq-platform/contents/{+path}","compare_url":"https://api.github.com/repos/gem/oq-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gem/oq-platform/merges","archive_url":"https://api.github.com/repos/gem/oq-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gem/oq-platform/downloads","issues_url":"https://api.github.com/repos/gem/oq-platform/issues{/number}","pulls_url":"https://api.github.com/repos/gem/oq-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/gem/oq-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/gem/oq-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gem/oq-platform/labels{/name}","releases_url":"https://api.github.com/repos/gem/oq-platform/releases{/id}","created_at":"2012-08-21T16:00:07Z","updated_at":"2015-09-03T11:54:18Z","pushed_at":"2015-11-05T14:03:40Z","git_url":"git://github.com/gem/oq-platform.git","ssh_url":"git@github.com:gem/oq-platform.git","clone_url":"https://github.com/gem/oq-platform.git","svn_url":"https://github.com/gem/oq-platform","homepage":null,"size":169321,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":12,"forks":2,"open_issues":12,"watchers":3,"default_branch":"master"}},"base":{"label":"gem:master","ref":"master","sha":"43c2abd3c6095e74e291df2d81cef8af5d944634","user":{"login":"gem","id":316546,"avatar_url":"https://avatars.githubusercontent.com/u/316546?v=3","gravatar_id":"","url":"https://api.github.com/users/gem","html_url":"https://github.com/gem","followers_url":"https://api.github.com/users/gem/followers","following_url":"https://api.github.com/users/gem/following{/other_user}","gists_url":"https://api.github.com/users/gem/gists{/gist_id}","starred_url":"https://api.github.com/users/gem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gem/subscriptions","organizations_url":"https://api.github.com/users/gem/orgs","repos_url":"https://api.github.com/users/gem/repos","events_url":"https://api.github.com/users/gem/events{/privacy}","received_events_url":"https://api.github.com/users/gem/received_events","type":"Organization","site_admin":false},"repo":{"id":5497412,"name":"oq-platform","full_name":"gem/oq-platform","owner":{"login":"gem","id":316546,"avatar_url":"https://avatars.githubusercontent.com/u/316546?v=3","gravatar_id":"","url":"https://api.github.com/users/gem","html_url":"https://github.com/gem","followers_url":"https://api.github.com/users/gem/followers","following_url":"https://api.github.com/users/gem/following{/other_user}","gists_url":"https://api.github.com/users/gem/gists{/gist_id}","starred_url":"https://api.github.com/users/gem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gem/subscriptions","organizations_url":"https://api.github.com/users/gem/orgs","repos_url":"https://api.github.com/users/gem/repos","events_url":"https://api.github.com/users/gem/events{/privacy}","received_events_url":"https://api.github.com/users/gem/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gem/oq-platform","description":"OpenQuake Platform.","fork":false,"url":"https://api.github.com/repos/gem/oq-platform","forks_url":"https://api.github.com/repos/gem/oq-platform/forks","keys_url":"https://api.github.com/repos/gem/oq-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gem/oq-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gem/oq-platform/teams","hooks_url":"https://api.github.com/repos/gem/oq-platform/hooks","issue_events_url":"https://api.github.com/repos/gem/oq-platform/issues/events{/number}","events_url":"https://api.github.com/repos/gem/oq-platform/events","assignees_url":"https://api.github.com/repos/gem/oq-platform/assignees{/user}","branches_url":"https://api.github.com/repos/gem/oq-platform/branches{/branch}","tags_url":"https://api.github.com/repos/gem/oq-platform/tags","blobs_url":"https://api.github.com/repos/gem/oq-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gem/oq-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gem/oq-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/gem/oq-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gem/oq-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/gem/oq-platform/languages","stargazers_url":"https://api.github.com/repos/gem/oq-platform/stargazers","contributors_url":"https://api.github.com/repos/gem/oq-platform/contributors","subscribers_url":"https://api.github.com/repos/gem/oq-platform/subscribers","subscription_url":"https://api.github.com/repos/gem/oq-platform/subscription","commits_url":"https://api.github.com/repos/gem/oq-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/gem/oq-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/gem/oq-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/gem/oq-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/gem/oq-platform/contents/{+path}","compare_url":"https://api.github.com/repos/gem/oq-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gem/oq-platform/merges","archive_url":"https://api.github.com/repos/gem/oq-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gem/oq-platform/downloads","issues_url":"https://api.github.com/repos/gem/oq-platform/issues{/number}","pulls_url":"https://api.github.com/repos/gem/oq-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/gem/oq-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/gem/oq-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gem/oq-platform/labels{/name}","releases_url":"https://api.github.com/repos/gem/oq-platform/releases{/id}","created_at":"2012-08-21T16:00:07Z","updated_at":"2015-09-03T11:54:18Z","pushed_at":"2015-11-05T14:03:40Z","git_url":"git://github.com/gem/oq-platform.git","ssh_url":"git@github.com:gem/oq-platform.git","clone_url":"https://github.com/gem/oq-platform.git","svn_url":"https://github.com/gem/oq-platform","homepage":null,"size":169321,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":12,"forks":2,"open_issues":12,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gem/oq-platform/pulls/482"},"html":{"href":"https://github.com/gem/oq-platform/pull/482"},"issue":{"href":"https://api.github.com/repos/gem/oq-platform/issues/482"},"comments":{"href":"https://api.github.com/repos/gem/oq-platform/issues/482/comments"},"review_comments":{"href":"https://api.github.com/repos/gem/oq-platform/pulls/482/comments"},"review_comment":{"href":"https://api.github.com/repos/gem/oq-platform/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gem/oq-platform/pulls/482/commits"},"statuses":{"href":"https://api.github.com/repos/gem/oq-platform/statuses/6f3a3c859cdd4f94adade8d633f68463bff8aaef"}}}}