{"action":"created","comment":{"url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/comments/53028118","id":53028118,"diff_hunk":"@@ -261,10 +261,19 @@ geo.gl.pointFeature = function (arg) {\n       position[i3] = posVal.x;\n       position[i3 + 1] = posVal.y;\n       position[i3 + 2] = posVal.z || 0;\n+      nonzeroZ = nonzeroZ || position[i3 + 2];\n     }\n     position = geo.transform.transformCoordinates(\n                   m_this.gcs(), m_this.layer().map().gcs(),\n                   position, 3);\n+    /* Some transforms modify the z-coordinate.  If we started with all zero z\n+     * coordinates, don't modify them.  This could be changed if the\n+     * z-coordinate space of the gl cube is scaled appropriately. */","path":"src/gl/pointFeature.js","position":36,"original_position":36,"commit_id":"787af667c3939add2df7215815d0f1091151b138","original_commit_id":"787af667c3939add2df7215815d0f1091151b138","user":{"login":"jbeezley","id":31890,"avatar_url":"https://avatars.githubusercontent.com/u/31890?v=3","gravatar_id":"","url":"https://api.github.com/users/jbeezley","html_url":"https://github.com/jbeezley","followers_url":"https://api.github.com/users/jbeezley/followers","following_url":"https://api.github.com/users/jbeezley/following{/other_user}","gists_url":"https://api.github.com/users/jbeezley/gists{/gist_id}","starred_url":"https://api.github.com/users/jbeezley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbeezley/subscriptions","organizations_url":"https://api.github.com/users/jbeezley/orgs","repos_url":"https://api.github.com/users/jbeezley/repos","events_url":"https://api.github.com/users/jbeezley/events{/privacy}","received_events_url":"https://api.github.com/users/jbeezley/received_events","type":"User","site_admin":false},"body":"Does proj4 set z-coordinates or is that something we are doing internally?  I didn't think proj4 was even aware of a third dimension.","created_at":"2016-02-16T15:45:11Z","updated_at":"2016-02-16T15:45:11Z","html_url":"https://github.com/OpenGeoscience/geojs/pull/531#discussion_r53028118","pull_request_url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531","_links":{"self":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/comments/53028118"},"html":{"href":"https://github.com/OpenGeoscience/geojs/pull/531#discussion_r53028118"},"pull_request":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531"}}},"pull_request":{"url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531","id":59388629,"html_url":"https://github.com/OpenGeoscience/geojs/pull/531","diff_url":"https://github.com/OpenGeoscience/geojs/pull/531.diff","patch_url":"https://github.com/OpenGeoscience/geojs/pull/531.patch","issue_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues/531","number":531,"state":"open","locked":false,"title":"Add reprojection example","user":{"login":"manthey","id":8781639,"avatar_url":"https://avatars.githubusercontent.com/u/8781639?v=3","gravatar_id":"","url":"https://api.github.com/users/manthey","html_url":"https://github.com/manthey","followers_url":"https://api.github.com/users/manthey/followers","following_url":"https://api.github.com/users/manthey/following{/other_user}","gists_url":"https://api.github.com/users/manthey/gists{/gist_id}","starred_url":"https://api.github.com/users/manthey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/manthey/subscriptions","organizations_url":"https://api.github.com/users/manthey/orgs","repos_url":"https://api.github.com/users/manthey/repos","events_url":"https://api.github.com/users/manthey/events{/privacy}","received_events_url":"https://api.github.com/users/manthey/received_events","type":"User","site_admin":false},"body":"The projections are taken from spatialreference.org, with some that look best listed at the top.  The capital cities of the world are taken from geonames.org.\r\n\r\nThere is a performance issue when a select box exists with a few thousand items, so, by default, only a few dozen projections are shown.  The example can show all of the known projections by commenting out a line.\r\n\r\nFixed a bug in d3 points where the stroke would not appear.  This depends on the order of the style keys in the style dictionary -- if stroke came after strokeColor, the stroke might not appear.\r\n\r\nFixed an issue in vgl points where if a transform added a z-value, they might not be rendered.  This could be changed if we ever address issue #394.\r\n\r\nAllow changing a widget's geographic position.\r\n\r\nAdded the ability to set the maximum bounds on a map after it is created.\r\n\r\nWhen we exited the vglRenderer, we did not destroy the canvas object.  This means that if you create and destroy vgl layers repeatedly, eventually you will exhaust a browser's available gl contexts (depending on the hardware this could be as few as four gl layers or as many as 16).  Additionally, more cleanup is done to ensure that memory can be released in a timely fashion.\r\n\r\nAlso, in testing this by toggling between transforms, I've added a guard against invalid projections, so that a error is sent to the console and the state can be recovered.  Before, if a bad projection was set, it was often impossible to reset it to a valid value.\r\n\r\nWhen the tile layer is a minimum level that isn't 0 and we want to keep lower levels and we aren't wrapping, then we should keep the entire lower level.  This has two benefits: reprojections can look decent just by setting a minimum level even if their bounds are odd, and padding with a non-zero minimum level still has something to show.  This has one drawback: if you have a very high minimum level (such as 5 or above), too many tiles need to be kept in memory.","created_at":"2016-02-15T16:51:21Z","updated_at":"2016-02-16T15:45:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d160cef540be479cadc34efb977a2c76732b33e9","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531/commits","review_comments_url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531/comments","review_comment_url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues/531/comments","statuses_url":"https://api.github.com/repos/OpenGeoscience/geojs/statuses/787af667c3939add2df7215815d0f1091151b138","head":{"label":"OpenGeoscience:reprojection-example","ref":"reprojection-example","sha":"787af667c3939add2df7215815d0f1091151b138","user":{"login":"OpenGeoscience","id":3434706,"avatar_url":"https://avatars.githubusercontent.com/u/3434706?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenGeoscience","html_url":"https://github.com/OpenGeoscience","followers_url":"https://api.github.com/users/OpenGeoscience/followers","following_url":"https://api.github.com/users/OpenGeoscience/following{/other_user}","gists_url":"https://api.github.com/users/OpenGeoscience/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenGeoscience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenGeoscience/subscriptions","organizations_url":"https://api.github.com/users/OpenGeoscience/orgs","repos_url":"https://api.github.com/users/OpenGeoscience/repos","events_url":"https://api.github.com/users/OpenGeoscience/events{/privacy}","received_events_url":"https://api.github.com/users/OpenGeoscience/received_events","type":"Organization","site_admin":false},"repo":{"id":12960038,"name":"geojs","full_name":"OpenGeoscience/geojs","owner":{"login":"OpenGeoscience","id":3434706,"avatar_url":"https://avatars.githubusercontent.com/u/3434706?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenGeoscience","html_url":"https://github.com/OpenGeoscience","followers_url":"https://api.github.com/users/OpenGeoscience/followers","following_url":"https://api.github.com/users/OpenGeoscience/following{/other_user}","gists_url":"https://api.github.com/users/OpenGeoscience/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenGeoscience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenGeoscience/subscriptions","organizations_url":"https://api.github.com/users/OpenGeoscience/orgs","repos_url":"https://api.github.com/users/OpenGeoscience/repos","events_url":"https://api.github.com/users/OpenGeoscience/events{/privacy}","received_events_url":"https://api.github.com/users/OpenGeoscience/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenGeoscience/geojs","description":"High performance visualization and analysis for geospatial and biomedical domain","fork":false,"url":"https://api.github.com/repos/OpenGeoscience/geojs","forks_url":"https://api.github.com/repos/OpenGeoscience/geojs/forks","keys_url":"https://api.github.com/repos/OpenGeoscience/geojs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenGeoscience/geojs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenGeoscience/geojs/teams","hooks_url":"https://api.github.com/repos/OpenGeoscience/geojs/hooks","issue_events_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues/events{/number}","events_url":"https://api.github.com/repos/OpenGeoscience/geojs/events","assignees_url":"https://api.github.com/repos/OpenGeoscience/geojs/assignees{/user}","branches_url":"https://api.github.com/repos/OpenGeoscience/geojs/branches{/branch}","tags_url":"https://api.github.com/repos/OpenGeoscience/geojs/tags","blobs_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenGeoscience/geojs/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenGeoscience/geojs/languages","stargazers_url":"https://api.github.com/repos/OpenGeoscience/geojs/stargazers","contributors_url":"https://api.github.com/repos/OpenGeoscience/geojs/contributors","subscribers_url":"https://api.github.com/repos/OpenGeoscience/geojs/subscribers","subscription_url":"https://api.github.com/repos/OpenGeoscience/geojs/subscription","commits_url":"https://api.github.com/repos/OpenGeoscience/geojs/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenGeoscience/geojs/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenGeoscience/geojs/contents/{+path}","compare_url":"https://api.github.com/repos/OpenGeoscience/geojs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenGeoscience/geojs/merges","archive_url":"https://api.github.com/repos/OpenGeoscience/geojs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenGeoscience/geojs/downloads","issues_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues{/number}","pulls_url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenGeoscience/geojs/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenGeoscience/geojs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenGeoscience/geojs/labels{/name}","releases_url":"https://api.github.com/repos/OpenGeoscience/geojs/releases{/id}","deployments_url":"https://api.github.com/repos/OpenGeoscience/geojs/deployments","created_at":"2013-09-19T21:39:25Z","updated_at":"2016-01-18T22:50:20Z","pushed_at":"2016-02-16T13:58:46Z","git_url":"git://github.com/OpenGeoscience/geojs.git","ssh_url":"git@github.com:OpenGeoscience/geojs.git","clone_url":"https://github.com/OpenGeoscience/geojs.git","svn_url":"https://github.com/OpenGeoscience/geojs","homepage":"","size":20524,"stargazers_count":43,"watchers_count":43,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":16,"mirror_url":null,"open_issues_count":75,"forks":16,"open_issues":75,"watchers":43,"default_branch":"master"}},"base":{"label":"OpenGeoscience:master","ref":"master","sha":"6e45ee35a5ad187f84e48de6bf1150f617404655","user":{"login":"OpenGeoscience","id":3434706,"avatar_url":"https://avatars.githubusercontent.com/u/3434706?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenGeoscience","html_url":"https://github.com/OpenGeoscience","followers_url":"https://api.github.com/users/OpenGeoscience/followers","following_url":"https://api.github.com/users/OpenGeoscience/following{/other_user}","gists_url":"https://api.github.com/users/OpenGeoscience/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenGeoscience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenGeoscience/subscriptions","organizations_url":"https://api.github.com/users/OpenGeoscience/orgs","repos_url":"https://api.github.com/users/OpenGeoscience/repos","events_url":"https://api.github.com/users/OpenGeoscience/events{/privacy}","received_events_url":"https://api.github.com/users/OpenGeoscience/received_events","type":"Organization","site_admin":false},"repo":{"id":12960038,"name":"geojs","full_name":"OpenGeoscience/geojs","owner":{"login":"OpenGeoscience","id":3434706,"avatar_url":"https://avatars.githubusercontent.com/u/3434706?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenGeoscience","html_url":"https://github.com/OpenGeoscience","followers_url":"https://api.github.com/users/OpenGeoscience/followers","following_url":"https://api.github.com/users/OpenGeoscience/following{/other_user}","gists_url":"https://api.github.com/users/OpenGeoscience/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenGeoscience/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenGeoscience/subscriptions","organizations_url":"https://api.github.com/users/OpenGeoscience/orgs","repos_url":"https://api.github.com/users/OpenGeoscience/repos","events_url":"https://api.github.com/users/OpenGeoscience/events{/privacy}","received_events_url":"https://api.github.com/users/OpenGeoscience/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenGeoscience/geojs","description":"High performance visualization and analysis for geospatial and biomedical domain","fork":false,"url":"https://api.github.com/repos/OpenGeoscience/geojs","forks_url":"https://api.github.com/repos/OpenGeoscience/geojs/forks","keys_url":"https://api.github.com/repos/OpenGeoscience/geojs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenGeoscience/geojs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenGeoscience/geojs/teams","hooks_url":"https://api.github.com/repos/OpenGeoscience/geojs/hooks","issue_events_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues/events{/number}","events_url":"https://api.github.com/repos/OpenGeoscience/geojs/events","assignees_url":"https://api.github.com/repos/OpenGeoscience/geojs/assignees{/user}","branches_url":"https://api.github.com/repos/OpenGeoscience/geojs/branches{/branch}","tags_url":"https://api.github.com/repos/OpenGeoscience/geojs/tags","blobs_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenGeoscience/geojs/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenGeoscience/geojs/languages","stargazers_url":"https://api.github.com/repos/OpenGeoscience/geojs/stargazers","contributors_url":"https://api.github.com/repos/OpenGeoscience/geojs/contributors","subscribers_url":"https://api.github.com/repos/OpenGeoscience/geojs/subscribers","subscription_url":"https://api.github.com/repos/OpenGeoscience/geojs/subscription","commits_url":"https://api.github.com/repos/OpenGeoscience/geojs/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenGeoscience/geojs/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenGeoscience/geojs/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenGeoscience/geojs/contents/{+path}","compare_url":"https://api.github.com/repos/OpenGeoscience/geojs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenGeoscience/geojs/merges","archive_url":"https://api.github.com/repos/OpenGeoscience/geojs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenGeoscience/geojs/downloads","issues_url":"https://api.github.com/repos/OpenGeoscience/geojs/issues{/number}","pulls_url":"https://api.github.com/repos/OpenGeoscience/geojs/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenGeoscience/geojs/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenGeoscience/geojs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenGeoscience/geojs/labels{/name}","releases_url":"https://api.github.com/repos/OpenGeoscience/geojs/releases{/id}","deployments_url":"https://api.github.com/repos/OpenGeoscience/geojs/deployments","created_at":"2013-09-19T21:39:25Z","updated_at":"2016-01-18T22:50:20Z","pushed_at":"2016-02-16T13:58:46Z","git_url":"git://github.com/OpenGeoscience/geojs.git","ssh_url":"git@github.com:OpenGeoscience/geojs.git","clone_url":"https://github.com/OpenGeoscience/geojs.git","svn_url":"https://github.com/OpenGeoscience/geojs","homepage":"","size":20524,"stargazers_count":43,"watchers_count":43,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":16,"mirror_url":null,"open_issues_count":75,"forks":16,"open_issues":75,"watchers":43,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531"},"html":{"href":"https://github.com/OpenGeoscience/geojs/pull/531"},"issue":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/issues/531"},"comments":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/issues/531/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/pulls/531/commits"},"statuses":{"href":"https://api.github.com/repos/OpenGeoscience/geojs/statuses/787af667c3939add2df7215815d0f1091151b138"}}}}