@jorgenphi/staticmaps
Version:
A Node.js library for creating map images with markers, polylines, polygons and text.
51 lines (45 loc) • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _default = {
/**
* Transform longitude to tile number
*/
lonToX: function lonToX(lon, zoom) {
return (lon + 180) / 360 * Math.pow(2, zoom);
},
/**
* Transform latitude to tile number
*/
latToY: function latToY(lat, zoom) {
return (1 - Math.log(Math.tan(lat * Math.PI / 180) + 1 / Math.cos(lat * Math.PI / 180)) / Math.PI) / 2 * Math.pow(2, zoom);
},
yToLat: function yToLat(y, zoom) {
return Math.atan(Math.sinh(Math.PI * (1 - 2 * y / Math.pow(2, zoom)))) / Math.PI * 180;
},
xToLon: function xToLon(x, zoom) {
return x / Math.pow(2, zoom) * 360 - 180;
},
meterToPixel: function meterToPixel(meter, zoom, lat) {
var latitudeRadians = lat * (Math.PI / 180);
var meterProPixel = 156543.03392 * Math.cos(latitudeRadians) / Math.pow(2, zoom);
return meter / meterProPixel;
},
tileXYToQuadKey: function tileXYToQuadKey(x, y, z) {
var quadKey = [];
for (var i = z; i > 0; i--) {
var digit = '0';
var mask = 1 << i - 1;
if ((x & mask) !== 0) digit++;
if ((y & mask) !== 0) {
digit++;
digit++;
}
quadKey.push(digit);
}
return quadKey.join('');
}
};
exports["default"] = _default;