path-foundation-demo / web /912.b9d10d9e0ceb8501.js
lirony's picture
v1
960a64d
"use strict";(self.webpackChunkviewer=self.webpackChunkviewer||[]).push([[912],{6173:(y,W,a)=>{a.d(W,{S:()=>T});var r=a(9974),A=a(4360),M=a(7908);function T(t,n=null){return n=n??t,(0,r.N)((u,h)=>{let e=[],c=0;u.subscribe((0,A._)(h,o=>{let f=null;c++%n==0&&e.push([]);for(const s of e)s.push(o),t<=s.length&&(f=f??[],f.push(s));if(f)for(const s of f)(0,M.o)(e,s),h.next(s)},()=>{for(const o of e)h.next(o);h.complete()},void 0,()=>{e=null}))})}},6705:(y,W,a)=>{a.d(W,{A:()=>u});var r=a(8698),A=a(9557),M=a(5664),T=a(8701);const u=class t extends r.A{constructor(e,c,o,f,s,l){super(e,c,l),this.crossOrigin_=f,this.src_=o,this.key=o,this.image_=new Image,null!==f&&(this.image_.crossOrigin=f),this.unlisten_=null,this.tileLoadFunction_=s}getImage(){return this.image_}setImage(e){this.image_=e,this.state=A.A.LOADED,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=A.A.ERROR,this.unlistenImage_(),this.image_=function n(){const h=(0,M.Y)(1,1);return h.fillStyle="rgba(0,0,0,0)",h.fillRect(0,0,1,1),h.canvas}(),this.changed()}handleImageLoad_(){const e=this.image_;this.state=e.naturalWidth&&e.naturalHeight?A.A.LOADED:A.A.EMPTY,this.unlistenImage_(),this.changed()}load(){this.state==A.A.ERROR&&(this.state=A.A.IDLE,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),this.state==A.A.IDLE&&(this.state=A.A.LOADING,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=(0,T.f6)(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}}},8698:(y,W,a)=>{a.d(W,{A:()=>u});var r=a(6339),A=a(8864),M=a(9557),T=a(8618),t=a(1999);const u=class n extends r.A{constructor(e,c,o){super(),o=o||{},this.tileCoord=e,this.state=c,this.interimTile=null,this.key="",this.transition_=void 0===o.transition?250:o.transition,this.transitionStarts_={},this.interpolate=!!o.interpolate}changed(){this.dispatchEvent(A.A.CHANGE)}release(){this.state===M.A.ERROR&&this.setState(M.A.EMPTY)}getKey(){return this.key+"/"+this.tileCoord}getInterimTile(){let e=this.interimTile;if(!e)return this;do{if(e.getState()==M.A.LOADED)return this.transition_=0,e;e=e.interimTile}while(e);return this}refreshInterimChain(){let e=this.interimTile;if(!e)return;let c=this;do{if(e.getState()==M.A.LOADED){e.interimTile=null;break}e.getState()==M.A.LOADING?c=e:e.getState()==M.A.IDLE?c.interimTile=e.interimTile:c=e,e=c.interimTile}while(e)}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(e){if(this.state!==M.A.ERROR&&this.state>e)throw new Error("Tile load sequence violation");this.state=e,this.changed()}load(){(0,T.b0)()}getAlpha(e,c){if(!this.transition_)return 1;let o=this.transitionStarts_[e];if(o){if(-1===o)return 1}else o=c,this.transitionStarts_[e]=o;const f=c-o+1e3/60;return f>=this.transition_?1:(0,t.a6)(f/this.transition_)}inTransition(e){return!!this.transition_&&-1!==this.transitionStarts_[e]}endTransition(e){this.transition_&&(this.transitionStarts_[e]=-1)}}},1113:(y,W,a)=>{a.d(W,{A:()=>M,N:()=>A});class r{constructor(t,n,u,h){this.minX=t,this.maxX=n,this.minY=u,this.maxY=h}contains(t){return this.containsXY(t[1],t[2])}containsTileRange(t){return this.minX<=t.minX&&t.maxX<=this.maxX&&this.minY<=t.minY&&t.maxY<=this.maxY}containsXY(t,n){return this.minX<=t&&t<=this.maxX&&this.minY<=n&&n<=this.maxY}equals(t){return this.minX==t.minX&&this.minY==t.minY&&this.maxX==t.maxX&&this.maxY==t.maxY}extend(t){t.minX<this.minX&&(this.minX=t.minX),t.maxX>this.maxX&&(this.maxX=t.maxX),t.minY<this.minY&&(this.minY=t.minY),t.maxY>this.maxY&&(this.maxY=t.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(t){return this.minX<=t.maxX&&this.maxX>=t.minX&&this.minY<=t.maxY&&this.maxY>=t.minY}}function A(T,t,n,u,h){return void 0!==h?(h.minX=T,h.maxX=t,h.minY=n,h.maxY=u,h):new r(T,t,n,u)}const M=r},9557:(y,W,a)=>{a.d(W,{A:()=>r});const r={IDLE:0,LOADING:1,LOADED:2,ERROR:3,EMPTY:4}},5112:(y,W,a)=>{a.d(W,{BV:()=>n,KQ:()=>c,XX:()=>f,aY:()=>o});var r=a(4378),A=a(5664),M=a(3036),T=a(8092);let t;const n=[];function u(s,l,_,m,g){s.beginPath(),s.moveTo(0,0),s.lineTo(l,_),s.lineTo(m,g),s.closePath(),s.save(),s.clip(),s.fillRect(0,0,Math.max(l,m)+1,Math.max(_,g)),s.restore()}function h(s,l){return Math.abs(s[4*l]-210)>2||Math.abs(s[4*l+3]-191.25)>2}function c(s,l,_,m){const g=(0,M.pd)(_,l,s);let d=(0,M.hO)(l,m,_);const x=l.getMetersPerUnit();void 0!==x&&(d*=x);const p=s.getMetersPerUnit();void 0!==p&&(d/=p);const L=s.getExtent();if(!L||(0,r.Ym)(L,g)){const v=(0,M.hO)(s,d,g)/d;isFinite(v)&&v>0&&(d/=v)}return d}function o(s,l,_,m){const g=(0,r.q1)(_);let d=c(s,l,g,m);return(!isFinite(d)||d<=0)&&(0,r.sB)(_,function(x){return d=c(s,l,x,m),isFinite(d)&&d>0}),d}function f(s,l,_,m,g,d,x,p,L,v,R,D,C,O){const i=(0,A.Y)(Math.round(_*s),Math.round(_*l),n);if(D||(i.imageSmoothingEnabled=!1),0===L.length)return i.canvas;function E(P){return Math.round(P*_)/_}i.scale(_,_),i.globalCompositeOperation="lighter";const X=(0,r.S5)();let K;L.forEach(function(P,B,F){(0,r.X$)(X,P.extent)});const Y=_/m,G=(D?1:1+Math.pow(2,-24))/Y;if(!C||1!==L.length||0!==v){if(K=(0,A.Y)(Math.round((0,r.RG)(X)*Y),Math.round((0,r.Oq)(X)*Y),n),D||(K.imageSmoothingEnabled=!1),g&&O){const P=(g[0]-X[0])*Y,B=-(g[3]-X[3])*Y,F=(0,r.RG)(g)*Y,I=(0,r.Oq)(g)*Y;K.rect(P,B,F,I),K.clip()}L.forEach(function(P,B,F){const I=(P.extent[0]-X[0])*Y,w=-(P.extent[3]-X[3])*Y,k=(0,r.RG)(P.extent)*Y,N=(0,r.Oq)(P.extent)*Y;P.image.width>0&&P.image.height>0&&K.drawImage(P.image,v,v,P.image.width-2*v,P.image.height-2*v,D?I:Math.round(I),D?w:Math.round(w),D?k:Math.round(I+k)-Math.round(I),D?N:Math.round(w+N)-Math.round(w))})}const U=(0,r.Py)(x);return p.getTriangles().forEach(function(P,B,F){const I=P.source,w=P.target;let k=I[0][0],N=I[0][1],Q=I[1][0],b=I[1][1],z=I[2][0],et=I[2][1];const V=E((w[0][0]-U[0])/d),$=E(-(w[0][1]-U[1])/d),H=E((w[1][0]-U[0])/d),Z=E(-(w[1][1]-U[1])/d),st=E((w[2][0]-U[0])/d),it=E(-(w[2][1]-U[1])/d),nt=k,ot=N;k=0,N=0,Q-=nt,b-=ot,z-=nt,et-=ot;const J=(0,T.KU)([[Q,b,0,0,H-V],[z,et,0,0,st-V],[0,0,Q,b,Z-$],[0,0,z,et,it-$]]);if(!J)return;if(i.save(),i.beginPath(),function e(){if(void 0===t){const s=(0,A.Y)(6,6,n);s.globalCompositeOperation="lighter",s.fillStyle="rgba(210, 0, 0, 0.75)",u(s,4,5,4,0),u(s,4,5,0,5);const l=s.getImageData(0,0,3,3).data;t=h(l,0)||h(l,4)||h(l,8),(0,A.Yg)(s),n.push(s.canvas)}return t}()||!D){i.moveTo(H,Z);const j=4,tt=V-H,rt=$-Z;for(let S=0;S<j;S++)i.lineTo(H+E((S+1)*tt/j),Z+E(S*rt/(j-1))),S!=j-1&&i.lineTo(H+E((S+1)*tt/j),Z+E((S+1)*rt/(j-1)));i.lineTo(st,it)}else i.moveTo(H,Z),i.lineTo(V,$),i.lineTo(st,it);let q;if(i.clip(),i.transform(J[0],J[2],J[1],J[3],V,$),i.translate(X[0]-nt,X[3]-ot),K)q=K.canvas,i.scale(G,-G);else{const j=L[0],tt=j.extent;q=j.image,i.scale((0,r.RG)(tt)/q.width,-(0,r.Oq)(tt)/q.height)}i.drawImage(q,0,0),i.restore()}),K&&((0,A.Yg)(K),n.push(K.canvas)),R&&(i.save(),i.globalCompositeOperation="source-over",i.strokeStyle="black",i.lineWidth=1,p.getTriangles().forEach(function(P,B,F){const I=P.target,w=(I[0][0]-U[0])/d,k=-(I[0][1]-U[1])/d,N=(I[1][0]-U[0])/d,Q=-(I[1][1]-U[1])/d,b=(I[2][0]-U[0])/d,z=-(I[2][1]-U[1])/d;i.beginPath(),i.moveTo(N,Q),i.lineTo(w,k),i.lineTo(b,z),i.closePath(),i.stroke()}),i.restore()),i.canvas}},6263:(y,W,a)=>{a.d(W,{A:()=>f});var r=a(7326),A=a(8864),M=a(8698),T=a(9557),t=a(9056),n=a(5112),u=a(8092),h=a(4378),e=a(7443),c=a(5664);const f=class o extends M.A{constructor(l,_,m,g,d,x,p,L,v,R,D,C){super(d,T.A.IDLE,C),this.renderEdges_=void 0!==D&&D,this.pixelRatio_=p,this.gutter_=L,this.canvas_=null,this.sourceTileGrid_=_,this.targetTileGrid_=g,this.wrappedTileCoord_=x||d,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0;const O=g.getTileCoordExtent(this.wrappedTileCoord_),i=this.targetTileGrid_.getExtent();let E=this.sourceTileGrid_.getExtent();const X=i?(0,h._N)(O,i):O;if(0===(0,h.UG)(X))return void(this.state=T.A.EMPTY);const K=l.getExtent();K&&(E=E?(0,h._N)(E,K):K);const Y=g.getResolution(this.wrappedTileCoord_[0]),G=(0,n.aY)(l,m,X,Y);if(!isFinite(G)||G<=0)return void(this.state=T.A.EMPTY);if(this.triangulation_=new t.A(l,m,X,E,G*(void 0!==R?R:r.l),Y),0===this.triangulation_.getTriangles().length)return void(this.state=T.A.EMPTY);this.sourceZ_=_.getZForResolution(G);let P=this.triangulation_.calculateSourceExtent();if(E&&(l.canWrapX()?(P[1]=(0,u.qE)(P[1],E[1],E[3]),P[3]=(0,u.qE)(P[3],E[1],E[3])):P=(0,h._N)(P,E)),(0,h.UG)(P)){const B=_.getTileRangeForExtentAndZ(P,this.sourceZ_);for(let F=B.minX;F<=B.maxX;F++)for(let I=B.minY;I<=B.maxY;I++){const w=v(this.sourceZ_,F,I,p);w&&this.sourceTiles_.push(w)}0===this.sourceTiles_.length&&(this.state=T.A.EMPTY)}else this.state=T.A.EMPTY}getImage(){return this.canvas_}reproject_(){const l=[];if(this.sourceTiles_.forEach(_=>{_&&_.getState()==T.A.LOADED&&l.push({extent:this.sourceTileGrid_.getTileCoordExtent(_.tileCoord),image:_.getImage()})}),this.sourceTiles_.length=0,0===l.length)this.state=T.A.ERROR;else{const _=this.wrappedTileCoord_[0],m=this.targetTileGrid_.getTileSize(_),g="number"==typeof m?m:m[0],d="number"==typeof m?m:m[1],x=this.targetTileGrid_.getResolution(_),p=this.sourceTileGrid_.getResolution(this.sourceZ_),L=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=(0,n.XX)(g,d,this.pixelRatio_,p,this.sourceTileGrid_.getExtent(),x,L,this.triangulation_,l,this.gutter_,this.renderEdges_,this.interpolate),this.state=T.A.LOADED}this.changed()}load(){if(this.state==T.A.IDLE){this.state=T.A.LOADING,this.changed();let l=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(_=>{const m=_.getState();if(m==T.A.IDLE||m==T.A.LOADING){l++;const g=(0,e.KT)(_,A.A.CHANGE,function(d){const x=_.getState();(x==T.A.LOADED||x==T.A.ERROR||x==T.A.EMPTY)&&((0,e.JH)(g),l--,0===l&&(this.unlistenSources_(),this.reproject_()))},this);this.sourcesListenerKeys_.push(g)}}),0===l?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function(_,m,g){_.getState()==T.A.IDLE&&_.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(e.JH),this.sourcesListenerKeys_=null}release(){this.canvas_&&((0,c.Yg)(this.canvas_.getContext("2d")),n.BV.push(this.canvas_),this.canvas_=null),super.release()}}},9056:(y,W,a)=>{a.d(W,{A:()=>u});var r=a(4378),A=a(3036),M=a(8092);const u=class n{constructor(e,c,o,f,s,l){this.sourceProj_=e,this.targetProj_=c;let _={};const m=(0,A.RG)(this.targetProj_,this.sourceProj_);this.transformInv_=function(O){const i=O[0]+"/"+O[1];return _[i]||(_[i]=m(O)),_[i]},this.maxSourceExtent_=f,this.errorThresholdSquared_=s*s,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!f&&!!this.sourceProj_.getExtent()&&(0,r.RG)(f)>=(0,r.RG)(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?(0,r.RG)(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?(0,r.RG)(this.targetProj_.getExtent()):null;const g=(0,r.Py)(o),d=(0,r.WU)(o),x=(0,r.k_)(o),p=(0,r.R)(o),L=this.transformInv_(g),v=this.transformInv_(d),R=this.transformInv_(x),D=this.transformInv_(p),C=10+(l?Math.max(0,Math.ceil(Math.log2((0,r.UG)(o)/(l*l*256*256)))):0);if(this.addQuad_(g,d,x,p,L,v,R,D,C),this.wrapsXInSource_){let O=1/0;this.triangles_.forEach(function(i,E,X){O=Math.min(O,i.source[0][0],i.source[1][0],i.source[2][0])}),this.triangles_.forEach(i=>{if(Math.max(i.source[0][0],i.source[1][0],i.source[2][0])-O>this.sourceWorldWidth_/2){const E=[[i.source[0][0],i.source[0][1]],[i.source[1][0],i.source[1][1]],[i.source[2][0],i.source[2][1]]];E[0][0]-O>this.sourceWorldWidth_/2&&(E[0][0]-=this.sourceWorldWidth_),E[1][0]-O>this.sourceWorldWidth_/2&&(E[1][0]-=this.sourceWorldWidth_),E[2][0]-O>this.sourceWorldWidth_/2&&(E[2][0]-=this.sourceWorldWidth_);const X=Math.min(E[0][0],E[1][0],E[2][0]);Math.max(E[0][0],E[1][0],E[2][0])-X<this.sourceWorldWidth_/2&&(i.source=E)}})}_={}}addTriangle_(e,c,o,f,s,l){this.triangles_.push({source:[f,s,l],target:[e,c,o]})}addQuad_(e,c,o,f,s,l,_,m,g){const d=(0,r.Tr)([s,l,_,m]),x=this.sourceWorldWidth_?(0,r.RG)(d)/this.sourceWorldWidth_:null,p=this.sourceWorldWidth_,L=this.sourceProj_.canWrapX()&&x>.5&&x<1;let v=!1;if(g>0){if(this.targetProj_.isGlobal()&&this.targetWorldWidth_){const D=(0,r.Tr)([e,c,o,f]);v=(0,r.RG)(D)/this.targetWorldWidth_>.25||v}!L&&this.sourceProj_.isGlobal()&&x&&(v=x>.25||v)}if(!v&&this.maxSourceExtent_&&isFinite(d[0])&&isFinite(d[1])&&isFinite(d[2])&&isFinite(d[3])&&!(0,r.HY)(d,this.maxSourceExtent_))return;let R=0;if(!(v||isFinite(s[0])&&isFinite(s[1])&&isFinite(l[0])&&isFinite(l[1])&&isFinite(_[0])&&isFinite(_[1])&&isFinite(m[0])&&isFinite(m[1])))if(g>0)v=!0;else if(R=(isFinite(s[0])&&isFinite(s[1])?0:8)+(isFinite(l[0])&&isFinite(l[1])?0:4)+(isFinite(_[0])&&isFinite(_[1])?0:2)+(isFinite(m[0])&&isFinite(m[1])?0:1),1!=R&&2!=R&&4!=R&&8!=R)return;if(g>0){if(!v){const C=this.transformInv_([(e[0]+o[0])/2,(e[1]+o[1])/2]);let O;O=L?((0,M.xP)(s[0],p)+(0,M.xP)(_[0],p))/2-(0,M.xP)(C[0],p):(s[0]+_[0])/2-C[0];const i=(s[1]+_[1])/2-C[1];v=O*O+i*i>this.errorThresholdSquared_}if(v){if(Math.abs(e[0]-o[0])<=Math.abs(e[1]-o[1])){const D=[(c[0]+o[0])/2,(c[1]+o[1])/2],C=this.transformInv_(D),O=[(f[0]+e[0])/2,(f[1]+e[1])/2],i=this.transformInv_(O);this.addQuad_(e,c,D,O,s,l,C,i,g-1),this.addQuad_(O,D,o,f,i,C,_,m,g-1)}else{const D=[(e[0]+c[0])/2,(e[1]+c[1])/2],C=this.transformInv_(D),O=[(o[0]+f[0])/2,(o[1]+f[1])/2],i=this.transformInv_(O);this.addQuad_(e,D,O,f,s,C,i,m,g-1),this.addQuad_(D,c,o,O,C,l,_,i,g-1)}return}}if(L){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&R||this.addTriangle_(e,o,f,s,_,m),14&R||this.addTriangle_(e,o,c,s,_,l),R&&(13&R||this.addTriangle_(c,f,e,l,m,s),7&R||this.addTriangle_(c,f,o,l,m,_))}calculateSourceExtent(){const e=(0,r.S5)();return this.triangles_.forEach(function(c,o,f){const s=c.source;(0,r.$C)(e,s[0]),(0,r.$C)(e,s[1]),(0,r.$C)(e,s[2])}),e}getTriangles(){return this.triangles_}}},7326:(y,W,a)=>{a.d(W,{l:()=>r});const r=.5},4680:(y,W,a)=>{a.d(W,{A:()=>M});var r=a(9791);const M=class A{constructor(t){this.highWaterMark=void 0!==t?t:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(t){for(;this.canExpireCache();)this.pop()}clear(){this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}containsKey(t){return this.entries_.hasOwnProperty(t)}forEach(t){let n=this.oldest_;for(;n;)t(n.value_,n.key_,this),n=n.newer}get(t,n){const u=this.entries_[t];return(0,r.v)(void 0!==u,"Tried to get a value for a key that does not exist in the cache"),u===this.newest_||(u===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(u.newer.older=u.older,u.older.newer=u.newer),u.newer=null,u.older=this.newest_,this.newest_.newer=u,this.newest_=u),u.value_}remove(t){const n=this.entries_[t];return(0,r.v)(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_?(this.newest_=n.older,this.newest_&&(this.newest_.newer=null)):n===this.oldest_?(this.oldest_=n.newer,this.oldest_&&(this.oldest_.older=null)):(n.newer.older=n.older,n.older.newer=n.newer),delete this.entries_[t],--this.count_,n.value_}getCount(){return this.count_}getKeys(){const t=new Array(this.count_);let u,n=0;for(u=this.newest_;u;u=u.older)t[n++]=u.key_;return t}getValues(){const t=new Array(this.count_);let u,n=0;for(u=this.newest_;u;u=u.older)t[n++]=u.value_;return t}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(t){return this.entries_[t]?.value_}pop(){const t=this.oldest_;return delete this.entries_[t.key_],t.newer&&(t.newer.older=null),this.oldest_=t.newer,this.oldest_||(this.newest_=null),--this.count_,t.value_}replace(t,n){this.get(t),this.entries_[t].value_=n}set(t,n){(0,r.v)(!(t in this.entries_),"Tried to set a value for a key that is used already");const u={key_:t,newer:null,older:this.newest_,value_:n};this.newest_?this.newest_.newer=u:this.oldest_=u,this.newest_=u,this.entries_[t]=u,++this.count_}setSize(t){this.highWaterMark=t}}},7709:(y,W,a)=>{function r(h,e,c,o){return void 0!==o?(o[0]=h,o[1]=e,o[2]=c,o):[h,e,c]}function A(h,e,c){return h+"/"+e+"/"+c}function M(h){return A(h[0],h[1],h[2])}function t(h){return h.split("/").map(Number)}function n(h){return(h[1]<<h[0])+h[2]}function u(h,e){const c=h[0],o=h[1],f=h[2];if(e.getMinZoom()>c||c>e.getMaxZoom())return!1;const s=e.getFullTileRange(c);return!s||s.containsXY(o,f)}a.d(W,{K:()=>t,N:()=>r,N5:()=>u,dp:()=>A,i7:()=>M,tW:()=>n})}}]);