-
Glenn Vorhes authoredGlenn Vorhes authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
zoomResolutionConvert.js 6.74 KiB
/**
* Created by gavorhes on 12/14/2015.
*/
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var provide_1 = require("../util/provide");
var nm = provide_1.default('olHelpers.zoomResolutionConvert');
var _zoomResLookup = [
156543.03392804097,
78271.51696402048,
39135.75848201024,
19567.87924100512,
9783.93962050256,
4891.96981025128,
2445.98490512564,
1222.99245256282,
611.49622628141,
305.748113140705,
152.8740565703525,
76.43702828517625,
38.21851414258813,
19.109257071294063,
9.554628535647032,
4.777314267823516,
2.388657133911758,
1.194328566955879,
0.5971642834779395,
0.29858214173896974,
0.14929107086948487,
0.07464553543474244,
0.03732276771737122,
0.01866138385868561,
0.009330691929342804,
0.004665345964671402,
0.002332672982335701,
0.0011663364911678506,
0.0005831682455839253 //28
];
/**
* Get the resolution given the zoom level
* @param {number} zoomLevel - the zoom level
* @returns {number|*} the map resolution
*/
function zoomToResolution(zoomLevel) {
"use strict";
if (typeof zoomLevel == 'number') {
if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {
return _zoomResLookup[zoomLevel];
}
else {
console.log("invalid zoom level provided: " + zoomLevel);
return undefined;
}
}
else {
return undefined;
}
}
exports.zoomToResolution = zoomToResolution;
nm.zoomToResolution = zoomToResolution;
/**
* Get resolution from the zoom level
* @param {number} resolution - the resolution
* @returns {number|*} the zoom level
*/
function resolutionToZoom(resolution) {
for (var i = 0; i < _zoomResLookup.length; i++) {
if (resolution >= _zoomResLookup[i]) {
return i;
}
}
return 0;
}
exports.resolutionToZoom = resolutionToZoom;
nm.resolutionToZoom = resolutionToZoom;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbVJlc29sdXRpb25Db252ZXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29sSGVscGVycy96b29tUmVzb2x1dGlvbkNvbnZlcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7OztBQUVILDJDQUFzQztBQUN0QyxJQUFNLEVBQUUsR0FBRyxpQkFBTyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFFdEQsSUFBSSxjQUFjLEdBQUc7SUFDakIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHFCQUFxQixDQUFDLElBQUk7Q0FDN0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCwwQkFBaUMsU0FBUztJQUN0QyxZQUFZLENBQUM7SUFFYixFQUFFLENBQUMsQ0FBQyxPQUFPLFNBQVMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQy9CLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFnQyxTQUFXLENBQUMsQ0FBQztZQUV6RCxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3JCLENBQUM7QUFDTCxDQUFDO0FBZEQsNENBY0M7QUFDRCxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUM7QUFHdkM7Ozs7R0FJRztBQUNILDBCQUFpQyxVQUFVO0lBQ3ZDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBQyxDQUFDO1FBQzVDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQSxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDYixDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDO0FBUkQsNENBUUM7QUFFRCxFQUFFLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ3JlYXRlZCBieSBnYXZvcmhlcyBvbiAxMi8xNC8yMDE1LlxyXG4gKi9cclxuXHJcbmltcG9ydCBwcm92aWRlIGZyb20gJy4uL3V0aWwvcHJvdmlkZSc7XHJcbmNvbnN0IG5tID0gcHJvdmlkZSgnb2xIZWxwZXJzLnpvb21SZXNvbHV0aW9uQ29udmVydCcpO1xyXG5cclxubGV0IF96b29tUmVzTG9va3VwID0gW1xyXG4gICAgMTU2NTQzLjAzMzkyODA0MDk3LCAvLzBcclxuICAgIDc4MjcxLjUxNjk2NDAyMDQ4LCAvLzFcclxuICAgIDM5MTM1Ljc1ODQ4MjAxMDI0LCAvLzJcclxuICAgIDE5NTY3Ljg3OTI0MTAwNTEyLCAvLzNcclxuICAgIDk3ODMuOTM5NjIwNTAyNTYsIC8vNFxyXG4gICAgNDg5MS45Njk4MTAyNTEyOCwgLy81XHJcbiAgICAyNDQ1Ljk4NDkwNTEyNTY0LCAvLzZcclxuICAgIDEyMjIuOTkyNDUyNTYyODIsIC8vN1xyXG4gICAgNjExLjQ5NjIyNjI4MTQxLCAvLzhcclxuICAgIDMwNS43NDgxMTMxNDA3MDUsIC8vOVxyXG4gICAgMTUyLjg3NDA1NjU3MDM1MjUsIC8vMTBcclxuICAgIDc2LjQzNzAyODI4NTE3NjI1LCAvLzExXHJcbiAgICAzOC4yMTg1MTQxNDI1ODgxMywgLy8xMlxyXG4gICAgMTkuMTA5MjU3MDcxMjk0MDYzLCAvLzEzXHJcbiAgICA5LjU1NDYyODUzNTY0NzAzMiwgLy8xNFxyXG4gICAgNC43NzczMTQyNjc4MjM1MTYsIC8vMTVcclxuICAgIDIuMzg4NjU3MTMzOTExNzU4LCAvLzE2XHJcbiAgICAxLjE5NDMyODU2Njk1NTg3OSwgLy8xN1xyXG4gICAgMC41OTcxNjQyODM0Nzc5Mzk1LCAvLzE4XHJcbiAgICAwLjI5ODU4MjE0MTczODk2OTc0LCAvLzE5XHJcbiAgICAwLjE0OTI5MTA3MDg2OTQ4NDg3LCAvLzIwXHJcbiAgICAwLjA3NDY0NTUzNTQzNDc0MjQ0LCAvLzIxXHJcbiAgICAwLjAzNzMyMjc2NzcxNzM3MTIyLCAvLzIyXHJcbiAgICAwLjAxODY2MTM4Mzg1ODY4NTYxLCAvLzIzXHJcbiAgICAwLjAwOTMzMDY5MTkyOTM0MjgwNCwgLy8yNFxyXG4gICAgMC4wMDQ2NjUzNDU5NjQ2NzE0MDIsIC8vMjVcclxuICAgIDAuMDAyMzMyNjcyOTgyMzM1NzAxLCAvLzI2XHJcbiAgICAwLjAwMTE2NjMzNjQ5MTE2Nzg1MDYsIC8vMjdcclxuICAgIDAuMDAwNTgzMTY4MjQ1NTgzOTI1MyAvLzI4XHJcbl07XHJcblxyXG4vKipcclxuICogR2V0IHRoZSByZXNvbHV0aW9uIGdpdmVuIHRoZSB6b29tIGxldmVsXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSB6b29tTGV2ZWwgLSB0aGUgem9vbSBsZXZlbFxyXG4gKiBAcmV0dXJucyB7bnVtYmVyfCp9IHRoZSBtYXAgcmVzb2x1dGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHpvb21Ub1Jlc29sdXRpb24oem9vbUxldmVsKSB7XHJcbiAgICBcInVzZSBzdHJpY3RcIjtcclxuXHJcbiAgICBpZiAodHlwZW9mIHpvb21MZXZlbCA9PSAnbnVtYmVyJykge1xyXG4gICAgICAgIGlmICh6b29tTGV2ZWwgJSAxID09PSAwICYmIHpvb21MZXZlbCA+PSAwICYmIHpvb21MZXZlbCA8PSAyOCkge1xyXG4gICAgICAgICAgICByZXR1cm4gX3pvb21SZXNMb29rdXBbem9vbUxldmVsXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgaW52YWxpZCB6b29tIGxldmVsIHByb3ZpZGVkOiAke3pvb21MZXZlbH1gKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG59XHJcbm5tLnpvb21Ub1Jlc29sdXRpb24gPSB6b29tVG9SZXNvbHV0aW9uO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBHZXQgcmVzb2x1dGlvbiBmcm9tIHRoZSB6b29tIGxldmVsXHJcbiAqIEBwYXJhbSB7bnVtYmVyfSByZXNvbHV0aW9uIC0gdGhlIHJlc29sdXRpb25cclxuICogQHJldHVybnMge251bWJlcnwqfSB0aGUgem9vbSBsZXZlbFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdXRpb25Ub1pvb20ocmVzb2x1dGlvbil7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IF96b29tUmVzTG9va3VwLmxlbmd0aDsgaSsrKXtcclxuICAgICAgICBpZiAocmVzb2x1dGlvbiA+PSBfem9vbVJlc0xvb2t1cFtpXSApe1xyXG4gICAgICAgICAgICByZXR1cm4gaTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDA7XHJcbn1cclxuXHJcbm5tLnJlc29sdXRpb25Ub1pvb20gPSByZXNvbHV0aW9uVG9ab29tO1xyXG4iXX0=