From d18e4906c53147d8e1890d0cd0c03837f283bffe Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Fri, 29 Jul 2016 13:48:41 -0400 Subject: [PATCH] export some internals for debugging --- src/s2geometry.js | 80 ++++++++++++++++++++++++++++++----------------- 1 file changed, 52 insertions(+), 28 deletions(-) diff --git a/src/s2geometry.js b/src/s2geometry.js index d090fee..946aee2 100644 --- a/src/s2geometry.js +++ b/src/s2geometry.js @@ -27,7 +27,8 @@ var S2 = exports.S2 = {}; -var LatLngToXYZ = function(latLng) { +/* +S2.LatLngToXYZ = function(latLng) { // http://stackoverflow.com/questions/8981943/lat-long-to-x-y-z-position-in-js-not-working var lat = latLng.lat; var lon = latLng.lng; @@ -48,8 +49,19 @@ var LatLngToXYZ = function(latLng) { , rad * sinLat ]; }; +*/ +S2.LatLngToXYZ = function(latLng) { + var d2r = S2.L.LatLng.DEG_TO_RAD; -var XYZToLatLng = function(xyz) { + var phi = latLng.lat*d2r; + var theta = latLng.lng*d2r; + + var cosphi = Math.cos(phi); + + return [Math.cos(theta)*cosphi, Math.sin(theta)*cosphi, Math.sin(phi)]; +}; + +S2.XYZToLatLng = function(xyz) { var r2d = S2.L.LatLng.RAD_TO_DEG; var lat = Math.atan2(xyz[2], Math.sqrt(xyz[0]*xyz[0]+xyz[1]*xyz[1])); @@ -96,7 +108,7 @@ var faceXYZToUV = function(face,xyz) { -var XYZToFaceUV = function(xyz) { +S2.XYZToFaceUV = function(xyz) { var face = largestAbsComponent(xyz); if (xyz[face] < 0) { @@ -108,7 +120,7 @@ var XYZToFaceUV = function(xyz) { return [face, uv]; }; -var FaceUVToXYZ = function(face,uv) { +S2.FaceUVToXYZ = function(face,uv) { var u = uv[0]; var v = uv[1]; @@ -131,7 +143,7 @@ var singleSTtoUV = function(st) { } }; -var STToUV = function(st) { +S2.STToUV = function(st) { return [singleSTtoUV(st[0]), singleSTtoUV(st[1])]; }; @@ -143,12 +155,12 @@ var singleUVtoST = function(uv) { return 1 - 0.5 * Math.sqrt (1 - 3*uv); } }; -var UVToST = function(uv) { +S2.UVToST = function(uv) { return [singleUVtoST(uv[0]), singleUVtoST(uv[1])]; }; -var STToIJ = function(st,order) { +S2.STToIJ = function(st,order) { var maxSize = (1<