| 1 |
- import{a as F}from"./chunk-CUQT2UK5.js";import{a as y,c as P}from"./chunk-I46SWINN.js";import{a as L}from"./chunk-LNIYJJXS.js";import{a as B}from"./chunk-4D2ERGZX.js";import{a as q}from"./chunk-EDZQSM3T.js";import{a as T}from"./chunk-NUC3LT2W.js";function Y(t){var n=t._uSquared,a=t._ellipsoid.maximumRadius,e=t._ellipsoid.minimumRadius,g=(a-e)/a,M=Math.cos(t._startHeading),m=Math.sin(t._startHeading),h=(1-g)*Math.tan(t._start.latitude),p=1/Math.sqrt(1+h*h),R=p*h,f=Math.atan2(h,M),_=p*m,U=_*_,i=1-U,C=Math.sqrt(i),s=n/4,v=s*s,u=v*s,O=v*v,c=1+s-3*v/4+5*u/4-175*O/64,w=1-s+15*v/8-35*u/8,d=1-3*s+35*v/4,o=1-5*s,A=c*f-w*Math.sin(2*f)*s/2-d*Math.sin(4*f)*v/16-o*Math.sin(6*f)*u/48-Math.sin(8*f)*5*O/512,r=t._constants;r.a=a,r.b=e,r.f=g,r.cosineHeading=M,r.sineHeading=m,r.tanU=h,r.cosineU=p,r.sineU=R,r.sigma=f,r.sineAlpha=_,r.sineSquaredAlpha=U,r.cosineSquaredAlpha=i,r.cosineAlpha=C,r.u2Over4=s,r.u4Over16=v,r.u6Over64=u,r.u8Over256=O,r.a0=c,r.a1=w,r.a2=d,r.a3=o,r.distanceRatio=A}function Z(t,n){return t*n*(4+t*(4-3*n))/16}function W(t,n,a,e,g,M,m){var h=Z(t,a);return(1-h)*t*n*(e+h*g*(m+h*M*(2*m*m-1)))}function $(t,n,a,e,g,M,m){var h=(n-a)/n,p=M-e,R=Math.atan((1-h)*Math.tan(g)),f=Math.atan((1-h)*Math.tan(m)),_=Math.cos(R),U=Math.sin(R),i=Math.cos(f),C=Math.sin(f),s=_*i,v=_*C,u=U*C,O=U*i,c=p,w=L.TWO_PI,d=Math.cos(c),o=Math.sin(c),A,r,S,b,l;do{d=Math.cos(c),o=Math.sin(c);var N=v-O*d;S=Math.sqrt(i*i*o*o+N*N),r=u+s*d,A=Math.atan2(S,r);var D;S===0?(D=0,b=1):(D=s*o/S,b=1-D*D),w=c,l=r-2*u/b,isNaN(l)&&(l=0),c=p+W(h,D,b,A,S,r,l)}while(Math.abs(c-w)>L.EPSILON12);var H=b*(n*n-a*a)/(a*a),V=1+H*(4096+H*(H*(320-175*H)-768))/16384,I=H*(256+H*(H*(74-47*H)-128))/1024,z=l*l,J=I*S*(l+I*(r*(2*z-1)-I*l*(4*S*S-3)*(4*z-3)/6)/4),K=a*V*(A-J),Q=Math.atan2(i*o,v-O*d),X=Math.atan2(_*o,v*d-O);t._distance=K,t._startHeading=Q,t._endHeading=X,t._uSquared=H}var j=new y,x=new y;function k(t,n,a,e){var g=y.normalize(e.cartographicToCartesian(n,x),j),M=y.normalize(e.cartographicToCartesian(a,x),x);q.typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(y.angleBetween(g,M))-Math.PI),.0125),$(t,e.maximumRadius,e.minimumRadius,n.longitude,n.latitude,a.longitude,a.latitude),t._start=P.clone(n,t._start),t._end=P.clone(a,t._end),t._start.height=0,t._end.height=0,Y(t)}function E(t,n,a){var e=B(a,F.WGS84);this._ellipsoid=e,this._start=new P,this._end=new P,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,T(t)&&T(n)&&k(this,t,n,e)}Object.defineProperties(E.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return q.defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return q.defined("distance",this._distance),this._startHeading}},endHeading:{get:function(){return q.defined("distance",this._distance),this._endHeading}}});E.prototype.setEndPoints=function(t,n){q.defined("start",t),q.defined("end",n),k(this,t,n,this._ellipsoid)};E.prototype.interpolateUsingFraction=function(t,n){return this.interpolateUsingSurfaceDistance(this._distance*t,n)};E.prototype.interpolateUsingSurfaceDistance=function(t,n){q.defined("distance",this._distance);var a=this._constants,e=a.distanceRatio+t/a.b,g=Math.cos(2*e),M=Math.cos(4*e),m=Math.cos(6*e),h=Math.sin(2*e),p=Math.sin(4*e),R=Math.sin(6*e),f=Math.sin(8*e),_=e*e,U=e*_,i=a.u8Over256,C=a.u2Over4,s=a.u6Over64,v=a.u4Over16,u=2*U*i*g/3+e*(1-C+7*v/4-15*s/4+579*i/64-(v-15*s/4+187*i/16)*g-(5*s/4-115*i/16)*M-29*i*m/16)+(C/2-v+71*s/32-85*i/16)*h+(5*v/16-5*s/4+383*i/96)*p-_*((s-11*i/2)*h+5*i*p/2)+(29*s/96-29*i/16)*R+539*i*f/1536,O=Math.asin(Math.sin(u)*a.cosineAlpha),c=Math.atan(a.a/a.b*Math.tan(O));u=u-a.sigma;var w=Math.cos(2*a.sigma+u),d=Math.sin(u),o=Math.cos(u),A=a.cosineU*o,r=a.sineU*d,S=Math.atan2(d*a.sineHeading,A-r*a.cosineHeading),b=S-W(a.f,a.sineAlpha,a.cosineSquaredAlpha,u,d,o,w);return T(n)?(n.longitude=this._start.longitude+b,n.latitude=c,n.height=0,n):new P(this._start.longitude+b,c,0)};var sa=E;export{sa as a};
|