Files
Sensores/static/lib/Highcharts-10.2.1/es-modules/Maps/Projections/WebMercator.js
2025-04-17 00:35:33 -06:00

37 lines
1.1 KiB
JavaScript

/* *
* Web Mercator projection, used for most online map tile services
* */
'use strict';
var maxLatitude = 85.0511287798, // The latitude that defines a square
r = 63.78137, deg2rad = Math.PI / 180;
var WebMercator = /** @class */ (function () {
function WebMercator() {
this.bounds = {
x1: -200.37508342789243,
x2: 200.37508342789243,
y1: -200.3750834278071,
y2: 200.3750834278071
};
this.maxLatitude = maxLatitude;
}
WebMercator.prototype.forward = function (lonLat) {
var sinLat = Math.sin(lonLat[1] * deg2rad);
var xy = [
r * lonLat[0] * deg2rad,
r * Math.log((1 + sinLat) / (1 - sinLat)) / 2
];
if (Math.abs(lonLat[1]) > maxLatitude) {
xy.outside = true;
}
return xy;
};
WebMercator.prototype.inverse = function (xy) {
return [
xy[0] / (r * deg2rad),
(2 * Math.atan(Math.exp(xy[1] / r)) - (Math.PI / 2)) / deg2rad
];
};
return WebMercator;
}());
export default WebMercator;