UNPKG

@dp_unity/dpu-gis-viewer

Version:

DPU GIS Viewer version Beta

2 lines 2.55 kB
/*! For license information please see chunk-Z6PJ3IIE.js.LICENSE.txt */ import{a as z}from"./chunk-K2M3OJ7Z.js";import{h as I,i as b}from"./chunk-M3A6SPGI.js";import{a as W,b as O,d as L}from"./chunk-S4VBGY2U.js";import{a as m}from"./chunk-UCTPWOTZ.js";import{a as v}from"./chunk-G75U3WZT.js";import{e as k}from"./chunk-3THTQ4QB.js";var Z=Math.cos,B=Math.sin,p=Math.sqrt,N={computePosition:function(t,n,a,r,o,s,e){let i=n.radiiSquared,l=t.nwCorner,h=t.boundingRectangle,u=l.latitude-t.granYCos*r+o*t.granXSin,g=Z(u),c=B(u),m=i.z*c,S=l.longitude+r*t.granYSin+o*t.granXCos,C=g*Z(S),d=g*B(S),w=i.x*C,O=i.y*d,W=p(w*C+O*d+m*c);if(s.x=w/W,s.y=O/W,s.z=m/W,a){let n=t.stNwCorner;k(n)?(u=n.latitude-t.stGranYCos*r+o*t.stGranXSin,S=n.longitude+r*t.stGranYSin+o*t.stGranXCos,e.x=(S-t.stWest)*t.lonScalar,e.y=(u-t.stSouth)*t.latScalar):(e.x=(S-h.west)*t.lonScalar,e.y=(u-h.south)*t.latScalar)}}},A=new b,l=new W,F=new O,j=new W,y=new z;function D(t,n,a,r,o,s,e){let i=Math.cos(n),h=r*i,u=a*i,g=Math.sin(n),c=r*g,m=a*g;y._ellipsoid=L.default,l=y.project(t,l),l=W.subtract(l,j,l);let S=b.fromRotation(n,A);l=b.multiplyByVector(S,l,l),l=W.add(l,j,l),s-=1,e-=1;let C=(t=y.unproject(l,t)).latitude,d=C+s*m,p=C-h*e,w=C-h*e+s*m,O=Math.max(C,d,p,w),Y=Math.min(C,d,p,w),f=t.longitude,X=f+s*u,_=f+e*c,I=f+e*c+s*u;return{north:O,south:Y,east:Math.max(f,X,_,I),west:Math.min(f,X,_,I),granYCos:h,granYSin:c,granXCos:u,granXSin:m,nwCorner:t}}N.computeOptions=function(t,n,a,r,o,s,e){let i=t.east,l=t.west,h=t.north,u=t.south,g=!1,c=!1;h===m.PI_OVER_TWO&&(g=!0),u===-m.PI_OVER_TWO&&(c=!0);let S,C=h-u;S=l>i?m.TWO_PI-l+i:i-l;let d=Math.ceil(S/n)+1,p=Math.ceil(C/n)+1,w=S/(d-1),O=C/(p-1),W=I.northwest(t,s),Y=I.center(t,F);(0!==a||0!==r)&&(Y.longitude<W.longitude&&(Y.longitude+=m.TWO_PI),y._ellipsoid=L.default,j=y.project(Y,j));let f=O,X=w,_=I.clone(t,o),M={granYCos:f,granYSin:0,granXCos:X,granXSin:0,nwCorner:W,boundingRectangle:_,width:d,height:p,northCap:g,southCap:c};if(0!==a){let t=D(W,a,w,O,Y,d,p);if(h=t.north,u=t.south,i=t.east,l=t.west,h<-m.PI_OVER_TWO||h>m.PI_OVER_TWO||u<-m.PI_OVER_TWO||u>m.PI_OVER_TWO)throw new v("Rotated rectangle is invalid. It crosses over either the north or south pole.");M.granYCos=t.granYCos,M.granYSin=t.granYSin,M.granXCos=t.granXCos,M.granXSin=t.granXSin,_.north=h,_.south=u,_.east=i,_.west=l}if(0!==r){a-=r;let t=I.northwest(_,e),n=D(t,a,w,O,Y,d,p);M.stGranYCos=n.granYCos,M.stGranXCos=n.granXCos,M.stGranYSin=n.granYSin,M.stGranXSin=n.granXSin,M.stNwCorner=t,M.stWest=n.west,M.stSouth=n.south}return M};var st=N;export{st as a};