UNPKG

covutils

Version:

Utilities for creating, transforming, and handling Coverage Data objects.

2 lines 138 kB
!function(t){"use strict";function e(t){for(var e=t.length,i=1/0,a=-(1/0);e--;){var r=t[e];null==r||(i>r?i=r:r>a&&(a=r))}return i===1/0?i=a:a===-(1/0)&&(a=i),i!==1/0&&i!==-(1/0)||(i=null,a=null),[i,a]}function i(t,e){if(0===t.length)throw new Error("Array must have at least one element");var i=-1,a=t.length,r=1===t.length||t[0]<t[1];if(r)for(;a-i>1;){var s=Math.round((i+a)/2);t[s]<=e?i=s:a=s}else for(;a-i>1;){var n=Math.round((i+a)/2);t[n]>=e?i=n:a=n}return t[i]===e&&(a=i),-1===i&&(i=a),a===t.length&&(a=i),[i,a]}function a(t,e){var a=i(t,e),r=a[0],s=a[1];return Math.abs(e-t[r])<=Math.abs(e-t[s])?r:s}function r(t){var e=arguments.length<=1||void 0===arguments[1]?ht:arguments[1];if(e in t)return e;var i=e.split("-")[0],a=Object.keys(t).filter(function(t){return i===t.split("-")[0]});return a.length?a[0]:Object.keys(t)[0]}function s(t){var e=arguments.length<=1||void 0===arguments[1]?ht:arguments[1],i=r(t,e);return t[i]}function n(t,e){if(!t)return"";if(t.symbol){var i=t.symbol.value||t.symbol,a=t.symbol.type;return"http://www.opengis.net/def/uom/UCUM/"===a&&("Cel"===i?i="°C":"1"===i&&(i="")),i}return s(t.label,e)}function h(t){var e=1/0,i=-(1/0),a=function(t){null!==t&&(e>t&&(e=t),t>i&&(i=t))};return u(t,a),e===1/0?[void 0,void 0]:[e,i]}function o(t,e,i){var a=i,r=function(t){a=e(a,t)};return u(t,r),a}function u(t,e){var i=[].concat(pt(t.shape));i.sort(function(t,e){var i=ct(t,2),a=i[1],r=ct(e,2),s=r[1];return a-s});var a="var obj = {}",r="",s=!0,n=!1,h=void 0;try{for(var o,u=i[Symbol.iterator]();!(s=(o=u.next()).done);s=!0){var l=ct(o.value,2),f=l[0],c=l[1];a+="\n for (var i"+f+"=0; i"+f+" < "+c+"; ++i"+f+") {\n obj['"+f+"'] = i"+f+"\n ",r+="}"}}catch(p){n=!0,h=p}finally{try{!s&&u["return"]&&u["return"]()}finally{if(n)throw h}}a+="\n fn(get(obj))\n ";var d=new Function("return function iterRange (get, fn) { "+a+" "+r+" }")();d(t.get,e)}function l(t,e){var i=!0,a=!1,r=void 0;try{for(var s,n=function(){var i=ct(s.value,2),a=i[0],r=i[1];if(-1!==r.indexOf(e)){var n=t.observedProperty.categories.filter(function(t){return t.id===a})[0];return{v:n}}},h=t.categoryEncoding[Symbol.iterator]();!(i=(s=h.next()).done);i=!0){var o=n();if("object"===("undefined"==typeof o?"undefined":ot(o)))return o.v}}catch(u){a=!0,r=u}finally{try{!i&&h["return"]&&h["return"]()}finally{if(a)throw r}}}function f(t){return t.type===it}function c(t){if(!f(t))throw new Error("must be a Coverage")}function p(t){return t.type===et}function d(t){if(!p(t))throw new Error("must be a Domain")}function y(t,e){return e={exports:{}},t(e,e.exports),e.exports}function m(t,e){var i=t.referencing.find(function(t){return-1!==t.coordinates.indexOf(e)});return i}function v(t){var e=function(t){return-1!==["GeodeticCRS","GeographicCRS","GeocentricCRS","ProjectedCRS"].indexOf(t.system.type)},i=t.referencing.find(e);return i}function M(t){return"GeographicCRS"===t.type||-1!==Pa.indexOf(t.id)}function g(t){var e=t.referencing.some(function(t){return M(t.system)});if(e)return P(t);var i=v(t);if(!i)throw new Error("No horizontal CRS found in coverage domain");var a=i.system.id,r=ga(a);if(!r)throw new Error("Projection "+a+" not cached in uriproj, use loadProjection() instead");return w(r)}function b(t){try{return g(t)}catch(e){}var i=v(t);if(!i)throw new Error("No horizontal CRS found in coverage domain");var a=i.system.id;return Ma(a).then(function(t){return w(t)})}function _(t){return x(t)}function x(t){var e=v(t);return e.coordinates}function w(t){return{project:function(e){var i=e.lon,a=e.lat,r=t.forward([i,a]),s=ct(r,2),n=s[0],h=s[1];return{x:n,y:h}},unproject:function(e){var i=e.x,a=e.y,r=t.inverse([i,a]),s=ct(r,2),n=s[0],h=s[1];return{lon:n,lat:h}}}}function P(t){var e=t.referencing.find(function(t){return M(t.system)}),i=ja[e.system.id];if(i>1)throw new Error;var a=e.coordinates[i],r=void 0,s=void 0;if(t.axes.has(a)){var n=a,h=t.axes.get(n).values;if(r=h[0],s=h[h.length-1],r>s){var o=[s,r];r=o[0],s=o[1]}}else{var u=[].concat(pt(t.axes.values())),l=u.find(function(t){return-1!==t.coordinates.indexOf(a)}),f=l.coordinates.indexOf(a);if(r=1/0,s=-(1/0),l.dataType===st){var c=!0,p=!1,d=void 0;try{for(var y,m=l.values[Symbol.iterator]();!(c=(y=m.next()).done);c=!0){var v=y.value,g=v[f];r=Math.min(g,r),s=Math.max(g,s)}}catch(b){p=!0,d=b}finally{try{!c&&m["return"]&&m["return"]()}finally{if(p)throw d}}}else{if(l.dataType!==nt)throw new Error("Unsupported data type: "+l.dataType);var _=!0,x=!1,w=void 0;try{for(var P,j=l.values[Symbol.iterator]();!(_=(P=j.next()).done);_=!0){var k=P.value,S=!0,C=!1,E=void 0;try{for(var O,A=k[Symbol.iterator]();!(S=(O=A.next()).done);S=!0){var I=O.value,N=!0,T=!1,R=void 0;try{for(var q,G=I[Symbol.iterator]();!(N=(q=G.next()).done);N=!0){var B=q.value,D=B[f];r=Math.min(D,r),s=Math.max(D,s)}}catch(b){T=!0,R=b}finally{try{!N&&G["return"]&&G["return"]()}finally{if(T)throw R}}}}catch(b){C=!0,E=b}finally{try{!S&&A["return"]&&A["return"]()}finally{if(C)throw E}}}}catch(b){x=!0,w=b}finally{try{!_&&j["return"]&&j["return"]()}finally{if(x)throw w}}}}var L=(s+r)/2,z=L-180,U=L+180;return{project:function(t){var e=t.lon,a=t.lat,r=void 0;r=e>=z&&U>=e?e:((e-z)%360+360)%360+z;var s=0===i?[r,a]:[a,r],n=ct(s,2),h=n[0],o=n[1];return{x:h,y:o}},unproject:function(t){var e=t.x,a=t.y,r=0===i?[e,a]:[a,e],s=ct(r,2),n=s[0],h=s[1];return{lon:n,lat:h}}}}function j(t,e,i){return i.project(e.unproject(t))}function k(t,e){if(!S(t,e))throw new Error("'"+e+"' is not a longitude axis");var i=t.axes.get(e).values,a=i[0],r=i[i.length-1];if(a>r){var s=[r,a];a=s[0],r=s[1]}var n=(r+a)/2,h=n-180,o=n+180;return function(t){return t>=h&&o>=t?t:((t-h)%360+360)%360+h}}function S(t,e){var i=m(t,e);if(!i)return!1;var a=i.system.id;if(-1===Pa.indexOf(a))return!1;var r=i.coordinates.indexOf(e),s=ja[a]===r;return s}function C(t,e){var i=t.axes.get(e).values[0];return"string"!=typeof i?!1:!isNaN(new Date(i).getTime())}function E(t){var e=void 0,i=!1;if("string"==typeof t?e=new Date(t).getTime():t instanceof Date?e=t.getTime():i=!0,isNaN(e)&&(i=!0),i)throw new Error("Invalid date: "+t);return e}function O(t,e){var i={};for(var a in e)if(t.axes.has(a)&&void 0!==e[a]&&null!==e[a]){if("number"==typeof e[a]){var r=e[a];i[a]={start:r,stop:r+1}}else i[a]=e[a];var s=i[a],n=s.start,h=void 0===n?0:n,o=s.stop,u=void 0===o?t.axes.get(a).values.length:o,l=s.step,f=void 0===l?1:l;if(0>=f)throw new Error("Invalid constraint for "+a+": step="+f+" must be > 0");if(h>=u||0>h)throw new Error("Invalid constraint for "+a+": stop="+u+" must be > start="+h+" and both >= 0");i[a]={start:h,stop:u,step:f}}var c=!0,p=!1,d=void 0;try{for(var y,m=t.axes.keys()[Symbol.iterator]();!(c=(y=m.next()).done);c=!0){var v=y.value;if(!(v in i)){var M=t.axes.get(v).values.length;i[v]={start:0,stop:M,step:1}}}}catch(g){p=!0,d=g}finally{try{!c&&m["return"]&&m["return"]()}finally{if(p)throw d}}return i}function A(t,e){e=O(t,e);var i={type:et,domainType:t.domainType,axes:new Map(t.axes),referencing:t.referencing},a=!0,r=!1,s=void 0;try{for(var n,h=function(){var a=n.value,r=t.axes.get(a),s=r.values,h=r.bounds,o=e[a],u=void 0,l=void 0,f=o.start,c=o.stop,p=o.step;if(0===f&&c===s.length&&1===p)u=s,l=h;else if(1===p)u=s.subarray?s.subarray(f,c):s.slice(f,c),h&&(l={get:function(t){return h.get(f+t)}});else{var d=Math.trunc((c-f)/p),y=(c-f)%p,m=d+y;u=new s.constructor(m);for(var v=f,M=0;c>v;v+=p,M++)u[M]=s[v];h&&(l={get:function(t){return h.get(f+t*p)}})}var g={dataType:r.dataType,coordinates:r.coordinates,values:u,bounds:l};i.axes.set(a,g)},o=Object.keys(e)[Symbol.iterator]();!(a=(n=o.next()).done);a=!0)h()}catch(u){r=!0,s=u}finally{try{!a&&o["return"]&&o["return"]()}finally{if(r)throw s}}return i}function I(t,e){var i,a=arguments.length<=2||void 0===arguments[2]?["x","y"]:arguments[2],r=ct(e,4),s=r[0],n=r[1],h=r[2],o=r[3];return t.subsetByValue((i={},ft(i,a[0],{start:s,stop:h}),ft(i,a[1],{start:n,stop:o}),i))}function N(t,e){return t.loadDomain().then(function(i){e=O(i,e);var a=A(i,e),r=function(t){var r={dataType:t.dataType,get:function(i){var a={},r=!0,s=!1,n=void 0;try{for(var h,o=Object.keys(i)[Symbol.iterator]();!(r=(h=o.next()).done);r=!0){var u=h.value,l=e[u],f=l.start,c=l.step;a[u]=f+i[u]*c}}catch(p){s=!0,n=p}finally{try{!r&&o["return"]&&o["return"]()}finally{if(s)throw n}}return t.get(a)}};r.shape=new Map;var s=!0,n=!1,h=void 0;try{for(var o,u=i.axes.keys()[Symbol.iterator]();!(s=(o=u.next()).done);s=!0){var l=o.value,f=a.axes.get(l).values.length;r.shape.set(l,f)}}catch(c){n=!0,h=c}finally{try{!s&&u["return"]&&u["return"]()}finally{if(n)throw h}}return r},s=function(e){return t.loadRange(e).then(r)},n=function(e){return t.loadRanges(e).then(function(t){return new Map([].concat(pt(t)).map(function(t){var e=ct(t,2),i=e[0],a=e[1];return[i,r(a)]}))})},h={type:it,domainType:t.domainType,parameters:t.parameters,loadDomain:function(){return Promise.resolve(a)},loadRange:s,loadRanges:n};return h.subsetByIndex=N.bind(null,h),h.subsetByValue=T.bind(null,h),h})}function T(t,e){return t.loadDomain().then(function(r){var s={},n=!0,h=!1,o=void 0;try{for(var u,l=Object.keys(e)[Symbol.iterator]();!(n=(u=l.next()).done);n=!0){var f=u.value,c=e[f];if(void 0!==c&&null!==c&&r.axes.has(f)){var p=r.axes.get(f),d=p.values,y=C(r,f),m=S(r,f),v=m?k(r,f):void 0;if("number"==typeof c||"string"==typeof c||c instanceof Date){var M=c;y?(M=E(M),d=d.map(function(t){return new Date(t).getTime()})):m&&(M=v(M));var g=void 0;if(g=d.indexOf?d.indexOf(M):Array.prototype.indexOf.call(d,M),-1===g)throw new Error("Domain value not found: "+c);s[f]=g}else if("target"in c){var b=c.target;if(y)b=E(b),d=d.map(function(t){return new Date(t).getTime()});else if(m)b=v(b);else if("number"!=typeof d[0]||"number"!=typeof b)throw new Error("Invalid axis or constraint value type");var _=a(d,b);s[f]=_}else{if(!("start"in c&&"stop"in c))throw new Error("Invalid subset constraints");var x=c.start,w=c.stop;if(y){var P=[E(x),E(w)];x=P[0],w=P[1],d=d.map(function(t){return new Date(t).getTime()})}else if(m){var j=[v(x),v(w)];x=j[0],w=j[1]}else if("number"!=typeof d[0]||"number"!=typeof x)throw new Error("Invalid axis or constraint value type");var O=i(d,x),A=ct(O,2),I=A[0],N=A[1],T=i(d,w),R=ct(T,2),q=R[0],G=R[1],B=Math.min(I,N,q,G),D=Math.max(I,N,q,G)+1;s[f]={start:B,stop:D}}}}}catch(L){h=!0,o=L}finally{try{!n&&l["return"]&&l["return"]()}finally{if(h)throw o}}return t.subsetByIndex(s)})}function R(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];d(t);var i=e.gridAxes;i=void 0===i?["x","y"]:i;var a=ct(i,2),r=a[0],s=a[1],n="domain",h="Domain",o=t.axes.has(r)&&t.axes.has(s)&&(t.axes.get(r).values.length>1||t.axes.get(s).values.length>1),u=void 0,l=void 0,f="a",c=0,p="b",y=1;o?(u=[{id:f,label:{en:"A"}},{id:p,label:{en:"B"}}],l=new Map([[f,[c]],[p,[y]]])):(u=[{id:f,label:{en:"X"}}],l=new Map([[f,[c]]]));var m=new Map;m.set(n,{key:n,observedProperty:{label:{en:h},categories:u},categoryEncoding:l});var v=new Map([].concat(pt(t.axes)).map(function(t){var e=ct(t,2),i=e[0],a=e[1];return[i,a.values.length]})),M=void 0;o?!function(){var t=function(t){return t%2};M=function(e){var i=e.x,a=void 0===i?0:i,r=e.y,s=void 0===r?0:r;return t(a+s)?c:y}}():M=function(){return c};var g=function(){return Promise.resolve({shape:v,dataType:"integer",get:M})},b={type:it,domainType:t.domainType,parameters:m,loadDomain:function(){return Promise.resolve(t)},loadRange:g};return B(b),G(b),b}function q(t){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],i=e.parameter,a=void 0===i?{key:"p1",observedProperty:{label:{en:"Parameter 1"}}}:i,r=e.referencing,s=e.domainType,n=new Map;n.set(a.key,a),r||(r=[],t.coords.has("x")&&t.coords.has("y")&&r.push({coordinates:["x","y"],system:{type:"GeographicCRS",id:"http://www.opengis.net/def/crs/OGC/1.3/CRS84"}}),t.coords.has("t")&&r.push({coordinates:["t"],system:{type:"TemporalRS",calendar:"Gregorian"}}));var h=new Map,o=!0,u=!1,l=void 0;try{for(var f,c=t.coords[Symbol.iterator]();!(o=(f=c.next()).done);o=!0){for(var p=ct(f.value,2),d=p[0],y=p[1],m=new Array(y.size),v=0;v<y.size;v++)m[v]=y.get(v);h.set(d,{key:d,coordinates:[d],values:m})}}catch(M){u=!0,l=M}finally{try{!o&&c["return"]&&c["return"]()}finally{if(u)throw l}}var g={type:et,domainType:s,referencing:r,axes:h},b=new Map([].concat(pt(g.axes)).map(function(t){var e=ct(t,2),i=e[0],a=e[1];return[i,a.values.length]})),_=-1!==t.dtype.indexOf("int")?"integer":"float",x=function(){return Promise.resolve({shape:b,dataType:_,get:t.xget.bind(t)})},w={type:it,domainType:s,parameters:n,loadDomain:function(){return Promise.resolve(g)},loadRange:x};return B(w),G(w),w}function G(t){c(t),t.subsetByIndex=N.bind(null,t),t.subsetByValue=T.bind(null,t)}function B(t){function e(e){return e||(e=t.parameters.keys()),Promise.all([].concat(pt(e)).map(t.loadRange)).then(function(t){return new Map(e.map(function(e,i){return[e,t[i]]}))})}c(t),t.loadRanges=e}function D(t){var e=void 0;if(t instanceof Map)e=new Map(t);else{e=Object.create(Object.getPrototypeOf(t));for(var i in t)e[i]=t[i]}return e}function L(t,e){return t.loadDomain().then(function(i){var a=v(i);if(a.coordinates.length>2)throw new Error("Reprojection not supported for >2D CRSs");if(a.coordinates.some(i.axes.has))throw new Error("Grid reprojection not supported yet");var r=ct(a.coordinates,2),s=r[0],n=r[1],h=[].concat(pt(i.axes.values())),o=h.find(function(t){return a.coordinates.every(function(e){return-1!==t.coordinates.indexOf(e)})}),u=o.coordinates.indexOf(s),l=o.coordinates.indexOf(n),f=g(i),c=g(e),p=void 0;if(o.dataType!==st)throw new Error("Unsupported data type: "+o.dataType);p=o.values.map(function(t){return t.slice()});var d=!0,y=!1,m=void 0;try{for(var M,b=p[Symbol.iterator]();!(d=(M=b.next()).done);d=!0){var _=M.value,x=_[u],w=_[l],P=f.unproject({x:x,y:w}),j=c.project(P),k=j.x,S=j.y;_[u]=k,_[l]=S}}catch(C){y=!0,m=C}finally{try{!d&&b["return"]&&b["return"]()}finally{if(y)throw m}}var E=new Map(i.axes),O=D(o);delete O.bounds,O.values=p,E.set(o.key,O);var A=v(e);if(A.coordinates.length>2)throw new Error("Reprojection not supported for >2D CRSs");var I=i.referencing.map(function(t){return t===a?{coordinates:a.coordinates,system:A.system}:t}),N={type:et,domainType:i.domainType,axes:E,referencing:I},T={type:it,domainType:t.domainType,parameters:t.parameters,loadDomain:function(){return Promise.resolve(N)},loadRange:function(e){return t.loadRange(e)},loadRanges:function(e){return t.loadRanges(e)},subsetByIndex:function(i){return t.subsetByIndex(i).then(function(t){return L(t,e)})},subsetByValue:function(i){return t.subsetByValue(i).then(function(t){return L(t,e)})}};return T})}function z(t,e){var i={type:it,domainType:t.domainType,parameters:e,loadDomain:function(){return t.loadDomain()},loadRange:function(e){return t.loadRange(e)},loadRanges:function(e){return t.loadRanges(e)},subsetByIndex:function(i){return t.subsetByIndex(i).then(function(t){return z(t,e)})},subsetByValue:function(i){return t.subsetByValue(i).then(function(t){return z(t,e)})}};return i}function U(t,e,i,a){if(c(t),i.categories.some(function(t){return!t.id}))throw new Error('At least one category object is missing the "id" property');var r=D(t.parameters),s=D(r.get(e));r.set(e,s),r.get(e).observedProperty=i;var n=t.parameters.get(e).categoryEncoding,h=new Map,o=i.categories,u=!0,l=!1,f=void 0;try{for(var p,d=o[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var y=p.value,m=[],v=!0,M=!1,g=void 0;try{for(var b,_=a[Symbol.iterator]();!(v=(b=_.next()).done);v=!0){var x=ct(b.value,2),w=x[0],P=x[1];P===y.id&&n.has(w)&&m.push.apply(m,pt(n.get(w)))}}catch(j){M=!0,g=j}finally{try{!v&&_["return"]&&_["return"]()}finally{if(M)throw g}}m.length>0&&h.set(y.id,m)}}catch(j){l=!0,f=j}finally{try{!u&&d["return"]&&d["return"]()}finally{if(l)throw f}}r.get(e).categoryEncoding=h;var k=z(t,r);return k}function F(t,e){c(t);var i=function(t){var i={type:et,domainType:e,axes:t.axes,referencing:t.referencing};return i},a={type:it,domainType:e,parameters:t.parameters,loadDomain:function(){return t.loadDomain().then(i)},loadRange:function(e){return t.loadRange(e)},loadRanges:function(e){return t.loadRanges(e)},subsetByIndex:function(i){return t.subsetByIndex(i).then(function(t){return F(t,e)})},subsetByValue:function(i){return t.subsetByValue(i).then(function(t){return F(t,e)})}};return a}function V(t){return t.loadDomain().then(function(t){})}function Q(t,e){c(t),e=new Map(e);var i=!0,a=!1,r=void 0;try{for(var s,n=t.axes.keys()[Symbol.iterator]();!(i=(s=n.next()).done);i=!0){var h=s.value;e.has(h)||e.set(h,h)}}catch(o){a=!0,r=o}finally{try{!i&&n["return"]&&n["return"]()}finally{if(a)throw r}}var u=function(t){var i=new Map,a=!0,r=!1,s=void 0;try{for(var n,h=e[Symbol.iterator]();!(a=(n=h.next()).done);a=!0){var o=ct(n.value,2),u=o[0],l=o[1],f=t.axes.get(u),c=f.dataType,p=f.coordinates,d=f.values,y=f.bounds,m={key:l,dataType:c,coordinates:p.map(function(t){return e.has(t)?e.get(t):t}),values:d,bounds:y};i.set(l,m)}}catch(v){r=!0,s=v}finally{try{!a&&h["return"]&&h["return"]()}finally{if(r)throw s}}var M=t.referencing.map(function(t){var i=t.coordinates,a=t.system;return{coordinates:i.map(function(t){return e.has(t)?e.get(t):t}),system:a}}),g={type:et,domainType:t.domainType,axes:i,referencing:M};return g},l=[].concat(pt(e)).map(function(t){var e=ct(t,2),i=e[0],a=e[1];return"['"+i+"']:obj['"+a+"']"}).join(","),f=function(t){var i=new Function("range","return function get (obj){return range.get({"+l+"})}")(t),a={shape:new Map([].concat(pt(t.shape)).map(function(t){var i=ct(t,2),a=i[0],r=i[1];return[e.get(a),r]})),dataType:t.dataType,get:i};return a},p=function(e){return t.loadRange(e).then(f)},d=function(e){return t.loadRanges(e).then(function(t){return new Map([].concat(pt(t)).map(function(t){var e=ct(t,2),i=e[0],a=e[1];return[i,f(a)]}))})},y={type:it,domainType:t.domainType,parameters:t.parameters,loadDomain:function(){return t.loadDomain().then(u)},loadRange:p,loadRanges:d,subsetByIndex:function(i){return t.subsetByIndex(i).then(function(t){return Q(t,e)})},subsetByValue:function(i){return t.subsetByValue(i).then(function(t){return Q(t,e)})}};return y}function H(t,e,i,a){c(t);var r=function(t){var e={shape:t.shape,dataType:a||t.dataType,get:function(e){return i(e,t)}};return e},s=function(i){return e===i?t.loadRange(i).then(r):t.loadRange(i)},n=function(i){return t.loadRanges(i).then(function(t){return new Map([].concat(pt(t)).map(function(t){var i=ct(t,2),a=i[0],s=i[1];return[a,e===a?r(s):s]}))})},h={type:it,domainType:t.domainType,parameters:t.parameters,loadDomain:function(){return t.loadDomain()},loadRange:s,loadRanges:n,subsetByIndex:function(r){return t.subsetByIndex(r).then(function(t){return H(t,e,i,a)})},subsetByValue:function(r){return t.subsetByValue(r).then(function(t){return H(t,e,i,a)})}};return h}function W(t,e){c(t);var i=e.parameter,a=e.inputParameters,r=e.dataType,s=void 0===r?"float":r,n=e.fn,h=new Map(t.parameters);h.set(i.key,i);var o=function(){return t.loadRanges(a).then(function(t){var e=a.map(function(e){return t.get(e)}),i=e[0].shape,r={shape:i,dataType:s,get:function(t){return n.apply(void 0,[t].concat(pt(e)))}};return r})},u=function(e){return i.key===e?o():t.loadRange(e)},l={type:it,domainType:t.domainType,parameters:h,loadDomain:function(){return t.loadDomain()},loadRange:u,subsetByIndex:function(i){return t.subsetByIndex(i).then(function(t){return W(t,e)})},subsetByValue:function(i){return t.subsetByValue(i).then(function(t){return W(t,e)})}};return B(l),l}function X(t,e){var i=e.parameter,a=e.inputParameters,r=e.dataType,s=e.fn,n={parameter:i,inputParameters:a,dataType:r,fn:function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;e>r;r++)i[r-1]=arguments[r];var n=a.map(function(e,a){return i[a].get(t)});return n.some(function(t){return null===t})?null:s.apply(void 0,pt(n))}};return W(t,n)}function J(t){if(t.paging)throw new Error("Paged collections not supported");t.query=function(){return new ka(t)}}function K(t,e){var i=!0,a=!1,r=void 0;try{for(var s,n=Object.keys(e)[Symbol.iterator]();!(i=(s=n.next()).done);i=!0){var h=s.value,o=e[h];if(!t.axes.has(h))throw new Error('Axis "'+h+'" does not exist');var u=t.axes.get(h),l=u.values,f=l[0],c=l[l.length-1];if("number"!=typeof f&&"string"!=typeof f)throw new Error("Can only filter primitive axis values");var p=o.start,d=o.stop;if(C(t,h)){var y=[E(f),E(c)];f=y[0],c=y[1];var m=[E(p),E(d)];p=m[0],d=m[1]}else if(S(t,h)){var v=k(t,h),M=[v(p),v(d)];p=M[0],d=M[1]}if(f>c){var g=[c,f];f=g[0],c=g[1]}if(p>c||f>d)return!1}}catch(b){a=!0,r=b}finally{try{!i&&n["return"]&&n["return"]()}finally{if(a)throw r}}return!0}function Z(t,e){var i=!0,a=!1,r=void 0;try{for(var s,n=Object.keys(t)[Symbol.iterator]();!(i=(s=n.next()).done);i=!0){var h=s.value;e[h]=t[h]}}catch(o){a=!0,r=o}finally{try{!i&&n["return"]&&n["return"]()}finally{if(a)throw r}}}function Y(t){for(var e=arguments.length<=1||void 0===arguments[1]?!1:arguments[1],i=e?tr:Ya,a=0;a<t.length;a++){var r=i(t[a]);(0===a&&0>r||a>0&&r>0)&&t[a].reverse()}}function $(t){var e=t.map(Ka),i=t.length;return function(t){for(var a=0;i>a;a++)if(e[a](t)<=0)return a;return-1}}function tt(t,e){var i=arguments.length<=2||void 0===arguments[2]?["x","y"]:arguments[2];c(t),"Polygon"===e.type&&(e={type:"MultiPolygon",coordinates:[e.coordinates]});var a=e.coordinates;a.forEach(function(t){return Y(t)});var r=$(a),s=ct(i,2),n=s[0],h=s[1];return t.loadDomain().then(function(e){for(var i=e.axes.get(n).values,a=e.axes.get(h).values,s=nr(new Uint8Array(i.length*a.length),[i.length,a.length]),o=0;o<i.length;o++)for(var u=0;u<a.length;u++){var l=r([i[o],a[u]])>=0;s.set(o,u,l)}var f=function(t,e){return s.get(t[n]||0,t[h]||0)?e.get(t):null},c=t,p=!0,d=!1,y=void 0;try{for(var m,v=t.parameters.keys()[Symbol.iterator]();!(p=(m=v.next()).done);p=!0){var M=m.value;c=H(c,M,f)}}catch(g){d=!0,y=g}finally{try{!p&&v["return"]&&v["return"]()}finally{if(d)throw y}}return c})}var et="Domain",it="Coverage",at=it+"Collection",rt="http://covjson.org/def/core#",st=rt+"tuple",nt=rt+"polygon",ht="en",ot="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol?"symbol":typeof t},ut=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},lt=function(){function t(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(e,i,a){return i&&t(e.prototype,i),a&&t(e,a),e}}(),ft=function(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t},ct=function(){function t(t,e){var i=[],a=!0,r=!1,s=void 0;try{for(var n,h=t[Symbol.iterator]();!(a=(n=h.next()).done)&&(i.push(n.value),!e||i.length!==e);a=!0);}catch(o){r=!0,s=o}finally{try{!a&&h["return"]&&h["return"]()}finally{if(r)throw s}}return i}return function(e,i){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),pt=function(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}return Array.from(t)},dt=y(function(t){t.exports=function(t,e,i,a,r){var s,n;s=t/e;for(var h=0;15>h;h++)if(n=(t-(e*s-i*Math.sin(2*s)+a*Math.sin(4*s)-r*Math.sin(6*s)))/(e-2*i*Math.cos(2*s)+4*a*Math.cos(4*s)-6*r*Math.cos(6*s)),s+=n,Math.abs(n)<=1e-10)return s;return NaN}}),yt=dt&&"object"==typeof dt&&"default"in dt?dt["default"]:dt,mt=y(function(t){t.exports=function(t){return Math.abs(t)>1&&(t=t>1?1:-1),Math.asin(t)}}),vt=mt&&"object"==typeof mt&&"default"in mt?mt["default"]:mt,Mt=y(function(t){t.exports=function(t,e,i){var a=e*i;return t/Math.sqrt(1-a*a)}}),gt=Mt&&"object"==typeof Mt&&"default"in Mt?Mt["default"]:Mt,bt=y(function(t){t.exports=function(t){return t*t*t*(35/3072)}}),_t=bt&&"object"==typeof bt&&"default"in bt?bt["default"]:bt,xt=y(function(t){t.exports=function(t){return.05859375*t*t*(1+.75*t)}}),wt=xt&&"object"==typeof xt&&"default"in xt?xt["default"]:xt,Pt=y(function(t){t.exports=function(t){return.375*t*(1+.25*t*(1+.46875*t))}}),jt=Pt&&"object"==typeof Pt&&"default"in Pt?Pt["default"]:Pt,kt=y(function(t){t.exports=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))}}),St=kt&&"object"==typeof kt&&"default"in kt?kt["default"]:kt,Ct=y(function(t){t.exports=function(t,e,i,a,r){return t*r-e*Math.sin(2*r)+i*Math.sin(4*r)-a*Math.sin(6*r)}}),Et=Ct&&"object"==typeof Ct&&"default"in Ct?Ct["default"]:Ct,Ot=y(function(t){t.exports=function(t){return 0>t?-1:1}}),At=Ot&&"object"==typeof Ot&&"default"in Ot?Ot["default"]:Ot,It=y(function(t){var e=2*Math.PI,i=3.14159265359,a=At;t.exports=function(t){return Math.abs(t)<=i?t:t-a(t)*e}}),Nt=It&&"object"==typeof It&&"default"in It?It["default"]:It,Tt=y(function(t,e){var i=Nt,a=Math.PI/2,r=1e-10,s=Et,n=St,h=jt,o=wt,u=_t,l=gt,f=vt,c=yt;e.init=function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},e.forward=function(t){var e,f,c,p,d,y,m,v,M,g,b,_,x,w,P,j,k,S,C,E,O,A,I,N=t.x,T=t.y,R=Math.sin(t.y),q=Math.cos(t.y),G=i(N-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=r?(t.x=this.x0+this.a*(a-T)*Math.sin(G),t.y=this.y0-this.a*(a-T)*Math.cos(G),t):Math.abs(this.sin_p12+1)<=r?(t.x=this.x0+this.a*(a+T)*Math.sin(G),t.y=this.y0+this.a*(a+T)*Math.cos(G),t):(S=this.sin_p12*R+this.cos_p12*q*Math.cos(G),j=Math.acos(S),k=j/Math.sin(j),t.x=this.x0+this.a*k*q*Math.sin(G),t.y=this.y0+this.a*k*(this.cos_p12*R-this.sin_p12*q*Math.cos(G)),t):(e=n(this.es),f=h(this.es),c=o(this.es),p=u(this.es),Math.abs(this.sin_p12-1)<=r?(d=this.a*s(e,f,c,p,a),y=this.a*s(e,f,c,p,T),t.x=this.x0+(d-y)*Math.sin(G),t.y=this.y0-(d-y)*Math.cos(G),t):Math.abs(this.sin_p12+1)<=r?(d=this.a*s(e,f,c,p,a),y=this.a*s(e,f,c,p,T),t.x=this.x0+(d+y)*Math.sin(G),t.y=this.y0+(d+y)*Math.cos(G),t):(m=R/q,v=l(this.a,this.e,this.sin_p12),M=l(this.a,this.e,R),g=Math.atan((1-this.es)*m+this.es*v*this.sin_p12/(M*q)),b=Math.atan2(Math.sin(G),this.cos_p12*Math.tan(g)-this.sin_p12*Math.cos(G)),C=0===b?Math.asin(this.cos_p12*Math.sin(g)-this.sin_p12*Math.cos(g)):Math.abs(Math.abs(b)-Math.PI)<=r?-Math.asin(this.cos_p12*Math.sin(g)-this.sin_p12*Math.cos(g)):Math.asin(Math.sin(G)*Math.cos(g)/Math.sin(b)),_=this.e*this.sin_p12/Math.sqrt(1-this.es),x=this.e*this.cos_p12*Math.cos(b)/Math.sqrt(1-this.es),w=_*x,P=x*x,E=C*C,O=E*C,A=O*C,I=A*C,j=v*C*(1-E*P*(1-P)/6+O/8*w*(1-2*P)+A/120*(P*(4-7*P)-3*_*_*(1-7*P))-I/48*w),t.x=this.x0+j*Math.sin(b),t.y=this.y0+j*Math.cos(b),t))},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,p,d,y,m,v,M,g,b,_,x,w,P,j,k,S,C,E,O,A,I,N,T;if(this.sphere){if(e=Math.sqrt(t.x*t.x+t.y*t.y),e>2*a*this.a)return;return p=e/this.a,d=Math.sin(p),y=Math.cos(p),m=this.long0,Math.abs(e)<=r?v=this.lat0:(v=f(y*this.sin_p12+t.y*d*this.cos_p12/e),M=Math.abs(this.lat0)-a,m=i(Math.abs(M)<=r?this.lat0>=0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y):this.long0+Math.atan2(t.x*d,e*this.cos_p12*y-t.y*this.sin_p12*d))),t.x=m,t.y=v,t}return g=n(this.es),b=h(this.es),_=o(this.es),x=u(this.es),Math.abs(this.sin_p12-1)<=r?(w=this.a*s(g,b,_,x,a),e=Math.sqrt(t.x*t.x+t.y*t.y),P=w-e,v=c(P/this.a,g,b,_,x),m=i(this.long0+Math.atan2(t.x,-1*t.y)),t.x=m,t.y=v,t):Math.abs(this.sin_p12+1)<=r?(w=this.a*s(g,b,_,x,a),e=Math.sqrt(t.x*t.x+t.y*t.y),P=e-w,v=c(P/this.a,g,b,_,x),m=i(this.long0+Math.atan2(t.x,t.y)),t.x=m,t.y=v,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),S=Math.atan2(t.x,t.y),j=l(this.a,this.e,this.sin_p12),C=Math.cos(S),E=this.e*this.cos_p12*C,O=-E*E/(1-this.es),A=3*this.es*(1-O)*this.sin_p12*this.cos_p12*C/(1-this.es),I=e/j,N=I-O*(1+O)*Math.pow(I,3)/6-A*(1+3*O)*Math.pow(I,4)/24,T=1-O*N*N/2-I*N*N*N/6,k=Math.asin(this.sin_p12*Math.cos(N)+this.cos_p12*Math.sin(N)*C),m=i(this.long0+Math.asin(Math.sin(S)*Math.sin(N)/Math.cos(k))),v=Math.atan((1-this.es*T*this.sin_p12/Math.sin(k))*Math.tan(k)/(1-this.es)),t.x=m,t.y=v,t)},e.names=["Azimuthal_Equidistant","aeqd"]}),Rt=Tt&&"object"==typeof Tt&&"default"in Tt?Tt["default"]:Tt,qt=y(function(t,e){var i=Nt,a=Math.PI/2,r=1e-10,s=vt;e.init=function(){this.R=this.a},e.forward=function(t){var e,n,h=t.x,o=t.y,u=i(h-this.long0);Math.abs(o)<=r&&(e=this.x0+this.R*u,n=this.y0);var l=s(2*Math.abs(o/Math.PI));(Math.abs(u)<=r||Math.abs(Math.abs(o)-a)<=r)&&(e=this.x0,n=o>=0?this.y0+Math.PI*this.R*Math.tan(.5*l):this.y0+Math.PI*this.R*-Math.tan(.5*l));var f=.5*Math.abs(Math.PI/u-u/Math.PI),c=f*f,p=Math.sin(l),d=Math.cos(l),y=d/(p+d-1),m=y*y,v=y*(2/p-1),M=v*v,g=Math.PI*this.R*(f*(y-M)+Math.sqrt(c*(y-M)*(y-M)-(M+c)*(m-M)))/(M+c);0>u&&(g=-g),e=this.x0+g;var b=c+y;return g=Math.PI*this.R*(v*b-f*Math.sqrt((M+c)*(c+1)-b*b))/(M+c),n=o>=0?this.y0+g:this.y0-g,t.x=e,t.y=n,t},e.inverse=function(t){var e,a,s,n,h,o,u,l,f,c,p,d,y;return t.x-=this.x0,t.y-=this.y0,p=Math.PI*this.R,s=t.x/p,n=t.y/p,h=s*s+n*n,o=-Math.abs(n)*(1+h),u=o-2*n*n+s*s,l=-2*o+1+2*n*n+h*h,y=n*n/l+(2*u*u*u/l/l/l-9*o*u/l/l)/27,f=(o-u*u/3/l)/l,c=2*Math.sqrt(-f/3),p=3*y/f/c,Math.abs(p)>1&&(p=p>=0?1:-1),d=Math.acos(p)/3,a=t.y>=0?(-c*Math.cos(d+Math.PI/3)-u/3/l)*Math.PI:-(-c*Math.cos(d+Math.PI/3)-u/3/l)*Math.PI,e=Math.abs(s)<r?this.long0:i(this.long0+Math.PI*(h-1+Math.sqrt(1+2*(s*s-n*n)+h*h))/2/s),t.x=e,t.y=a,t},e.names=["Van_der_Grinten_I","VanDerGrinten","vandg"]}),Gt=qt&&"object"==typeof qt&&"default"in qt?qt["default"]:qt,Bt=y(function(t){var e=Math.PI/2,i=At;t.exports=function(t){return Math.abs(t)<e?t:t-i(t)*Math.PI}}),Dt=Bt&&"object"==typeof Bt&&"default"in Bt?Bt["default"]:Bt,Lt=y(function(t){t.exports=function(t,e,i){var a=t*e;return i/Math.sqrt(1-a*a)}}),zt=Lt&&"object"==typeof Lt&&"default"in Lt?Lt["default"]:Lt,Ut=y(function(t,e){var i=St,a=jt,r=wt,s=_t,n=zt,h=Et,o=Nt,u=Dt,l=yt,f=1e-10;e.init=function(){Math.abs(this.lat1+this.lat2)<f||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=i(this.es),this.e1=a(this.es),this.e2=r(this.es),this.e3=s(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=n(this.e,this.sinphi,this.cosphi),this.ml1=h(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<f?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=n(this.e,this.sinphi,this.cosphi),this.ml2=h(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=h(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},e.forward=function(t){var e,i=t.x,a=t.y;if(this.sphere)e=this.a*(this.g-a);else{var r=h(this.e0,this.e1,this.e2,this.e3,a);e=this.a*(this.g-r)}var s=this.ns*o(i-this.long0),n=this.x0+e*Math.sin(s),u=this.y0+this.rh-e*Math.cos(s);return t.x=n,t.y=u,t},e.inverse=function(t){t.x-=this.x0,t.y=this.rh-t.y+this.y0;var e,i,a,r;this.ns>=0?(i=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(i=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var s=0;if(0!==i&&(s=Math.atan2(e*t.x,e*t.y)),this.sphere)return r=o(this.long0+s/this.ns),a=u(this.g-i/this.a),t.x=r,t.y=a,t;var n=this.g-i/this.a;return a=l(n,this.e0,this.e1,this.e2,this.e3),r=o(this.long0+s/this.ns),t.x=r,t.y=a,t},e.names=["Equidistant_Conic","eqdc"]}),Ft=Ut&&"object"==typeof Ut&&"default"in Ut?Ut["default"]:Ut,Vt=y(function(t,e){var i=Nt,a=1e-10;e.init=function(){},e.forward=function(t){for(var e=t.x,r=t.y,s=i(e-this.long0),n=r,h=Math.PI*Math.sin(r),o=0;!0;o++){var u=-(n+Math.sin(n)-h)/(1+Math.cos(n));if(n+=u,Math.abs(u)<a)break}n/=2,Math.PI/2-Math.abs(r)<a&&(s=0);var l=.900316316158*this.a*s*Math.cos(n)+this.x0,f=1.4142135623731*this.a*Math.sin(n)+this.y0;return t.x=l,t.y=f,t},e.inverse=function(t){var e,a;t.x-=this.x0,t.y-=this.y0,a=t.y/(1.4142135623731*this.a),Math.abs(a)>.999999999999&&(a=.999999999999),e=Math.asin(a);var r=i(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),a=(2*e+Math.sin(2*e))/Math.PI,Math.abs(a)>1&&(a=1);var s=Math.asin(a);return t.x=r,t.y=s,t},e.names=["Mollweide","moll"]}),Qt=Vt&&"object"==typeof Vt&&"default"in Vt?Vt["default"]:Vt,Ht=y(function(t){t.exports=function(t,e,i,a){return i*=e,e*=e,a[0]*t-i*(a[1]+e*(a[2]+e*(a[3]+e*a[4]))); }}),Wt=Ht&&"object"==typeof Ht&&"default"in Ht?Ht["default"]:Ht,Xt=y(function(t){var e=Wt,i=1e-10,a=20;t.exports=function(t,r,s){for(var n=1/(1-r),h=t,o=a;o;--o){var u=Math.sin(h),l=1-r*u*u;if(l=(e(h,u,Math.cos(h),s)-t)*(l*Math.sqrt(l))*n,h-=l,Math.abs(l)<i)return h}return h}}),Jt=Xt&&"object"==typeof Xt&&"default"in Xt?Xt["default"]:Xt,Kt=y(function(t){var e=1,i=.25,a=.046875,r=.01953125,s=.01068115234375,n=.75,h=.46875,o=.013020833333333334,u=.007120768229166667,l=.3645833333333333,f=.005696614583333333,c=.3076171875;t.exports=function(t){var p=[];p[0]=e-t*(i+t*(a+t*(r+t*s))),p[1]=t*(n-t*(a+t*(r+t*s)));var d=t*t;return p[2]=d*(h-t*(o+t*u)),d*=t,p[3]=d*(l-t*f),p[4]=d*t*c,p}}),Zt=Kt&&"object"==typeof Kt&&"default"in Kt?Kt["default"]:Kt,Yt=y(function(t,e){var i=Nt,a=Dt,r=Zt,s=20,n=Wt,h=Jt,o=Math.PI/2,u=1e-10,l=vt;e.init=function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=r(this.es)},e.forward=function(t){var e,a,r=t.x,h=t.y;if(r=i(r-this.long0),this.sphere){if(this.m)for(var o=this.n*Math.sin(h),l=s;l;--l){var f=(this.m*h+Math.sin(h)-o)/(this.m+Math.cos(h));if(h-=f,Math.abs(f)<u)break}else h=1!==this.n?Math.asin(this.n*Math.sin(h)):h;e=this.a*this.C_x*r*(this.m+Math.cos(h)),a=this.a*this.C_y*h}else{var c=Math.sin(h),p=Math.cos(h);a=this.a*n(h,c,p,this.en),e=this.a*r*p/Math.sqrt(1-this.es*c*c)}return t.x=e,t.y=a,t},e.inverse=function(t){var e,r,s,n;return t.x-=this.x0,s=t.x/this.a,t.y-=this.y0,e=t.y/this.a,this.sphere?(e/=this.C_y,s/=this.C_x*(this.m+Math.cos(e)),this.m?e=l((this.m*e+Math.sin(e))/this.n):1!==this.n&&(e=l(Math.sin(e)/this.n)),s=i(s+this.long0),e=a(e)):(e=h(t.y/this.a,this.es,this.en),n=Math.abs(e),o>n?(n=Math.sin(e),r=this.long0+t.x*Math.sqrt(1-this.es*n*n)/(this.a*Math.cos(e)),s=i(r)):o>n-u&&(s=this.long0)),t.x=s,t.y=e,t},e.names=["Sinusoidal","sinu"]}),$t=Yt&&"object"==typeof Yt&&"default"in Yt?Yt["default"]:Yt,te=y(function(t,e){var i=Nt;e.init=function(){},e.forward=function(t){var e=t.x,a=t.y,r=i(e-this.long0),s=this.x0+this.a*r,n=this.y0+this.a*Math.log(Math.tan(Math.PI/4+a/2.5))*1.25;return t.x=s,t.y=n,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e=i(this.long0+t.x/this.a),a=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=e,t.y=a,t},e.names=["Miller_Cylindrical","mill"]}),ee=te&&"object"==typeof te&&"default"in te?te["default"]:te,ie=y(function(t,e){var i=484813681109536e-20;e.iterations=1,e.init=function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},e.forward=function(t){var e,a=t.x,r=t.y,s=r-this.lat0,n=a-this.long0,h=s/i*1e-5,o=n,u=1,l=0;for(e=1;10>=e;e++)u*=h,l+=this.A[e]*u;var f,c,p=l,d=o,y=1,m=0,v=0,M=0;for(e=1;6>=e;e++)f=y*p-m*d,c=m*p+y*d,y=f,m=c,v=v+this.B_re[e]*y-this.B_im[e]*m,M=M+this.B_im[e]*y+this.B_re[e]*m;return t.x=M*this.a+this.x0,t.y=v*this.a+this.y0,t},e.inverse=function(t){var e,a,r,s=t.x,n=t.y,h=s-this.x0,o=n-this.y0,u=o/this.a,l=h/this.a,f=1,c=0,p=0,d=0;for(e=1;6>=e;e++)a=f*u-c*l,r=c*u+f*l,f=a,c=r,p=p+this.C_re[e]*f-this.C_im[e]*c,d=d+this.C_im[e]*f+this.C_re[e]*c;for(var y=0;y<this.iterations;y++){var m,v,M=p,g=d,b=u,_=l;for(e=2;6>=e;e++)m=M*p-g*d,v=g*p+M*d,M=m,g=v,b+=(e-1)*(this.B_re[e]*M-this.B_im[e]*g),_+=(e-1)*(this.B_im[e]*M+this.B_re[e]*g);M=1,g=0;var x=this.B_re[1],w=this.B_im[1];for(e=2;6>=e;e++)m=M*p-g*d,v=g*p+M*d,M=m,g=v,x+=e*(this.B_re[e]*M-this.B_im[e]*g),w+=e*(this.B_im[e]*M+this.B_re[e]*g);var P=x*x+w*w;p=(b*x+_*w)/P,d=(_*x-b*w)/P}var j=p,k=d,S=1,C=0;for(e=1;9>=e;e++)S*=j,C+=this.D[e]*S;var E=this.lat0+C*i*1e5,O=this.long0+k;return t.x=O,t.y=E,t},e.names=["New_Zealand_Map_Grid","nzmg"]}),ae=ie&&"object"==typeof ie&&"default"in ie?ie["default"]:ie,re=y(function(t,e){var i=St,a=jt,r=wt,s=_t,n=Nt,h=Dt,o=Et,u=1e-10,l=gt,f=20;e.init=function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=i(this.es),this.e1=a(this.es),this.e2=r(this.es),this.e3=s(this.es),this.ml0=this.a*o(this.e0,this.e1,this.e2,this.e3,this.lat0)},e.forward=function(t){var e,i,a,r=t.x,s=t.y,f=n(r-this.long0);if(a=f*Math.sin(s),this.sphere)Math.abs(s)<=u?(e=this.a*f,i=-1*this.a*this.lat0):(e=this.a*Math.sin(a)/Math.tan(s),i=this.a*(h(s-this.lat0)+(1-Math.cos(a))/Math.tan(s)));else if(Math.abs(s)<=u)e=this.a*f,i=-1*this.ml0;else{var c=l(this.a,this.e,Math.sin(s))/Math.tan(s);e=c*Math.sin(a),i=this.a*o(this.e0,this.e1,this.e2,this.e3,s)-this.ml0+c*(1-Math.cos(a))}return t.x=e+this.x0,t.y=i+this.y0,t},e.inverse=function(t){var e,i,a,r,s,h,l,c,p;if(a=t.x-this.x0,r=t.y-this.y0,this.sphere)if(Math.abs(r+this.a*this.lat0)<=u)e=n(a/this.a+this.long0),i=0;else{h=this.lat0+r/this.a,l=a*a/this.a/this.a+h*h,c=h;var d;for(s=f;s;--s)if(d=Math.tan(c),p=-1*(h*(c*d+1)-c-.5*(c*c+l)*d)/((c-h)/d-1),c+=p,Math.abs(p)<=u){i=c;break}e=n(this.long0+Math.asin(a*Math.tan(c)/this.a)/Math.sin(i))}else if(Math.abs(r+this.ml0)<=u)i=0,e=n(this.long0+a/this.a);else{h=(this.ml0+r)/this.a,l=a*a/this.a/this.a+h*h,c=h;var y,m,v,M,g;for(s=f;s;--s)if(g=this.e*Math.sin(c),y=Math.sqrt(1-g*g)*Math.tan(c),m=this.a*o(this.e0,this.e1,this.e2,this.e3,c),v=this.e0-2*this.e1*Math.cos(2*c)+4*this.e2*Math.cos(4*c)-6*this.e3*Math.cos(6*c),M=m/this.a,p=(h*(y*M+1)-M-.5*y*(M*M+l))/(this.es*Math.sin(2*c)*(M*M+l-2*h*M)/(4*y)+(h-M)*(y*v-2/Math.sin(2*c))-v),c-=p,Math.abs(p)<=u){i=c;break}y=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i),e=n(this.long0+Math.asin(a*y/this.a)/Math.sin(i))}return t.x=e,t.y=i,t},e.names=["Polyconic","poly"]}),se=re&&"object"==typeof re&&"default"in re?re["default"]:re,ne=y(function(t,e){var i=Nt,a=Dt;e.init=function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},e.forward=function(t){var e=t.x,r=t.y,s=i(e-this.long0),n=a(r-this.lat0);return t.x=this.x0+this.a*s*this.rc,t.y=this.y0+this.a*n,t},e.inverse=function(t){var e=t.x,r=t.y;return t.x=i(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=a(this.lat0+(r-this.y0)/this.a),t},e.names=["Equirectangular","Equidistant_Cylindrical","eqc"]}),he=ne&&"object"==typeof ne&&"default"in ne?ne["default"]:ne,oe=y(function(t){var e=Math.PI/2;t.exports=function(t,i){var a=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(i)-a)<1e-6)return 0>i?-1*e:e;for(var r,s,n,h,o=Math.asin(.5*i),u=0;30>u;u++)if(s=Math.sin(o),n=Math.cos(o),h=t*s,r=Math.pow(1-h*h,2)/(2*n)*(i/(1-t*t)-s/(1-h*h)+.5/t*Math.log((1-h)/(1+h))),o+=r,Math.abs(r)<=1e-10)return o;return NaN}}),ue=oe&&"object"==typeof oe&&"default"in oe?oe["default"]:oe,le=y(function(t){t.exports=function(t,e){var i;return t>1e-7?(i=t*e,(1-t*t)*(e/(1-i*i)-.5/t*Math.log((1-i)/(1+i)))):2*e}}),fe=le&&"object"==typeof le&&"default"in le?le["default"]:le,ce=y(function(t,e){var i=Nt,a=fe,r=zt,s=ue;e.init=function(){this.sphere||(this.k0=r(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},e.forward=function(t){var e,r,s=t.x,n=t.y,h=i(s-this.long0);if(this.sphere)e=this.x0+this.a*h*Math.cos(this.lat_ts),r=this.y0+this.a*Math.sin(n)/Math.cos(this.lat_ts);else{var o=a(this.e,Math.sin(n));e=this.x0+this.a*this.k0*h,r=this.y0+this.a*o*.5/this.k0}return t.x=e,t.y=r,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,a;return this.sphere?(e=i(this.long0+t.x/this.a/Math.cos(this.lat_ts)),a=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(a=s(this.e,2*t.y*this.k0/this.a),e=i(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=a,t},e.names=["cea"]}),pe=ce&&"object"==typeof ce&&"default"in ce?ce["default"]:ce,de=y(function(t,e){var i=Nt,a=1e-10,r=vt;e.init=function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},e.forward=function(t){var e,r,s,n,h,o,u,l,f=t.x,c=t.y;return s=i(f-this.long0),e=Math.sin(c),r=Math.cos(c),n=Math.cos(s),o=this.sin_p14*e+this.cos_p14*r*n,h=1,o>0||Math.abs(o)<=a?(u=this.x0+this.a*h*r*Math.sin(s)/o,l=this.y0+this.a*h*(this.cos_p14*e-this.sin_p14*r*n)/o):(u=this.x0+this.infinity_dist*r*Math.sin(s),l=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*r*n)),t.x=u,t.y=l,t},e.inverse=function(t){var e,a,s,n,h,o;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(n=Math.atan2(e,this.rc),a=Math.sin(n),s=Math.cos(n),o=r(s*this.sin_p14+t.y*a*this.cos_p14/e),h=Math.atan2(t.x*a,e*this.cos_p14*s-t.y*this.sin_p14*a),h=i(this.long0+h)):(o=this.phic0,h=0),t.x=h,t.y=o,t},e.names=["gnom"]}),ye=de&&"object"==typeof de&&"default"in de?de["default"]:de,me=y(function(t,e){var i=1e-10,a=zt,r=fe,s=Nt,n=vt;e.init=function(){Math.abs(this.lat1+this.lat2)<i||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=a(this.e3,this.sin_po,this.cos_po),this.qs1=r(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=a(this.e3,this.sin_po,this.cos_po),this.qs2=r(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=r(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>i?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},e.forward=function(t){var e=t.x,i=t.y;this.sin_phi=Math.sin(i),this.cos_phi=Math.cos(i);var a=r(this.e3,this.sin_phi,this.cos_phi),n=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,h=this.ns0*s(e-this.long0),o=n*Math.sin(h)+this.x0,u=this.rh-n*Math.cos(h)+this.y0;return t.x=o,t.y=u,t},e.inverse=function(t){var e,i,a,r,n,h;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),a=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),a=-1),r=0,0!==e&&(r=Math.atan2(a*t.x,a*t.y)),a=e*this.ns0/this.a,this.sphere?h=Math.asin((this.c-a*a)/(2*this.ns0)):(i=(this.c-a*a)/this.ns0,h=this.phi1z(this.e3,i)),n=s(r/this.ns0+this.long0),t.x=n,t.y=h,t},e.phi1z=function(t,e){var a,r,s,h,o,u=n(.5*e);if(i>t)return u;for(var l=t*t,f=1;25>=f;f++)if(a=Math.sin(u),r=Math.cos(u),s=t*a,h=1-s*s,o=.5*h*h/r*(e/(1-l)-a/h+.5/t*Math.log((1-s)/(1+s))),u+=o,Math.abs(o)<=1e-7)return u;return null},e.names=["Albers_Conic_Equal_Area","Albers","aea"]}),ve=me&&"object"==typeof me&&"default"in me?me["default"]:me,Me=y(function(t,e){var i=Math.PI/2,a=Math.PI/4,r=1e-10,s=fe,n=Nt;e.S_POLE=1,e.N_POLE=2,e.EQUIT=3,e.OBLIQ=4,e.init=function(){var t=Math.abs(this.lat0);if(Math.abs(t-i)<r?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(t)<r?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0){var e;switch(this.qp=s(this.e,1),this.mmf=.5/(1-this.es),this.apa=this.authset(this.es),this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),e=Math.sin(this.lat0),this.sinb1=s(this.e,e)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*e*e)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},e.forward=function(t){var e,h,o,u,l,f,c,p,d,y,m=t.x,v=t.y;if(m=n(m-this.long0),this.sphere){if(l=Math.sin(v),y=Math.cos(v),o=Math.cos(m),this.mode===this.OBLIQ||this.mode===this.EQUIT){if(h=this.mode===this.EQUIT?1+y*o:1+this.sinph0*l+this.cosph0*y*o,r>=h)return null;h=Math.sqrt(2/h),e=h*y*Math.sin(m),h*=this.mode===this.EQUIT?l:this.cosph0*l-this.sinph0*y*o}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(o=-o),Math.abs(v+this.phi0)<r)return null;h=a-.5*v,h=2*(this.mode===this.S_POLE?Math.cos(h):Math.sin(h)),e=h*Math.sin(m),h*=o}}else{switch(c=0,p=0,d=0,o=Math.cos(m),u=Math.sin(m),l=Math.sin(v),f=s(this.e,l),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(c=f/this.qp,p=Math.sqrt(1-c*c)),this.mode){case this.OBLIQ:d=1+this.sinb1*c+this.cosb1*p*o;break;case this.EQUIT:d=1+p*o;break;case this.N_POLE:d=i+v,f=this.qp-f;break;case this.S_POLE:d=v-i,f=this.qp+f}if(Math.abs(d)<r)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:d=Math.sqrt(2/d),h=this.mode===this.OBLIQ?this.ymf*d*(this.cosb1*c-this.sinb1*p*o):(d=Math.sqrt(2/(1+p*o)))*c*this.ymf,e=this.xmf*d*p*u;break;case this.N_POLE:case this.S_POLE:f>=0?(e=(d=Math.sqrt(f))*u,h=o*(this.mode===this.S_POLE?d:-d)):e=h=0}}return t.x=this.a*e+this.x0,t.y=this.a*h+this.y0,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,a,s,h,o,u,l,f=t.x/this.a,c=t.y/this.a;if(this.sphere){var p,d=0,y=0;if(p=Math.sqrt(f*f+c*c),a=.5*p,a>1)return null;switch(a=2*Math.asin(a),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(y=Math.sin(a),d=Math.cos(a)),this.mode){case this.EQUIT:a=Math.abs(p)<=r?0:Math.asin(c*y/p),f*=y,c=d*p;break;case this.OBLIQ:a=Math.abs(p)<=r?this.phi0:Math.asin(d*this.sinph0+c*y*this.cosph0/p),f*=y*this.cosph0,c=(d-Math.sin(a)*this.sinph0)*p;break;case this.N_POLE:c=-c,a=i-a;break;case this.S_POLE:a-=i}e=0!==c||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(f,c):0}else{if(l=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,c*=this.dd,u=Math.sqrt(f*f+c*c),r>u)return t.x=0,t.y=this.phi0,t;h=2*Math.asin(.5*u/this.rq),s=Math.cos(h),f*=h=Math.sin(h),this.mode===this.OBLIQ?(l=s*this.sinb1+c*h*this.cosb1/u,o=this.qp*l,c=u*this.cosb1*s-c*this.sinb1*h):(l=c*h/u,o=this.qp*l,c=u*s)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(c=-c),o=f*f+c*c,!o)return t.x=0,t.y=this.phi0,t;l=1-o/this.qp,this.mode===this.S_POLE&&(l=-l)}e=Math.atan2(f,c),a=this.authlat(Math.asin(l),this.apa)}return t.x=n(this.long0+e),t.y=a,t},e.P00=.3333333333333333,e.P01=.17222222222222222,e.P02=.10257936507936508,e.P10=.06388888888888888,e.P11=.0664021164021164,e.P20=.016415012942191543,e.authset=function(t){var e,i=[];return i[0]=t*this.P00,e=t*t,i[0]+=e*this.P01,i[1]=e*this.P10,e*=t,i[0]+=e*this.P02,i[1]+=e*this.P11,i[2]=e*this.P20,i},e.authlat=function(t,e){var i=t+t;return t+e[0]*Math.sin(i)+e[1]*Math.sin(i+i)+e[2]*Math.sin(i+i+i)},e.names=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"]}),ge=Me&&"object"==typeof Me&&"default"in Me?Me["default"]:Me,be=y(function(t,e){var i=Et,a=St,r=jt,s=wt,n=_t,h=gt,o=Nt,u=Dt,l=yt,f=Math.PI/2,c=1e-10;e.init=function(){this.sphere||(this.e0=a(this.es),this.e1=r(this.es),this.e2=s(this.es),this.e3=n(this.es),this.ml0=this.a*i(this.e0,this.e1,this.e2,this.e3,this.lat0))},e.forward=function(t){var e,a,r=t.x,s=t.y;if(r=o(r-this.long0),this.sphere)e=this.a*Math.asin(Math.cos(s)*Math.sin(r)),a=this.a*(Math.atan2(Math.tan(s),Math.cos(r))-this.lat0);else{var n=Math.sin(s),u=Math.cos(s),l=h(this.a,this.e,n),f=Math.tan(s)*Math.tan(s),c=r*Math.cos(s),p=c*c,d=this.es*u*u/(1-this.es),y=this.a*i(this.e0,this.e1,this.e2,this.e3,s);e=l*c*(1-p*f*(1/6-(8-f+8*d)*p/120)),a=y-this.ml0+l*n/u*p*(.5+(5-f+6*d)*p/24)}return t.x=e+this.x0,t.y=a+this.y0,t},e.inverse=function(t){t.x-=this.x0,t.y-=this.y0;var e,i,a=t.x/this.a,r=t.y/this.a;if(this.sphere){var s=r+this.lat0;e=Math.asin(Math.sin(s)*Math.cos(a)),i=Math.atan2(Math.tan(a),Math.cos(s))}else{var n=this.ml0/this.a+r,p=l(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(p)-f)<=c)return t.x=this.long0,t.y=f,0>r&&(t.y*=-1),t;var d=h(this.a,this.e,Math.sin(p)),y=d*d*d/this.a/this.a*(1-this.es),m=Math.pow(Math.tan(p),2),v=a*this.a/d,M=v*v;e=p-d*Math.tan(p)/y*v*v*(.5-(1+3*m)*v*v/24),i=v*(1-M*(m/3+(1+3*m)*m*M/15))/Math.cos(p)}return t.x=o(i+this.long0),t.y=u(e),t},e.names=["Cassini","Cassini_Soldner","cass"]}),_e=be&&"object"==typeof be&&"default"in be?be["default"]:be,xe=y(function(t,e){var i=Nt;e.init=function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},e.forward=function(t){var e,a,r,s,n,h,o,u=t.x,l=t.y,f=i(u-this.long0);return e=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),a=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/e)-this.s45),r=-f*this.alfa,s=Math.asin(Math.cos(this.ad)*Math.sin(a)+Math.sin(this.ad)*Math.cos(a)*Math.cos(r)),n=Math.asin(Math