This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository proj4js.

commit b1ebfd51b259d4b5bc1a6be2374035d0d164e97d
Author: Bas Couwenberg <sebas...@xs4all.nl>
Date:   Sun Aug 23 13:05:51 2015 +0200

    Imported Upstream version 2.3.10+ds
---
 bower.json        |   4 +-
 component.json    |   4 +-
 dist/proj4-src.js | 175 +++++++++++++++++++++++++++++++++---------------------
 package.json      |   4 +-
 4 files changed, 113 insertions(+), 74 deletions(-)

diff --git a/bower.json b/bower.json
index 1e06c6b..2c7d8b9 100644
--- a/bower.json
+++ b/bower.json
@@ -1,6 +1,6 @@
 {
   "name": "proj4",
-  "version": "2.3.9-alpha",
+  "version": "2.3.10-alpha",
   "description": "Proj4js is a JavaScript library to transform point 
coordinates from one coordinate system to another, including datum 
transformations.",
   "homepage": "https://github.com/proj4js/proj4js";,
   "main": "dist/proj4.js",
@@ -21,4 +21,4 @@
     "almond",
     "src"
   ]
-}
\ No newline at end of file
+}
diff --git a/component.json b/component.json
index 28902cd..325c045 100644
--- a/component.json
+++ b/component.json
@@ -1,6 +1,6 @@
 {
   "name": "proj4",
-  "version": "2.3.9-alpha",
+  "version": "2.3.10-alpha",
   "description": "Proj4js is a JavaScript library to transform point 
coordinates from one coordinate system to another, including datum 
transformations.",
   "repo": "proj4js/proj4js",
   "keywords": [
@@ -14,4 +14,4 @@
   "scripts": [
     "dist/proj4.js"
   ]
-}
\ No newline at end of file
+}
diff --git a/dist/proj4-src.js b/dist/proj4-src.js
index 2e8aec8..4916da3 100644
--- a/dist/proj4-src.js
+++ b/dist/proj4-src.js
@@ -34,7 +34,7 @@ Point.prototype.toMGRS = function(accuracy) {
   return mgrs.forward([this.x, this.y], accuracy);
 };
 module.exports = Point;
-},{"mgrs":66}],2:[function(_dereq_,module,exports){
+},{"mgrs":67}],2:[function(_dereq_,module,exports){
 var parseCode = _dereq_("./parseCode");
 var extend = _dereq_('./extend');
 var projections = _dereq_('./projections');
@@ -69,7 +69,7 @@ Projection.projections = projections;
 Projection.projections.start();
 module.exports = Projection;
 
-},{"./deriveConstants":32,"./extend":33,"./parseCode":36,"./projections":38}],3:[function(_dereq_,module,exports){
+},{"./deriveConstants":33,"./extend":34,"./parseCode":37,"./projections":39}],3:[function(_dereq_,module,exports){
 module.exports = function(crs, denorm, point) {
   var xin = point.x,
     yin = point.y,
@@ -131,10 +131,15 @@ module.exports = function(x) {
 };
 },{"./sign":21}],5:[function(_dereq_,module,exports){
 var TWO_PI = Math.PI * 2;
+// SPI is slightly greater than Math.PI, so values that exceed the -180..180
+// degree range by a tiny amount don't get wrapped. This prevents points that
+// have drifted from their original location along the 180th meridian (due to
+// floating point error) from changing their sign.
+var SPI = 3.14159265359;
 var sign = _dereq_('./sign');
 
 module.exports = function(x) {
-  return (Math.abs(x) < Math.PI) ? x : (x - (sign(x) * TWO_PI));
+  return (Math.abs(x) <= SPI) ? x : (x - (sign(x) * TWO_PI));
 };
 },{"./sign":21}],6:[function(_dereq_,module,exports){
 module.exports = function(x) {
@@ -646,6 +651,10 @@ exports.stockholm = 18.058277777778; //"18d3'29.8\"E",
 exports.athens = 23.7163375; //"23d42'58.815\"E",
 exports.oslo = 10.722916666667; //"10d43'22.5\"E"
 },{}],28:[function(_dereq_,module,exports){
+exports.ft = {to_meter: 0.3048};
+exports['us-ft'] = {to_meter: 1200 / 3937};
+
+},{}],29:[function(_dereq_,module,exports){
 var proj = _dereq_('./Proj');
 var transform = _dereq_('./transform');
 var wgs84 = proj('WGS84');
@@ -710,7 +719,7 @@ function proj4(fromProj, toProj, coord) {
   }
 }
 module.exports = proj4;
-},{"./Proj":2,"./transform":64}],29:[function(_dereq_,module,exports){
+},{"./Proj":2,"./transform":65}],30:[function(_dereq_,module,exports){
 var HALF_PI = Math.PI/2;
 var PJD_3PARAM = 1;
 var PJD_7PARAM = 2;
@@ -1116,7 +1125,7 @@ datum.prototype = {
 */
 module.exports = datum;
 
-},{}],30:[function(_dereq_,module,exports){
+},{}],31:[function(_dereq_,module,exports){
 var PJD_3PARAM = 1;
 var PJD_7PARAM = 2;
 var PJD_GRIDSHIFT = 3;
@@ -1217,7 +1226,7 @@ module.exports = function(source, dest, point) {
 };
 
 
-},{}],31:[function(_dereq_,module,exports){
+},{}],32:[function(_dereq_,module,exports){
 var globals = _dereq_('./global');
 var parseProj = _dereq_('./projString');
 var wkt = _dereq_('./wkt');
@@ -1228,7 +1237,7 @@ function defs(name) {
   if (arguments.length === 2) {
     var def = arguments[1];
     if (typeof def === 'string') {
-      if (def[0] === '+') {
+      if (def.charAt(0) === '+') {
         defs[name] = parseProj(arguments[1]);
       }
       else {
@@ -1274,7 +1283,7 @@ function defs(name) {
 globals(defs);
 module.exports = defs;
 
-},{"./global":34,"./projString":37,"./wkt":65}],32:[function(_dereq_,module,exports){
+},{"./global":35,"./projString":38,"./wkt":66}],33:[function(_dereq_,module,exports){
 var Datum = _dereq_('./constants/Datum');
 var Ellipsoid = _dereq_('./constants/Ellipsoid');
 var extend = _dereq_('./extend');
@@ -1326,10 +1335,13 @@ module.exports = function(json) {
     json.axis = "enu";
   }
 
-  json.datum = datum(json);
+  if (!json.datum) {
+    json.datum = datum(json);
+  }
   return json;
 };
-},{"./constants/Datum":25,"./constants/Ellipsoid":26,"./datum":29,"./extend":33}],33:[function(_dereq_,module,exports){
+
+},{"./constants/Datum":25,"./constants/Ellipsoid":26,"./datum":30,"./extend":34}],34:[function(_dereq_,module,exports){
 module.exports = function(destination, source) {
   destination = destination || {};
   var value, property;
@@ -1345,7 +1357,7 @@ module.exports = function(destination, source) {
   return destination;
 };
 
-},{}],34:[function(_dereq_,module,exports){
+},{}],35:[function(_dereq_,module,exports){
 module.exports = function(defs) {
   defs('EPSG:4326', "+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 
+datum=WGS84 +units=degrees");
   defs('EPSG:4269', "+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 
+b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees");
@@ -1358,7 +1370,7 @@ module.exports = function(defs) {
   defs['EPSG:102113'] = defs['EPSG:3857'];
 };
 
-},{}],35:[function(_dereq_,module,exports){
+},{}],36:[function(_dereq_,module,exports){
 var proj4 = _dereq_('./core');
 proj4.defaultDatum = 'WGS84'; //default datum
 proj4.Proj = _dereq_('./Proj');
@@ -1371,7 +1383,7 @@ proj4.mgrs = _dereq_('mgrs');
 proj4.version = _dereq_('../package.json').version;
 _dereq_('./includedProjections')(proj4);
 module.exports = proj4;
-},{"../package.json":67,"./Point":1,"./Proj":2,"./common/toPoint":23,"./core":28,"./defs":31,"./includedProjections":"gWUPNW","./transform":64,"mgrs":66}],36:[function(_dereq_,module,exports){
+},{"../package.json":68,"./Point":1,"./Proj":2,"./common/toPoint":23,"./core":29,"./defs":32,"./includedProjections":"hTEDpn","./transform":65,"mgrs":67}],37:[function(_dereq_,module,exports){
 var defs = _dereq_('./defs');
 var wkt = _dereq_('./wkt');
 var projStr = _dereq_('./projString');
@@ -1408,12 +1420,13 @@ function parse(code){
 }
 
 module.exports = parse;
-},{"./defs":31,"./projString":37,"./wkt":65}],37:[function(_dereq_,module,exports){
+},{"./defs":32,"./projString":38,"./wkt":66}],38:[function(_dereq_,module,exports){
 var D2R = 0.01745329251994329577;
 var PrimeMeridian = _dereq_('./constants/PrimeMeridian');
+var units = _dereq_('./constants/units');
+
 module.exports = function(defData) {
   var self = {};
-
   var paramObj = {};
   defData.split("+").map(function(v) {
     return v.trim();
@@ -1429,7 +1442,7 @@ module.exports = function(defData) {
     proj: 'projName',
     datum: 'datumCode',
     rf: function(v) {
-      self.rf = parseFloat(v, 10);
+      self.rf = parseFloat(v);
     },
     lat_0: function(v) {
       self.lat0 = v * D2R;
@@ -1459,16 +1472,22 @@ module.exports = function(defData) {
       self.longc = v * D2R;
     },
     x_0: function(v) {
-      self.x0 = parseFloat(v, 10);
+      self.x0 = parseFloat(v);
     },
     y_0: function(v) {
-      self.y0 = parseFloat(v, 10);
+      self.y0 = parseFloat(v);
     },
     k_0: function(v) {
-      self.k0 = parseFloat(v, 10);
+      self.k0 = parseFloat(v);
     },
     k: function(v) {
-      self.k0 = parseFloat(v, 10);
+      self.k0 = parseFloat(v);
+    },
+    a: function(v) {
+      self.a = parseFloat(v);
+    },
+    b: function(v) {
+      self.b = parseFloat(v);
     },
     r_a: function() {
       self.R_A = true;
@@ -1481,17 +1500,23 @@ module.exports = function(defData) {
     },
     towgs84: function(v) {
       self.datum_params = v.split(",").map(function(a) {
-        return parseFloat(a, 10);
+        return parseFloat(a);
       });
     },
     to_meter: function(v) {
-      self.to_meter = parseFloat(v, 10);
+      self.to_meter = parseFloat(v);
+    },
+    units: function(v) {
+      self.units = v;
+      if (units[v]) {
+        self.to_meter = units[v].to_meter;
+      }
     },
     from_greenwich: function(v) {
       self.from_greenwich = v * D2R;
     },
     pm: function(v) {
-      self.from_greenwich = (PrimeMeridian[v] ? PrimeMeridian[v] : 
parseFloat(v, 10)) * D2R;
+      self.from_greenwich = (PrimeMeridian[v] ? PrimeMeridian[v] : 
parseFloat(v)) * D2R;
     },
     nadgrids: function(v) {
       if (v === '@null') {
@@ -1529,7 +1554,7 @@ module.exports = function(defData) {
   return self;
 };
 
-},{"./constants/PrimeMeridian":27}],38:[function(_dereq_,module,exports){
+},{"./constants/PrimeMeridian":27,"./constants/units":28}],39:[function(_dereq_,module,exports){
 var projs = [
   _dereq_('./projections/merc'),
   _dereq_('./projections/longlat')
@@ -1565,7 +1590,7 @@ exports.start = function() {
   projs.forEach(add);
 };
 
-},{"./projections/longlat":50,"./projections/merc":51}],39:[function(_dereq_,module,exports){
+},{"./projections/longlat":51,"./projections/merc":52}],40:[function(_dereq_,module,exports){
 var EPSLN = 1.0e-10;
 var msfnz = _dereq_('../common/msfnz');
 var qsfnz = _dereq_('../common/qsfnz');
@@ -1688,7 +1713,7 @@ exports.phi1z = function(eccent, qs) {
 };
 exports.names = ["Albers_Conic_Equal_Area", "Albers", "aea"];
 
-},{"../common/adjust_lon":5,"../common/asinz":6,"../common/msfnz":15,"../common/qsfnz":20}],40:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/asinz":6,"../common/msfnz":15,"../common/qsfnz":20}],41:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var HALF_PI = Math.PI/2;
 var EPSLN = 1.0e-10;
@@ -1887,7 +1912,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Azimuthal_Equidistant", "aeqd"];
 
-},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],41:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],42:[function(_dereq_,module,exports){
 var mlfn = _dereq_('../common/mlfn');
 var e0fn = _dereq_('../common/e0fn');
 var e1fn = _dereq_('../common/e1fn');
@@ -1991,7 +2016,7 @@ exports.inverse = function(p) {
 
 };
 exports.names = ["Cassini", "Cassini_Soldner", "cass"];
-},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],42:[function(_dereq_,module,exports){
+},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/imlfn":12,"../common/mlfn":14}],43:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var qsfnz = _dereq_('../common/qsfnz');
 var msfnz = _dereq_('../common/msfnz');
@@ -2056,7 +2081,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["cea"];
 
-},{"../common/adjust_lon":5,"../common/iqsfnz":13,"../common/msfnz":15,"../common/qsfnz":20}],43:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/iqsfnz":13,"../common/msfnz":15,"../common/qsfnz":20}],44:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var adjust_lat = _dereq_('../common/adjust_lat');
 exports.init = function() {
@@ -2099,7 +2124,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Equirectangular", "Equidistant_Cylindrical", "eqc"];
 
-},{"../common/adjust_lat":4,"../common/adjust_lon":5}],44:[function(_dereq_,module,exports){
+},{"../common/adjust_lat":4,"../common/adjust_lon":5}],45:[function(_dereq_,module,exports){
 var e0fn = _dereq_('../common/e0fn');
 var e1fn = _dereq_('../common/e1fn');
 var e2fn = _dereq_('../common/e2fn');
@@ -2211,7 +2236,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Equidistant_Conic", "eqdc"];
 
-},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/imlfn":12,"../common/mlfn":14,"../common/msfnz":15}],45:[function(_dereq_,module,exports){
+},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/imlfn":12,"../common/mlfn":14,"../common/msfnz":15}],46:[function(_dereq_,module,exports){
 var FORTPI = Math.PI/4;
 var srat = _dereq_('../common/srat');
 var HALF_PI = Math.PI/2;
@@ -2258,7 +2283,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["gauss"];
 
-},{"../common/srat":22}],46:[function(_dereq_,module,exports){
+},{"../common/srat":22}],47:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var EPSLN = 1.0e-10;
 var asinz = _dereq_('../common/asinz');
@@ -2359,7 +2384,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["gnom"];
 
-},{"../common/adjust_lon":5,"../common/asinz":6}],47:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/asinz":6}],48:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 exports.init = function() {
   this.a = 6377397.155;
@@ -2459,7 +2484,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Krovak", "krovak"];
 
-},{"../common/adjust_lon":5}],48:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5}],49:[function(_dereq_,module,exports){
 var HALF_PI = Math.PI/2;
 var FORTPI = Math.PI/4;
 var EPSLN = 1.0e-10;
@@ -2749,7 +2774,7 @@ exports.authlat = function(beta, APA) {
 };
 exports.names = ["Lambert Azimuthal Equal Area", 
"Lambert_Azimuthal_Equal_Area", "laea"];
 
-},{"../common/adjust_lon":5,"../common/qsfnz":20}],49:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/qsfnz":20}],50:[function(_dereq_,module,exports){
 var EPSLN = 1.0e-10;
 var msfnz = _dereq_('../common/msfnz');
 var tsfnz = _dereq_('../common/tsfnz');
@@ -2886,7 +2911,7 @@ exports.inverse = function(p) {
 
 exports.names = ["Lambert Tangential Conformal Conic Projection", 
"Lambert_Conformal_Conic", "Lambert_Conformal_Conic_2SP", "lcc"];
 
-},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],50:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],51:[function(_dereq_,module,exports){
 exports.init = function() {
   //no-op for longlat
 };
@@ -2898,7 +2923,7 @@ exports.forward = identity;
 exports.inverse = identity;
 exports.names = ["longlat", "identity"];
 
-},{}],51:[function(_dereq_,module,exports){
+},{}],52:[function(_dereq_,module,exports){
 var msfnz = _dereq_('../common/msfnz');
 var HALF_PI = Math.PI/2;
 var EPSLN = 1.0e-10;
@@ -2997,7 +3022,7 @@ exports.inverse = function(p) {
 
 exports.names = ["Mercator", "Popular Visualisation Pseudo Mercator", 
"Mercator_1SP", "Mercator_Auxiliary_Sphere", "merc"];
 
-},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/tsfnz":24}],52:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/tsfnz":24}],53:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 /*
   reference
@@ -3044,7 +3069,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Miller_Cylindrical", "mill"];
 
-},{"../common/adjust_lon":5}],53:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5}],54:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var EPSLN = 1.0e-10;
 exports.init = function() {};
@@ -3123,7 +3148,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Mollweide", "moll"];
 
-},{"../common/adjust_lon":5}],54:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5}],55:[function(_dereq_,module,exports){
 var SEC_TO_RAD = 4.84813681109535993589914102357e-6;
 /*
   reference
@@ -3343,7 +3368,7 @@ exports.inverse = function(p) {
   return p;
 };
 exports.names = ["New_Zealand_Map_Grid", "nzmg"];
-},{}],55:[function(_dereq_,module,exports){
+},{}],56:[function(_dereq_,module,exports){
 var tsfnz = _dereq_('../common/tsfnz');
 var adjust_lon = _dereq_('../common/adjust_lon');
 var phi2z = _dereq_('../common/phi2z');
@@ -3512,7 +3537,7 @@ exports.inverse = function(p) {
 };
 
 exports.names = ["Hotine_Oblique_Mercator", "Hotine Oblique Mercator", 
"Hotine_Oblique_Mercator_Azimuth_Natural_Origin", 
"Hotine_Oblique_Mercator_Azimuth_Center", "omerc"];
-},{"../common/adjust_lon":5,"../common/phi2z":16,"../common/tsfnz":24}],56:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/phi2z":16,"../common/tsfnz":24}],57:[function(_dereq_,module,exports){
 var e0fn = _dereq_('../common/e0fn');
 var e1fn = _dereq_('../common/e1fn');
 var e2fn = _dereq_('../common/e2fn');
@@ -3641,7 +3666,7 @@ exports.inverse = function(p) {
   return p;
 };
 exports.names = ["Polyconic", "poly"];
-},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/mlfn":14}],57:[function(_dereq_,module,exports){
+},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/gN":11,"../common/mlfn":14}],58:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var adjust_lat = _dereq_('../common/adjust_lat');
 var pj_enfn = _dereq_('../common/pj_enfn');
@@ -3748,7 +3773,7 @@ exports.inverse = function(p) {
   return p;
 };
 exports.names = ["Sinusoidal", "sinu"];
-},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/asinz":6,"../common/pj_enfn":17,"../common/pj_inv_mlfn":18,"../common/pj_mlfn":19}],58:[function(_dereq_,module,exports){
+},{"../common/adjust_lat":4,"../common/adjust_lon":5,"../common/asinz":6,"../common/pj_enfn":17,"../common/pj_inv_mlfn":18,"../common/pj_mlfn":19}],59:[function(_dereq_,module,exports){
 /*
   references:
     Formules et constantes pour le Calcul pour la
@@ -3830,7 +3855,7 @@ exports.inverse = function(p) {
 
 exports.names = ["somerc"];
 
-},{}],59:[function(_dereq_,module,exports){
+},{}],60:[function(_dereq_,module,exports){
 var HALF_PI = Math.PI/2;
 var EPSLN = 1.0e-10;
 var sign = _dereq_('../common/sign');
@@ -3996,8 +4021,9 @@ exports.inverse = function(p) {
   return p;
 
 };
-exports.names = ["stere"];
-},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],60:[function(_dereq_,module,exports){
+exports.names = ["stere", "Stereographic_South_Pole", "Polar Stereographic 
(variant B)"];
+
+},{"../common/adjust_lon":5,"../common/msfnz":15,"../common/phi2z":16,"../common/sign":21,"../common/tsfnz":24}],61:[function(_dereq_,module,exports){
 var gauss = _dereq_('./gauss');
 var adjust_lon = _dereq_('../common/adjust_lon');
 exports.init = function() {
@@ -4056,7 +4082,7 @@ exports.inverse = function(p) {
 
 exports.names = ["Stereographic_North_Pole", "Oblique_Stereographic", 
"Polar_Stereographic", "sterea","Oblique Stereographic Alternative"];
 
-},{"../common/adjust_lon":5,"./gauss":45}],61:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"./gauss":46}],62:[function(_dereq_,module,exports){
 var e0fn = _dereq_('../common/e0fn');
 var e1fn = _dereq_('../common/e1fn');
 var e2fn = _dereq_('../common/e2fn');
@@ -4193,7 +4219,7 @@ exports.inverse = function(p) {
 };
 exports.names = ["Transverse_Mercator", "Transverse Mercator", "tmerc"];
 
-},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/mlfn":14,"../common/sign":21}],62:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/asinz":6,"../common/e0fn":7,"../common/e1fn":8,"../common/e2fn":9,"../common/e3fn":10,"../common/mlfn":14,"../common/sign":21}],63:[function(_dereq_,module,exports){
 var D2R = 0.01745329251994329577;
 var tmerc = _dereq_('./tmerc');
 exports.dependsOn = 'tmerc';
@@ -4213,7 +4239,7 @@ exports.init = function() {
 };
 exports.names = ["Universal Transverse Mercator System", "utm"];
 
-},{"./tmerc":61}],63:[function(_dereq_,module,exports){
+},{"./tmerc":62}],64:[function(_dereq_,module,exports){
 var adjust_lon = _dereq_('../common/adjust_lon');
 var HALF_PI = Math.PI/2;
 var EPSLN = 1.0e-10;
@@ -4334,7 +4360,7 @@ exports.inverse = function(p) {
   return p;
 };
 exports.names = ["Van_der_Grinten_I", "VanDerGrinten", "vandg"];
-},{"../common/adjust_lon":5,"../common/asinz":6}],64:[function(_dereq_,module,exports){
+},{"../common/adjust_lon":5,"../common/asinz":6}],65:[function(_dereq_,module,exports){
 var D2R = 0.01745329251994329577;
 var R2D = 57.29577951308232088;
 var PJD_3PARAM = 1;
@@ -4407,7 +4433,7 @@ module.exports = function transform(source, dest, point) {
 
   return point;
 };
-},{"./Proj":2,"./adjust_axis":3,"./common/toPoint":23,"./datum_transform":30}],65:[function(_dereq_,module,exports){
+},{"./Proj":2,"./adjust_axis":3,"./common/toPoint":23,"./datum_transform":31}],66:[function(_dereq_,module,exports){
 var D2R = 0.01745329251994329577;
 var extend = _dereq_('./extend');
 
@@ -4587,6 +4613,7 @@ function cleanWKT(wkt) {
     ['false_northing', 'False_Northing'],
     ['central_meridian', 'Central_Meridian'],
     ['latitude_of_origin', 'Latitude_Of_Origin'],
+    ['latitude_of_origin', 'Central_Parallel'],
     ['scale_factor', 'Scale_Factor'],
     ['k0', 'scale_factor'],
     ['latitude_of_center', 'Latitude_of_center'],
@@ -4604,12 +4631,16 @@ function cleanWKT(wkt) {
     ['srsCode', 'name']
   ];
   list.forEach(renamer);
-  if (!wkt.long0 && wkt.longc && (wkt.PROJECTION === 'Albers_Conic_Equal_Area' 
|| wkt.PROJECTION === "Lambert_Azimuthal_Equal_Area")) {
+  if (!wkt.long0 && wkt.longc && (wkt.projName === 'Albers_Conic_Equal_Area' 
|| wkt.projName === "Lambert_Azimuthal_Equal_Area")) {
     wkt.long0 = wkt.longc;
   }
+  if (!wkt.lat_ts && wkt.lat1 && (wkt.projName === 'Stereographic_South_Pole' 
|| wkt.projName === 'Polar Stereographic (variant B)')) {
+    wkt.lat0 = d2r(wkt.lat1 > 0 ? 90 : -90);
+    wkt.lat_ts = wkt.lat1;
+  }
 }
 module.exports = function(wkt, self) {
-  var lisp = JSON.parse(("," + wkt).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g, 
',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g, ',"$1"]'));
+  var lisp = JSON.parse(("," + wkt).replace(/\s*\,\s*([A-Z_0-9]+?)(\[)/g, 
',["$1",').slice(1).replace(/\s*\,\s*([A-Z_0-9]+?)\]/g, 
',"$1"]').replace(/,\["VERTCS".+/,''));
   var type = lisp.shift();
   var name = lisp.shift();
   lisp.unshift(['name', name]);
@@ -4621,7 +4652,7 @@ module.exports = function(wkt, self) {
   return extend(self, obj.output);
 };
 
-},{"./extend":33}],66:[function(_dereq_,module,exports){
+},{"./extend":34}],67:[function(_dereq_,module,exports){
 
 
 
@@ -4661,7 +4692,7 @@ var Z = 90; // Z
  * @param {object} ll Object literal with lat and lon properties on a
  *     WGS84 ellipsoid.
  * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for
- *      100 m, 4 for 1000 m or 5 for 10000 m). Optional, default is 5.
+ *      100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.
  * @return {string} the MGRS string for the given location and accuracy.
  */
 exports.forward = function(ll, accuracy) {
@@ -4682,12 +4713,18 @@ exports.forward = function(ll, accuracy) {
  */
 exports.inverse = function(mgrs) {
   var bbox = UTMtoLL(decode(mgrs.toUpperCase()));
+  if (bbox.lat && bbox.lon) {
+    return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];
+  }
   return [bbox.left, bbox.bottom, bbox.right, bbox.top];
 };
 
-exports.toPoint = function(mgrsStr) {
-  var llbbox = exports.inverse(mgrsStr);
-  return [(llbbox[2] + llbbox[0]) / 2, (llbbox[3] + llbbox[1]) / 2];
+exports.toPoint = function(mgrs) {
+  var bbox = UTMtoLL(decode(mgrs.toUpperCase()));
+  if (bbox.lat && bbox.lon) {
+    return [bbox.lon, bbox.lat];
+  }
+  return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];
 };
 /**
  * Conversion from degrees to radians.
@@ -4977,8 +5014,9 @@ function getLetterDesignator(lat) {
  * @return {string} MGRS string for the given UTM location.
  */
 function encode(utm, accuracy) {
-  var seasting = "" + utm.easting,
-    snorthing = "" + utm.northing;
+  // prepend with leading zeroes
+  var seasting = "00000" + utm.easting,
+    snorthing = "00000" + utm.northing;
 
   return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, 
utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) 
+ snorthing.substr(snorthing.length - 5, accuracy);
 }
@@ -5358,10 +5396,10 @@ function getMinNorthing(zoneLetter) {
 
 }
 
-},{}],67:[function(_dereq_,module,exports){
+},{}],68:[function(_dereq_,module,exports){
 module.exports={
   "name": "proj4",
-  "version": "2.2.1",
+  "version": "2.3.10",
   "description": "Proj4js is a JavaScript library to transform point 
coordinates from one coordinate system to another, including datum 
transformations.",
   "main": "lib/index.js",
   "directories": {
@@ -5402,12 +5440,13 @@ module.exports={
     "tin": "~0.4.0"
   },
   "dependencies": {
-    "mgrs": "0.0.0"
+    "mgrs": "~0.0.2"
   }
 }
+
 },{}],"./includedProjections":[function(_dereq_,module,exports){
-module.exports=_dereq_('gWUPNW');
-},{}],"gWUPNW":[function(_dereq_,module,exports){
+module.exports=_dereq_('hTEDpn');
+},{}],"hTEDpn":[function(_dereq_,module,exports){
 var projs = [
  _dereq_('./lib/projections/tmerc'),
        _dereq_('./lib/projections/utm'),
@@ -5437,6 +5476,6 @@ module.exports = function(proj4){
    proj4.Proj.projections.add(proj);
  });
 }
-},{"./lib/projections/aea":39,"./lib/projections/aeqd":40,"./lib/projections/cass":41,"./lib/projections/cea":42,"./lib/projections/eqc":43,"./lib/projections/eqdc":44,"./lib/projections/gnom":46,"./lib/projections/krovak":47,"./lib/projections/laea":48,"./lib/projections/lcc":49,"./lib/projections/mill":52,"./lib/projections/moll":53,"./lib/projections/nzmg":54,"./lib/projections/omerc":55,"./lib/projections/poly":56,"./lib/projections/sinu":57,"./lib/projections/somerc":58,"./lib/proje
 [...]
-(35)
+},{"./lib/projections/aea":40,"./lib/projections/aeqd":41,"./lib/projections/cass":42,"./lib/projections/cea":43,"./lib/projections/eqc":44,"./lib/projections/eqdc":45,"./lib/projections/gnom":47,"./lib/projections/krovak":48,"./lib/projections/laea":49,"./lib/projections/lcc":50,"./lib/projections/mill":53,"./lib/projections/moll":54,"./lib/projections/nzmg":55,"./lib/projections/omerc":56,"./lib/projections/poly":57,"./lib/projections/sinu":58,"./lib/projections/somerc":59,"./lib/proje
 [...]
+(36)
 });
\ No newline at end of file
diff --git a/package.json b/package.json
index e9f82ea..8fc17d2 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "proj4",
-  "version": "2.3.9-alpha",
+  "version": "2.3.10-alpha",
   "description": "Proj4js is a JavaScript library to transform point 
coordinates from one coordinate system to another, including datum 
transformations.",
   "main": "lib/index.js",
   "directories": {
@@ -43,4 +43,4 @@
   "dependencies": {
     "mgrs": "~0.0.2"
   }
-}
\ No newline at end of file
+}

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-grass/proj4js.git

_______________________________________________
Pkg-grass-devel mailing list
Pkg-grass-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel

Reply via email to