define([ 'exports', './Matrix2-f2da41d4', './when-229515d6', './RuntimeError-ffe03243', './ComponentDatatype-17b06483', ], function (t, e, i, o, a) { 'use strict'; function r(t) { (this._ellipsoid = i.defaultValue(t, e.Ellipsoid.WGS84)), (this._semimajorAxis = this._ellipsoid.maximumRadius), (this._oneOverSemimajorAxis = 1 / this._semimajorAxis); } Object.defineProperties(r.prototype, { ellipsoid: { get: function () { return this._ellipsoid; }, }, }), (r.mercatorAngleToGeodeticLatitude = function (t) { return a.CesiumMath.PI_OVER_TWO - 2 * Math.atan(Math.exp(-t)); }), (r.geodeticLatitudeToMercatorAngle = function (t) { t > r.MaximumLatitude ? (t = r.MaximumLatitude) : t < -r.MaximumLatitude && (t = -r.MaximumLatitude); var e = Math.sin(t); return 0.5 * Math.log((1 + e) / (1 - e)); }), (r.MaximumLatitude = r.mercatorAngleToGeodeticLatitude(Math.PI)), (r.prototype.project = function (t, o) { var a = this._semimajorAxis, n = t.longitude * a, u = r.geodeticLatitudeToMercatorAngle(t.latitude) * a, d = t.height; return i.defined(o) ? ((o.x = n), (o.y = u), (o.z = d), o) : new e.Cartesian3(n, u, d); }), (r.prototype.unproject = function (t, o) { var a = this._oneOverSemimajorAxis, n = t.x * a, u = r.mercatorAngleToGeodeticLatitude(t.y * a), d = t.z; return i.defined(o) ? ((o.longitude = n), (o.latitude = u), (o.height = d), o) : new e.Cartographic(n, u, d); }), (t.WebMercatorProjection = r); });