earthsdk3-cesium 3.4.0-beta.8 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/earthsdk3-cesium.iife.js +17 -17
- package/dist/earthsdk3-cesium.js +643 -645
- package/dist/earthsdk3-cesium.umd.cjs +15 -15
- package/dist/types/CzmObjects/base/InnerClass/CzmImagery/index.d.ts +1 -0
- package/dist/types/CzmObjects/base/InnerClass/CzmImagery/index.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmES3DTileset/Czm3DTiles/getSimpleUpdateEvents.d.ts +1 -1
- package/dist/types/CzmObjects/general/CzmESEntityCluster/index.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmESGeoJson/CzmGeoJson.d.ts +1 -2
- package/dist/types/CzmObjects/general/CzmESGeoJson/CzmGeoJson.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmESImageryLayer/index.d.ts.map +1 -1
- package/dist/types/CzmObjects/general/CzmESKml/CzmKml.d.ts +1 -1
- package/dist/types/CzmObjects/general/CzmESKml/CzmKml.d.ts.map +1 -1
- package/dist/types/ESCesiumViewer/NavigationManager/index.d.ts.map +1 -1
- package/dist/types/ESCesiumViewer/ViewerExtensions/ImageriesManager.d.ts +1 -0
- package/dist/types/ESCesiumViewer/ViewerExtensions/ImageriesManager.d.ts.map +1 -1
- package/dist/types/ESObjects/ESKml.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -362,7 +362,7 @@ ${this.stack.toString()}`),t};function X(t,i,e,n,o,r,s,a,c,d,u,p,f,g,m,y){this[0
|
|
|
362
362
|
`);for(let n=0;n<e.length;++n){const o=e[n],r=o.indexOf(": ");if(r>0){const s=o.substring(0,r),a=o.substring(r+2);i[s]=a}}return i}function Ss(t,i,e){this.statusCode=t,this.response=i,this.responseHeaders=e,typeof this.responseHeaders=="string"&&(this.responseHeaders=jE(this.responseHeaders))}Ss.prototype.toString=function(){let t="Request has failed.";return D(this.statusCode)&&(t+=` Status Code: ${this.statusCode}`),t};function dr(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(dr.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}}),dr.prototype.addEventListener=function(t,i){A.typeOf.func("listener",t),this._listeners.push(t),this._scopes.push(i);const e=this;return function(){e.removeEventListener(t,i)}},dr.prototype.removeEventListener=function(t,i){A.typeOf.func("listener",t);const e=this._listeners,n=this._scopes;let o=-1;for(let r=0;r<e.length;r++)if(e[r]===t&&n[r]===i){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),e[o]=void 0,n[o]=void 0):(e.splice(o,1),n.splice(o,1)),!0):!1};function eA(t,i){return i-t}dr.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let t;const i=this._listeners,e=this._scopes;let n=i.length;for(t=0;t<n;t++){const r=i[t];D(r)&&i[t].apply(e[t],arguments)}const o=this._toRemove;if(n=o.length,n>0){for(o.sort(eA),t=0;t<n;t++){const r=o[t];i.splice(r,1),e.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};function po(t){A.typeOf.object("options",t),A.defined("options.comparator",t.comparator),this._comparator=t.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(po.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(t){A.typeOf.number.greaterThanOrEquals("maximumLength",t,0);const i=this._length;if(t<i){const e=this._array;for(let n=t;n<i;++n)e[n]=void 0;this._length=t,e.length=t}this._maximumLength=t}},comparator:{get:function(){return this._comparator}}});function Hd(t,i,e){const n=t[i];t[i]=t[e],t[e]=n}po.prototype.reserve=function(t){t=t??this._length,this._array.length=t},po.prototype.heapify=function(t){t=t??0;const i=this._length,e=this._comparator,n=this._array;let o=-1,r=!0;for(;r;){const s=2*(t+1),a=s-1;a<i&&e(n[a],n[t])<0?o=a:o=t,s<i&&e(n[s],n[o])<0&&(o=s),o!==t?(Hd(n,o,t),t=o):r=!1}},po.prototype.resort=function(){const t=this._length;for(let i=Math.ceil(t/2);i>=0;--i)this.heapify(i)},po.prototype.insert=function(t){A.defined("element",t);const i=this._array,e=this._comparator,n=this._maximumLength;let o=this._length++;for(o<i.length?i[o]=t:i.push(t);o!==0;){const s=Math.floor((o-1)/2);if(e(i[o],i[s])<0)Hd(i,o,s),o=s;else break}let r;return D(n)&&this._length>n&&(r=i[n],this._length=n),r},po.prototype.pop=function(t){if(t=t??0,this._length===0)return;A.typeOf.number.lessThan("index",t,this._length);const i=this._array,e=i[t];return Hd(i,t,--this._length),this.heapify(t),i[this._length]=void 0,e};function tA(t,i){return t.priority-i.priority}const Se={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0};let ur=20;const ft=new po({comparator:tA});ft.maximumLength=ur,ft.reserve(ur);const Si=[];let $i={};const iA=typeof document<"u"?new qi(document.location.href):new qi,Rc=new dr;function xe(){}xe.maximumRequests=50,xe.maximumRequestsPerServer=18,xe.requestsByServer={},xe.throttleRequests=!0,xe.debugShowStatistics=!1,xe.requestCompletedEvent=Rc,Object.defineProperties(xe,{statistics:{get:function(){return Se}},priorityHeapLength:{get:function(){return ur},set:function(t){if(t<ur)for(;ft.length>t;){const i=ft.pop();fo(i)}ur=t,ft.maximumLength=t,ft.reserve(t)}}});function $v(t){D(t.priorityFunction)&&(t.priority=t.priorityFunction())}xe.serverHasOpenSlots=function(t,i){i=i??1;const e=xe.requestsByServer[t]??xe.maximumRequestsPerServer;return $i[t]+i<=e},xe.heapHasOpenSlots=function(t){return ft.length+t<=ur};function Xv(t){return t.state===Xe.UNISSUED&&(t.state=Xe.ISSUED,t.deferred=_s()),t.deferred.promise}function nA(t){return function(i){if(t.state===Xe.CANCELLED)return;const e=t.deferred;--Se.numberOfActiveRequests,--$i[t.serverKey],Rc.raiseEvent(),t.state=Xe.RECEIVED,t.deferred=void 0,e.resolve(i)}}function oA(t){return function(i){t.state!==Xe.CANCELLED&&(++Se.numberOfFailedRequests,--Se.numberOfActiveRequests,--$i[t.serverKey],Rc.raiseEvent(i),t.state=Xe.FAILED,t.deferred.reject(i))}}function Yv(t){const i=Xv(t);return t.state=Xe.ACTIVE,Si.push(t),++Se.numberOfActiveRequests,++Se.numberOfActiveRequestsEver,++$i[t.serverKey],t.requestFunction().then(nA(t)).catch(oA(t)),i}function fo(t){const i=t.state===Xe.ACTIVE;if(t.state=Xe.CANCELLED,++Se.numberOfCancelledRequests,D(t.deferred)){const e=t.deferred;t.deferred=void 0,e.reject()}i&&(--Se.numberOfActiveRequests,--$i[t.serverKey],++Se.numberOfCancelledActiveRequests),D(t.cancelFunction)&&t.cancelFunction()}xe.update=function(){let t,i,e=0;const n=Si.length;for(t=0;t<n;++t){if(i=Si[t],i.cancelled&&fo(i),i.state!==Xe.ACTIVE){++e;continue}e>0&&(Si[t-e]=i)}Si.length-=e;const o=ft.internalArray,r=ft.length;for(t=0;t<r;++t)$v(o[t]);ft.resort();const s=Math.max(xe.maximumRequests-Si.length,0);let a=0;for(;a<s&&ft.length>0;){if(i=ft.pop(),i.cancelled){fo(i);continue}if(i.throttleByServer&&!xe.serverHasOpenSlots(i.serverKey)){fo(i);continue}Yv(i),++a}rA()},xe.getServerKey=function(t){A.typeOf.string("url",t);let i=new qi(t);i.scheme()===""&&(i=i.absoluteTo(iA),i.normalize());let e=i.authority();/:/.test(e)||(e=`${e}:${i.scheme()==="https"?"443":"80"}`);const n=$i[e];return D(n)||($i[e]=0),e},xe.request=function(t){if(A.typeOf.object("request",t),A.typeOf.string("request.url",t.url),A.typeOf.func("request.requestFunction",t.requestFunction),qv(t.url)||Hv(t.url))return Rc.raiseEvent(),t.state=Xe.RECEIVED,t.requestFunction();if(++Se.numberOfAttemptedRequests,D(t.serverKey)||(t.serverKey=xe.getServerKey(t.url)),xe.throttleRequests&&t.throttleByServer&&!xe.serverHasOpenSlots(t.serverKey))return;if(!xe.throttleRequests||!t.throttle)return Yv(t);if(Si.length>=xe.maximumRequests)return;$v(t);const i=ft.insert(t);if(D(i)){if(i===t)return;fo(i)}return Xv(t)};function rA(){xe.debugShowStatistics&&(Se.numberOfActiveRequests===0&&Se.lastNumberOfActiveRequests>0&&(Se.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${Se.numberOfAttemptedRequests}`),Se.numberOfAttemptedRequests=0),Se.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${Se.numberOfCancelledRequests}`),Se.numberOfCancelledRequests=0),Se.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${Se.numberOfCancelledActiveRequests}`),Se.numberOfCancelledActiveRequests=0),Se.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${Se.numberOfFailedRequests}`),Se.numberOfFailedRequests=0)),Se.lastNumberOfActiveRequests=Se.numberOfActiveRequests)}xe.clearForSpecs=function(){for(;ft.length>0;){const i=ft.pop();fo(i)}const t=Si.length;for(let i=0;i<t;++i)fo(Si[i]);Si.length=0,$i={},Se.numberOfAttemptedRequests=0,Se.numberOfActiveRequests=0,Se.numberOfCancelledRequests=0,Se.numberOfCancelledActiveRequests=0,Se.numberOfFailedRequests=0,Se.numberOfActiveRequestsEver=0,Se.lastNumberOfActiveRequests=0},xe.numberOfActiveRequestsByServer=function(t){return $i[t]},xe.requestHeap=ft;const pr={};let fr={};pr.add=function(t,i){if(!D(t))throw new H("host is required.");if(!D(i)||i<=0)throw new H("port is required to be greater than 0.");const e=`${t.toLowerCase()}:${i}`;D(fr[e])||(fr[e]=!0)},pr.remove=function(t,i){if(!D(t))throw new H("host is required.");if(!D(i)||i<=0)throw new H("port is required to be greater than 0.");const e=`${t.toLowerCase()}:${i}`;D(fr[e])&&delete fr[e]};function sA(t){const i=new qi(t);i.normalize();let e=i.authority();if(e.length!==0){if(i.authority(e),e.indexOf("@")!==-1&&(e=e.split("@")[1]),e.indexOf(":")===-1){let n=i.scheme();if(n.length===0&&(n=window.location.protocol,n=n.substring(0,n.length-1)),n==="http")e+=":80";else if(n==="https")e+=":443";else return}return e}}pr.contains=function(t){if(!D(t))throw new H("url is required.");const i=sA(t);return!!(D(i)&&D(fr[i]))},pr.clear=function(){fr={}};const Zv=function(){try{const t=new XMLHttpRequest;return t.open("GET","#",!0),t.responseType="blob",t.responseType==="blob"}catch{return!1}}();function j(t){t=t??_i.EMPTY_OBJECT,typeof t=="string"&&(t={url:t}),A.typeOf.string("options.url",t.url),this._url=void 0,this._templateValues=Ei(t.templateValues,{}),this._queryParameters=Ei(t.queryParameters,{}),this.headers=Ei(t.headers,{}),this.request=t.request??new bc,this.proxy=t.proxy,this.retryCallback=t.retryCallback,this.retryAttempts=t.retryAttempts??0,this._retryCount=0,t.parseUrl??!0?this.parseUrl(t.url,!0,!0):this._url=t.url,this._credits=t.credits}function Ei(t,i){return D(t)?hr(t):i}j.createIfNeeded=function(t){return t instanceof j?t.getDerivedResource({request:t.request}):typeof t!="string"?t:new j({url:t})};let gr;j.supportsImageBitmapOptions=function(){return D(gr)?gr:typeof createImageBitmap!="function"?(gr=Promise.resolve(!1),gr):(gr=j.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(i){const e={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(i,e),createImageBitmap(i)])}).then(function(i){const e=Gv(i[0]),n=Gv(i[1]);return e[1]!==n[1]}).catch(function(){return!1}),gr)},Object.defineProperties(j,{isBlobSupported:{get:function(){return Zv}}}),Object.defineProperties(j.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(t){this.parseUrl(t,!1,!1)}},extension:{get:function(){return XE(this._url)}},isDataUri:{get:function(){return qv(this._url)}},isBlobUri:{get:function(){return Hv(this._url)}},isCrossOriginUrl:{get:function(){return Gd(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}}),j.prototype.toString=function(){return this.getUrlComponent(!0,!0)},j.prototype.parseUrl=function(t,i,e,n){let o=new qi(t);const r=aA(o.query());this._queryParameters=i?xc(r,this.queryParameters,e):r,o.search(""),o.fragment(""),D(n)&&o.scheme()===""&&(o=o.absoluteTo(Ps(n))),this._url=o.toString()};function aA(t){return t.length===0?{}:t.indexOf("=")===-1?{[t]:void 0}:JE(t)}function xc(t,i,e){if(!e)return Tn(t,i);const n=hr(t,!0);for(const o in i)if(i.hasOwnProperty(o)){let r=n[o];const s=i[o];D(r)?(Array.isArray(r)||(r=n[o]=[r]),n[o]=r.concat(s)):n[o]=Array.isArray(s)?s.slice():s}return n}j.prototype.getUrlComponent=function(t,i){if(this.isDataUri)return this._url;let e=this._url;t&&(e=`${e}${lA(this.queryParameters)}`),e=e.replace(/%7B/g,"{").replace(/%7D/g,"}");const n=this._templateValues;return Object.keys(n).length>0&&(e=e.replace(/{(.*?)}/g,function(o,r){const s=n[r];return D(s)?encodeURIComponent(s):o})),i&&D(this.proxy)&&(e=this.proxy.getURL(e)),e};function lA(t){const i=Object.keys(t);return i.length===0?"":i.length===1&&!D(t[i[0]])?`?${i[0]}`:`?${KE(t)}`}j.prototype.setQueryParameters=function(t,i){i?this._queryParameters=xc(this._queryParameters,t,!1):this._queryParameters=xc(t,this._queryParameters,!1)},j.prototype.appendQueryParameters=function(t){this._queryParameters=xc(t,this._queryParameters,!0)},j.prototype.setTemplateValues=function(t,i){i?this._templateValues=Tn(this._templateValues,t):this._templateValues=Tn(t,this._templateValues)},j.prototype.getDerivedResource=function(t){const i=this.clone();if(i._retryCount=0,D(t.url)){const e=t.preserveQueryParameters??!1;i.parseUrl(t.url,!0,e,this._url)}return D(t.queryParameters)&&(i._queryParameters=Tn(t.queryParameters,i.queryParameters)),D(t.templateValues)&&(i._templateValues=Tn(t.templateValues,i.templateValues)),D(t.headers)&&(i.headers=Tn(t.headers,i.headers)),D(t.proxy)&&(i.proxy=t.proxy),D(t.request)&&(i.request=t.request),D(t.retryCallback)&&(i.retryCallback=t.retryCallback),D(t.retryAttempts)&&(i.retryAttempts=t.retryAttempts),i},j.prototype.retryOnError=function(t){const i=this.retryCallback;if(typeof i!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);const e=this;return Promise.resolve(i(this,t)).then(function(n){return++e._retryCount,n})},j.prototype.clone=function(t){return D(t)?(t._url=this._url,t._queryParameters=hr(this._queryParameters),t._templateValues=hr(this._templateValues),t.headers=hr(this.headers),t.proxy=this.proxy,t.retryCallback=this.retryCallback,t.retryAttempts=this.retryAttempts,t._retryCount=0,t.request=this.request.clone(),t):new j({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:D(this.credits)?this.credits.slice():void 0})},j.prototype.getBaseUri=function(t){return $E(this.getUrlComponent(t),t)},j.prototype.appendForwardSlash=function(){this._url=qE(this._url)},j.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})},j.fetchArrayBuffer=function(t){return new j(t).fetchArrayBuffer()},j.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})},j.fetchBlob=function(t){return new j(t).fetchBlob()},j.prototype.fetchImage=function(t){t=t??_i.EMPTY_OBJECT;const i=t.preferImageBitmap??!1,e=t.preferBlob??!1,n=t.flipY??!1,o=t.skipColorSpaceConversion??!1;if($d(this.request),!Zv||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!e)return qd({resource:this,flipY:n,skipColorSpaceConversion:o,preferImageBitmap:i});const r=this.fetchBlob();if(!D(r))return;let s,a,c,d;return j.supportsImageBitmapOptions().then(function(u){return s=u,a=s&&i,r}).then(function(u){if(!D(u))return;if(d=u,a)return j.createImageBitmapFromBlob(u,{flipY:n,premultiplyAlpha:!1,skipColorSpaceConversion:o});const p=window.URL.createObjectURL(u);return c=new j({url:p}),qd({resource:c,flipY:n,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(u){if(D(u))return u.blob=d,a||window.URL.revokeObjectURL(c.url),u}).catch(function(u){return D(c)&&window.URL.revokeObjectURL(c.url),u.blob=d,Promise.reject(u)})};function qd(t){const i=t.resource,e=t.flipY,n=t.skipColorSpaceConversion,o=t.preferImageBitmap,r=i.request;r.url=i.url,r.requestFunction=function(){let a=!1;!i.isDataUri&&!i.isBlobUri&&(a=i.isCrossOriginUrl);const c=_s();return j._Implementations.createImage(r,a,c,e,n,o),c.promise};const s=xe.request(r);if(D(s))return s.catch(function(a){return r.state!==Xe.FAILED?Promise.reject(a):i.retryOnError(a).then(function(c){return c?(r.state=Xe.UNISSUED,r.deferred=void 0,qd({resource:i,flipY:e,skipColorSpaceConversion:n,preferImageBitmap:o})):Promise.reject(a)})})}j.fetchImage=function(t){return new j(t).fetchImage({flipY:t.flipY,skipColorSpaceConversion:t.skipColorSpaceConversion,preferBlob:t.preferBlob,preferImageBitmap:t.preferImageBitmap})},j.prototype.fetchText=function(){return this.fetch({responseType:"text"})},j.fetchText=function(t){return new j(t).fetchText()},j.prototype.fetchJson=function(){const t=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(D(t))return t.then(function(i){if(D(i))return JSON.parse(i)})},j.fetchJson=function(t){return new j(t).fetchJson()},j.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})},j.fetchXML=function(t){return new j(t).fetchXML()},j.prototype.fetchJsonp=function(t){t=t??"callback",$d(this.request);let i;do i=`loadJsonp${O.nextRandomNumber().toString().substring(2,8)}`;while(D(window[i]));return Qv(this,t,i)};function Qv(t,i,e){const n={};n[i]=e,t.setQueryParameters(n);const o=t.request,r=t.url;o.url=r,o.requestFunction=function(){const a=_s();return window[e]=function(c){a.resolve(c);try{delete window[e]}catch{window[e]=void 0}},j._Implementations.loadAndExecuteScript(r,e,a),a.promise};const s=xe.request(o);if(D(s))return s.catch(function(a){return o.state!==Xe.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(o.state=Xe.UNISSUED,o.deferred=void 0,Qv(t,i,e)):Promise.reject(a)})})}j.fetchJsonp=function(t){return new j(t).fetchJsonp(t.callbackParameterName)},j.prototype._makeRequest=function(t){const i=this;$d(i.request);const e=i.request,n=i.url;e.url=n,e.requestFunction=function(){const r=t.responseType,s=Tn(t.headers,i.headers),a=t.overrideMimeType,c=t.method,d=t.data,u=_s(),p=j._Implementations.loadWithXhr(n,r,c,d,s,u,a);return D(p)&&D(p.abort)&&(e.cancelFunction=function(){p.abort()}),u.promise};const o=xe.request(e);if(D(o))return o.then(function(r){return e.cancelFunction=void 0,r}).catch(function(r){return e.cancelFunction=void 0,e.state!==Xe.FAILED?Promise.reject(r):i.retryOnError(r).then(function(s){return s?(e.state=Xe.UNISSUED,e.deferred=void 0,i.fetch(t)):Promise.reject(r)})})};function $d(t){if(t.state===Xe.ISSUED||t.state===Xe.ACTIVE)throw new lt("The Resource is already being fetched.");t.state=Xe.UNISSUED,t.deferred=void 0}const cA=/^data:(.*?)(;base64)?,(.*)$/;function Fc(t,i){const e=decodeURIComponent(i);return t?atob(e):e}function Kv(t,i){const e=Fc(t,i),n=new ArrayBuffer(e.length),o=new Uint8Array(n);for(let r=0;r<e.length;r++)o[r]=e.charCodeAt(r);return n}function hA(t,i){i=i??"";const e=t[1],n=!!t[2],o=t[3];let r,s;switch(i){case"":case"text":return Fc(n,o);case"arraybuffer":return Kv(n,o);case"blob":return r=Kv(n,o),new Blob([r],{type:e});case"document":return s=new DOMParser,s.parseFromString(Fc(n,o),e);case"json":return JSON.parse(Fc(n,o));default:throw new H(`Unhandled responseType: ${i}`)}}j.prototype.fetch=function(t){return t=Ei(t,{}),t.method="GET",this._makeRequest(t)},j.fetch=function(t){return new j(t).fetch({responseType:t.responseType,overrideMimeType:t.overrideMimeType})},j.prototype.delete=function(t){return t=Ei(t,{}),t.method="DELETE",this._makeRequest(t)},j.delete=function(t){return new j(t).delete({responseType:t.responseType,overrideMimeType:t.overrideMimeType,data:t.data})},j.prototype.head=function(t){return t=Ei(t,{}),t.method="HEAD",this._makeRequest(t)},j.head=function(t){return new j(t).head({responseType:t.responseType,overrideMimeType:t.overrideMimeType})},j.prototype.options=function(t){return t=Ei(t,{}),t.method="OPTIONS",this._makeRequest(t)},j.options=function(t){return new j(t).options({responseType:t.responseType,overrideMimeType:t.overrideMimeType})},j.prototype.post=function(t,i){return A.defined("data",t),i=Ei(i,{}),i.method="POST",i.data=t,this._makeRequest(i)},j.post=function(t){return new j(t).post(t.data,{responseType:t.responseType,overrideMimeType:t.overrideMimeType})},j.prototype.put=function(t,i){return A.defined("data",t),i=Ei(i,{}),i.method="PUT",i.data=t,this._makeRequest(i)},j.put=function(t){return new j(t).put(t.data,{responseType:t.responseType,overrideMimeType:t.overrideMimeType})},j.prototype.patch=function(t,i){return A.defined("data",t),i=Ei(i,{}),i.method="PATCH",i.data=t,this._makeRequest(i)},j.patch=function(t){return new j(t).patch(t.data,{responseType:t.responseType,overrideMimeType:t.overrideMimeType})},j._Implementations={},j._Implementations.loadImageElement=function(t,i,e){const n=new Image;n.onload=function(){n.naturalWidth===0&&n.naturalHeight===0&&n.width===0&&n.height===0&&(n.width=300,n.height=150),e.resolve(n)},n.onerror=function(o){e.reject(o)},i&&(pr.contains(t)?n.crossOrigin="use-credentials":n.crossOrigin=""),n.src=t},j._Implementations.createImage=function(t,i,e,n,o,r){const s=t.url;j.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){j._Implementations.loadImageElement(s,i,e);return}const c="blob",d="GET",u=_s(),p=j._Implementations.loadWithXhr(s,c,d,void 0,void 0,u,void 0,void 0,void 0);return D(p)&&D(p.abort)&&(t.cancelFunction=function(){p.abort()}),u.promise.then(function(f){if(!D(f)){e.reject(new lt(`Successfully retrieved ${s} but it contained no content.`));return}return j.createImageBitmapFromBlob(f,{flipY:n,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(f){e.resolve(f)})}).catch(function(a){e.reject(a)})},j.createImageBitmapFromBlob=function(t,i){return A.defined("options",i),A.typeOf.bool("options.flipY",i.flipY),A.typeOf.bool("options.premultiplyAlpha",i.premultiplyAlpha),A.typeOf.bool("options.skipColorSpaceConversion",i.skipColorSpaceConversion),createImageBitmap(t,{imageOrientation:i.flipY?"flipY":"from-image",premultiplyAlpha:i.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:i.skipColorSpaceConversion?"none":"default"})};function dA(t,i,e,n,o,r,s){fetch(t,{method:e,headers:o}).then(async a=>{if(!a.ok){const c={};a.headers.forEach((d,u)=>{c[u]=d}),r.reject(new Ss(a.status,a,c));return}switch(i){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new Ss)})}const uA=typeof XMLHttpRequest>"u";j._Implementations.loadWithXhr=function(t,i,e,n,o,r,s){const a=cA.exec(t);if(a!==null){r.resolve(hA(a,i));return}if(uA){dA(t,i,e,n,o,r);return}const c=new XMLHttpRequest;if(pr.contains(t)&&(c.withCredentials=!0),c.open(e,t,!0),D(s)&&D(c.overrideMimeType)&&c.overrideMimeType(s),D(o))for(const u in o)o.hasOwnProperty(u)&&c.setRequestHeader(u,o[u]);D(i)&&(c.responseType=i);let d=!1;return typeof t=="string"&&(d=t.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(d&&c.status===0)){r.reject(new Ss(c.status,c.response,c.getAllResponseHeaders()));return}const u=c.response,p=c.responseType;if(e==="HEAD"||e==="OPTIONS"){const g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(y){const P=y.split(": "),S=P.shift();m[S]=P.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve(void 0);else if(D(u)&&(!D(i)||p===i))r.resolve(u);else if(i==="json"&&typeof u=="string")try{r.resolve(JSON.parse(u))}catch(f){r.reject(f)}else(p===""||p==="document")&&D(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(p===""||p==="text")&&D(c.responseText)?r.resolve(c.responseText):r.reject(new lt("Invalid XMLHttpRequest response type."))},c.onerror=function(u){r.reject(new Ss)},c.send(n),c},j._Implementations.loadAndExecuteScript=function(t,i,e){return QE(t).catch(function(n){e.reject(n)})},j._DefaultImplementations={},j._DefaultImplementations.createImage=j._Implementations.createImage,j._DefaultImplementations.loadWithXhr=j._Implementations.loadWithXhr,j._DefaultImplementations.loadAndExecuteScript=j._Implementations.loadAndExecuteScript,j.DEFAULT=Object.freeze(new j({url:typeof document>"u"?"":document.location.href.split("?")[0]}));function Es(t){t=t??_i.EMPTY_OBJECT,this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=t.addNewLeapSeconds??!0,D(t.data)?Jv(this,t.data):Jv(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}Es.fromUrl=async function(t,i){A.defined("url",t),i=i??_i.EMPTY_OBJECT;const e=j.createIfNeeded(t);let n;try{n=await e.fetchJson()}catch{throw new lt(`An error occurred while retrieving the EOP data from the URL ${e.url}.`)}return new Es({addNewLeapSeconds:i.addNewLeapSeconds,data:n})},Es.NONE=Object.freeze({compute:function(t,i){return D(i)?(i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0):i=new Ld(0,0,0,0,0),i}}),Es.prototype.compute=function(t,i){if(!D(this._samples))return;if(D(i)||(i=new Ld(0,0,0,0,0)),this._samples.length===0)return i.xPoleWander=0,i.yPoleWander=0,i.xPoleOffset=0,i.yPoleOffset=0,i.ut1MinusUtc=0,i;const e=this._dates,n=this._lastIndex;let o=0,r=0;if(D(n)){const a=e[n],c=e[n+1],d=J.lessThanOrEquals(a,t),u=!D(c),p=u||J.greaterThanOrEquals(c,t);if(d&&p)return o=n,!u&&c.equals(t)&&++o,r=o+1,jv(this,e,this._samples,t,o,r,i),i}let s=ws(e,t,J.compare,this._dateColumn);return s>=0?(s<e.length-1&&e[s+1].equals(t)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,jv(this,e,this._samples,t,o,r,i),i};function pA(t,i){return J.compare(t.julianDate,i)}function Jv(t,i){if(!D(i.columnNames))throw new lt("Error in loaded EOP data: The columnNames property is required.");if(!D(i.samples))throw new lt("Error in loaded EOP data: The samples property is required.");const e=i.columnNames.indexOf("modifiedJulianDateUtc"),n=i.columnNames.indexOf("xPoleWanderRadians"),o=i.columnNames.indexOf("yPoleWanderRadians"),r=i.columnNames.indexOf("ut1MinusUtcSeconds"),s=i.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=i.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=i.columnNames.indexOf("taiMinusUtcSeconds");if(e<0||n<0||o<0||r<0||s<0||a<0||c<0)throw new lt("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");const d=t._samples=i.samples,u=t._dates=[];t._dateColumn=e,t._xPoleWanderRadiansColumn=n,t._yPoleWanderRadiansColumn=o,t._ut1MinusUtcSecondsColumn=r,t._xCelestialPoleOffsetRadiansColumn=s,t._yCelestialPoleOffsetRadiansColumn=a,t._taiMinusUtcSecondsColumn=c,t._columnCount=i.columnNames.length,t._lastIndex=void 0;let p;const f=t._addNewLeapSeconds;for(let g=0,m=d.length;g<m;g+=t._columnCount){const y=d[g+e],P=d[g+c],S=y+Ue.MODIFIED_JULIAN_DATE_DIFFERENCE,C=new J(S,P,ve.TAI);if(u.push(C),f){if(P!==p&&D(p)){const E=J.leapSeconds,T=ws(E,C,pA);if(T<0){const I=new De(C,P);E.splice(~T,0,I)}}p=P}}}function Bv(t,i,e,n,o){const r=e*n;o.xPoleWander=i[r+t._xPoleWanderRadiansColumn],o.yPoleWander=i[r+t._yPoleWanderRadiansColumn],o.xPoleOffset=i[r+t._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=i[r+t._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=i[r+t._ut1MinusUtcSecondsColumn]}function As(t,i,e){return i+t*(e-i)}function jv(t,i,e,n,o,r,s){const a=t._columnCount;if(r>i.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;const c=i[o],d=i[r];if(c.equals(d)||n.equals(c))return Bv(t,e,o,a,s),s;if(n.equals(d))return Bv(t,e,r,a,s),s;const u=J.secondsDifference(n,c)/J.secondsDifference(d,c),p=o*a,f=r*a;let g=e[p+t._ut1MinusUtcSecondsColumn],m=e[f+t._ut1MinusUtcSecondsColumn];const y=m-g;if(y>.5||y<-.5){const P=e[p+t._taiMinusUtcSecondsColumn],S=e[f+t._taiMinusUtcSecondsColumn];P!==S&&(d.equals(n)?g=m:m-=S-P)}return s.xPoleWander=As(u,e[p+t._xPoleWanderRadiansColumn],e[f+t._xPoleWanderRadiansColumn]),s.yPoleWander=As(u,e[p+t._yPoleWanderRadiansColumn],e[f+t._yPoleWanderRadiansColumn]),s.xPoleOffset=As(u,e[p+t._xCelestialPoleOffsetRadiansColumn],e[f+t._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=As(u,e[p+t._yCelestialPoleOffsetRadiansColumn],e[f+t._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=As(u,g,m),s}function tt(t,i,e){this.heading=t??0,this.pitch=i??0,this.roll=e??0}tt.fromQuaternion=function(t,i){if(!D(t))throw new H("quaternion is required");D(i)||(i=new tt);const e=2*(t.w*t.y-t.z*t.x),n=1-2*(t.x*t.x+t.y*t.y),o=2*(t.w*t.x+t.y*t.z),r=1-2*(t.y*t.y+t.z*t.z),s=2*(t.w*t.z+t.x*t.y);return i.heading=-Math.atan2(s,r),i.roll=Math.atan2(o,n),i.pitch=-O.asinClamped(e),i},tt.fromDegrees=function(t,i,e,n){if(!D(t))throw new H("heading is required");if(!D(i))throw new H("pitch is required");if(!D(e))throw new H("roll is required");return D(n)||(n=new tt),n.heading=t*O.RADIANS_PER_DEGREE,n.pitch=i*O.RADIANS_PER_DEGREE,n.roll=e*O.RADIANS_PER_DEGREE,n},tt.clone=function(t,i){if(D(t))return D(i)?(i.heading=t.heading,i.pitch=t.pitch,i.roll=t.roll,i):new tt(t.heading,t.pitch,t.roll)},tt.equals=function(t,i){return t===i||D(t)&&D(i)&&t.heading===i.heading&&t.pitch===i.pitch&&t.roll===i.roll},tt.equalsEpsilon=function(t,i,e,n){return t===i||D(t)&&D(i)&&O.equalsEpsilon(t.heading,i.heading,e,n)&&O.equalsEpsilon(t.pitch,i.pitch,e,n)&&O.equalsEpsilon(t.roll,i.roll,e,n)},tt.prototype.clone=function(t){return tt.clone(this,t)},tt.prototype.equals=function(t){return tt.equals(this,t)},tt.prototype.equalsEpsilon=function(t,i,e){return tt.equalsEpsilon(this,t,i,e)},tt.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};const ey=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function fA(){const t=document.getElementsByTagName("script");for(let i=0,e=t.length;i<e;++i){const n=t[i].getAttribute("src"),o=ey.exec(n);if(o!==null)return o[1]}}let kc;function ty(t){return typeof document>"u"?t:(D(kc)||(kc=document.createElement("a")),kc.href=t,kc.href)}let go;function iy(){if(D(go))return go;let t;if(typeof CESIUM_BASE_URL<"u"?t=CESIUM_BASE_URL:D(typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("earthsdk3-cesium.umd.cjs",document.baseURI).href)?t=Ps(".",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Ho&&Ho.tagName.toUpperCase()==="SCRIPT"&&Ho.src||new URL("earthsdk3-cesium.umd.cjs",document.baseURI).href):typeof define=="object"&&D(define.amd)&&!define.amd.toUrlUndefined&&D(require.toUrl)?t=Ps("..",ei("Core/buildModuleUrl.js")):t=fA(),!D(t))throw new H("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return go=new j({url:ty(t)}),go.appendForwardSlash(),go}function gA(t){return ty(require.toUrl(`../${t}`))}function ny(t){return iy().getDerivedResource({url:t}).url}let zc;function ei(t){return D(zc)||(typeof define=="object"&&D(define.amd)&&!define.amd.toUrlUndefined&&D(require.toUrl)?zc=gA:zc=ny),zc(t)}ei._cesiumScriptRegex=ey,ei._buildModuleUrlFromBaseUrl=ny,ei._clearBaseResource=function(){go=void 0},ei.setBaseUrl=function(t){go=j.DEFAULT.getDerivedResource({url:t})},ei.getCesiumBaseUrl=iy;function oy(t,i,e){this.x=t,this.y=i,this.s=e}function Xd(t){t=t??_i.EMPTY_OBJECT,this._xysFileUrlTemplate=j.createIfNeeded(t.xysFileUrlTemplate),this._interpolationOrder=t.interpolationOrder??9,this._sampleZeroJulianEphemerisDate=t.sampleZeroJulianEphemerisDate??24423965e-1,this._sampleZeroDateTT=new J(this._sampleZeroJulianEphemerisDate,0,ve.TAI),this._stepSizeDays=t.stepSizeDays??1,this._samplesPerXysFile=t.samplesPerXysFile??1e3,this._totalSamples=t.totalSamples??27426,this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];const i=this._interpolationOrder,e=this._denominators=new Array(i+1),n=this._xTable=new Array(i+1),o=Math.pow(this._stepSizeDays,i);for(let r=0;r<=i;++r){e[r]=o,n[r]=r*this._stepSizeDays;for(let s=0;s<=i;++s)s!==r&&(e[r]*=r-s);e[r]=1/e[r]}this._work=new Array(i+1),this._coef=new Array(i+1)}const mA=new J(0,0,ve.TAI);function Yd(t,i,e){const n=mA;return n.dayNumber=i,n.secondsOfDay=e,J.daysDifference(n,t._sampleZeroDateTT)}Xd.prototype.preload=function(t,i,e,n){const o=Yd(this,t,i),r=Yd(this,e,n);let s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);const c=s/this._samplesPerXysFile|0,d=a/this._samplesPerXysFile|0,u=[];for(let p=c;p<=d;++p)u.push(Zd(this,p));return Promise.all(u)},Xd.prototype.computeXysRadians=function(t,i,e){const n=Yd(this,t,i);if(n<0)return;const o=n/this._stepSizeDays|0;if(o>=this._totalSamples)return;const r=this._interpolationOrder;let s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1;const d=this._samples;if(D(d[s*3])||(Zd(this,s/this._samplesPerXysFile|0),c=!0),D(d[a*3])||(Zd(this,a/this._samplesPerXysFile|0),c=!0),c)return;D(e)?(e.x=0,e.y=0,e.s=0):e=new oy(0,0,0);const u=n-s*this._stepSizeDays,p=this._work,f=this._denominators,g=this._coef,m=this._xTable;let y,P;for(y=0;y<=r;++y)p[y]=u-m[y];for(y=0;y<=r;++y){for(g[y]=1,P=0;P<=r;++P)P!==y&&(g[y]*=p[P]);g[y]*=f[y];let S=(s+y)*3;e.x+=g[y]*d[S++],e.y+=g[y]*d[S++],e.s+=g[y]*d[S]}return e};function Zd(t,i){if(t._chunkDownloadsInProgress[i])return t._chunkDownloadsInProgress[i];let e;const n=t._xysFileUrlTemplate;D(n)?e=n.getDerivedResource({templateValues:{0:i}}):e=new j({url:ei(`Assets/IAU2006_XYS/IAU2006_XYS_${i}.json`)});const o=e.fetchJson().then(function(r){t._chunkDownloadsInProgress[i]=!1;const s=t._samples,a=r.samples,c=i*t._samplesPerXysFile*3;for(let d=0,u=a.length;d<u;++d)s[c+d]=a[d]});return t._chunkDownloadsInProgress[i]=o,o}let Mn;const He={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},bt={};Object.defineProperties(bt,{element:{get:function(){if(bt.supportsFullscreen())return document[He.fullscreenElement]}},changeEventName:{get:function(){if(bt.supportsFullscreen())return He.fullscreenchange}},errorEventName:{get:function(){if(bt.supportsFullscreen())return He.fullscreenerror}},enabled:{get:function(){if(bt.supportsFullscreen())return document[He.fullscreenEnabled]}},fullscreen:{get:function(){if(bt.supportsFullscreen())return bt.element!==null}}}),bt.supportsFullscreen=function(){if(D(Mn))return Mn;Mn=!1;const t=document.body;if(typeof t.requestFullscreen=="function")return He.requestFullscreen="requestFullscreen",He.exitFullscreen="exitFullscreen",He.fullscreenEnabled="fullscreenEnabled",He.fullscreenElement="fullscreenElement",He.fullscreenchange="fullscreenchange",He.fullscreenerror="fullscreenerror",Mn=!0,Mn;const i=["webkit","moz","o","ms","khtml"];let e;for(let n=0,o=i.length;n<o;++n){const r=i[n];e=`${r}RequestFullscreen`,typeof t[e]=="function"?(He.requestFullscreen=e,Mn=!0):(e=`${r}RequestFullScreen`,typeof t[e]=="function"&&(He.requestFullscreen=e,Mn=!0)),e=`${r}ExitFullscreen`,typeof document[e]=="function"?He.exitFullscreen=e:(e=`${r}CancelFullScreen`,typeof document[e]=="function"&&(He.exitFullscreen=e)),e=`${r}FullscreenEnabled`,document[e]!==void 0?He.fullscreenEnabled=e:(e=`${r}FullScreenEnabled`,document[e]!==void 0&&(He.fullscreenEnabled=e)),e=`${r}FullscreenElement`,document[e]!==void 0?He.fullscreenElement=e:(e=`${r}FullScreenElement`,document[e]!==void 0&&(He.fullscreenElement=e)),e=`${r}fullscreenchange`,document[`on${e}`]!==void 0&&(r==="ms"&&(e="MSFullscreenChange"),He.fullscreenchange=e),e=`${r}fullscreenerror`,document[`on${e}`]!==void 0&&(r==="ms"&&(e="MSFullscreenError"),He.fullscreenerror=e)}return Mn},bt.requestFullscreen=function(t,i){bt.supportsFullscreen()&&t[He.requestFullscreen]({vrDisplay:i})},bt.exitFullscreen=function(){bt.supportsFullscreen()&&document[He.exitFullscreen]()},bt._names=He;let gt;typeof navigator<"u"?gt=navigator:gt={};function mo(t){const i=t.split(".");for(let e=0,n=i.length;e<n;++e)i[e]=parseInt(i[e],10);return i}let Lc,ry;function Qd(){if(!D(Lc)&&(Lc=!1,!Uc())){const t=/ Chrome\/([\.0-9]+)/.exec(gt.userAgent);t!==null&&(Lc=!0,ry=mo(t[1]))}return Lc}function vA(){return Qd()&&ry}let Oc,sy;function ay(){if(!D(Oc)&&(Oc=!1,!Qd()&&!Uc()&&/ Safari\/[\.0-9]+/.test(gt.userAgent))){const t=/ Version\/([\.0-9]+)/.exec(gt.userAgent);t!==null&&(Oc=!0,sy=mo(t[1]))}return Oc}function yA(){return ay()&&sy}let Nc,Kd;function ly(){if(!D(Nc)){Nc=!1;const t=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(gt.userAgent);t!==null&&(Nc=!0,Kd=mo(t[1]),Kd.isNightly=!!t[2])}return Nc}function wA(){return ly()&&Kd}let Ts,Jd;function cy(){if(!D(Ts)){Ts=!1;let t;gt.appName==="Microsoft Internet Explorer"?(t=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(gt.userAgent),t!==null&&(Ts=!0,Jd=mo(t[1]))):gt.appName==="Netscape"&&(t=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(gt.userAgent),t!==null&&(Ts=!0,Jd=mo(t[1])))}return Ts}function CA(){return cy()&&Jd}let Vc,hy;function Uc(){if(!D(Vc)){Vc=!1;const t=/ Edg\/([\.0-9]+)/.exec(gt.userAgent);t!==null&&(Vc=!0,hy=mo(t[1]))}return Vc}function _A(){return Uc()&&hy}let Wc,Bd;function Gc(){if(!D(Wc)){Wc=!1;const t=/Firefox\/([\.0-9]+)/.exec(gt.userAgent);t!==null&&(Wc=!0,Bd=mo(t[1]))}return Wc}let jd;function PA(){return D(jd)||(jd=/Windows/i.test(gt.appVersion)),jd}let eu;function SA(){return D(eu)||(eu=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),eu}function EA(){return Gc()&&Bd}let tu;function AA(){return D(tu)||(tu=!Gc()&&typeof PointerEvent<"u"&&(!D(gt.pointerEnabled)||gt.pointerEnabled)),tu}let dy,Hc;function uy(){if(!D(Hc)){const t=document.createElement("canvas");t.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");const i=t.style.imageRendering;Hc=D(i)&&i!=="",Hc&&(dy=i)}return Hc}function TA(){return uy()?dy:void 0}function mt(){if(!mt.initialized)throw new H("You must call FeatureDetection.supportsWebP.initialize and wait for the promise to resolve before calling FeatureDetection.supportsWebP");return mt._result}mt._promise=void 0,mt._result=void 0,mt.initialize=function(){return D(mt._promise)||(mt._promise=new Promise(t=>{const i=new Image;i.onload=function(){mt._result=i.width>0&&i.height>0,t(mt._result)},i.onerror=function(){mt._result=!1,t(mt._result)},i.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),mt._promise},Object.defineProperties(mt,{initialized:{get:function(){return D(mt._result)}}});const mr=[];typeof ArrayBuffer<"u"&&(mr.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&mr.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&mr.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&mr.push(BigInt64Array),typeof BigUint64Array<"u"&&mr.push(BigUint64Array));const ct={isChrome:Qd,chromeVersion:vA,isSafari:ay,safariVersion:yA,isWebkit:ly,webkitVersion:wA,isInternetExplorer:cy,internetExplorerVersion:CA,isEdge:Uc,edgeVersion:_A,isFirefox:Gc,firefoxVersion:EA,isWindows:PA,isIPadOrIOS:SA,hardwareConcurrency:gt.hardwareConcurrency??3,supportsPointerEvents:AA,supportsImageRenderingPixelated:uy,supportsWebP:mt,imageRenderingValue:TA,typedArrayTypes:mr};ct.supportsBasis=function(t){return ct.supportsWebAssembly()&&t.context.supportsBasis},ct.supportsFullscreen=function(){return bt.supportsFullscreen()},ct.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"},ct.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"},ct.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"},ct.supportsBigInt=function(){return typeof BigInt<"u"},ct.supportsWebWorkers=function(){return typeof Worker<"u"},ct.supportsWebAssembly=function(){return typeof WebAssembly<"u"},ct.supportsWebgl2=function(t){return A.defined("scene",t),t.context.webgl2},ct.supportsEsmWebWorkers=function(){return!Gc()||parseInt(Bd)>=114};function Q(t,i,e,n){this.x=t??0,this.y=i??0,this.z=e??0,this.w=n??0}let Ms=new k;Q.fromAxisAngle=function(t,i,e){A.typeOf.object("axis",t),A.typeOf.number("angle",i);const n=i/2,o=Math.sin(n);Ms=k.normalize(t,Ms);const r=Ms.x*o,s=Ms.y*o,a=Ms.z*o,c=Math.cos(n);return D(e)?(e.x=r,e.y=s,e.z=a,e.w=c,e):new Q(r,s,a,c)};const MA=[1,2,0],IA=new Array(3);Q.fromRotationMatrix=function(t,i){A.typeOf.object("matrix",t);let e,n,o,r,s;const a=t[q.COLUMN0ROW0],c=t[q.COLUMN1ROW1],d=t[q.COLUMN2ROW2],u=a+c+d;if(u>0)e=Math.sqrt(u+1),s=.5*e,e=.5/e,n=(t[q.COLUMN1ROW2]-t[q.COLUMN2ROW1])*e,o=(t[q.COLUMN2ROW0]-t[q.COLUMN0ROW2])*e,r=(t[q.COLUMN0ROW1]-t[q.COLUMN1ROW0])*e;else{const p=MA;let f=0;c>a&&(f=1),d>a&&d>c&&(f=2);const g=p[f],m=p[g];e=Math.sqrt(t[q.getElementIndex(f,f)]-t[q.getElementIndex(g,g)]-t[q.getElementIndex(m,m)]+1);const y=IA;y[f]=.5*e,e=.5/e,s=(t[q.getElementIndex(m,g)]-t[q.getElementIndex(g,m)])*e,y[g]=(t[q.getElementIndex(g,f)]+t[q.getElementIndex(f,g)])*e,y[m]=(t[q.getElementIndex(m,f)]+t[q.getElementIndex(f,m)])*e,n=-y[0],o=-y[1],r=-y[2]}return D(i)?(i.x=n,i.y=o,i.z=r,i.w=s,i):new Q(n,o,r,s)};const py=new Q;let fy=new Q,iu=new Q,gy=new Q;Q.fromHeadingPitchRoll=function(t,i){return A.typeOf.object("headingPitchRoll",t),gy=Q.fromAxisAngle(k.UNIT_X,t.roll,py),iu=Q.fromAxisAngle(k.UNIT_Y,-t.pitch,i),i=Q.multiply(iu,gy,iu),fy=Q.fromAxisAngle(k.UNIT_Z,-t.heading,py),Q.multiply(fy,i,i)};const qc=new k,nu=new k,di=new Q,my=new Q,$c=new Q;Q.packedLength=4,Q.pack=function(t,i,e){return A.typeOf.object("value",t),A.defined("array",i),e=e??0,i[e++]=t.x,i[e++]=t.y,i[e++]=t.z,i[e]=t.w,i},Q.unpack=function(t,i,e){return A.defined("array",t),i=i??0,D(e)||(e=new Q),e.x=t[i],e.y=t[i+1],e.z=t[i+2],e.w=t[i+3],e},Q.packedInterpolationLength=3,Q.convertPackedArrayForInterpolation=function(t,i,e,n){Q.unpack(t,e*4,$c),Q.conjugate($c,$c);for(let o=0,r=e-i+1;o<r;o++){const s=o*3;Q.unpack(t,(i+o)*4,di),Q.multiply(di,$c,di),di.w<0&&Q.negate(di,di),Q.computeAxis(di,qc);const a=Q.computeAngle(di);D(n)||(n=[]),n[s]=qc.x*a,n[s+1]=qc.y*a,n[s+2]=qc.z*a}},Q.unpackInterpolationResult=function(t,i,e,n,o){D(o)||(o=new Q),k.fromArray(t,0,nu);const r=k.magnitude(nu);return Q.unpack(i,n*4,my),r===0?Q.clone(Q.IDENTITY,di):Q.fromAxisAngle(nu,r,di),Q.multiply(di,my,o)},Q.clone=function(t,i){if(D(t))return D(i)?(i.x=t.x,i.y=t.y,i.z=t.z,i.w=t.w,i):new Q(t.x,t.y,t.z,t.w)},Q.conjugate=function(t,i){return A.typeOf.object("quaternion",t),A.typeOf.object("result",i),i.x=-t.x,i.y=-t.y,i.z=-t.z,i.w=t.w,i},Q.magnitudeSquared=function(t){return A.typeOf.object("quaternion",t),t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},Q.magnitude=function(t){return Math.sqrt(Q.magnitudeSquared(t))},Q.normalize=function(t,i){A.typeOf.object("result",i);const e=1/Q.magnitude(t),n=t.x*e,o=t.y*e,r=t.z*e,s=t.w*e;return i.x=n,i.y=o,i.z=r,i.w=s,i},Q.inverse=function(t,i){A.typeOf.object("result",i);const e=Q.magnitudeSquared(t);return i=Q.conjugate(t,i),Q.multiplyByScalar(i,1/e,i)},Q.add=function(t,i,e){return A.typeOf.object("left",t),A.typeOf.object("right",i),A.typeOf.object("result",e),e.x=t.x+i.x,e.y=t.y+i.y,e.z=t.z+i.z,e.w=t.w+i.w,e},Q.subtract=function(t,i,e){return A.typeOf.object("left",t),A.typeOf.object("right",i),A.typeOf.object("result",e),e.x=t.x-i.x,e.y=t.y-i.y,e.z=t.z-i.z,e.w=t.w-i.w,e},Q.negate=function(t,i){return A.typeOf.object("quaternion",t),A.typeOf.object("result",i),i.x=-t.x,i.y=-t.y,i.z=-t.z,i.w=-t.w,i},Q.dot=function(t,i){return A.typeOf.object("left",t),A.typeOf.object("right",i),t.x*i.x+t.y*i.y+t.z*i.z+t.w*i.w},Q.multiply=function(t,i,e){A.typeOf.object("left",t),A.typeOf.object("right",i),A.typeOf.object("result",e);const n=t.x,o=t.y,r=t.z,s=t.w,a=i.x,c=i.y,d=i.z,u=i.w,p=s*a+n*u+o*d-r*c,f=s*c-n*d+o*u+r*a,g=s*d+n*c-o*a+r*u,m=s*u-n*a-o*c-r*d;return e.x=p,e.y=f,e.z=g,e.w=m,e},Q.multiplyByScalar=function(t,i,e){return A.typeOf.object("quaternion",t),A.typeOf.number("scalar",i),A.typeOf.object("result",e),e.x=t.x*i,e.y=t.y*i,e.z=t.z*i,e.w=t.w*i,e},Q.divideByScalar=function(t,i,e){return A.typeOf.object("quaternion",t),A.typeOf.number("scalar",i),A.typeOf.object("result",e),e.x=t.x/i,e.y=t.y/i,e.z=t.z/i,e.w=t.w/i,e},Q.computeAxis=function(t,i){A.typeOf.object("quaternion",t),A.typeOf.object("result",i);const e=t.w;if(Math.abs(e-1)<O.EPSILON6||Math.abs(e+1)<O.EPSILON6)return i.x=1,i.y=i.z=0,i;const n=1/Math.sqrt(1-e*e);return i.x=t.x*n,i.y=t.y*n,i.z=t.z*n,i},Q.computeAngle=function(t){return A.typeOf.object("quaternion",t),Math.abs(t.w-1)<O.EPSILON6?0:2*Math.acos(t.w)};let ou=new Q;Q.lerp=function(t,i,e,n){return A.typeOf.object("start",t),A.typeOf.object("end",i),A.typeOf.number("t",e),A.typeOf.object("result",n),ou=Q.multiplyByScalar(i,e,ou),n=Q.multiplyByScalar(t,1-e,n),Q.add(ou,n,n)};let vy=new Q,ru=new Q,su=new Q;Q.slerp=function(t,i,e,n){A.typeOf.object("start",t),A.typeOf.object("end",i),A.typeOf.number("t",e),A.typeOf.object("result",n);let o=Q.dot(t,i),r=i;if(o<0&&(o=-o,r=vy=Q.negate(i,vy)),1-o<O.EPSILON6)return Q.lerp(t,r,e,n);const s=Math.acos(o);return ru=Q.multiplyByScalar(t,Math.sin((1-e)*s),ru),su=Q.multiplyByScalar(r,Math.sin(e*s),su),n=Q.add(ru,su,n),Q.multiplyByScalar(n,1/Math.sin(s),n)},Q.log=function(t,i){A.typeOf.object("quaternion",t),A.typeOf.object("result",i);const e=O.acosClamped(t.w);let n=0;return e!==0&&(n=e/Math.sin(e)),k.multiplyByScalar(t,n,i)},Q.exp=function(t,i){A.typeOf.object("cartesian",t),A.typeOf.object("result",i);const e=k.magnitude(t);let n=0;return e!==0&&(n=Math.sin(e)/e),i.x=t.x*n,i.y=t.y*n,i.z=t.z*n,i.w=Math.cos(e),i};const DA=new k,bA=new k,Is=new Q,vr=new Q;Q.computeInnerQuadrangle=function(t,i,e,n){A.typeOf.object("q0",t),A.typeOf.object("q1",i),A.typeOf.object("q2",e),A.typeOf.object("result",n);const o=Q.conjugate(i,Is);Q.multiply(o,e,vr);const r=Q.log(vr,DA);Q.multiply(o,t,vr);const s=Q.log(vr,bA);return k.add(r,s,r),k.multiplyByScalar(r,.25,r),k.negate(r,r),Q.exp(r,Is),Q.multiply(i,Is,n)},Q.squad=function(t,i,e,n,o,r){A.typeOf.object("q0",t),A.typeOf.object("q1",i),A.typeOf.object("s0",e),A.typeOf.object("s1",n),A.typeOf.number("t",o),A.typeOf.object("result",r);const s=Q.slerp(t,i,o,Is),a=Q.slerp(e,n,o,vr);return Q.slerp(s,a,2*o*(1-o),r)};const RA=new Q,yy=1.9011074535173003,Xc=ct.supportsTypedArrays()?new Float32Array(8):[],Yc=ct.supportsTypedArrays()?new Float32Array(8):[],Xi=ct.supportsTypedArrays()?new Float32Array(8):[],Yi=ct.supportsTypedArrays()?new Float32Array(8):[];for(let t=0;t<7;++t){const i=t+1,e=2*i+1;Xc[t]=1/(i*e),Yc[t]=i/e}Xc[7]=yy/(8*17),Yc[7]=yy*8/17,Q.fastSlerp=function(t,i,e,n){A.typeOf.object("start",t),A.typeOf.object("end",i),A.typeOf.number("t",e),A.typeOf.object("result",n);let o=Q.dot(t,i),r;o>=0?r=1:(r=-1,o=-o);const s=o-1,a=1-e,c=e*e,d=a*a;for(let g=7;g>=0;--g)Xi[g]=(Xc[g]*c-Yc[g])*s,Yi[g]=(Xc[g]*d-Yc[g])*s;const u=r*e*(1+Xi[0]*(1+Xi[1]*(1+Xi[2]*(1+Xi[3]*(1+Xi[4]*(1+Xi[5]*(1+Xi[6]*(1+Xi[7])))))))),p=a*(1+Yi[0]*(1+Yi[1]*(1+Yi[2]*(1+Yi[3]*(1+Yi[4]*(1+Yi[5]*(1+Yi[6]*(1+Yi[7])))))))),f=Q.multiplyByScalar(t,p,RA);return Q.multiplyByScalar(i,u,n),Q.add(f,n,n)},Q.fastSquad=function(t,i,e,n,o,r){A.typeOf.object("q0",t),A.typeOf.object("q1",i),A.typeOf.object("s0",e),A.typeOf.object("s1",n),A.typeOf.number("t",o),A.typeOf.object("result",r);const s=Q.fastSlerp(t,i,o,Is),a=Q.fastSlerp(e,n,o,vr);return Q.fastSlerp(s,a,2*o*(1-o),r)},Q.equals=function(t,i){return t===i||D(t)&&D(i)&&t.x===i.x&&t.y===i.y&&t.z===i.z&&t.w===i.w},Q.equalsEpsilon=function(t,i,e){return e=e??0,t===i||D(t)&&D(i)&&Math.abs(t.x-i.x)<=e&&Math.abs(t.y-i.y)<=e&&Math.abs(t.z-i.z)<=e&&Math.abs(t.w-i.w)<=e},Q.ZERO=Object.freeze(new Q(0,0,0,0)),Q.IDENTITY=Object.freeze(new Q(0,0,0,1)),Q.prototype.clone=function(t){return Q.clone(this,t)},Q.prototype.equals=function(t){return Q.equals(this,t)},Q.prototype.equalsEpsilon=function(t,i){return Q.equalsEpsilon(this,t,i)},Q.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};const pe={},au={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},yr={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},lu={},Rt={east:new k,north:new k,up:new k,west:new k,south:new k,down:new k};let In=new k,Dn=new k,bn=new k;pe.localFrameToFixedFrameGenerator=function(t,i){if(!au.hasOwnProperty(t)||!au[t].hasOwnProperty(i))throw new H("firstAxis and secondAxis must be east, north, up, west, south or down.");const e=au[t][i];let n;const o=t+i;return D(lu[o])?n=lu[o]:(n=function(r,s,a){if(!D(r))throw new H("origin is required.");if(isNaN(r.x)||isNaN(r.y)||isNaN(r.z))throw new H("origin has a NaN component");if(D(a)||(a=new X),k.equalsEpsilon(r,k.ZERO,O.EPSILON14))k.unpack(yr[t],0,In),k.unpack(yr[i],0,Dn),k.unpack(yr[e],0,bn);else if(O.equalsEpsilon(r.x,0,O.EPSILON14)&&O.equalsEpsilon(r.y,0,O.EPSILON14)){const c=O.sign(r.z);k.unpack(yr[t],0,In),t!=="east"&&t!=="west"&&k.multiplyByScalar(In,c,In),k.unpack(yr[i],0,Dn),i!=="east"&&i!=="west"&&k.multiplyByScalar(Dn,c,Dn),k.unpack(yr[e],0,bn),e!=="east"&&e!=="west"&&k.multiplyByScalar(bn,c,bn)}else{s=s??le.default,s.geodeticSurfaceNormal(r,Rt.up);const c=Rt.up,d=Rt.east;d.x=-r.y,d.y=r.x,d.z=0,k.normalize(d,Rt.east),k.cross(c,d,Rt.north),k.multiplyByScalar(Rt.up,-1,Rt.down),k.multiplyByScalar(Rt.east,-1,Rt.west),k.multiplyByScalar(Rt.north,-1,Rt.south),In=Rt[t],Dn=Rt[i],bn=Rt[e]}return a[0]=In.x,a[1]=In.y,a[2]=In.z,a[3]=0,a[4]=Dn.x,a[5]=Dn.y,a[6]=Dn.z,a[7]=0,a[8]=bn.x,a[9]=bn.y,a[10]=bn.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},lu[o]=n),n},pe.eastNorthUpToFixedFrame=pe.localFrameToFixedFrameGenerator("east","north"),pe.northEastDownToFixedFrame=pe.localFrameToFixedFrameGenerator("north","east"),pe.northUpEastToFixedFrame=pe.localFrameToFixedFrameGenerator("north","up"),pe.northWestUpToFixedFrame=pe.localFrameToFixedFrameGenerator("north","west");const xA=new Q,FA=new k(1,1,1),kA=new X;pe.headingPitchRollToFixedFrame=function(t,i,e,n,o){A.typeOf.object("HeadingPitchRoll",i),n=n??pe.eastNorthUpToFixedFrame;const r=Q.fromHeadingPitchRoll(i,xA),s=X.fromTranslationQuaternionRotationScale(k.ZERO,r,FA,kA);return o=n(t,e,o),X.multiply(o,s,o)};const zA=new X,LA=new q;pe.headingPitchRollQuaternion=function(t,i,e,n,o){A.typeOf.object("HeadingPitchRoll",i);const r=pe.headingPitchRollToFixedFrame(t,i,e,n,zA),s=X.getMatrix3(r,LA);return Q.fromRotationMatrix(s,o)};const OA=new k(1,1,1),NA=new k,wy=new X,VA=new X,UA=new q,WA=new Q;pe.fixedFrameToHeadingPitchRoll=function(t,i,e,n){A.defined("transform",t),i=i??le.default,e=e??pe.eastNorthUpToFixedFrame,D(n)||(n=new tt);const o=X.getTranslation(t,NA);if(k.equals(o,k.ZERO))return n.heading=0,n.pitch=0,n.roll=0,n;let r=X.inverseTransformation(e(o,i,wy),wy),s=X.setScale(t,OA,VA);s=X.setTranslation(s,k.ZERO,s),r=X.multiply(r,s,r);let a=Q.fromRotationMatrix(X.getMatrix3(r,UA),WA);return a=Q.normalize(a,a),tt.fromQuaternion(a,n)};const GA=6*3600+41*60+50.54841,HA=8640184812866e-6,qA=.093104,$A=-62e-7,XA=11772758384668e-32,YA=72921158553e-15,ZA=O.TWO_PI/86400;let Zc=new J;pe.computeIcrfToCentralBodyFixedMatrix=function(t,i){let e=pe.computeIcrfToFixedMatrix(t,i);return D(e)||(e=pe.computeTemeToPseudoFixedMatrix(t,i)),e},pe.computeTemeToPseudoFixedMatrix=function(t,i){if(!D(t))throw new H("date is required.");Zc=J.addSeconds(t,-J.computeTaiMinusUtc(t),Zc);const e=Zc.dayNumber,n=Zc.secondsOfDay;let o;const r=e-2451545;n>=43200?o=(r+.5)/Ue.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Ue.DAYS_PER_JULIAN_CENTURY;const a=(GA+o*(HA+o*(qA+o*$A)))*ZA%O.TWO_PI,c=YA+XA*(e-24515455e-1),d=(n+Ue.SECONDS_PER_DAY*.5)%Ue.SECONDS_PER_DAY,u=a+c*d,p=Math.cos(u),f=Math.sin(u);return D(i)?(i[0]=p,i[1]=-f,i[2]=0,i[3]=f,i[4]=p,i[5]=0,i[6]=0,i[7]=0,i[8]=1,i):new q(p,f,0,-f,p,0,0,0,1)},pe.iau2006XysData=new Xd,pe.earthOrientationParameters=Es.NONE;const cu=32.184,QA=2451545;pe.preloadIcrfFixed=function(t){const i=t.start.dayNumber,e=t.start.secondsOfDay+cu,n=t.stop.dayNumber,o=t.stop.secondsOfDay+cu;return pe.iau2006XysData.preload(i,e,n,o)},pe.computeIcrfToFixedMatrix=function(t,i){if(!D(t))throw new H("date is required.");D(i)||(i=new q);const e=pe.computeFixedToIcrfMatrix(t,i);if(D(e))return q.transpose(e,i)};const KA=32.184,JA=2451545,Qc=new tt,BA=new q,jA=new J;pe.computeMoonFixedToIcrfMatrix=function(t,i){if(!D(t))throw new H("date is required.");const e=J.addSeconds(t,KA,jA),n=J.totalDays(e)-JA,o=O.toRadians(12.112)-O.toRadians(.052992)*n,r=O.toRadians(24.224)-O.toRadians(.105984)*n,s=O.toRadians(227.645)+O.toRadians(13.012)*n,a=O.toRadians(261.105)+O.toRadians(13.340716)*n,c=O.toRadians(358)+O.toRadians(.9856)*n;return Qc.pitch=O.toRadians(180)-O.toRadians(3.878)*Math.sin(o)-O.toRadians(.12)*Math.sin(r)+O.toRadians(.07)*Math.sin(s)-O.toRadians(.017)*Math.sin(a),Qc.roll=O.toRadians(66.53-90)+O.toRadians(1.543)*Math.cos(o)+O.toRadians(.24)*Math.cos(r)-O.toRadians(.028)*Math.cos(s)+O.toRadians(.007)*Math.cos(a),Qc.heading=O.toRadians(244.375-90)+O.toRadians(13.17635831)*n+O.toRadians(3.558)*Math.sin(o)+O.toRadians(.121)*Math.sin(r)-O.toRadians(.064)*Math.sin(s)+O.toRadians(.016)*Math.sin(a)+O.toRadians(.025)*Math.sin(c),q.fromHeadingPitchRoll(Qc,BA)},pe.computeIcrfToMoonFixedMatrix=function(t,i){if(!D(t))throw new H("date is required.");D(i)||(i=new q);const e=pe.computeMoonFixedToIcrfMatrix(t,i);if(D(e))return q.transpose(e,i)};const eT=new oy(0,0,0),tT=new Ld(0,0,0,0,0),hu=new q,du=new q;pe.computeFixedToIcrfMatrix=function(t,i){if(!D(t))throw new H("date is required.");D(i)||(i=new q);const e=pe.earthOrientationParameters.compute(t,tT);if(!D(e))return;const n=t.dayNumber,o=t.secondsOfDay+cu,r=pe.iau2006XysData.computeXysRadians(n,o,eT);if(!D(r))return;const s=r.x+e.xPoleOffset,a=r.y+e.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),d=hu;d[0]=1-c*s*s,d[3]=-c*s*a,d[6]=s,d[1]=-c*s*a,d[4]=1-c*a*a,d[7]=a,d[2]=-s,d[5]=-a,d[8]=1-c*(s*s+a*a);const u=q.fromRotationZ(-r.s,du),p=q.multiply(d,u,hu),f=t.dayNumber,g=t.secondsOfDay-J.computeTaiMinusUtc(t)+e.ut1MinusUtc,m=f-2451545,y=g/Ue.SECONDS_PER_DAY;let P=.779057273264+y+.00273781191135448*(m+y);P=P%1*O.TWO_PI;const S=q.fromRotationZ(P,du),C=q.multiply(p,S,hu),E=Math.cos(e.xPoleWander),T=Math.cos(e.yPoleWander),I=Math.sin(e.xPoleWander),b=Math.sin(e.yPoleWander);let x=n-QA+o/Ue.SECONDS_PER_DAY;x/=36525;const z=-47e-6*x*O.RADIANS_PER_DEGREE/3600,W=Math.cos(z),N=Math.sin(z),L=du;return L[0]=E*W,L[1]=E*N,L[2]=I,L[3]=-T*N+b*I*W,L[4]=T*W+b*I*N,L[5]=-b*E,L[6]=-b*N-T*I*W,L[7]=b*W-T*I*N,L[8]=T*E,q.multiply(C,L,i)};const iT=new B;pe.pointToWindowCoordinates=function(t,i,e,n){return n=pe.pointToGLWindowCoordinates(t,i,e,n),n.y=2*i[5]-n.y,n},pe.pointToGLWindowCoordinates=function(t,i,e,n){if(!D(t))throw new H("modelViewProjectionMatrix is required.");if(!D(i))throw new H("viewportTransformation is required.");if(!D(e))throw new H("point is required.");D(n)||(n=new ee);const o=iT;return X.multiplyByVector(t,B.fromElements(e.x,e.y,e.z,1,o),o),B.multiplyByScalar(o,1/o.w,o),X.multiplyByVector(i,o,o),ee.fromCartesian4(o,n)};const nT=new k,oT=new k,rT=new k;pe.rotationMatrixFromPositionVelocity=function(t,i,e,n){if(!D(t))throw new H("position is required.");if(!D(i))throw new H("velocity is required.");const o=(e??le.default).geodeticSurfaceNormal(t,nT);let r=k.cross(i,o,oT);k.equalsEpsilon(r,k.ZERO,O.EPSILON6)&&(r=k.clone(k.UNIT_X,r));const s=k.cross(r,i,rT);return k.normalize(s,s),k.cross(i,s,r),k.negate(r,r),k.normalize(r,r),D(n)||(n=new q),n[0]=i.x,n[1]=i.y,n[2]=i.z,n[3]=r.x,n[4]=r.y,n[5]=r.z,n[6]=s.x,n[7]=s.y,n[8]=s.z,n};const Cy=new X(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),_y=new fe,uu=new k,sT=new k,aT=new q,pu=new X,Py=new X;pe.basisTo2D=function(t,i,e){if(!D(t))throw new H("projection is required.");if(!D(i))throw new H("matrix is required.");if(!D(e))throw new H("result is required.");const n=X.getTranslation(i,sT),o=t.ellipsoid;let r;if(k.equals(n,k.ZERO))r=k.clone(k.ZERO,uu);else{const u=o.cartesianToCartographic(n,_y);r=t.project(u,uu),k.fromElements(r.z,r.x,r.y,r)}const s=pe.eastNorthUpToFixedFrame(n,o,pu),a=X.inverseTransformation(s,Py),c=X.getMatrix3(i,aT),d=X.multiplyByMatrix3(a,c,e);return X.multiply(Cy,d,e),X.setTranslation(e,r,e),e},pe.ellipsoidTo2DModelMatrix=function(t,i,e){if(!D(t))throw new H("projection is required.");if(!D(i))throw new H("center is required.");if(!D(e))throw new H("result is required.");const n=t.ellipsoid,o=pe.eastNorthUpToFixedFrame(i,n,pu),r=X.inverseTransformation(o,Py),s=n.cartesianToCartographic(i,_y),a=t.project(s,uu);k.fromElements(a.z,a.x,a.y,a);const c=X.fromTranslation(a,pu);return X.multiply(Cy,r,e),X.multiply(c,e,e),e};function oe(t,i,e,n){this.west=t??0,this.south=i??0,this.east=e??0,this.north=n??0}Object.defineProperties(oe.prototype,{width:{get:function(){return oe.computeWidth(this)}},height:{get:function(){return oe.computeHeight(this)}}}),oe.packedLength=4,oe.pack=function(t,i,e){return A.typeOf.object("value",t),A.defined("array",i),e=e??0,i[e++]=t.west,i[e++]=t.south,i[e++]=t.east,i[e]=t.north,i},oe.unpack=function(t,i,e){return A.defined("array",t),i=i??0,D(e)||(e=new oe),e.west=t[i++],e.south=t[i++],e.east=t[i++],e.north=t[i],e},oe.computeWidth=function(t){A.typeOf.object("rectangle",t);let i=t.east;const e=t.west;return i<e&&(i+=O.TWO_PI),i-e},oe.computeHeight=function(t){return A.typeOf.object("rectangle",t),t.north-t.south},oe.fromDegrees=function(t,i,e,n,o){return t=O.toRadians(t??0),i=O.toRadians(i??0),e=O.toRadians(e??0),n=O.toRadians(n??0),D(o)?(o.west=t,o.south=i,o.east=e,o.north=n,o):new oe(t,i,e,n)},oe.fromRadians=function(t,i,e,n,o){return D(o)?(o.west=t??0,o.south=i??0,o.east=e??0,o.north=n??0,o):new oe(t,i,e,n)},oe.fromCartographicArray=function(t,i){A.defined("cartographics",t);let e=Number.MAX_VALUE,n=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,d=t.length;c<d;c++){const u=t[c];e=Math.min(e,u.longitude),n=Math.max(n,u.longitude),s=Math.min(s,u.latitude),a=Math.max(a,u.latitude);const p=u.longitude>=0?u.longitude:u.longitude+O.TWO_PI;o=Math.min(o,p),r=Math.max(r,p)}return n-e>r-o&&(e=o,n=r,n>O.PI&&(n=n-O.TWO_PI),e>O.PI&&(e=e-O.TWO_PI)),D(i)?(i.west=e,i.south=s,i.east=n,i.north=a,i):new oe(e,s,n,a)},oe.fromCartesianArray=function(t,i,e){A.defined("cartesians",t),i=i??le.default;let n=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let d=0,u=t.length;d<u;d++){const p=i.cartesianToCartographic(t[d]);n=Math.min(n,p.longitude),o=Math.max(o,p.longitude),a=Math.min(a,p.latitude),c=Math.max(c,p.latitude);const f=p.longitude>=0?p.longitude:p.longitude+O.TWO_PI;r=Math.min(r,f),s=Math.max(s,f)}return o-n>s-r&&(n=r,o=s,o>O.PI&&(o=o-O.TWO_PI),n>O.PI&&(n=n-O.TWO_PI)),D(e)?(e.west=n,e.south=a,e.east=o,e.north=c,e):new oe(n,a,o,c)};const lT=new k,cT=new k,hT=new k,dT=new k,uT=new k,fu=new Array(5);for(let t=0;t<fu.length;++t)fu[t]=new k;oe.fromBoundingSphere=function(t,i,e){A.typeOf.object("boundingSphere",t);const n=t.center,o=t.radius;if(D(i)||(i=le.default),D(e)||(e=new oe),k.equals(n,k.ZERO))return oe.clone(oe.MAX_VALUE,e),e;const r=pe.eastNorthUpToFixedFrame(n,i,lT),s=X.multiplyByPointAsVector(r,k.UNIT_X,cT);k.normalize(s,s);const a=X.multiplyByPointAsVector(r,k.UNIT_Y,hT);k.normalize(a,a),k.multiplyByScalar(a,o,a),k.multiplyByScalar(s,o,s);const c=k.negate(a,uT),d=k.negate(s,dT),u=fu;let p=u[0];return k.add(n,a,p),p=u[1],k.add(n,d,p),p=u[2],k.add(n,c,p),p=u[3],k.add(n,s,p),u[4]=n,oe.fromCartesianArray(u,i,e)},oe.clone=function(t,i){if(D(t))return D(i)?(i.west=t.west,i.south=t.south,i.east=t.east,i.north=t.north,i):new oe(t.west,t.south,t.east,t.north)},oe.equalsEpsilon=function(t,i,e){return e=e??0,t===i||D(t)&&D(i)&&Math.abs(t.west-i.west)<=e&&Math.abs(t.south-i.south)<=e&&Math.abs(t.east-i.east)<=e&&Math.abs(t.north-i.north)<=e},oe.prototype.clone=function(t){return oe.clone(this,t)},oe.prototype.equals=function(t){return oe.equals(this,t)},oe.equals=function(t,i){return t===i||D(t)&&D(i)&&t.west===i.west&&t.south===i.south&&t.east===i.east&&t.north===i.north},oe.prototype.equalsEpsilon=function(t,i){return oe.equalsEpsilon(this,t,i)},oe._validate=function(t){A.typeOf.object("rectangle",t);const i=t.north;A.typeOf.number.greaterThanOrEquals("north",i,-O.PI_OVER_TWO),A.typeOf.number.lessThanOrEquals("north",i,O.PI_OVER_TWO);const e=t.south;A.typeOf.number.greaterThanOrEquals("south",e,-O.PI_OVER_TWO),A.typeOf.number.lessThanOrEquals("south",e,O.PI_OVER_TWO);const n=t.west;A.typeOf.number.greaterThanOrEquals("west",n,-Math.PI),A.typeOf.number.lessThanOrEquals("west",n,Math.PI);const o=t.east;A.typeOf.number.greaterThanOrEquals("east",o,-Math.PI),A.typeOf.number.lessThanOrEquals("east",o,Math.PI)},oe.southwest=function(t,i){return A.typeOf.object("rectangle",t),D(i)?(i.longitude=t.west,i.latitude=t.south,i.height=0,i):new fe(t.west,t.south)},oe.northwest=function(t,i){return A.typeOf.object("rectangle",t),D(i)?(i.longitude=t.west,i.latitude=t.north,i.height=0,i):new fe(t.west,t.north)},oe.northeast=function(t,i){return A.typeOf.object("rectangle",t),D(i)?(i.longitude=t.east,i.latitude=t.north,i.height=0,i):new fe(t.east,t.north)},oe.southeast=function(t,i){return A.typeOf.object("rectangle",t),D(i)?(i.longitude=t.east,i.latitude=t.south,i.height=0,i):new fe(t.east,t.south)},oe.center=function(t,i){A.typeOf.object("rectangle",t);let e=t.east;const n=t.west;e<n&&(e+=O.TWO_PI);const o=O.negativePiToPi((n+e)*.5),r=(t.south+t.north)*.5;return D(i)?(i.longitude=o,i.latitude=r,i.height=0,i):new fe(o,r)},oe.intersection=function(t,i,e){A.typeOf.object("rectangle",t),A.typeOf.object("otherRectangle",i);let n=t.east,o=t.west,r=i.east,s=i.west;n<o&&r>0?n+=O.TWO_PI:r<s&&n>0&&(r+=O.TWO_PI),n<o&&s<0?s+=O.TWO_PI:r<s&&o<0&&(o+=O.TWO_PI);const a=O.negativePiToPi(Math.max(o,s)),c=O.negativePiToPi(Math.min(n,r));if((t.west<t.east||i.west<i.east)&&c<=a)return;const d=Math.max(t.south,i.south),u=Math.min(t.north,i.north);if(!(d>=u))return D(e)?(e.west=a,e.south=d,e.east=c,e.north=u,e):new oe(a,d,c,u)},oe.simpleIntersection=function(t,i,e){A.typeOf.object("rectangle",t),A.typeOf.object("otherRectangle",i);const n=Math.max(t.west,i.west),o=Math.max(t.south,i.south),r=Math.min(t.east,i.east),s=Math.min(t.north,i.north);if(!(o>=s||n>=r))return D(e)?(e.west=n,e.south=o,e.east=r,e.north=s,e):new oe(n,o,r,s)},oe.union=function(t,i,e){A.typeOf.object("rectangle",t),A.typeOf.object("otherRectangle",i),D(e)||(e=new oe);let n=t.east,o=t.west,r=i.east,s=i.west;n<o&&r>0?n+=O.TWO_PI:r<s&&n>0&&(r+=O.TWO_PI),n<o&&s<0?s+=O.TWO_PI:r<s&&o<0&&(o+=O.TWO_PI);const a=O.negativePiToPi(Math.min(o,s)),c=O.negativePiToPi(Math.max(n,r));return e.west=a,e.south=Math.min(t.south,i.south),e.east=c,e.north=Math.max(t.north,i.north),e},oe.expand=function(t,i,e){return A.typeOf.object("rectangle",t),A.typeOf.object("cartographic",i),D(e)||(e=new oe),e.west=Math.min(t.west,i.longitude),e.south=Math.min(t.south,i.latitude),e.east=Math.max(t.east,i.longitude),e.north=Math.max(t.north,i.latitude),e},oe.contains=function(t,i){A.typeOf.object("rectangle",t),A.typeOf.object("cartographic",i);let e=i.longitude;const n=i.latitude,o=t.west;let r=t.east;return r<o&&(r+=O.TWO_PI,e<0&&(e+=O.TWO_PI)),(e>o||O.equalsEpsilon(e,o,O.EPSILON14))&&(e<r||O.equalsEpsilon(e,r,O.EPSILON14))&&n>=t.south&&n<=t.north};const pT=new fe;oe.subsample=function(t,i,e,n){A.typeOf.object("rectangle",t),i=i??le.default,e=e??0,D(n)||(n=[]);let o=0;const r=t.north,s=t.south,a=t.east,c=t.west,d=pT;d.height=e,d.longitude=c,d.latitude=r,n[o]=i.cartographicToCartesian(d,n[o]),o++,d.longitude=a,n[o]=i.cartographicToCartesian(d,n[o]),o++,d.latitude=s,n[o]=i.cartographicToCartesian(d,n[o]),o++,d.longitude=c,n[o]=i.cartographicToCartesian(d,n[o]),o++,r<0?d.latitude=r:s>0?d.latitude=s:d.latitude=0;for(let u=1;u<8;++u)d.longitude=-Math.PI+u*O.PI_OVER_TWO,oe.contains(t,d)&&(n[o]=i.cartographicToCartesian(d,n[o]),o++);return d.latitude===0&&(d.longitude=c,n[o]=i.cartographicToCartesian(d,n[o]),o++,d.longitude=a,n[o]=i.cartographicToCartesian(d,n[o]),o++),n.length=o,n},oe.subsection=function(t,i,e,n,o,r){if(A.typeOf.object("rectangle",t),A.typeOf.number.greaterThanOrEquals("westLerp",i,0),A.typeOf.number.lessThanOrEquals("westLerp",i,1),A.typeOf.number.greaterThanOrEquals("southLerp",e,0),A.typeOf.number.lessThanOrEquals("southLerp",e,1),A.typeOf.number.greaterThanOrEquals("eastLerp",n,0),A.typeOf.number.lessThanOrEquals("eastLerp",n,1),A.typeOf.number.greaterThanOrEquals("northLerp",o,0),A.typeOf.number.lessThanOrEquals("northLerp",o,1),A.typeOf.number.lessThanOrEquals("westLerp",i,n),A.typeOf.number.lessThanOrEquals("southLerp",e,o),D(r)||(r=new oe),t.west<=t.east){const a=t.east-t.west;r.west=t.west+i*a,r.east=t.west+n*a}else{const a=O.TWO_PI+t.east-t.west;r.west=O.negativePiToPi(t.west+i*a),r.east=O.negativePiToPi(t.west+n*a)}const s=t.north-t.south;return r.south=t.south+e*s,r.north=t.south+o*s,i===1&&(r.west=t.east),n===1&&(r.east=t.east),e===1&&(r.south=t.north),o===1&&(r.north=t.north),r},oe.MAX_VALUE=Object.freeze(new oe(-Math.PI,-O.PI_OVER_TWO,Math.PI,O.PI_OVER_TWO));function xt(t){this._ellipsoid=t??le.WGS84,this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(xt.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}}),xt.mercatorAngleToGeodeticLatitude=function(t){return O.PI_OVER_TWO-2*Math.atan(Math.exp(-t))},xt.geodeticLatitudeToMercatorAngle=function(t){t>xt.MaximumLatitude?t=xt.MaximumLatitude:t<-xt.MaximumLatitude&&(t=-xt.MaximumLatitude);const i=Math.sin(t);return .5*Math.log((1+i)/(1-i))},xt.MaximumLatitude=xt.mercatorAngleToGeodeticLatitude(Math.PI),xt.prototype.project=function(t,i){const e=this._semimajorAxis,n=t.longitude*e,o=xt.geodeticLatitudeToMercatorAngle(t.latitude)*e,r=t.height;return D(i)?(i.x=n,i.y=o,i.z=r,i):new k(n,o,r)},xt.prototype.unproject=function(t,i){if(!D(t))throw new H("cartesian is required");const e=this._oneOverSemimajorAxis,n=t.x*e,o=xt.mercatorAngleToGeodeticLatitude(t.y*e),r=t.z;return D(i)?(i.longitude=n,i.latitude=o,i.height=r,i):new fe(n,o,r)};function fT(){return!0}function gT(t,i){i=i??"This object was destroyed, i.e., destroy() was called.";function e(){throw new H(i)}for(const n in t)typeof t[n]=="function"&&(t[n]=e);t.isDestroyed=fT}function Sy(){if(!D(it._canTransferArrayBuffer)){const t=vu("transferTypedArrayTest");t.postMessage=t.webkitPostMessage??t.postMessage;const i=99,e=new Int8Array([i]);try{t.postMessage({array:e},[e.buffer])}catch{return it._canTransferArrayBuffer=!1,it._canTransferArrayBuffer}it._canTransferArrayBuffer=new Promise(n=>{t.onmessage=function(o){const r=o.data.array,s=D(r)&&r[0]===i;n(s),t.terminate(),it._canTransferArrayBuffer=s}})}return it._canTransferArrayBuffer}const gu=new dr;function mu(t){let i;try{i=new Blob([t],{type:"application/javascript"})}catch{const o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(t),i=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(i)}function vu(t){const i=new qi(t),e=i.scheme().length!==0&&i.fragment().length===0,n=t.replace(/\.js$/,""),o={};let r,s;if(Gd(t))s=t;else if(!e){const a=ei(`${it._workerModulePrefix}/${n}.js`);Gd(a)&&(s=a)}if(s){const a=`import "${s}";`;return r=mu(a),o.type="module",new Worker(r,o)}if(!e&&typeof CESIUM_WORKERS<"u"){const a=`
|
|
363
363
|
importScripts("${mu(CESIUM_WORKERS)}");
|
|
364
364
|
CesiumWorkers["${n}"]();
|
|
365
|
-
`;return r=mu(a),new Worker(r,o)}if(r=t,e||(r=ei(`${it._workerModulePrefix+n}.js`)),!ct.supportsEsmWebWorkers())throw new lt("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function mT(t,i){const e={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!ct.supportsWebAssembly()){if(!D(i.fallbackModulePath))throw new lt(`This browser does not support Web Assembly, and no backup module was provided for ${t._workerPath}`);return e.modulePath=ei(i.fallbackModulePath),e}e.wasmBinaryFile=ei(i.wasmBinaryFile);const n=await j.fetchArrayBuffer({url:e.wasmBinaryFile});return e.wasmBinary=n,e}function it(t,i){this._workerPath=t,this._maximumActiveTasks=i??Number.POSITIVE_INFINITY,this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}const vT=(t,i,e,n)=>{const o=({data:r})=>{if(r.id===i){if(D(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new lt(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new H(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),gu.raiseEvent(s),n(s)}else gu.raiseEvent(),e(r.result);t.removeEventListener("message",o)}};return o},yT=[];async function wT(t,i,e){const n=await Promise.resolve(Sy());D(e)?n||(e.length=0):e=yT;const o=t._nextID++,r=new Promise((s,a)=>{t._worker.addEventListener("message",vT(t._worker,o,s,a))});return t._worker.postMessage({id:o,baseUrl:ei.getCesiumBaseUrl().url,parameters:i,canTransferArrayBuffer:n},e),r}async function CT(t,i,e){++t._activeTasks;try{const n=await wT(t,i,e);return--t._activeTasks,n}catch(n){throw--t._activeTasks,n}}it.prototype.scheduleTask=function(t,i){if(D(this._worker)||(this._worker=vu(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return CT(this,t,i)},it.prototype.initWebAssemblyModule=async function(t){if(D(this._webAssemblyPromise))return this._webAssemblyPromise;const i=async()=>{const e=this._worker=vu(this._workerPath),n=await mT(this,t),o=await Promise.resolve(Sy());let r;const s=n.wasmBinary;D(s)&&o&&(r=[s]);const a=new Promise((c,d)=>{e.onmessage=function({data:u}){D(u)?c(u.result):d(new lt("Could not configure wasm module"))}});return e.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:n}},r),a};return this._webAssemblyPromise=i(),this._webAssemblyPromise},it.prototype.isDestroyed=function(){return!1},it.prototype.destroy=function(){return D(this._worker)&&this._worker.terminate(),gT(this)},it.taskCompletedEvent=gu,it._defaultWorkerModulePrefix="Workers/",it._workerModulePrefix=it._defaultWorkerModulePrefix,it._canTransferArrayBuffer=void 0;function wr(t,i,e,n,o){this._format=t,this._datatype=i,this._width=e,this._height=n,this._buffer=o}Object.defineProperties(wr.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}},arrayBufferView:{get:function(){return this._buffer}}}),wr.clone=function(t){if(D(t))return new wr(t._format,t._datatype,t._width,t._height,t._buffer)},wr.prototype.clone=function(){return wr.clone(this)};const Ey={};function Ds(t,i){if(!D(t))throw new H("identifier is required.");D(Ey[t])||(Ey[t]=!0,console.warn(i??t))}Ds.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.",Ds.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored",Ds.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored",Ds.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";function Zi(){}Zi._transcodeTaskProcessor=new it("transcodeKTX2",Number.POSITIVE_INFINITY),Zi._readyPromise=void 0;function _T(){const t=Zi._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(i){if(i)return Zi._transcodeTaskProcessor;throw new lt("KTX2 transcoder could not be initialized.")});Zi._readyPromise=t}Zi.transcode=function(t,i){return A.defined("supportedTargetFormats",i),D(Zi._readyPromise)||_T(),Zi._readyPromise.then(function(e){let n=t;t instanceof ArrayBuffer&&(n=new Uint8Array(t));const o={supportedTargetFormats:i,ktx2Buffer:n};return e.scheduleTask(o,[n.buffer])}).then(function(e){const n=e.length,o=Object.keys(e[0]);for(let r=0;r<n;r++){const s=e[r];for(let a=0;a<o.length;a++){const c=s[o[a]];s[o[a]]=new wr(c.internalFormat,c.datatype,c.width,c.height,c.levelBuffer)}}if(o.length===1){for(let r=0;r<n;++r)e[r]=e[r][o[0]];n===1&&(e=e[0])}return e}).catch(function(e){throw e})};function Ay(t,i){if(!D(t)||!D(i))throw new H("identifier and message are required.");Ds(t,i)}function Ty(t,i){return Ay("defaultValue","defaultValue has been deprecated and will be removed in Cesium 1.134. Use the nullish coalescing operator instead: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing"),t??i}Object.defineProperty(Ty,"EMPTY_OBJECT",{get:function(){return Ay("defaultValue.EMPTY_OBJECT","defaultValue.EMPTY_OBJECT has been deprecated and will be removed in Cesium 1.134. Use Frozen.EMPTY_OBJECT instead"),_i.EMPTY_OBJECT}});let My;Iy.setKTX2SupportedFormats=function(t,i,e,n,o,r){My={s3tc:t,pvrtc:i,astc:e,etc:n,etc1:o,bc7:r}};function Iy(t){A.defined("resourceOrUrlOrBuffer",t);let i;return t instanceof ArrayBuffer||ArrayBuffer.isView(t)?i=Promise.resolve(t):i=j.createIfNeeded(t).fetchArrayBuffer(),i.then(function(e){return Zi.transcode(e,My)})}function Cr(){H.throwInstantiationError()}Object.defineProperties(Cr.prototype,{rectangle:{get:H.throwInstantiationError},tileWidth:{get:H.throwInstantiationError},tileHeight:{get:H.throwInstantiationError},maximumLevel:{get:H.throwInstantiationError},minimumLevel:{get:H.throwInstantiationError},tilingScheme:{get:H.throwInstantiationError},tileDiscardPolicy:{get:H.throwInstantiationError},errorEvent:{get:H.throwInstantiationError},credit:{get:H.throwInstantiationError},proxy:{get:H.throwInstantiationError},hasAlphaChannel:{get:H.throwInstantiationError}}),Cr.prototype.getTileCredits=function(t,i,e){H.throwInstantiationError()},Cr.prototype.requestImage=function(t,i,e,n){H.throwInstantiationError()},Cr.prototype.pickFeatures=function(t,i,e,n,o){H.throwInstantiationError()};const PT=/\.ktx2$/i;Cr.loadImage=function(t,i){A.defined("url",i);const e=j.createIfNeeded(i);return PT.test(e.url)?Iy(e):D(t)&&D(t.tileDiscardPolicy)?e.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):e.fetchImage({preferImageBitmap:!0,flipY:!0})};var Kc=3.141592653589793*3e3/180,nt=3.141592653589793,Jc=6378245,Bc=.006693421622965943,Dy=function(n,o){var n=+n,o=+o,r=n-.0065,s=o-.006,a=Math.sqrt(r*r+s*s)-2e-5*Math.sin(s*Kc),c=Math.atan2(s,r)-3e-6*Math.cos(r*Kc),d=a*Math.cos(c),u=a*Math.sin(c);return[d,u]},by=function(o,n){var n=+n,o=+o,r=Math.sqrt(o*o+n*n)+2e-5*Math.sin(n*Kc),s=Math.atan2(n,o)+3e-6*Math.cos(o*Kc),a=r*Math.cos(s)+.0065,c=r*Math.sin(s)+.006;return[a,c]},yu=function(o,n){var n=+n,o=+o;if(Fy(o,n))return[o,n];var r=Ry(o-105,n-35),s=xy(o-105,n-35),a=n/180*nt,c=Math.sin(a);c=1-Bc*c*c;var d=Math.sqrt(c);r=r*180/(Jc*(1-Bc)/(c*d)*nt),s=s*180/(Jc/d*Math.cos(a)*nt);var u=n+r,p=o+s;return[p,u]},wu=function(o,n){var n=+n,o=+o;if(Fy(o,n))return[o,n];var r=Ry(o-105,n-35),s=xy(o-105,n-35),a=n/180*nt,c=Math.sin(a);c=1-Bc*c*c;var d=Math.sqrt(c);r=r*180/(Jc*(1-Bc)/(c*d)*nt),s=s*180/(Jc/d*Math.cos(a)*nt);var u=n+r,p=o+s;return[o*2-p,n*2-u]},Ry=function(o,n){var n=+n,o=+o,r=-100+2*o+3*n+.2*n*n+.1*o*n+.2*Math.sqrt(Math.abs(o));return r+=(20*Math.sin(6*o*nt)+20*Math.sin(2*o*nt))*2/3,r+=(20*Math.sin(n*nt)+40*Math.sin(n/3*nt))*2/3,r+=(160*Math.sin(n/12*nt)+320*Math.sin(n*nt/30))*2/3,r},xy=function(o,n){var n=+n,o=+o,r=300+o+2*n+.1*o*o+.1*o*n+.1*Math.sqrt(Math.abs(o));return r+=(20*Math.sin(6*o*nt)+20*Math.sin(2*o*nt))*2/3,r+=(20*Math.sin(o*nt)+40*Math.sin(o/3*nt))*2/3,r+=(150*Math.sin(o/12*nt)+300*Math.sin(o/30*nt))*2/3,r},Fy=function(o,n){var n=+n,o=+o;return!(o>73.66&&o<135.05&&n>3.86&&n<53.55)};function Cu(t,i){this.x=t||0,this.y=i||0,this.x=this.x,this.y=this.y}Cu.prototype.equals=function(t){return t&&t.x==this.x&&t.y==this.y};function ui(t,i){isNaN(t)&&(t=decode64(t),t=isNaN(t)?0:t),typeof t=="string"&&(t=parseFloat(t)),isNaN(i)&&(i=decode64(i),i=isNaN(i)?0:i),typeof t=="lat"&&(i=parseFloat(i)),this.lng=t,this.lat=i}ui.isInRange=function(t){return t&&t.lng<=180&&t.lng>=-180&&t.lat<=74&&t.lat>=-74},ui.prototype.equals=function(t){return t&&this.lat==t.lat&&this.lng==t.lng};function ze(){}ze.EARTHRADIUS=637099681e-2,ze.MCBAND=[1289059486e-2,836237787e-2,5591021,348198983e-2,167804312e-2,0],ze.LLBAND=[75,60,45,30,15,0],ze.MC2LL=[[1410526172116255e-23,898305509648872e-20,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-.03801003308653,173379812e-1],[-7435856389565537e-24,8983055097726239e-21,-.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,1026014486e-2],[-3030883460898826e-23,898305509983578e-20,.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,.32710905363475,685681737e-2],[-1981981304930552e-23,8983055099779535e-21,.03278182852591,40.31678527705744,.65659298677277,-4.44255534477492,.85341911805263,.12923347998204,-.04625736007561,448277706e-2],[309191371068437e-23,8983055096812155e-21,6995724062e-14,23.10934304144901,-.00023663490511,-.6321817810242,-.00663494467273,.03430082397953,-.00466043876332,25551644e-1],[2890871144776878e-24,8983055095805407e-21,-3068298e-14,7.47137025468032,-353937994e-14,-.02145144861037,-1234426596e-14,.00010322952773,-323890364e-14,826088.5]],ze.LL2MC=[[-.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[.0008277824516172526,111320.7020463578,6477955746671607e-7,-4082003173641316e-6,1077490566351142e-5,-1517187553151559e-5,1205306533862167e-5,-5124939663577472e-6,9133119359512032e-7,67.5],[.00337398766765,111320.7020202162,4481351045890365e-9,-2339375119931662e-8,7968221547186455e-8,-1159649932797253e-7,9723671115602145e-8,-4366194633752821e-8,8477230501135234e-9,52.5],[.00220636496208,111320.7020209128,51751.86112841131,3796837749470245e-9,992013.7397791013,-122195221711287e-8,1340652697009075e-9,-620943.6990984312,144416.9293806241,37.5],[-.0003441963504368392,111320.7020576856,278.2353980772752,2485758690035394e-9,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-.0003218135878613132,111320.7020701615,.00369383431289,823725.6402795718,.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,.37238884252424,7.45]],ze.getDistanceByMC=function(t,i){if(!t||!i)return 0;var e,n,o,r;return t=this.convertMC2LL(t),!t||(e=this.toRadians(t.lng),n=this.toRadians(t.lat),i=this.convertMC2LL(i),!i)?0:(o=this.toRadians(i.lng),r=this.toRadians(i.lat),this.getDistance(e,o,n,r))},ze.getDistanceByLL=function(t,i){if(!t||!i)return 0;t.lng=this.getLoop(t.lng,-180,180),t.lat=this.getRange(t.lat,-74,74),i.lng=this.getLoop(i.lng,-180,180),i.lat=this.getRange(i.lat,-74,74);var e,n,o,r;return e=this.toRadians(t.lng),o=this.toRadians(t.lat),n=this.toRadians(i.lng),r=this.toRadians(i.lat),this.getDistance(e,n,o,r)},ze.convertMC2LL=function(r){var i,e;i=new ui(Math.abs(r.lng),Math.abs(r.lat));for(var n=0;n<this.MCBAND.length;n++)if(i.lat>=this.MCBAND[n]){e=this.MC2LL[n];break}var o=this.convertor(r,e),r=new ui(o.lng.toFixed(6),o.lat.toFixed(6));return r},ze.convertLL2MC=function(r){var i,e;r.lng=this.getLoop(r.lng,-180,180),r.lat=this.getRange(r.lat,-74,74),i=new ui(r.lng,r.lat);for(var n=0;n<this.LLBAND.length;n++)if(i.lat>=this.LLBAND[n]){e=this.LL2MC[n];break}if(!e){for(var n=this.LLBAND.length-1;n>=0;n--)if(i.lat<=-this.LLBAND[n]){e=this.LL2MC[n];break}}var o=this.convertor(r,e),r=new ui(o.lng.toFixed(2),o.lat.toFixed(2));return r},ze.convertor=function(t,i){if(!(!t||!i)){var e=i[0]+i[1]*Math.abs(t.lng),n=Math.abs(t.lat)/i[9],o=i[2]+i[3]*n+i[4]*n*n+i[5]*n*n*n+i[6]*n*n*n*n+i[7]*n*n*n*n*n+i[8]*n*n*n*n*n*n;return e*=t.lng<0?-1:1,o*=t.lat<0?-1:1,new ui(e,o)}},ze.getDistance=function(t,i,e,n){return this.EARTHRADIUS*Math.acos(Math.sin(e)*Math.sin(n)+Math.cos(e)*Math.cos(n)*Math.cos(i-t))},ze.toRadians=function(t){return Math.PI*t/180},ze.toDegrees=function(t){return 180*t/Math.PI},ze.getRange=function(t,i,e){return i!=null&&(t=Math.max(t,i)),e!=null&&(t=Math.min(t,e)),t},ze.getLoop=function(t,i,e){for(;t>e;)t-=e-i;for(;t<i;)t+=e-i;return t},ze.prototype.lngLatToMercator=function(t){return ze.convertLL2MC(t)},ze.prototype.lngLatToPoint=function(t){var i=ze.convertLL2MC(t);return new Cu(i.lng,i.lat)},ze.prototype.mercatorToLngLat=function(t){return ze.convertMC2LL(t)},ze.prototype.PointToLngLat=function(t){var i=new ui(t.x,t.y);return ze.convertMC2LL(i)},ze.prototype.PointToPixel=function(t,i,e,n,o){if(t){t=this.lngLatToMercator(t,o);var r=this.getZoomUnits(i),s=Math.round((t.lng-e.lng)/r+n[Twidth]/2),a=Math.round((e.lat-t.lat)/r+n[Theight]/2);return new Cu(s,a)}},ze.prototype.PixelToPoint=function(t,i,e,n,o){if(t){var r=this.getZoomUnits(i),s=e.lng+r*(t.x-n[Twidth]/2),a=e.lat-r*(t.y-n[Theight]/2),c=new ui(s,a);return this.mercatorToLngLat(c,o)}},ze.prototype.getZoomUnits=function(t){return Math.pow(2,18-t)};function Rn(t){t=t||{},this._ellipsoid=Ty(t.ellipsoid,le.WGS84);var i=!0;D(t.wgs84)&&(i=t.wgs84),this._projection=new xt(this._ellipsoid);var e=new ze;this._projection.project=function(s){var a={};return i?(a=yu(O.toDegrees(s.longitude),O.toDegrees(s.latitude)),a=by(a[0],a[1])):a=by(O.toDegrees(s.longitude),O.toDegrees(s.latitude)),a[0]=Math.min(a[0],180),a[0]=Math.max(a[0],-180),a[1]=Math.min(a[1],74.000022),a[1]=Math.max(a[1],-71.988531),a=e.lngLatToPoint(new ui(a[0],a[1])),new ee(a.x,a.y)},this._projection.unproject=function(s){var a=e.mercatorToLngLat(new ui(s.x,s.y));return a[0]=(a[0]+180)%360-180,i?(a=Dy(a.lng,a.lat),a=wu(a[0],a[1])):a=Dy(a.lng,a.lat),new fe(O.toRadians(a[0]),O.toRadians(a[1]))},this._rectangleSouthwestInMeters=new ee(-2003772637e-2,-1170804166e-2),this._rectangleNortheastInMeters=new ee(2003772637e-2,1247410417e-2);var n=this._projection.unproject(this._rectangleSouthwestInMeters),o=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new oe(n.longitude,n.latitude,o.longitude,o.latitude),this.levelWidth=[];for(var r=0;r<19;r++)this.levelWidth[r]=Math.pow(2,18-r)*256}Object.defineProperties(Rn.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),Rn.prototype.getNumberOfXTilesAtLevel=function(t){return(1<<t)*.7},Rn.prototype.getNumberOfYTilesAtLevel=function(t){return 1<<t},Rn.prototype.rectangleToNativeRectangle=function(t,i){var e=this._projection,n=e.project(oe.southwest(t)),o=e.project(oe.northeast(t));return D(i)?(i.west=n.x,i.south=n.y,i.east=o.x,i.north=o.y,i):new oe(n.x,n.y,o.x,o.y)},Rn.prototype.tileXYToNativeRectangle=function(t,i,e,n){var o=this.levelWidth[e],r=t*o,s=(t+1)*o;i=-i;var a=(i+1)*o,c=i*o;return D(n)?(n.west=r,n.south=c,n.east=s,n.north=a,n):new oe(r,c,s,a)},Rn.prototype.tileXYToRectangle=function(t,i,e,n){var o=this.tileXYToNativeRectangle(t,i,e,n),r=this._projection,s=r.unproject(new ee(o.west,o.south)),a=r.unproject(new ee(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o},Rn.prototype.positionToTileXY=function(t,i,e){var n=this._rectangle;if(oe.contains(n,t)){var o=this._projection,r=o.project(t);if(D(r)){var s=this.levelWidth[i],a=Math.floor(r.x/s),c=-Math.floor(r.y/s);return D(e)?(e.x=a,e.y=c,e):new ee(a,c)}}};function jc(t){this._url=t.url||"http://online2.map.bdimg.com/onlinelabel/?qt=tile&styles=pl&x={x}&y={y}&z={z}",this._tileWidth=256,this._tileHeight=256,this._maximumLevel=18,this._tilingScheme=new Rn(t),this._credit=void 0,this._rectangle=this._tilingScheme.rectangle,this._ready=!0}function ST(t,i,e,n){var o=t._url;return o=o.replace("{x}",i).replace("{y}",-e).replace("{z}",n),o}Object.defineProperties(jc.prototype,{url:{get:function(){return this._url}},token:{get:function(){return this._token}},proxy:{get:function(){return this._proxy}},tileWidth:{get:function(){if(!this._ready)throw new DeveloperError("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new DeveloperError("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new DeveloperError("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new DeveloperError("minimumLevel must not be called before the imagery provider is ready.");return 3}},tilingScheme:{get:function(){if(!this._ready)throw new DeveloperError("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){if(!this._ready)throw new DeveloperError("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new DeveloperError("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}}),jc.prototype.getTileCredits=function(t,i,e){},jc.prototype.requestImage=function(t,i,e){if(!this._ready)throw new DeveloperError("requestImage must not be called before the imagery provider is ready.");var n=ST(this,t,i,e);return Cr.loadImage(this,n)};class ET extends h.UrlTemplateImageryProvider{constructor(e){super(e);v(this,"_indexTime",0);e.url="https://tileser.giiiis.com/timetile/",e.minimumLevel=1,e.maximumLevel=18,e.tilingScheme=new h.GeographicTilingScheme,this.indexTime=e.indexTime||0}get indexTime(){return this._indexTime}set indexTime(e){this._indexTime=e}async requestImage(e,n,o,r){try{let s=this.buildImageUrl(this.indexTime,e,n,o);return h.ImageryProvider.loadImage(this,s)}catch{return}}buildImageUrl(e,n,o,r){return`https://tileser.giiiis.com/timetile/${e}/${r}/${n}/${o}.jpg`}}class AT extends h.UrlTemplateImageryProvider{constructor(e){super(e);v(this,"_indexTimeID",0);e.url="https://wayback.maptiles.arcgis.com/",e.minimumLevel=1,e.maximumLevel=18,this.indexTimeID=e.indexTimeID||0}get indexTimeID(){return this._indexTimeID}set indexTimeID(e){this._indexTimeID=e}async requestImage(e,n,o,r){try{let s;return this.indexTimeID!==0?s=this.buildImageUrl(this.indexTimeID,e,n,o):s=`https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/${o}/${n}/${e}`,h.ImageryProvider.loadImage(this,s)}catch{return}}buildImageUrl(e,n,o,r){return`https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/${e}/${r}/${o}/${n}`}}const TT=document.createElement("canvas");class _u{constructor(i){v(this,"mapboxRenderer");v(this,"ready");v(this,"readyPromise");v(this,"rectangle");v(this,"tileSize");v(this,"tileWidth");v(this,"tileHeight");v(this,"maximumLevel");v(this,"minimumLevel");v(this,"tileDiscardPolicy");v(this,"credit");v(this,"proxy");v(this,"layerStyle");v(this,"hasAlphaChannel");v(this,"sourceFilter");v(this,"tilingScheme");v(this,"_destroyed",!1);v(this,"_error");v(this,"_style");v(this,"_accessToken");v(this,"_enablePickFeatures");this.ready=!1,this.tilingScheme=i.tilingScheme??new _e.WebMercatorTilingScheme,this.rectangle=i.rectangle??this.tilingScheme.rectangle,this.rectangle=_e.Rectangle.intersection(this.rectangle,this.tilingScheme.rectangle),this.tileSize=this.tileWidth=this.tileHeight=i.tileSize||256,this.maximumLevel=i.maximumLevel??18,this.minimumLevel=i.minimumLevel??0,this.tileDiscardPolicy=void 0,this._error=new _e.Event,this.credit=new _e.Credit(i.credit||"",!1),this.proxy=new _e.DefaultProxy(""),this.hasAlphaChannel=i.hasAlphaChannel??!0,this.sourceFilter=i.sourceFilter,this._accessToken=i.accessToken,this._enablePickFeatures=i.enablePickFeatures??!0,this.layerStyle=i.layerStyle??[],_e.defined(i.style)&&(this.readyPromise=this._build(i.style,i).then(()=>!0))}get style(){return this._style}get isDestroyed(){return this._destroyed}get errorEvent(){return this._error}async _build(i,e={}){const n=await this._preLoad(i,e.scheme??"tms");n.layers=this.layerStyle.length!=0?this.layerStyle:n.layers,this._style=n,this.mapboxRenderer=new $_.BasicRenderer({style:n,canvas:TT,token:e.accessToken,transformRequest:e.transformRequest}),e.showCanvas&&this.mapboxRenderer.showCanvasForDebug(),await this.mapboxRenderer._style.loadedPromise,this.readyPromise=Promise.resolve(!0),this.ready=!0}static async fromUrl(i,e={}){const n=new _u(e);return await n._build(i,e),n}_preLoad(i,e){let n=i;if(typeof i=="string"&&(i.endsWith(".json")||i.startsWith("mapbox://")?i=new _e.Resource({url:i}):(i={version:8,sources:{customSource:{type:"vector",scheme:e,tiles:[i]}},layers:this.layerStyle},n=i)),i instanceof _e.Resource){const o="https://api.mapbox.com/";i.url.startsWith("mapbox://")&&(i.url=i.url.replace("mapbox://",o)),this._accessToken&&i.appendQueryParameters({access_token:this._accessToken}),n=i.fetchJson()}return Promise.resolve(n).catch(o=>{throw this._error.raiseEvent(o),o})}_createTile(){const i=document.createElement("canvas");return i.width=this.tileSize,i.height=this.tileSize,i.style.imageRendering="pixelated",i}_resetTileCache(){Object.values(this.mapboxRenderer._style.sourceCaches).forEach(i=>i._tileCache.reset())}_getTilesSpec(i,e){const{x:n,y:o,level:r}=i,s=this.tileSize,a=[],c=this.tilingScheme.getNumberOfXTilesAtLevel(r)-1,d=this.tilingScheme.getNumberOfYTilesAtLevel(r)-1;for(let u=-1;u<=1;u++){let p=n+u;p<0&&(p=c),p>c&&(p=0);for(let f=-1;f<=1;f++){let g=o+f;g<0||g>d||a.push({source:e,z:r,x:p,y:g,left:0+u*s,top:0+f*s,size:s})}}return a}requestImage(i,e,n,o=!0){if(n<this.minimumLevel||n>this.maximumLevel)return;this.mapboxRenderer.filterForZoom(n);const r=this.mapboxRenderer.getVisibleSources(n).reduce((s,a)=>s.concat(this._getTilesSpec({x:i,y:e,level:n},a)),[]);return new Promise((s,a)=>{const c=this._createTile(),d=c.getContext("2d");d&&(d.globalCompositeOperation="copy");const u=this.mapboxRenderer.renderTiles(d,{srcLeft:0,srcTop:0,width:this.tileSize,height:this.tileSize,destLeft:0,destTop:0},r,p=>{typeof p=="string"&&!p.endsWith("tiles not available")?a(void 0):o?(u.consumer.ctx=null,s(c),this.mapboxRenderer.releaseRender(u),this._resetTileCache()):s(u)})})}pickFeatures(i,e,n,o,r){var s;if(this._enablePickFeatures)return(s=this.requestImage(i,e,n,!1))==null?void 0:s.then(a=>{let c=this.mapboxRenderer.getVisibleSources(n);c=this.sourceFilter?this.sourceFilter(c):c;const d=[],u=_e.Math.toDegrees(o),p=_e.Math.toDegrees(r);return c.forEach(f=>{const g=new _e.ImageryLayerFeatureInfo;g.data=this.mapboxRenderer.queryRenderedFeatures({source:f,renderedZoom:n,lng:u,lat:p,tileZ:n});const m=Object.keys(g.data)[0];g.name=m;const y=g.data[m];y&&(g.configureDescriptionFromProperties((y==null?void 0:y.length)===1?y[0]:y),d.push(g))}),a.consumer.ctx=void 0,this.mapboxRenderer.releaseRender(a),this._resetTileCache(),d.length?d:void 0})}destroy(){this.mapboxRenderer._cancelAllPendingRenders(),this._resetTileCache(),this._destroyed=!0}}function MT(t,i){let e;return i===0?e=h.JulianDate.toIso8601(t.stop):e=h.JulianDate.toIso8601(t.start),{Time:e}}function ky(t){if(t.type==="fromIso8601")return h.TimeIntervalCollection.fromIso8601({iso8601:t.iso8601,isStartIncluded:t.isStartIncluded,isStopIncluded:t.isStopIncluded,leadingInterval:t.leadingInterval,trailingInterval:t.trailingInterval,dataCallback:MT})}const{getStrFromEnv:eh}=w.ESSceneObject.context;function IT(t){const i=Object.entries(t).map(([e,n])=>{try{const o=n&&Function(`"use strict";return (${n})`)();return[e,o]}catch(o){console.error(`getCustomTagsFromJson error: ${o}`,o);return}}).filter(e=>!!e);return Object.fromEntries(i)}async function DT(t,i){var e,n;if(t.type==="WebMapTileServiceImageryProvider")return new h.WebMapTileServiceImageryProvider({url:Wt(t.url),format:t.format??"image/jpeg",layer:t.layer,style:t.style,tileMatrixSetID:t.tileMatrixSetID,tileMatrixLabels:t.tileMatrixLabels,clock:t.times&&((e=i.viewer)==null?void 0:e.clock),times:t.times&&ky(t.times),dimensions:t.dimensions,tileWidth:t.tileWidth??256,tileHeight:t.tileHeight??256,tilingScheme:t.tilingScheme&&gi(t.tilingScheme),rectangle:t.rectangle&&Ge(t.rectangle),minimumLevel:t.minimumLevel??0,maximumLevel:t.maximumLevel,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),credit:t.credit,subdomains:t.subdomains});if(t.type==="TileMapServiceImageryProvider")return t.url?await h.TileMapServiceImageryProvider.fromUrl(Wt(t.url),{fileExtension:t.fileExtension,credit:t.credit,minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),tileWidth:t.tileWidth,tileHeight:t.tileHeight,flipXY:t.flipXY}):void 0;if(t.type==="UrlTemplateImageryProvider"){const o=t.customTags&&IT(t.customTags);return console.log(Wt(t.url),"111"),new h.UrlTemplateImageryProvider({url:Wt(t.url),credit:t.credit,minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),tileWidth:t.tileWidth,tileHeight:t.tileHeight,subdomains:t.subdomains,hasAlphaChannel:t.hasAlphaChannel,pickFeaturesUrl:t.pickFeaturesUrl,enablePickFeatures:t.enablePickFeatures,urlSchemeZeroPadding:t.urlSchemeZeroPadding,customTags:o})}else{if(t.type==="GridImageryProvider")return new h.GridImageryProvider({tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),tileWidth:t.tileWidth,tileHeight:t.tileHeight,cells:t.cells,color:t.color&&ie(t.color),glowColor:t.glowColor&&ie(t.glowColor),backgroundColor:t.backgroundColor&&ie(t.backgroundColor),canvasSize:t.canvasSize,glowWidth:t.glowWidth});if(t.type==="ArcGisMapServerImageryProvider")return t.url?await h.ArcGisMapServerImageryProvider.fromUrl(Wt(t.url),{token:t.token,usePreCachedTilesIfAvailable:t.usePreCachedTilesIfAvailable,layers:t.layers,enablePickFeatures:t.enablePickFeatures,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),credit:t.credit,tileWidth:t.tileWidth,tileHeight:t.tileHeight,maximumLevel:t.maximumLevel}):void 0;if(t.type==="BingMapsImageryProvider")return t.url?await h.BingMapsImageryProvider.fromUrl(Wt(t.url),{key:t.key,tileProtocol:t.tileProtocol,mapStyle:t.mapStyle&&h.BingMapsStyle[t.mapStyle],culture:t.culture,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid)}):void 0;if(t.type==="GoogleEarthEnterpriseImageryProvider"){if(!t.url)return;const o=await h.GoogleEarthEnterpriseMetadata.fromUrl(Wt(t.url));return await h.GoogleEarthEnterpriseImageryProvider.fromMetadata(o,{ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),credit:t.credit})}else{if(t.type==="IonImageryProvider")return await h.IonImageryProvider.fromAssetId(t.assetId,{accessToken:t.accessToken,server:t.server});if(t.type==="MapboxImageryProvider")return new h.MapboxImageryProvider({url:t.url&&eh(t.url),mapId:t.mapId,accessToken:t.accessToken,format:t.format,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit});if(t.type==="MapboxStyleImageryProvider")return new h.MapboxStyleImageryProvider({url:t.url&&eh(t.url),username:t.username,styleId:t.styleId,accessToken:t.accessToken,tilesize:t.tilesize,scaleFactor:t.scaleFactor,rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel});if(t.type==="OpenStreetMapImageryProvider")return new h.OpenStreetMapImageryProvider({url:eh(t.url),rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,fileExtension:t.fileExtension});if(t.type==="SingleTileImageryProvider")return new h.SingleTileImageryProvider({url:Wt(t.url),rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid)});if(t.type==="TileCoordinatesImageryProvider")return new h.TileCoordinatesImageryProvider({tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),color:t.color&&ie(t.color),tileWidth:t.tileWidth,tileHeight:t.tileHeight});if(t.type==="WebMapServiceImageryProvider")return new h.WebMapServiceImageryProvider({url:Wt(t.url),layers:t.layers,enablePickFeatures:t.enablePickFeatures,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,tileWidth:t.tileWidth,tileHeight:t.tileHeight,crs:t.crs,srs:t.srs,credit:t.credit,subdomains:t.subdomains,clock:t.times&&((n=i.viewer)==null?void 0:n.clock),times:t.times&&ky(t.times),parameters:t.parameters,getFeatureInfoParameters:t.getFeatureInfoParameters});if(t.type==="BDImageryProvider")return new jc({url:t.url&&eh(t.url),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),wgs84:t.wgs84});if(t.type==="GeHistoryImagery")return new ET({indexTime:t.indexTime});if(t.type==="ArcgisHistoryImagery")return new AT({indexTimeID:t.indexTimeID});if(t.type==="MVTImageryProvider")return t.url?await _u.fromUrl(t.url,{maximumLevel:t.maximumLevel,minimumLevel:t.minimumLevel,tileSize:t.tileSize,accessToken:t.accessToken,enablePickFeatures:t.enablePickFeatures,rectangle:t.rectangle&&Ge(t.rectangle),layerStyle:t.style,scheme:t.scheme}):void 0}}}function bT(t,i){i.type}class zy extends h.WebMercatorTilingScheme{constructor(i){super(i);var e=this._projection;e.s_project=e.project,e.project=function(r){var s={};return s=wu(h.Math.toDegrees(r.longitude),h.Math.toDegrees(r.latitude)),e.s_project(new h.Cartographic(h.Math.toRadians(s[0]),h.Math.toRadians(s[1])))},e.s_unproject=e.unproject,e.unproject=function(r){var s=e.s_unproject(r),a={};return a=yu(h.Math.toDegrees(s.longitude),h.Math.toDegrees(s.latitude)),new h.Cartographic(h.Math.toRadians(a[0]),h.Math.toRadians(a[1]))};var n=this._projection.unproject(this._rectangleSouthwestInMeters),o=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new h.Rectangle(n.longitude,n.latitude,o.longitude,o.latitude)}}class Ly extends h.WebMercatorTilingScheme{constructor(i){super(i);var e=this._projection;e.s_project=e.project,e.project=function(n){var o={};return o=yu(h.Math.toDegrees(n.longitude),h.Math.toDegrees(n.latitude)),e.s_project(new h.Cartographic(h.Math.toRadians(o[0]),h.Math.toRadians(o[1])))},e.s_unproject=e.unproject,e.unproject=function(n){var o=e.s_unproject(n),r={};return r=wu(h.Math.toDegrees(o.longitude),h.Math.toDegrees(o.latitude)),new h.Cartographic(h.Math.toRadians(r[0]),h.Math.toRadians(r[1]))}}}function RT(t){if(t.type==="GeographicTilingScheme")return"new Cesium.GeographicTilingScheme()";if(t.type==="WebMercatorTilingScheme")return"new Cesium.WebMercatorTilingScheme()"}class xn extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_innerImageryProvider",this.disposeVar(l.react(void 0)));v(this,"_layer",this.disposeVar(l.react(void 0)));const o=e.viewer;if(!o)return;const r=Yt(o);if(!r)return;const{imageriesManager:s}=r;s.add(this),this.dispose(()=>s.delete(this));const a=()=>{this.layer&&(this.layer=void 0)};this.dispose(a);const c=()=>{this.layer&&(this.layer.alpha=this.alpha??1,this.layer.nightAlpha=this.nightAlpha??1,this.layer.dayAlpha=this.dayAlpha??1,this.layer.brightness=this.brightness??1,this.layer.contrast=this.contrast??1,this.layer.hue=this.hue??0,this.layer.saturation=this.saturation??1,this.layer.gamma=this.gamma??1,this.layer.splitDirection=this.splitDirection&&h.SplitDirection[this.splitDirection]||h.SplitDirection.NONE,this.layer.minificationFilter=this.minificationFilter&&h.TextureMinificationFilter[this.minificationFilter]||h.TextureMinificationFilter.LINEAR,this.layer.magnificationFilter=this.magnificationFilter&&h.TextureMagnificationFilter[this.magnificationFilter]||h.TextureMagnificationFilter.LINEAR,this.layer.show=this.show??!0,this.layer.maximumAnisotropy=this.maximumAnisotropy,this.layer.minimumTerrainLevel=this.minimumTerrainLevel,this.layer.maximumTerrainLevel=this.maximumTerrainLevel,this.layer.colorToAlpha=this.colorToAlpha&&toColor(this.colorToAlpha),this.layer.colorToAlphaThreshold=this.colorToAlphaThreshold??.004,this.imageryProvider&&bT(this.layer.imageryProvider,this.imageryProvider))};let d=!1;const u=this.disposeVar(l.createProcessingFromAsyncFunc(async(y,P)=>{if(P){if(d=!0,a(),!this.innerImageryProvider)return;const S=await y.promise(DT(this.innerImageryProvider,e));if(!S){console.error("createImageryProviderFromJson error!");return}this.layer=new h.ImageryLayer(S),h.ImageryLayer.prototype&&(this.layer.ESSceneObjectID=n),d=!1}c()}));u.restart(void 0,!0);const p=this.disposeVar(new l.Event),f=this.disposeVar(new l.Event);this.ad(this.layerChanged.don(()=>{if(!this.innerImageryProvider||!this.layer||!Reflect.has(this.innerImageryProvider,"rectangle")||this.innerImageryProvider.rectangle[0]!=this.imageryProvider.rectangle[0]||this.innerImageryProvider.rectangle[1]!=this.imageryProvider.rectangle[1]||this.innerImageryProvider.rectangle[2]!=this.imageryProvider.rectangle[2]||this.innerImageryProvider.rectangle[3]!=this.imageryProvider.rectangle[3])return;const y=this.layer.imageryProvider.tilingScheme.rectangle,P=this.innerImageryProvider.rectangle&&Ge(this.innerImageryProvider.rectangle);(P.west<y.west||P.south<y.south||P.east>y.east||P.north>y.north)&&(this.innerImageryProvider.rectangle=[h.Math.toDegrees(Math.max(y.west,P.west)),h.Math.toDegrees(Math.max(y.south,P.south)),h.Math.toDegrees(Math.min(y.east,P.east)),h.Math.toDegrees(Math.min(y.north,P.north))],p.emit())})),this.dispose(this.imageryProviderChanged.disposableOn(()=>{this.innerImageryProvider=structuredClone(this.imageryProvider),p.emit()})),this.dispose(w.ESSceneObject.context.environmentVariablesChanged.disposableOn(()=>{p.emit()}));const g=this.disposeVar(l.createNextAnimateFrameEvent(this.rectangleChanged,p));this.dispose(g.disposableOn(()=>{u.restart(void 0,!0)}));const m=this.disposeVar(l.createNextAnimateFrameEvent(this.alphaChanged,this.nightAlphaChanged,this.dayAlphaChanged,this.brightnessChanged,this.contrastChanged,this.hueChanged,this.saturationChanged,this.gammaChanged,this.splitDirectionChanged,this.minificationFilterChanged,this.magnificationFilterChanged,this.showChanged,this.maximumAnisotropyChanged,this.minimumTerrainLevelChanged,this.maximumTerrainLevelChanged,this.cutoutRectangleChanged,this.colorToAlphaChanged,this.colorToAlphaThresholdChanged,f));this.dispose(m.disposableOn(()=>{d||u.restart(void 0,!1)})),this.dispose(this.flyToEvent.disposableOn(y=>{if(!e.actived)return;const{viewer:P}=e;P&&P.camera.flyTo({destination:this.rectangle&&!pd(this.rectangle)?Ge(this.rectangle):h.Camera.DEFAULT_VIEW_RECTANGLE,duration:y})}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get innerImageryProvider(){return this._innerImageryProvider.value}set innerImageryProvider(e){this._innerImageryProvider.value=e}get innerImageryProviderChanged(){return this._innerImageryProvider.changed}get layer(){return this._layer.value}set layer(e){this._layer.value=e}get layerChanged(){return this._layer.changed}}v(xn,"defaults",{show:!0,rectangle:[-180,-90,180,90],alpha:1,nightAlpha:1,dayAlpha:1,brightness:1,contrast:1,hue:0,saturation:1,gamma:1,splitDirection:"NONE",minificationFilter:"LINEAR",magnificationFilter:"LINEAR",maximumAnisotropy:0,minimumTerrainLevel:0,maximumTerrainLevel:0,cutoutRectangle:[1,1,1,1],colorToAlpha:[1,1,1,.5],colorToAlphaThreshold:.004,imageryProvider:{type:"TileMapServiceImageryProvider"},zIndex:0,hasAlphaChannel:!0,pickFeaturesUrl:""}),(t=>{t.createDefaultProps=()=>({show:void 0,rectangle:l.reactArrayWithUndefined(void 0),alpha:void 0,nightAlpha:void 0,dayAlpha:void 0,brightness:void 0,contrast:void 0,hue:void 0,saturation:void 0,gamma:void 0,splitDirection:void 0,minificationFilter:void 0,magnificationFilter:void 0,maximumAnisotropy:void 0,minimumTerrainLevel:void 0,maximumTerrainLevel:void 0,cutoutRectangle:l.reactArrayWithUndefined(void 0),colorToAlpha:l.reactArrayWithUndefined(void 0),colorToAlphaThreshold:void 0,imageryProvider:l.reactJsonWithUndefined(void 0),zIndex:0,hasAlphaChannel:void 0,pickFeaturesUrl:void 0})})(xn||(xn={})),l.extendClassProps(xn.prototype,xn.createDefaultProps);const Pu=h.ApproximateTerrainHeights,xT=h.ComponentDatatype,Ai=h.defaultValue,ht=h.defined,FT=h.destroyObject,Su=h.DeveloperError,kT=h.deprecationWarning,zT=h.GeometryInstance,LT=h.GeometryInstanceAttribute,OT=h.GroundPolylineGeometry,bs=h.DrawCommand,Oy=h.Pass,Ny=h.RenderState,NT=h.ShaderProgram,Rs=h.ShaderSource;let Eu=h._shadersPolylineShadowVolumeFS;const VT=h._shadersPolylineShadowVolumeMorphFS,UT=h._shadersPolylineShadowVolumeMorphVS;let Au=h._shadersPolylineShadowVolumeVS;const Vy=h.BlendingState,Tu=h.ClassificationType,WT=h.CullFace,Uy=h.PolylineColorAppearance,GT=h.PolylineMaterialAppearance,Fn=h.Primitive,_r=h.SceneMode,Wy=h.StencilConstants,Gy=h.StencilFunction,Pr=h.StencilOperation;Au=Au.replace("width = width * max(0.0, czm_metersPerPixel(positionEC));",""),Eu=Eu.replace("float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w * czm_metersPerPixel(eyeCoordinate);","float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w;");function Ti(t){t=Ai(t,Ai.EMPTY_OBJECT),this.geometryInstances=t.geometryInstances,this._hasPerInstanceColors=!0;let i=t.appearance;ht(i)||(i=new GT),this.appearance=i,this.show=Ai(t.show,!0),this.classificationType=Ai(t.classificationType,Tu.BOTH),this.debugShowBoundingVolume=Ai(t.debugShowBoundingVolume,!1),this._debugShowShadowVolume=Ai(t.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:Ai(t.interleave,!1),releaseGeometryInstances:Ai(t.releaseGeometryInstances,!0),allowPicking:Ai(t.allowPicking,!0),asynchronous:Ai(t.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1;const e=this;this._readyPromise=new Promise((n,o)=>{e._completeLoad=()=>{this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);const r=this._error;ht(r)?o(r):n(this)}}),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=Hy(!1),this._renderState3DTiles=Hy(!0),this._renderStateMorph=Ny.fromCache({cull:{enabled:!0,face:WT.FRONT},depthTest:{enabled:!0},blending:Vy.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(Ti.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return kT("GroundPolylinePrimitive.readyPromise","GroundPolylinePrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for GroundPolylinePrimitive.ready to return true instead."),this._readyPromise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}}),Ti.initializeTerrainHeights=function(){return Pu.initialize()};function HT(t,i,e){const n=i.context,o=t._primitive,r=o._attributeLocations;let s=o._batchTable.getVertexShaderCallback()(Au);s=Fn._appendShowToShader(o,s),s=Fn._appendDistanceDisplayConditionToShader(o,s),s=Fn._modifyShaderPosition(t,s,i.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(UT);a=Fn._appendShowToShader(o,a),a=Fn._appendDistanceDisplayConditionToShader(o,a),a=Fn._modifyShaderPosition(t,a,i.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(Eu);const d=[`GLOBE_MINIMUM_ALTITUDE ${i.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`];let u="",p="";ht(e.material)?(p=ht(e.material)?e.material.shaderSource:"",p.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&d.push("ANGLE_VARYING"),p.search(/in\s+float\s+v_width;/g)!==-1&&d.push("WIDTH_VARYING")):u="PER_INSTANCE_COLOR",d.push(u);const f=t.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",u]:[u],g=new Rs({defines:d,sources:[s]}),m=new Rs({defines:f,sources:[p,c]});t._sp=NT.replaceCache({context:n,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let y=n.shaderCache.getDerivedShaderProgram(t._sp,"2dColor");if(!ht(y)){const S=new Rs({defines:d.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});y=n.shaderCache.createDerivedShaderProgram(t._sp,"2dColor",{context:n,shaderProgram:t._sp2D,vertexShaderSource:S,fragmentShaderSource:m,attributeLocations:r})}t._sp2D=y;let P=n.shaderCache.getDerivedShaderProgram(t._sp,"MorphColor");if(!ht(P)){const S=new Rs({defines:d.concat([`MAX_TERRAIN_HEIGHT ${Pu._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(VT);const C=new Rs({defines:f,sources:[p,c]});P=n.shaderCache.createDerivedShaderProgram(t._sp,"MorphColor",{context:n,shaderProgram:t._spMorph,vertexShaderSource:S,fragmentShaderSource:C,attributeLocations:r})}t._spMorph=P}function Hy(t){return Ny.fromCache({cull:{enabled:!0},blending:Vy.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:t,frontFunction:Gy.EQUAL,frontOperation:{fail:Pr.KEEP,zFail:Pr.KEEP,zPass:Pr.KEEP},backFunction:Gy.EQUAL,backOperation:{fail:Pr.KEEP,zFail:Pr.KEEP,zPass:Pr.KEEP},reference:Wy.CESIUM_3D_TILE_MASK,mask:Wy.CESIUM_3D_TILE_MASK}})}function qT(t,i,e,n,o,r){const s=t._primitive,a=s._va.length;o.length=a,r.length=a;const d=i instanceof Uy?{}:e._uniforms,u=s._batchTable.getUniformMapCallback()(d);for(let p=0;p<a;p++){const f=s._va[p];let g=o[p];ht(g)||(g=o[p]=new bs({owner:t,primitiveType:s._primitiveType})),g.vertexArray=f,g.renderState=t._renderState,g.shaderProgram=t._sp,g.uniformMap=u,g.pass=Oy.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";const m=bs.shallowClone(g,g.derivedCommands.tileset);m.renderState=t._renderState3DTiles,m.pass=Oy.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;const y=bs.shallowClone(g,g.derivedCommands.color2D);y.shaderProgram=t._sp2D,g.derivedCommands.color2D=y;const P=bs.shallowClone(m,m.derivedCommands.color2D);P.shaderProgram=t._sp2D,m.derivedCommands.color2D=P;const S=bs.shallowClone(g,g.derivedCommands.colorMorph);S.renderState=t._renderStateMorph,S.shaderProgram=t._spMorph,S.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=S}}function qy(t,i,e,n,o,r,s){e.mode===_r.MORPHING?i=i.derivedCommands.colorMorph:e.mode!==_r.SCENE3D&&(i=i.derivedCommands.color2D),i.modelMatrix=n,i.boundingVolume=r,i.cull=o,i.debugShowBoundingVolume=s,e.commandList.push(i)}function $T(t,i,e,n,o,r,s){const a=t._primitive;Fn._updateBoundingVolumes(a,i,o);let c;i.mode===_r.SCENE3D?c=a._boundingSphereWC:i.mode===_r.COLUMBUS_VIEW?c=a._boundingSphereCV:i.mode===_r.SCENE2D&&ht(a._boundingSphere2D)?c=a._boundingSphere2D:ht(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);const d=i.mode===_r.MORPHING,u=t.classificationType,p=u!==Tu.CESIUM_3D_TILE,f=u!==Tu.TERRAIN&&!d;let g;const m=i.passes;if(m.render||m.pick&&a.allowPicking){const y=e.length;for(let P=0;P<y;++P){const S=c[P];p&&(g=e[P],qy(t,g,i,o,r,S,s)),f&&(g=e[P].derivedCommands.tileset,qy(t,g,i,o,r,S,s))}}}Ti.prototype.update=function(t){if(!ht(this._primitive)&&!ht(this.geometryInstances))return;if(!Pu.initialized){if(!this.asynchronous)throw new Su("For synchronous GroundPolylinePrimitives, you must call GroundPolylinePrimitives.initializeTerrainHeights() and wait for the returned promise to resolve.");Ti.initializeTerrainHeights();return}let i;const e=this,n=this._primitiveOptions;if(!ht(this._primitive)){const o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r);let a;for(i=0;i<r;++i)if(a=o[i].attributes,!ht(a)||!ht(a.color)){this._hasPerInstanceColors=!1;break}for(i=0;i<r;++i){const c=o[i];a={};const d=c.attributes;for(const u in d)d.hasOwnProperty(u)&&(a[u]=d[u]);ht(a.width)||(a.width=new LT({componentDatatype:xT.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=t.scene3DOnly,OT.setProjectionAndEllipsoid(c.geometry,t.mapProjection),s[i]=new zT({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:e})}n.geometryInstances=s,n.appearance=this.appearance,n._createShaderProgramFunction=function(c,d,u){HT(e,d,u)},n._createCommandsFunction=function(c,d,u,p,f,g,m){qT(e,d,u,p,g,m)},n._updateAndQueueCommandsFunction=function(c,d,u,p,f,g,m,y){$T(e,d,u,p,f,g,m)},this._primitive=new Fn(n)}if(this.appearance instanceof Uy&&!this._hasPerInstanceColors)throw new Su("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(t),t.afterRender.push(()=>{!this._ready&&ht(this._primitive)&&this._primitive.ready&&this._completeLoad()})},Ti.prototype.getGeometryInstanceAttributes=function(t){if(!ht(this._primitive))throw new Su("must call update before calling getGeometryInstanceAttributes");return this._primitive.getGeometryInstanceAttributes(t)},Ti.isSupported=function(t){return t.frameState.context.depthTexture},Ti.prototype.isDestroyed=function(){return!1},Ti.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,FT(this)};class vo extends l.Destroyable{constructor(i){super();const e=i.viewer;if(!e){console.warn("viewer is undefined!");return}const n=e.scene.globe,o=-414,r=8777;let s={};const a=()=>{var p,f,g,m,y;if(!e)return;let d;const u=this.shadingMode||"none";if((this.show??!0)&&!(u==="none"&&!this.enableContour)){let P;this.enableContour?(u==="elevation"?(d=XT(),P=d.materials.elevationRampMaterial.uniforms,P.minimumHeight=((p=this.elevationParam)==null?void 0:p.minHeight)??o,P.maximumHeight=((f=this.elevationParam)==null?void 0:f.maxHeight)??r,s=d.materials.contourMaterial.uniforms):u==="slope"?(d=YT(),P=d.materials.slopeRampMaterial.uniforms,s=d.materials.contourMaterial.uniforms):u==="aspect"?(d=ZT(),P=d.materials.aspectRampMaterial.uniforms,s=d.materials.contourMaterial.uniforms):(d=h.Material.fromType("ElevationContour"),s=d.uniforms),s.width=this.contourWidth,s.spacing=this.contourSpacing,s.color=h.Color.fromCartesian4(h.Cartesian4.fromArray(this.contourColor))):u==="elevation"?(d=h.Material.fromType("ElevationRamp"),P=d.uniforms,P.minimumHeight=((g=this.elevationParam)==null?void 0:g.minHeight)??o,P.maximumHeight=((m=this.elevationParam)==null?void 0:m.maxHeight)??r):u==="slope"?(d=h.Material.fromType("SlopeRamp"),P=d.uniforms):u==="aspect"&&(d=h.Material.fromType("AspectRamp"),P=d.uniforms),u!=="none"&&(P.image=$y(u),u==="elevation"&&((y=this.elevationParam)==null?void 0:y.color)!==void 0&&(P.image=Array.isArray(this.elevationParam.color)?$y(u,this.elevationParam.color):this.elevationParam.color))}n.material=d};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(this.contourColorChanged,this.contourSpacingChanged,this.contourWidthChanged,this.enableContourChanged,this.shadingModeChanged,this.showChanged,this.elevationParamChanged));this.dispose(c.disposableOn(a)),this.dispose(()=>n.material=void 0)}}v(vo,"defaults",{show:!1,enableContour:!1,contourSpacing:150,contourWidth:2,contourColor:[1,0,0,1],shadingMode:"none"}),(t=>{t.createDefaultProps=()=>({show:void 0,shadingMode:void 0,enableContour:!1,contourSpacing:150,contourWidth:2,contourColor:[1,0,0,1],elevationParam:l.reactJsonWithUndefined(void 0)})})(vo||(vo={})),l.extendClassProps(vo.prototype,vo.createDefaultProps);function XT(){return new h.Material({fabric:{type:"ElevationColorContour",materials:{contourMaterial:{type:"ElevationContour"},elevationRampMaterial:{type:"ElevationRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, elevationRampMaterial.alpha)"}},translucent:!1})}function YT(){return new h.Material({fabric:{type:"SlopeColorContour",materials:{contourMaterial:{type:"ElevationContour"},slopeRampMaterial:{type:"SlopeRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, slopeRampMaterial.alpha)"}},translucent:!1})}function ZT(){return new h.Material({fabric:{type:"AspectColorContour",materials:{contourMaterial:{type:"ElevationContour"},aspectRampMaterial:{type:"AspectRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, aspectRampMaterial.alpha)"}},translucent:!1})}const QT=[0,.045,.1,.15,.37,.54,1],KT=[0,.29,.5,Math.sqrt(2)/2,.87,.91,1],JT=[0,.2,.4,.6,.8,.9,1];function $y(t,i){const e=document.createElement("canvas");e.width=100,e.height=1;const n=e.getContext("2d");let o;if(t==="elevation")o=QT;else if(t==="slope")o=KT;else if(t==="aspect")o=JT;else throw new Error("values未赋值!");const r=n.createLinearGradient(0,0,100,0);return r.addColorStop(o[0],i!=null&&i[0]?mn(i==null?void 0:i[0]):"#000000"),r.addColorStop(o[1],i!=null&&i[1]?mn(i==null?void 0:i[1]):"#2747E0"),r.addColorStop(o[2],i!=null&&i[2]?mn(i==null?void 0:i[2]):"#D33B7D"),r.addColorStop(o[3],i!=null&&i[3]?mn(i==null?void 0:i[3]):"#D33038"),r.addColorStop(o[4],i!=null&&i[4]?mn(i==null?void 0:i[4]):"#FF9742"),r.addColorStop(o[5],i!=null&&i[5]?mn(i==null?void 0:i[5]):"#ffd700"),r.addColorStop(o[6],i!=null&&i[6]?mn(i==null?void 0:i[6]):"#ffffff"),n.fillStyle=r,n.fillRect(0,0,100,1),e}class Sr extends l.Destroyable{constructor(e){super();v(this,"_geoPath");v(this,"_geoPolyline");v(this,"_geoCanvasPointPoi");v(this,"_player");v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_currentDistance",this.disposeVar(l.react(0)));v(this,"_ratio",this.disposeVar(w.PlayerProperty.createPlayingRatio([this,"currentTime"],[this,"duration"])));this._geoPath=this.disposeVar(new w.ESPathImpl),this._geoPolyline=this.disposeVar(new Ie(e)),this._geoCanvasPointPoi=this.disposeVar(new yn(e)),this._player=this.disposeVar(new w.Player),this._geoPolyline.show=!1,this.dispose(l.bind([this._geoPolyline,"positions"],[this,"positions"])),this.dispose(l.track([this._geoPath,"currentTime"],[this,"currentDistance"])),this.dispose(l.track([this._geoPath,"leadTime"],[this,"leadTime"])),this.dispose(l.track([this._geoPath,"trailTime"],[this,"trailTime"])),this.dispose(l.track([this._geoPath,"show"],[this,"show"])),this.dispose(l.track([this._geoPath,"polylineShow"],[this,"polylineShow"])),this.dispose(l.track([this._geoPath,"currentPoiShow"],[this,"currentPoiShow"])),this.dispose(l.track([this._geoPath,"width"],[this,"width"])),this.dispose(l.track([this._geoPath,"ground"],[this,"ground"])),this.dispose(l.track([this._geoPath,"color"],[this,"color"])),this.dispose(l.track([this._geoPath,"hasDash"],[this,"hasDash"])),this.dispose(l.track([this._geoPath,"gapColor"],[this,"gapColor"])),this.dispose(l.track([this._geoPath,"dashLength"],[this,"dashLength"])),this.dispose(l.track([this._geoPath,"dashPattern"],[this,"dashPattern"])),this.dispose(l.track([this._geoPath,"hasArrow"],[this,"hasArrow"])),this.dispose(l.track([this._geoPath,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._geoPath,"arcType"],[this,"arcType"])),this.dispose(l.track([this._geoPath,"allowPicking"],[this,"allowPicking"]));{const n=()=>{this._geoCanvasPointPoi.show=(this.show??!0)&&(this.currentPoiShow??!0)};n(),this.dispose(this.showChanged.disposableOn(n)),this.dispose(this.currentPoiShowChanged.disposableOn(n))}this.dispose(l.track([this._geoCanvasPointPoi,"position"],[this,"currentPosition"]));{const n=()=>{if(this.positions){const r=this.granularity*Math.PI/180,s=sd(this.positions,this.arcType??"GEODESIC",r);if(s){this._geoPath.timePosRots=s.timePosRots,this.rotationRadius.some(a=>a>0)?(this._geoPath.addAroundPoints(this.rotationRadius,!0),this._geoPath.computeRotIfUndefinedUsingLerp(!0),this._geoPath.rotLerpMode="Lerp"):(this._geoPath.computeRotIfUndefinedUsingPrevLine(!0),this._geoPath.rotLerpMode=this.rotLerpMode);return}}this._geoPath.timePosRots=[]};n();const o=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.granularityChanged,this.rotationRadiusChanged,this.rotLerpModeChanged));this.dispose(o.disposableOn(n))}{const n=()=>{if((this._player.duration??3e3)<=0){this.currentDistance=0;return}const o=this.totalDistance*((this._player.currentTime??0)/(this._player.duration??3e3));Math.abs(o-this.currentDistance)>.01&&(this.currentDistance=o)};n(),this.dispose(this._player.currentTimeChanged.disposableOn(n))}{const n=()=>{if(this.totalDistance<=0){this._player.currentTime=0;return}const o=this.currentDistance/this.totalDistance*(this.duration??3e3);Math.abs(o-(this._player.currentTime??0))>.01&&(this._player.currentTime=o)};n(),this.dispose(this.currentDistanceChanged.disposableOn(n))}this.dispose(l.bind([this._player,"loop"],[this,"loop"])),this.dispose(l.bind([this._player,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._player,"duration"],[this,"duration"])),this.dispose(l.bind([this._player,"playing"],[this,"playing"])),this.dispose(l.bind([this._player,"speed"],[this,"speed"])),this.dispose(this._flyToEvent.disposableOn(n=>{this._geoPolyline.flyTo(n)}))}get geoPath(){return this._geoPath}get geoPolyline(){return this._geoPolyline}get geoCanvasPointPoi(){return this._geoCanvasPointPoi}get player(){return this._player}get currentInfo(){return this._geoPath.currentInfo}get currentInfoChanged(){return this._geoPath.currentInfoChanged}get currentIndex(){return this._geoPath.currentIndex}get currentIndexChanged(){return this._geoPath.currentIndexChanged}get currentPosition(){return this._geoPath.currentPosition}get currentPositionChanged(){return this._geoPath.currentPositionChanged}get currentRotation(){return this._geoPath.currentRotation}get currentRotationChanged(){return this._geoPath.currentRotationChanged}get accumDistances(){return this._geoPath.accumDistances}get accumDistancesChanged(){return this._geoPath.accumDistancesChanged}get totalDistance(){return this._geoPath.totalDistance}get totalDistanceChanged(){return this._geoPath.totalDistanceChanged}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}subPath(e,n){const o=this._geoPath.subPath(e,n);if(o)return o.map(r=>r[1])}get currentDistance(){return this._currentDistance.value}set currentDistance(e){this._currentDistance.value=e}get currentDistanceChanged(){return this._currentDistance.changed}get ratio(){return this._ratio.value}set ratio(e){this._ratio.value=e}get ratioChanged(){return this._ratio.changed}get timePosRots(){return this.geoPath.timePosRots}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,currentPoiShow:!0,polylineShow:!0,positions:l.reactPositions(void 0),width:1,ground:!1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",granularity:1,loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,depthTest:!1,leadTime:0,trailTime:0,rotationRadius:[0],rotLerpMode:"Next"})})(Sr||(Sr={})),l.extendClassProps(Sr.prototype,Sr.createDefaultProps);class Ce extends Qt{constructor(e,n){super(e,n);v(this,"_smoothMoving");if(this._smoothMoving=this.disposeVar(new w.SmoothMoveController(this.czmViewer)),this.d(this._smoothMoving.currentPositionChanged.don(r=>{r&&(this.sceneObject.position=r)})),this.d(this._smoothMoving.currentRotationChanged.don(r=>{r&&this._smoothMoving.isRotating&&(this.sceneObject.rotation=r)})),this.d(this._smoothMoving.currentHeadingChanged.don(r=>{if(r!==void 0&&!this._smoothMoving.isRotating){const s=this.sceneObject.rotation;this.sceneObject.rotation=[r-90,s[1],s[2]]}})),!n.viewer){console.warn("viewer is undefined!");return}this.d(e.smoothMoveEvent.don((r,s)=>{this.smoothMove(r,s*1e3)})),this.d(e.smoothMoveWithRotationEvent.don((r,s,a)=>{this.smoothMoveWithRotation(r,s,a*1e3)})),this.d(e.smoothMoveOnGroundEvent.don((r,s,a)=>{this.smoothMoveOnGround(r,s,a*1e3)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((r,s,a,c)=>{this.smoothMoveWithRotationOnGround(r,s,a,c*1e3)})),this.d(e.calcFlyToParamEvent.don(()=>{if(!e.useCalcFlyToParamInESObjectWithLocation)return;if(!e.position){console.warn(`!sceneObject(${e.name}-${e.id}).position`);return}const r=n.calcFlyToParam(e.position);if(!r){console.warn("czmViewer.calcFlyToParam error.");return}e.flyToParam=r})),this.d(e.automaticLandingEvent.don(async r=>{const s=[e.position[0],e.position[1]],a=await n.getTerrainHeight(s);a?e.position=[...s,a]:console.warn("不存在相交"),e.collision=r}));{const r=this.dv(l.createNextAnimateFrameEvent(e.minVisibleDistanceChanged,e.maxVisibleDistanceChanged));this.d(r.don(()=>this.visibleDistance(e,n))),this.d(n.cameraChanged.don(()=>this.visibleDistance(e,n)))}}smoothMove(e,n){this._smoothMoving.isGround=!1,this._smoothMoving.isRotating=!1,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart(e,this.sceneObject.rotation,n)}smoothMoveWithRotation(e,n,o){this._smoothMoving.isGround=!1,this._smoothMoving.isRotating=!0,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart(e,n,o)}async smoothMoveOnGround(e,n,o){const r=await this.czmViewer.getTerrainHeight([e,n])??0;this._smoothMoving.isGround=!0,this._smoothMoving.isRotating=!1,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart([e,n,r],this.sceneObject.rotation,o)}async smoothMoveWithRotationOnGround(e,n,o,r){const s=await this.czmViewer.getTerrainHeight([n,o])??0;this._smoothMoving.isGround=!0,this._smoothMoving.isRotating=!0,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart([n,o,s],e,r)}visibleDistance(e,n){var r;const o=Ce.getInnerCzmObjects(this);if((r=n.viewer)!=null&&r.camera&&e.show&&o.length!=0){const s=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let a=!1;e.minVisibleDistance<e.maxVisibleDistance?a=e.minVisibleDistance<s&&s<e.maxVisibleDistance:e.maxVisibleDistance==0&&(a=s>e.minVisibleDistance),o.forEach(c=>{if(c instanceof Le)return;const d=e.show&&a;Reflect.has(c,"showHelper")&&(c.showHelper=d),Reflect.has(c,"enabled")&&(c.enabled=d),Reflect.has(c,"show")&&(c.show=d)})}}static getInnerCzmObjects(e){const n=[];for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(!o.includes("czmViewer")&&o.includes("czm")||!Number.isNaN(+o)?Array.isArray(e[o])?n.push(...Ce.getInnerCzmObjects(e[o])):n.push(e[o]):e[o]&&e[o].obj&&n.push(...Ce.getInnerCzmObjects(e[o].obj)));return n}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyToParam&&o.position){const{position:s,flyToParam:a}=o,{distance:c,heading:d,pitch:u,flyDuration:p,hDelta:f,pDelta:g}=a;return this.flyToWithPromise(n,s,c,[d,u,0],e??p,f,g),!0}return super.flyTo(e,n)}flyIn(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(!o.flyInParam&&o.position&&o.rotation){const s=e??1,a=[...o.rotation];return a[0]+=90,this.flyToWithPromise(n,o.position,void 0,a,s),!0}return super.flyIn(e,n)}}class vt extends Qt{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}}class xs extends Ce{constructor(e,n){super(e,n);v(this,"_lastHoverResult",this.disposeVar(l.react(void 0)));if(!n.viewer){console.warn("viewer is undefined!");return}const r=this.ad(l.createProcessingFromAsyncFunc(async(s,a)=>{const c=await s.promise(n.pick(a.screenPosition,"innerHoverEvent"));this.lastHoverResult=Object.assign({},c,a)}));this.ad(n.pointerMoveEvent.don(async s=>{!r.isRunning&&r.restart(void 0,s)}))}get lastHoverResult(){return this._lastHoverResult.value}set lastHoverResult(e){this._lastHoverResult.value=e}get lastHoverResultChanged(){return this._lastHoverResult.changed}}class th extends Ce{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}}function BT(t){return[t.urlChanged,t.classificationTypeChanged,t.ellipsoidChanged,t.modelUpAxisChanged,t.modelForwardAxisChanged,t.cullWithChildrenBoundsChanged,t.enableShowOutlineChanged,t.projectTo2DChanged,t.debugHeatmapTilePropertyNameChanged,t.enableDebugWireframeChanged,t.vectorClassificationOnlyChanged,t.vectorKeepDecodedPositionsChanged]}function Xy(t,i){const e=i;if(e.modelMatrix){h.Matrix4.clone(h.Matrix4.fromArray(e.modelMatrix),t.modelMatrix);return}if(!e.position){h.Matrix4.clone(h.Matrix4.IDENTITY,t.modelMatrix);return}let n=t._root.transform;const o=Fe({initialRotation:"yForwardzUp",rotation:[0,0,0],position:e.origin});(o&&!o.equalsEpsilon(n,.001)||n.equals(h.Matrix4.IDENTITY))&&o&&(n=o);const r=Fe({initialRotation:"yForwardzUp",rotation:e.rotation,position:e.position});if(!r){console.warn("modelMatrix is undefined!");return}const s=h.Matrix4.inverseTransformation(n,new h.Matrix4);h.Matrix4.multiply(r,s,t.modelMatrix)}class jT extends l.Destroyable{constructor(i,e,n){super(),this._tileset=i,this._czm3DTiles=e,this._updateMatrixEvent=n;{const o=()=>{const s=h.Matrix4.inverseTransformation(i.clippingPlanesOriginMatrix,new h.Matrix4);if(!i.clippingPlanes){i.clippingPlanes=as(e.clippingPlanes??{enabled:!1},s);return}Kl(i.clippingPlanes,e.clippingPlanes,s)};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(e.clippingPlanesChanged,e.originRootTransformInvChanged,this._updateMatrixEvent));this.dispose(r.disposableOn(o))}}get tileset(){return this._tileset}get czm3DTiles(){return this._czm3DTiles}}class eM extends l.Destroyable{constructor(i,e){super(),this._tileset=i,this._czm3DTiles=e;const{tileset:n,czm3DTiles:o}=this;{const r=()=>{if(!n.clippingPlanes){n.clippingPlanes=as(o.clippingPlanes??{enabled:!1});return}Kl(n.clippingPlanes,o.clippingPlanes)};r(),this.dispose(o.clippingPlanesChanged.disposableOn(r))}}get tileset(){return this._tileset}get czm3DTiles(){return this._czm3DTiles}}class tM extends l.Destroyable{constructor(i,e){super(),this._tileset=i,this._czm3DTiles=e;const{tileset:n,czmCzm3DTiles:o}=this;{const r=()=>{n.clippingPolygons=o.clippingPolygons?Jl(o.clippingPolygons):new h.ClippingPolygonCollection};r(),this.dispose(o.clippingPolygonsChanged.disposableOn(r))}}get tileset(){return this._tileset}get czmCzm3DTiles(){return this._czm3DTiles}}class iM extends l.Destroyable{constructor(i,e){super(),this._nativeTilesetReadyResetting=i,this._czmFlattenedPlane=e;const{tileset:n}=this;this.setFlattened(!0),this.dispose(()=>{this.setFlattened(!1)});{const o=()=>{const r=this._czmFlattenedPlane.finalMatrix?h.Matrix4.toArray(this._czmFlattenedPlane.finalMatrix):[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];this.setElevationMatrix(r)};o(),this.dispose(this._czmFlattenedPlane.finalMatrixChanged.disposableOn(o))}{const o=()=>{const s=[...this._czmFlattenedPlane.minSize,...this._czmFlattenedPlane.maxSize];this.setFlattenedBound(s)};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this._czmFlattenedPlane.minSizeChanged,this._czmFlattenedPlane.maxSizeChanged));this.dispose(r.disposableOn(o))}n.xbsjGetFlattenedTextureFunc=()=>{const{sceneObject:o}=this._czmFlattenedPlane.czmTextureWithId;return o?window.czmTexture[o.id].texture:void 0},this.dispose(()=>n.xbsjGetFlattenedTextureFunc=void 0);{const o=()=>{const r=this._czmFlattenedPlane.computedCustomShader;this._nativeTilesetReadyResetting.flattenedCustomShader=r&&new r(this.czm3DTiles,this.czm3DTiles.czmViewer)};o(),this.dispose(this._czmFlattenedPlane.computedCustomShaderChanged.disposableOn(o)),this.dispose(()=>this._nativeTilesetReadyResetting.flattenedCustomShader=void 0)}}get czm3DTiles(){return this._nativeTilesetReadyResetting.czm3DTiles}get tileset(){return this._nativeTilesetReadyResetting.tileset}get czmFlattenedPlane(){return this._czmFlattenedPlane}setFlattened(i){this.tileset.xbsjFlattened=i}setFlattenedBound(i){this.tileset.xbsjFlattenedBound=h.Cartesian4.fromArray(i)}setElevationMatrix(i){this.tileset.xbsjElevationMatrix=h.Matrix4.fromArray(i)}}function nM(t,i){t.show=i.show??!0,t.colorBlendMode=h.Cesium3DTileColorBlendMode[i.colorBlendMode??"HIGHLIGHT"],t.shadows=(i.shadows&&ut.shadowPropsMap[i.shadows])??ut.shadowPropsMap.ENABLED,t.maximumScreenSpaceError=i.maximumScreenSpaceError??16,t.maximumMemoryUsage=i.maximumMemoryUsage??Ae.defaults.maximumMemoryUsage,t.cacheBytes=i.cacheBytes??Ae.defaults.cacheBytes,t.maximumCacheOverflowBytes=i.maximumCacheOverflowBytes??Ae.defaults.maximumCacheOverflowBytes,t.cullRequestsWhileMoving=i.cullRequestsWhileMoving??!0,t.cullRequestsWhileMovingMultiplier=i.cullRequestsWhileMovingMultiplier??60,t.preloadWhenHidden=i.preloadWhenHidden??!1,t.preloadFlightDestinations=i.preloadFlightDestinations??!0,t.preferLeaves=i.preferLeaves??!1,t.dynamicScreenSpaceError=i.dynamicScreenSpaceError??!1,t.dynamicScreenSpaceErrorDensity=i.dynamicScreenSpaceErrorDensity??.00278,t.dynamicScreenSpaceErrorFactor=i.dynamicScreenSpaceErrorFactor??4,t.dynamicScreenSpaceErrorHeightFalloff=i.dynamicScreenSpaceErrorHeightFalloff??.25,t.progressiveResolutionHeightFraction=i.progressiveResolutionHeightFraction??.3,t.foveatedScreenSpaceError=i.foveatedScreenSpaceError??!0,t.foveatedConeSize=i.foveatedConeSize??.1,t.foveatedMinimumScreenSpaceErrorRelaxation=i.foveatedMinimumScreenSpaceErrorRelaxation??0,t.foveatedTimeDelay=i.foveatedTimeDelay??.2,t.skipLevelOfDetail=i.skipLevelOfDetail??!1,t.baseScreenSpaceError=i.baseScreenSpaceError??1024,t.skipScreenSpaceErrorFactor=i.skipScreenSpaceErrorFactor??16,t.skipLevels=i.skipLevels??1,t.immediatelyLoadDesiredLevelOfDetail=i.immediatelyLoadDesiredLevelOfDetail??!1,t.loadSiblings=i.loadSiblings??!1,t.lightColor=(i.lightColor&&ai(i.lightColor))??Ae.defaults.lightColor,t.backFaceCulling=i.backFaceCulling??!0,t.showOutline=i.showOutline??!0,t.outlineColor=ie(i.outlineColor??Ae.defaults.outlineColor),t.featureIdLabel=i.featureIdLabel??Ae.defaults.featureIdLabel,t.instanceFeatureIdLabel=i.instanceFeatureIdLabel??Ae.defaults.instanceFeatureIdLabel,t.showCreditsOnScreen=i.showCreditsOnScreen??!1,t.splitDirection=h.SplitDirection[i.splitDirection??Ae.defaults.splitDirection],t.debugFreezeFrame=i.debugFreezeFrame??!1,t.debugColorizeTiles=i.debugColorizeTiles??!1,t.debugWireframe=i.debugWireframe??!1,t.debugShowBoundingVolume=i.debugShowBoundingVolume??!1,t.debugShowContentBoundingVolume=i.debugShowContentBoundingVolume??!1,t.debugShowViewerRequestVolume=i.debugShowViewerRequestVolume??!1,t.debugShowGeometricError=i.debugShowGeometricError??!1,t.debugShowRenderingStatistics=i.debugShowRenderingStatistics??!1,t.debugShowMemoryUsage=i.debugShowMemoryUsage??!1,t.debugShowUrl=i.debugShowUrl??!1}function oM(t){return[t.showChanged,t.colorBlendModeChanged,t.shadowsChanged,t.maximumScreenSpaceErrorChanged,t.maximumMemoryUsageChanged,t.cacheBytesChanged,t.maximumCacheOverflowBytesChanged,t.cullRequestsWhileMovingChanged,t.cullRequestsWhileMovingMultiplierChanged,t.preloadWhenHiddenChanged,t.preloadFlightDestinationsChanged,t.preferLeavesChanged,t.dynamicScreenSpaceErrorChanged,t.dynamicScreenSpaceErrorDensityChanged,t.dynamicScreenSpaceErrorFactorChanged,t.dynamicScreenSpaceErrorHeightFalloffChanged,t.progressiveResolutionHeightFractionChanged,t.foveatedScreenSpaceErrorChanged,t.foveatedConeSizeChanged,t.foveatedMinimumScreenSpaceErrorRelaxationChanged,t.foveatedTimeDelayChanged,t.skipLevelOfDetailChanged,t.baseScreenSpaceErrorChanged,t.skipScreenSpaceErrorFactorChanged,t.skipLevelsChanged,t.immediatelyLoadDesiredLevelOfDetailChanged,t.loadSiblingsChanged,t.lightColorChanged,t.backFaceCullingChanged,t.showOutlineChanged,t.outlineColorChanged,t.featureIdLabelChanged,t.instanceFeatureIdLabelChanged,t.showCreditsOnScreenChanged,t.splitDirectionChanged,t.debugFreezeFrameChanged,t.debugColorizeTilesChanged,t.debugWireframeChanged,t.debugShowBoundingVolumeChanged,t.debugShowContentBoundingVolumeChanged,t.debugShowViewerRequestVolumeChanged,t.debugShowGeometricErrorChanged,t.debugShowRenderingStatisticsChanged,t.debugShowMemoryUsageChanged,t.debugShowUrlChanged,t.enableShowOutlineChanged]}function rM(t,i){console.warn("Czm3DTiles暂不支持pointCloudShading属性"),t.pointCloudShading=new h.PointCloudShading(i.pointCloudShading)}function sM(t,i){var n,o,r;t.imageBasedLighting.imageBasedLightingFactor=Ee(((n=i.imageBasedLighting)==null?void 0:n.imageBasedLightingFactor)??[1,1]),t.imageBasedLighting.specularEnvironmentMaps=(o=i.imageBasedLighting)==null?void 0:o.specularEnvironmentMaps;const e=(r=i.imageBasedLighting)==null?void 0:r.sphericalHarmonicCoefficients;t.imageBasedLighting.sphericalHarmonicCoefficients=e&&ud(e)}class aM extends w.Destroyable{constructor(e,n,o,r){super();v(this,"_clippingPlanesCollectionResetting");v(this,"_clippingPolygonCollectionResetting");v(this,"_flattenedCustomShader",this.disposeVar(l.react(void 0)));this._tileset=e,this._czm3DTiles=n,this._czmNativeViewer=o,this._czmViewer=r,this._clippingPolygonCollectionResetting=new tM(this.tileset,this.czm3DTiles);const{tileset:s,czm3DTiles:a}=this;{const P=this.disposeVar(l.createNextAnimateFrameEvent(this.czm3DTiles.positionChanged,this.czm3DTiles.rotationChanged,this.czm3DTiles.modelMatrixChanged,this.czm3DTiles.originChanged));Xy(this.tileset,this.czm3DTiles),this.dispose(P.disposableOn(()=>Xy(this.tileset,this.czm3DTiles))),this._clippingPlanesCollectionResetting=this.disposeVar(new l.ObjResettingWithEvent(this.czm3DTiles.absoluteClippingPlanesChanged,()=>this.czm3DTiles.absoluteClippingPlanes?new jT(this.tileset,this.czm3DTiles,P):new eM(this.tileset,this.czm3DTiles)))}this.disposeVar(new l.ObjResettingWithEvent(this.czm3DTiles.czmFlattenedPlaneWithId.sceneObjectChanged,()=>{const{sceneObject:P}=this.czm3DTiles.czmFlattenedPlaneWithId;if(!P)return;let S;w.registerCreatedEventUpdate(this,P,()=>{const C=r.getEngineObject(P);if(P instanceof w.ES3DTileset&&(S=C.flattenedPlane),!!S)return new iM(this,S)})}));const c=this.disposeVar(l.createNextAnimateFrameEvent(...oM(a)));w.registerEventUpdate(this,c,()=>{nM(s,a)}),w.registerEventUpdate(this,a.foveatedInterpolationCallbackChanged,()=>{s.foveatedInterpolationCallback=a.foveatedInterpolationCallback}),w.registerEventUpdate(this,a.styleChanged,()=>{s.style=a.style}),w.registerEventUpdate(this,a.pointCloudShadingChanged,()=>{rM(s,a)}),w.registerEventUpdate(this,a.imageBasedLightingChanged,()=>{sM(s,a)}),w.registerEventUpdate(this,a.environmentMapManagerChanged,()=>{dd(s.environmentMapManager,a)});let d=[],u,p,f=!0,g=()=>{var P;return(P=r.viewer)==null?void 0:P.scene.postUpdate.addEventListener(S=>{s._selectedTiles.length===d.length&&d.every(C=>s._selectedTiles.includes(C))||(d.splice(0,d.length,...s._selectedTiles),s._selectedTiles.forEach(C=>{hs(C.content._model,u)}))})};const m=()=>{p&&(p(),p=void 0),d=[],u=void 0};this.ad(m);const y=(P,S)=>{S=="default"?P._contentState=h.Cesium3DTileContentState.UNLOADED:P.content&&Reflect.has(P.content,"_model")&&!hs(P.content._model,S)&&f&&(f=!1),P.children&&P.children.forEach(C=>{y(C,S)})};this.ad(a.setMaterialEvent.don(async P=>{if(f=!0,P=="default")m(),y(s.root,"default");else{u={};for(const C in P){let E,T,I;const b=P[C];u[C]={...b},Reflect.has(b,"baseColorTexture")&&(b.baseColorTexture==null?u[C].baseColorTexture=void 0:b.baseColorTexture.value!=""&&(E=io(this._czmViewer.viewer,b.baseColorTexture,{magFilter:b.magFilter,minFilter:b.minFilter}))),Reflect.has(b,"normalTexture")&&(b.normalTexture==null?u[C].normalTexture=void 0:b.normalTexture.value!=""&&(T=io(this._czmViewer.viewer,b.normalTexture,{magFilter:b.magFilter,minFilter:b.minFilter}))),Reflect.has(b,"metallicRoughnessTexture")&&(b.metallicRoughnessTexture==null?u[C].metallicRoughnessTexture=void 0:b.metallicRoughnessTexture.value!=""&&(I=io(this._czmViewer.viewer,b.metallicRoughnessTexture,{magFilter:b.magFilter,minFilter:b.minFilter})));const x=await Promise.allSettled([E,T,I]);E=x[0].value,T=x[1].value,I=x[2].value,I!=null&&(u[C].metallicRoughnessTexture=I),E!=null&&(u[C].baseColorTexture=E),T!=null&&(u[C].normalTexture=T)}y(s.root,u),p||(p=g())}const S=w.ESSceneObject.getSceneObject(this.czm3DTiles.id);S&&S instanceof w.ES3DTileset&&S.setMaterialInfoEvent.emit({type:f?"success":"warn",message:f?"完成":"部分材质颜色纹理设置失败,请检查原始模型中材质是否具有baseColorTexture属性"})}));{const P=()=>{var C,E;if(this.flattenedCustomShader){s.customShader=(C=this.flattenedCustomShader)==null?void 0:C.customShader,a.customShaderInstance&&console.warn("压平shader和Czm3DTiles的customShader冲突,优先使用压平shader!");return}s.customShader=(E=a.customShaderInstance)==null?void 0:E.customShader};P();const S=this.disposeVar(l.createNextAnimateFrameEvent(a.customShaderInstanceChanged,this.flattenedCustomShaderChanged));this.dispose(S.disposableOn(P))}this.dispose(a.flyToEvent.disposableOn(P=>{a.czmViewer.actived&&this.tileset&&this._czmNativeViewer.camera.flyToBoundingSphere(this.tileset.boundingSphere,{duration:(P??1e3)/1e3})}))}get tileset(){return this._tileset}get czm3DTiles(){return this._czm3DTiles}get clippingPlanesCollectionResetting(){return this._clippingPlanesCollectionResetting}get clippingPolygonCollectionResetting(){return this._clippingPolygonCollectionResetting}get flattenedCustomShader(){return this._flattenedCustomShader.value}set flattenedCustomShader(e){this._flattenedCustomShader.value=e}get flattenedCustomShaderChanged(){return this._flattenedCustomShader.changed}}function lM(t){const{imageBasedLightingFactor:i,sphericalHarmonicCoefficients:e,specularEnvironmentMaps:n}=t,o={imageBasedLightingFactor:i&&new h.Cartesian2(i[0],i[1]),sphericalHarmonicCoefficients:e&&e.map(r=>new h.Cartesian3(r[0],r[1],r[2])),specularEnvironmentMaps:n&&w.ESSceneObject.context.getStrFromEnv(n)};return new h.ImageBasedLighting(o)}async function cM(t,i,e){let n="";if(typeof i!="string"?typeof i=="object"&&i.url&&(n=new h.Resource({url:i.url,headers:i.headers,queryParameters:i.queryParameters,templateValues:i.templateValues,proxy:i.proxy,retryCallback:i.retryCallback,retryAttempts:i.retryAttempts,request:i.request,parseUrl:i.parseUrl})):n=i,typeof i=="string"&&i.startsWith("ion://")){const s=+i.substring(6);try{n=await h.IonResource.fromAssetId(s)}catch(a){console.error(`Ion资源未能获取到 error: ${a}`,a);return}}const o=await h.Cesium3DTileset.fromUrl(n,{show:t.show,shadows:t.shadows&&ut.shadowPropsMap[t.shadows],maximumScreenSpaceError:t.maximumScreenSpaceError,maximumMemoryUsage:t.maximumMemoryUsage,cacheBytes:t.cacheBytes,maximumCacheOverflowBytes:t.maximumCacheOverflowBytes,cullWithChildrenBounds:t.cullWithChildrenBounds,cullRequestsWhileMoving:t.cullRequestsWhileMoving,cullRequestsWhileMovingMultiplier:t.cullRequestsWhileMovingMultiplier,preloadWhenHidden:t.preloadWhenHidden,preloadFlightDestinations:t.preloadFlightDestinations,preferLeaves:t.preferLeaves,dynamicScreenSpaceError:t.dynamicScreenSpaceError,dynamicScreenSpaceErrorDensity:t.dynamicScreenSpaceErrorDensity,dynamicScreenSpaceErrorFactor:t.dynamicScreenSpaceErrorFactor,dynamicScreenSpaceErrorHeightFalloff:t.dynamicScreenSpaceErrorHeightFalloff,progressiveResolutionHeightFraction:t.progressiveResolutionHeightFraction,foveatedScreenSpaceError:t.foveatedScreenSpaceError,foveatedConeSize:t.foveatedConeSize,foveatedMinimumScreenSpaceErrorRelaxation:t.foveatedMinimumScreenSpaceErrorRelaxation,foveatedInterpolationCallback:t.foveatedInterpolationCallbackStr&&Function('"use strict";return ('+t.foveatedInterpolationCallbackStr+")")(),foveatedTimeDelay:t.foveatedTimeDelay,skipLevelOfDetail:t.skipLevelOfDetail,baseScreenSpaceError:t.baseScreenSpaceError,skipScreenSpaceErrorFactor:t.skipScreenSpaceErrorFactor,skipLevels:t.skipLevels,immediatelyLoadDesiredLevelOfDetail:t.immediatelyLoadDesiredLevelOfDetail,loadSiblings:t.loadSiblings,classificationType:ut.classificationTypeMap[t.classificationType??Ae.defaults.classificationType],lightColor:t.lightColor&&si(t.lightColor),backFaceCulling:t.backFaceCulling??Ae.defaults.backFaceCulling,showOutline:t.showOutline??Ae.defaults.showOutline,debugHeatmapTilePropertyName:t.debugHeatmapTilePropertyName,debugFreezeFrame:t.debugFreezeFrame,debugColorizeTiles:t.debugColorizeTiles,debugWireframe:t.debugWireframe,debugShowBoundingVolume:t.debugShowBoundingVolume,debugShowContentBoundingVolume:t.debugShowContentBoundingVolume,debugShowViewerRequestVolume:t.debugShowViewerRequestVolume,debugShowGeometricError:t.debugShowGeometricError,debugShowRenderingStatistics:t.debugShowRenderingStatistics,debugShowMemoryUsage:t.debugShowMemoryUsage,debugShowUrl:t.debugShowUrl,customShader:e,ellipsoid:Pe(t.ellipsoid??Ae.defaults.ellipsoid),modelMatrix:t.modelMatrix&&h.Matrix4.fromArray(t.modelMatrix),clippingPlanes:t.clippingPlanes&&as(t.clippingPlanes),clippingPolygons:t.clippingPolygons&&Jl(t.clippingPolygons),imageBasedLighting:t.imageBasedLighting&&lM(t.imageBasedLighting),splitDirection:h.SplitDirection[t.splitDirection??Ae.defaults.splitDirection],modelUpAxis:t.modelUpAxis&&h.Axis[t.modelUpAxis],modelForwardAxis:t.modelForwardAxis&&h.Axis[t.modelForwardAxis],featureIdLabel:t.featureIdLabel??Ae.defaults.featureIdLabel,instanceFeatureIdLabel:t.instanceFeatureIdLabel??Ae.defaults.instanceFeatureIdLabel,outlineColor:t.outlineColor&&ie(t.outlineColor),pointCloudShading:t.pointCloudShading,enableShowOutline:t.enableShowOutline,vectorClassificationOnly:t.vectorClassificationOnly,vectorKeepDecodedPositions:t.vectorKeepDecodedPositions,showCreditsOnScreen:t.showCreditsOnScreen,projectTo2D:t.projectTo2D,enableDebugWireframe:t.enableDebugWireframe});return h.Cesium3DTileset.prototype&&(o.ESSceneObjectID=t.id),o}class hM extends l.Destroyable{constructor(e,n,o,r){var c;super();v(this,"_tileset",this.disposeVar(l.react(void 0)));v(this,"_readyResetting");if(this._url=e,this._czm3DTiles=n,this._czmNativeViewer=o,this._czmViewer=r,this._readyResetting=this.disposeVar(new l.ObjResettingWithEvent(this.tilesetChanged,()=>{if(this.tileset)return new aM(this.tileset,this.czm3DTiles,this._czmNativeViewer,this._czmViewer)})),!this.url)throw new Error("!url");const s=(c=this.czm3DTiles.customShaderInstance)==null?void 0:c.customShader;this.disposeVar(l.createProcessingFromAsyncFunc(async d=>{const u=await d.promise(cM(this.czm3DTiles,this.url,s));u&&(u.style=this.czm3DTiles.style,u.foveatedInterpolationCallback=this.czm3DTiles.foveatedInterpolationCallback,this._czmNativeViewer.scene.primitives.add(u),this.dispose(()=>this._czmNativeViewer.scene.primitives.remove(u)),this._tileset.value=u,this.czm3DTiles.notifyCzmTilesetReady(u,this.czm3DTiles))})).start()}get url(){return this._url}get czm3DTiles(){return this._czm3DTiles}get czmViewer(){return this.czm3DTiles.czmViewer}get tileset(){return this._tileset.value}set tileset(e){this._tileset.value=e}get tilesetChanged(){return this._tileset.changed}get readyResetting(){return this._readyResetting}}function dM(t){if(t)try{return new h.Cesium3DTileStyle(t)}catch(i){console.error(`Cesium3DTiles style error: ${i}`,i);return}}let uM=class extends w.Destroyable{constructor(i,e){super(),this.dv(new l.ObjResettingWithEvent(e.clippingPolygonsIdChanged,(n,o)=>{if(!(!n||n===o||n&&n.length===0))return new pM(i,e)}))}},pM=class extends w.Destroyable{constructor(i,e){super(),this._czmViewer=i;const n=e.clippingPolygonsId;this.d(()=>e.clippingPolygons=void 0);const o=s=>{const a=this.dv(l.createNextAnimateFrameEvent(s.positionsChanged,s.reverseChanged,s.enabledChanged,s.showHelperChanged));this.dv(new l.ObjResettingWithEvent(a,()=>new fM(i,s,e)))},r=s=>{let a;s instanceof w.ESExcavate&&w.registerCreatedEventUpdate(this,s,()=>{a=i.getEngineObject(s).czmPolygonClipping,a&&o(a)}),s instanceof w.ESHole&&w.registerCreatedEventUpdate(this,s.excavate,()=>{a=i.getEngineObject(s.excavate).czmPolygonClipping,a&&o(a)})};for(let s=0;s<n.length;s++){const a=n[s],c=w.ESSceneObject.getSceneObjById(a);c&&r(c)}}},fM=class extends w.Destroyable{constructor(i,e,n){super(),this._czmViewer=i;const o=n.clippingPolygonsId,r=e.enabled?e.reverse:void 0;if(o&&o.length>0){const s={polygons:[],enabled:!0,inverse:!1};for(let a=0;a<o.length;a++){const c=o[a],d=w.ESSceneObject.getSceneObjById(c);if(!d)return;let u;if(d instanceof w.ESExcavate?u=i.getEngineObject(d).czmPolygonClipping:d instanceof w.ESHole&&(u=i.getEngineObject(d.excavate).czmPolygonClipping),!u)return;u&&u.positions&&u.positions.length>=3&&u.enabled&&(s.polygons[a]={positions:u.positions},s.inverse=r??u.reverse)}n.clippingPolygons=s}}};function Yy(t){let i;try{i=t&&Function('"use strict";return ('+t+")")()}catch{i=void 0}return i||h.Math.lerp}const Zy=`
|
|
365
|
+
`;return r=mu(a),new Worker(r,o)}if(r=t,e||(r=ei(`${it._workerModulePrefix+n}.js`)),!ct.supportsEsmWebWorkers())throw new lt("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function mT(t,i){const e={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!ct.supportsWebAssembly()){if(!D(i.fallbackModulePath))throw new lt(`This browser does not support Web Assembly, and no backup module was provided for ${t._workerPath}`);return e.modulePath=ei(i.fallbackModulePath),e}e.wasmBinaryFile=ei(i.wasmBinaryFile);const n=await j.fetchArrayBuffer({url:e.wasmBinaryFile});return e.wasmBinary=n,e}function it(t,i){this._workerPath=t,this._maximumActiveTasks=i??Number.POSITIVE_INFINITY,this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}const vT=(t,i,e,n)=>{const o=({data:r})=>{if(r.id===i){if(D(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new lt(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new H(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),gu.raiseEvent(s),n(s)}else gu.raiseEvent(),e(r.result);t.removeEventListener("message",o)}};return o},yT=[];async function wT(t,i,e){const n=await Promise.resolve(Sy());D(e)?n||(e.length=0):e=yT;const o=t._nextID++,r=new Promise((s,a)=>{t._worker.addEventListener("message",vT(t._worker,o,s,a))});return t._worker.postMessage({id:o,baseUrl:ei.getCesiumBaseUrl().url,parameters:i,canTransferArrayBuffer:n},e),r}async function CT(t,i,e){++t._activeTasks;try{const n=await wT(t,i,e);return--t._activeTasks,n}catch(n){throw--t._activeTasks,n}}it.prototype.scheduleTask=function(t,i){if(D(this._worker)||(this._worker=vu(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return CT(this,t,i)},it.prototype.initWebAssemblyModule=async function(t){if(D(this._webAssemblyPromise))return this._webAssemblyPromise;const i=async()=>{const e=this._worker=vu(this._workerPath),n=await mT(this,t),o=await Promise.resolve(Sy());let r;const s=n.wasmBinary;D(s)&&o&&(r=[s]);const a=new Promise((c,d)=>{e.onmessage=function({data:u}){D(u)?c(u.result):d(new lt("Could not configure wasm module"))}});return e.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:n}},r),a};return this._webAssemblyPromise=i(),this._webAssemblyPromise},it.prototype.isDestroyed=function(){return!1},it.prototype.destroy=function(){return D(this._worker)&&this._worker.terminate(),gT(this)},it.taskCompletedEvent=gu,it._defaultWorkerModulePrefix="Workers/",it._workerModulePrefix=it._defaultWorkerModulePrefix,it._canTransferArrayBuffer=void 0;function wr(t,i,e,n,o){this._format=t,this._datatype=i,this._width=e,this._height=n,this._buffer=o}Object.defineProperties(wr.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}},arrayBufferView:{get:function(){return this._buffer}}}),wr.clone=function(t){if(D(t))return new wr(t._format,t._datatype,t._width,t._height,t._buffer)},wr.prototype.clone=function(){return wr.clone(this)};const Ey={};function Ds(t,i){if(!D(t))throw new H("identifier is required.");D(Ey[t])||(Ey[t]=!0,console.warn(i??t))}Ds.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.",Ds.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored",Ds.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored",Ds.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";function Zi(){}Zi._transcodeTaskProcessor=new it("transcodeKTX2",Number.POSITIVE_INFINITY),Zi._readyPromise=void 0;function _T(){const t=Zi._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(i){if(i)return Zi._transcodeTaskProcessor;throw new lt("KTX2 transcoder could not be initialized.")});Zi._readyPromise=t}Zi.transcode=function(t,i){return A.defined("supportedTargetFormats",i),D(Zi._readyPromise)||_T(),Zi._readyPromise.then(function(e){let n=t;t instanceof ArrayBuffer&&(n=new Uint8Array(t));const o={supportedTargetFormats:i,ktx2Buffer:n};return e.scheduleTask(o,[n.buffer])}).then(function(e){const n=e.length,o=Object.keys(e[0]);for(let r=0;r<n;r++){const s=e[r];for(let a=0;a<o.length;a++){const c=s[o[a]];s[o[a]]=new wr(c.internalFormat,c.datatype,c.width,c.height,c.levelBuffer)}}if(o.length===1){for(let r=0;r<n;++r)e[r]=e[r][o[0]];n===1&&(e=e[0])}return e}).catch(function(e){throw e})};function Ay(t,i){if(!D(t)||!D(i))throw new H("identifier and message are required.");Ds(t,i)}function Ty(t,i){return Ay("defaultValue","defaultValue has been deprecated and will be removed in Cesium 1.134. Use the nullish coalescing operator instead: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing"),t??i}Object.defineProperty(Ty,"EMPTY_OBJECT",{get:function(){return Ay("defaultValue.EMPTY_OBJECT","defaultValue.EMPTY_OBJECT has been deprecated and will be removed in Cesium 1.134. Use Frozen.EMPTY_OBJECT instead"),_i.EMPTY_OBJECT}});let My;Iy.setKTX2SupportedFormats=function(t,i,e,n,o,r){My={s3tc:t,pvrtc:i,astc:e,etc:n,etc1:o,bc7:r}};function Iy(t){A.defined("resourceOrUrlOrBuffer",t);let i;return t instanceof ArrayBuffer||ArrayBuffer.isView(t)?i=Promise.resolve(t):i=j.createIfNeeded(t).fetchArrayBuffer(),i.then(function(e){return Zi.transcode(e,My)})}function Cr(){H.throwInstantiationError()}Object.defineProperties(Cr.prototype,{rectangle:{get:H.throwInstantiationError},tileWidth:{get:H.throwInstantiationError},tileHeight:{get:H.throwInstantiationError},maximumLevel:{get:H.throwInstantiationError},minimumLevel:{get:H.throwInstantiationError},tilingScheme:{get:H.throwInstantiationError},tileDiscardPolicy:{get:H.throwInstantiationError},errorEvent:{get:H.throwInstantiationError},credit:{get:H.throwInstantiationError},proxy:{get:H.throwInstantiationError},hasAlphaChannel:{get:H.throwInstantiationError}}),Cr.prototype.getTileCredits=function(t,i,e){H.throwInstantiationError()},Cr.prototype.requestImage=function(t,i,e,n){H.throwInstantiationError()},Cr.prototype.pickFeatures=function(t,i,e,n,o){H.throwInstantiationError()};const PT=/\.ktx2$/i;Cr.loadImage=function(t,i){A.defined("url",i);const e=j.createIfNeeded(i);return PT.test(e.url)?Iy(e):D(t)&&D(t.tileDiscardPolicy)?e.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):e.fetchImage({preferImageBitmap:!0,flipY:!0})};var Kc=3.141592653589793*3e3/180,nt=3.141592653589793,Jc=6378245,Bc=.006693421622965943,Dy=function(n,o){var n=+n,o=+o,r=n-.0065,s=o-.006,a=Math.sqrt(r*r+s*s)-2e-5*Math.sin(s*Kc),c=Math.atan2(s,r)-3e-6*Math.cos(r*Kc),d=a*Math.cos(c),u=a*Math.sin(c);return[d,u]},by=function(o,n){var n=+n,o=+o,r=Math.sqrt(o*o+n*n)+2e-5*Math.sin(n*Kc),s=Math.atan2(n,o)+3e-6*Math.cos(o*Kc),a=r*Math.cos(s)+.0065,c=r*Math.sin(s)+.006;return[a,c]},yu=function(o,n){var n=+n,o=+o;if(Fy(o,n))return[o,n];var r=Ry(o-105,n-35),s=xy(o-105,n-35),a=n/180*nt,c=Math.sin(a);c=1-Bc*c*c;var d=Math.sqrt(c);r=r*180/(Jc*(1-Bc)/(c*d)*nt),s=s*180/(Jc/d*Math.cos(a)*nt);var u=n+r,p=o+s;return[p,u]},wu=function(o,n){var n=+n,o=+o;if(Fy(o,n))return[o,n];var r=Ry(o-105,n-35),s=xy(o-105,n-35),a=n/180*nt,c=Math.sin(a);c=1-Bc*c*c;var d=Math.sqrt(c);r=r*180/(Jc*(1-Bc)/(c*d)*nt),s=s*180/(Jc/d*Math.cos(a)*nt);var u=n+r,p=o+s;return[o*2-p,n*2-u]},Ry=function(o,n){var n=+n,o=+o,r=-100+2*o+3*n+.2*n*n+.1*o*n+.2*Math.sqrt(Math.abs(o));return r+=(20*Math.sin(6*o*nt)+20*Math.sin(2*o*nt))*2/3,r+=(20*Math.sin(n*nt)+40*Math.sin(n/3*nt))*2/3,r+=(160*Math.sin(n/12*nt)+320*Math.sin(n*nt/30))*2/3,r},xy=function(o,n){var n=+n,o=+o,r=300+o+2*n+.1*o*o+.1*o*n+.1*Math.sqrt(Math.abs(o));return r+=(20*Math.sin(6*o*nt)+20*Math.sin(2*o*nt))*2/3,r+=(20*Math.sin(o*nt)+40*Math.sin(o/3*nt))*2/3,r+=(150*Math.sin(o/12*nt)+300*Math.sin(o/30*nt))*2/3,r},Fy=function(o,n){var n=+n,o=+o;return!(o>73.66&&o<135.05&&n>3.86&&n<53.55)};function Cu(t,i){this.x=t||0,this.y=i||0,this.x=this.x,this.y=this.y}Cu.prototype.equals=function(t){return t&&t.x==this.x&&t.y==this.y};function ui(t,i){isNaN(t)&&(t=decode64(t),t=isNaN(t)?0:t),typeof t=="string"&&(t=parseFloat(t)),isNaN(i)&&(i=decode64(i),i=isNaN(i)?0:i),typeof t=="lat"&&(i=parseFloat(i)),this.lng=t,this.lat=i}ui.isInRange=function(t){return t&&t.lng<=180&&t.lng>=-180&&t.lat<=74&&t.lat>=-74},ui.prototype.equals=function(t){return t&&this.lat==t.lat&&this.lng==t.lng};function ze(){}ze.EARTHRADIUS=637099681e-2,ze.MCBAND=[1289059486e-2,836237787e-2,5591021,348198983e-2,167804312e-2,0],ze.LLBAND=[75,60,45,30,15,0],ze.MC2LL=[[1410526172116255e-23,898305509648872e-20,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-.03801003308653,173379812e-1],[-7435856389565537e-24,8983055097726239e-21,-.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,1026014486e-2],[-3030883460898826e-23,898305509983578e-20,.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,.32710905363475,685681737e-2],[-1981981304930552e-23,8983055099779535e-21,.03278182852591,40.31678527705744,.65659298677277,-4.44255534477492,.85341911805263,.12923347998204,-.04625736007561,448277706e-2],[309191371068437e-23,8983055096812155e-21,6995724062e-14,23.10934304144901,-.00023663490511,-.6321817810242,-.00663494467273,.03430082397953,-.00466043876332,25551644e-1],[2890871144776878e-24,8983055095805407e-21,-3068298e-14,7.47137025468032,-353937994e-14,-.02145144861037,-1234426596e-14,.00010322952773,-323890364e-14,826088.5]],ze.LL2MC=[[-.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[.0008277824516172526,111320.7020463578,6477955746671607e-7,-4082003173641316e-6,1077490566351142e-5,-1517187553151559e-5,1205306533862167e-5,-5124939663577472e-6,9133119359512032e-7,67.5],[.00337398766765,111320.7020202162,4481351045890365e-9,-2339375119931662e-8,7968221547186455e-8,-1159649932797253e-7,9723671115602145e-8,-4366194633752821e-8,8477230501135234e-9,52.5],[.00220636496208,111320.7020209128,51751.86112841131,3796837749470245e-9,992013.7397791013,-122195221711287e-8,1340652697009075e-9,-620943.6990984312,144416.9293806241,37.5],[-.0003441963504368392,111320.7020576856,278.2353980772752,2485758690035394e-9,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-.0003218135878613132,111320.7020701615,.00369383431289,823725.6402795718,.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,.37238884252424,7.45]],ze.getDistanceByMC=function(t,i){if(!t||!i)return 0;var e,n,o,r;return t=this.convertMC2LL(t),!t||(e=this.toRadians(t.lng),n=this.toRadians(t.lat),i=this.convertMC2LL(i),!i)?0:(o=this.toRadians(i.lng),r=this.toRadians(i.lat),this.getDistance(e,o,n,r))},ze.getDistanceByLL=function(t,i){if(!t||!i)return 0;t.lng=this.getLoop(t.lng,-180,180),t.lat=this.getRange(t.lat,-74,74),i.lng=this.getLoop(i.lng,-180,180),i.lat=this.getRange(i.lat,-74,74);var e,n,o,r;return e=this.toRadians(t.lng),o=this.toRadians(t.lat),n=this.toRadians(i.lng),r=this.toRadians(i.lat),this.getDistance(e,n,o,r)},ze.convertMC2LL=function(r){var i,e;i=new ui(Math.abs(r.lng),Math.abs(r.lat));for(var n=0;n<this.MCBAND.length;n++)if(i.lat>=this.MCBAND[n]){e=this.MC2LL[n];break}var o=this.convertor(r,e),r=new ui(o.lng.toFixed(6),o.lat.toFixed(6));return r},ze.convertLL2MC=function(r){var i,e;r.lng=this.getLoop(r.lng,-180,180),r.lat=this.getRange(r.lat,-74,74),i=new ui(r.lng,r.lat);for(var n=0;n<this.LLBAND.length;n++)if(i.lat>=this.LLBAND[n]){e=this.LL2MC[n];break}if(!e){for(var n=this.LLBAND.length-1;n>=0;n--)if(i.lat<=-this.LLBAND[n]){e=this.LL2MC[n];break}}var o=this.convertor(r,e),r=new ui(o.lng.toFixed(2),o.lat.toFixed(2));return r},ze.convertor=function(t,i){if(!(!t||!i)){var e=i[0]+i[1]*Math.abs(t.lng),n=Math.abs(t.lat)/i[9],o=i[2]+i[3]*n+i[4]*n*n+i[5]*n*n*n+i[6]*n*n*n*n+i[7]*n*n*n*n*n+i[8]*n*n*n*n*n*n;return e*=t.lng<0?-1:1,o*=t.lat<0?-1:1,new ui(e,o)}},ze.getDistance=function(t,i,e,n){return this.EARTHRADIUS*Math.acos(Math.sin(e)*Math.sin(n)+Math.cos(e)*Math.cos(n)*Math.cos(i-t))},ze.toRadians=function(t){return Math.PI*t/180},ze.toDegrees=function(t){return 180*t/Math.PI},ze.getRange=function(t,i,e){return i!=null&&(t=Math.max(t,i)),e!=null&&(t=Math.min(t,e)),t},ze.getLoop=function(t,i,e){for(;t>e;)t-=e-i;for(;t<i;)t+=e-i;return t},ze.prototype.lngLatToMercator=function(t){return ze.convertLL2MC(t)},ze.prototype.lngLatToPoint=function(t){var i=ze.convertLL2MC(t);return new Cu(i.lng,i.lat)},ze.prototype.mercatorToLngLat=function(t){return ze.convertMC2LL(t)},ze.prototype.PointToLngLat=function(t){var i=new ui(t.x,t.y);return ze.convertMC2LL(i)},ze.prototype.PointToPixel=function(t,i,e,n,o){if(t){t=this.lngLatToMercator(t,o);var r=this.getZoomUnits(i),s=Math.round((t.lng-e.lng)/r+n[Twidth]/2),a=Math.round((e.lat-t.lat)/r+n[Theight]/2);return new Cu(s,a)}},ze.prototype.PixelToPoint=function(t,i,e,n,o){if(t){var r=this.getZoomUnits(i),s=e.lng+r*(t.x-n[Twidth]/2),a=e.lat-r*(t.y-n[Theight]/2),c=new ui(s,a);return this.mercatorToLngLat(c,o)}},ze.prototype.getZoomUnits=function(t){return Math.pow(2,18-t)};function Rn(t){t=t||{},this._ellipsoid=Ty(t.ellipsoid,le.WGS84);var i=!0;D(t.wgs84)&&(i=t.wgs84),this._projection=new xt(this._ellipsoid);var e=new ze;this._projection.project=function(s){var a={};return i?(a=yu(O.toDegrees(s.longitude),O.toDegrees(s.latitude)),a=by(a[0],a[1])):a=by(O.toDegrees(s.longitude),O.toDegrees(s.latitude)),a[0]=Math.min(a[0],180),a[0]=Math.max(a[0],-180),a[1]=Math.min(a[1],74.000022),a[1]=Math.max(a[1],-71.988531),a=e.lngLatToPoint(new ui(a[0],a[1])),new ee(a.x,a.y)},this._projection.unproject=function(s){var a=e.mercatorToLngLat(new ui(s.x,s.y));return a[0]=(a[0]+180)%360-180,i?(a=Dy(a.lng,a.lat),a=wu(a[0],a[1])):a=Dy(a.lng,a.lat),new fe(O.toRadians(a[0]),O.toRadians(a[1]))},this._rectangleSouthwestInMeters=new ee(-2003772637e-2,-1170804166e-2),this._rectangleNortheastInMeters=new ee(2003772637e-2,1247410417e-2);var n=this._projection.unproject(this._rectangleSouthwestInMeters),o=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new oe(n.longitude,n.latitude,o.longitude,o.latitude),this.levelWidth=[];for(var r=0;r<19;r++)this.levelWidth[r]=Math.pow(2,18-r)*256}Object.defineProperties(Rn.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}}),Rn.prototype.getNumberOfXTilesAtLevel=function(t){return(1<<t)*.7},Rn.prototype.getNumberOfYTilesAtLevel=function(t){return 1<<t},Rn.prototype.rectangleToNativeRectangle=function(t,i){var e=this._projection,n=e.project(oe.southwest(t)),o=e.project(oe.northeast(t));return D(i)?(i.west=n.x,i.south=n.y,i.east=o.x,i.north=o.y,i):new oe(n.x,n.y,o.x,o.y)},Rn.prototype.tileXYToNativeRectangle=function(t,i,e,n){var o=this.levelWidth[e],r=t*o,s=(t+1)*o;i=-i;var a=(i+1)*o,c=i*o;return D(n)?(n.west=r,n.south=c,n.east=s,n.north=a,n):new oe(r,c,s,a)},Rn.prototype.tileXYToRectangle=function(t,i,e,n){var o=this.tileXYToNativeRectangle(t,i,e,n),r=this._projection,s=r.unproject(new ee(o.west,o.south)),a=r.unproject(new ee(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o},Rn.prototype.positionToTileXY=function(t,i,e){var n=this._rectangle;if(oe.contains(n,t)){var o=this._projection,r=o.project(t);if(D(r)){var s=this.levelWidth[i],a=Math.floor(r.x/s),c=-Math.floor(r.y/s);return D(e)?(e.x=a,e.y=c,e):new ee(a,c)}}};function jc(t){this._url=t.url||"http://online2.map.bdimg.com/onlinelabel/?qt=tile&styles=pl&x={x}&y={y}&z={z}",this._tileWidth=256,this._tileHeight=256,this._maximumLevel=18,this._tilingScheme=new Rn(t),this._credit=void 0,this._rectangle=this._tilingScheme.rectangle,this._ready=!0}function ST(t,i,e,n){var o=t._url;return o=o.replace("{x}",i).replace("{y}",-e).replace("{z}",n),o}Object.defineProperties(jc.prototype,{url:{get:function(){return this._url}},token:{get:function(){return this._token}},proxy:{get:function(){return this._proxy}},tileWidth:{get:function(){if(!this._ready)throw new DeveloperError("tileWidth must not be called before the imagery provider is ready.");return this._tileWidth}},tileHeight:{get:function(){if(!this._ready)throw new DeveloperError("tileHeight must not be called before the imagery provider is ready.");return this._tileHeight}},maximumLevel:{get:function(){if(!this._ready)throw new DeveloperError("maximumLevel must not be called before the imagery provider is ready.");return this._maximumLevel}},minimumLevel:{get:function(){if(!this._ready)throw new DeveloperError("minimumLevel must not be called before the imagery provider is ready.");return 3}},tilingScheme:{get:function(){if(!this._ready)throw new DeveloperError("tilingScheme must not be called before the imagery provider is ready.");return this._tilingScheme}},rectangle:{get:function(){if(!this._ready)throw new DeveloperError("rectangle must not be called before the imagery provider is ready.");return this._rectangle}},tileDiscardPolicy:{get:function(){if(!this._ready)throw new DeveloperError("tileDiscardPolicy must not be called before the imagery provider is ready.");return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return this._readyPromise.promise}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}}),jc.prototype.getTileCredits=function(t,i,e){},jc.prototype.requestImage=function(t,i,e){if(!this._ready)throw new DeveloperError("requestImage must not be called before the imagery provider is ready.");var n=ST(this,t,i,e);return Cr.loadImage(this,n)};class ET extends h.UrlTemplateImageryProvider{constructor(e){super(e);v(this,"_indexTime",0);e.url="https://tileser.giiiis.com/timetile/",e.minimumLevel=1,e.maximumLevel=18,e.tilingScheme=new h.GeographicTilingScheme,this.indexTime=e.indexTime||0}get indexTime(){return this._indexTime}set indexTime(e){this._indexTime=e}async requestImage(e,n,o,r){try{let s=this.buildImageUrl(this.indexTime,e,n,o);return h.ImageryProvider.loadImage(this,s)}catch{return}}buildImageUrl(e,n,o,r){return`https://tileser.giiiis.com/timetile/${e}/${r}/${n}/${o}.jpg`}}class AT extends h.UrlTemplateImageryProvider{constructor(e){super(e);v(this,"_indexTimeID",0);e.url="https://wayback.maptiles.arcgis.com/",e.minimumLevel=1,e.maximumLevel=18,this.indexTimeID=e.indexTimeID||0}get indexTimeID(){return this._indexTimeID}set indexTimeID(e){this._indexTimeID=e}async requestImage(e,n,o,r){try{let s;return this.indexTimeID!==0?s=this.buildImageUrl(this.indexTimeID,e,n,o):s=`https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/${o}/${n}/${e}`,h.ImageryProvider.loadImage(this,s)}catch{return}}buildImageUrl(e,n,o,r){return`https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/${e}/${r}/${o}/${n}`}}const TT=document.createElement("canvas");class _u{constructor(i){v(this,"mapboxRenderer");v(this,"ready");v(this,"readyPromise");v(this,"rectangle");v(this,"tileSize");v(this,"tileWidth");v(this,"tileHeight");v(this,"maximumLevel");v(this,"minimumLevel");v(this,"tileDiscardPolicy");v(this,"credit");v(this,"proxy");v(this,"layerStyle");v(this,"hasAlphaChannel");v(this,"sourceFilter");v(this,"tilingScheme");v(this,"_destroyed",!1);v(this,"_error");v(this,"_style");v(this,"_accessToken");v(this,"_enablePickFeatures");this.ready=!1,this.tilingScheme=i.tilingScheme??new _e.WebMercatorTilingScheme,this.rectangle=i.rectangle??this.tilingScheme.rectangle,this.rectangle=_e.Rectangle.intersection(this.rectangle,this.tilingScheme.rectangle),this.tileSize=this.tileWidth=this.tileHeight=i.tileSize||256,this.maximumLevel=i.maximumLevel??18,this.minimumLevel=i.minimumLevel??0,this.tileDiscardPolicy=void 0,this._error=new _e.Event,this.credit=new _e.Credit(i.credit||"",!1),this.proxy=new _e.DefaultProxy(""),this.hasAlphaChannel=i.hasAlphaChannel??!0,this.sourceFilter=i.sourceFilter,this._accessToken=i.accessToken,this._enablePickFeatures=i.enablePickFeatures??!0,this.layerStyle=i.layerStyle??[],_e.defined(i.style)&&(this.readyPromise=this._build(i.style,i).then(()=>!0))}get style(){return this._style}get isDestroyed(){return this._destroyed}get errorEvent(){return this._error}async _build(i,e={}){const n=await this._preLoad(i,e.scheme??"tms");n.layers=this.layerStyle.length!=0?this.layerStyle:n.layers,this._style=n,this.mapboxRenderer=new $_.BasicRenderer({style:n,canvas:TT,token:e.accessToken,transformRequest:e.transformRequest}),e.showCanvas&&this.mapboxRenderer.showCanvasForDebug(),await this.mapboxRenderer._style.loadedPromise,this.readyPromise=Promise.resolve(!0),this.ready=!0}static async fromUrl(i,e={}){const n=new _u(e);return await n._build(i,e),n}_preLoad(i,e){let n=i;if(typeof i=="string"&&(i.endsWith(".json")||i.startsWith("mapbox://")?i=new _e.Resource({url:i}):(i={version:8,sources:{customSource:{type:"vector",scheme:e,tiles:[i]}},layers:this.layerStyle},n=i)),i instanceof _e.Resource){const o="https://api.mapbox.com/";i.url.startsWith("mapbox://")&&(i.url=i.url.replace("mapbox://",o)),this._accessToken&&i.appendQueryParameters({access_token:this._accessToken}),n=i.fetchJson()}return Promise.resolve(n).catch(o=>{throw this._error.raiseEvent(o),o})}_createTile(){const i=document.createElement("canvas");return i.width=this.tileSize,i.height=this.tileSize,i.style.imageRendering="pixelated",i}_resetTileCache(){Object.values(this.mapboxRenderer._style.sourceCaches).forEach(i=>i._tileCache.reset())}_getTilesSpec(i,e){const{x:n,y:o,level:r}=i,s=this.tileSize,a=[],c=this.tilingScheme.getNumberOfXTilesAtLevel(r)-1,d=this.tilingScheme.getNumberOfYTilesAtLevel(r)-1;for(let u=-1;u<=1;u++){let p=n+u;p<0&&(p=c),p>c&&(p=0);for(let f=-1;f<=1;f++){let g=o+f;g<0||g>d||a.push({source:e,z:r,x:p,y:g,left:0+u*s,top:0+f*s,size:s})}}return a}requestImage(i,e,n,o=!0){if(n<this.minimumLevel||n>this.maximumLevel)return;this.mapboxRenderer.filterForZoom(n);const r=this.mapboxRenderer.getVisibleSources(n).reduce((s,a)=>s.concat(this._getTilesSpec({x:i,y:e,level:n},a)),[]);return new Promise((s,a)=>{const c=this._createTile(),d=c.getContext("2d");d&&(d.globalCompositeOperation="copy");const u=this.mapboxRenderer.renderTiles(d,{srcLeft:0,srcTop:0,width:this.tileSize,height:this.tileSize,destLeft:0,destTop:0},r,p=>{typeof p=="string"&&!p.endsWith("tiles not available")?a(void 0):o?(u.consumer.ctx=null,s(c),this.mapboxRenderer.releaseRender(u),this._resetTileCache()):s(u)})})}pickFeatures(i,e,n,o,r){var s;if(this._enablePickFeatures)return(s=this.requestImage(i,e,n,!1))==null?void 0:s.then(a=>{let c=this.mapboxRenderer.getVisibleSources(n);c=this.sourceFilter?this.sourceFilter(c):c;const d=[],u=_e.Math.toDegrees(o),p=_e.Math.toDegrees(r);return c.forEach(f=>{const g=new _e.ImageryLayerFeatureInfo;g.data=this.mapboxRenderer.queryRenderedFeatures({source:f,renderedZoom:n,lng:u,lat:p,tileZ:n});const m=Object.keys(g.data)[0];g.name=m;const y=g.data[m];y&&(g.configureDescriptionFromProperties((y==null?void 0:y.length)===1?y[0]:y),d.push(g))}),a.consumer.ctx=void 0,this.mapboxRenderer.releaseRender(a),this._resetTileCache(),d.length?d:void 0})}destroy(){this.mapboxRenderer._cancelAllPendingRenders(),this._resetTileCache(),this._destroyed=!0}}function MT(t,i){let e;return i===0?e=h.JulianDate.toIso8601(t.stop):e=h.JulianDate.toIso8601(t.start),{Time:e}}function ky(t){if(t.type==="fromIso8601")return h.TimeIntervalCollection.fromIso8601({iso8601:t.iso8601,isStartIncluded:t.isStartIncluded,isStopIncluded:t.isStopIncluded,leadingInterval:t.leadingInterval,trailingInterval:t.trailingInterval,dataCallback:MT})}const{getStrFromEnv:eh}=w.ESSceneObject.context;function IT(t){const i=Object.entries(t).map(([e,n])=>{try{const o=n&&Function(`"use strict";return (${n})`)();return[e,o]}catch(o){console.error(`getCustomTagsFromJson error: ${o}`,o);return}}).filter(e=>!!e);return Object.fromEntries(i)}async function DT(t,i){var e,n;if(t.type==="WebMapTileServiceImageryProvider")return new h.WebMapTileServiceImageryProvider({url:Wt(t.url),format:t.format??"image/jpeg",layer:t.layer,style:t.style,tileMatrixSetID:t.tileMatrixSetID,tileMatrixLabels:t.tileMatrixLabels,clock:t.times&&((e=i.viewer)==null?void 0:e.clock),times:t.times&&ky(t.times),dimensions:t.dimensions,tileWidth:t.tileWidth??256,tileHeight:t.tileHeight??256,tilingScheme:t.tilingScheme&&gi(t.tilingScheme),rectangle:t.rectangle&&Ge(t.rectangle),minimumLevel:t.minimumLevel??0,maximumLevel:t.maximumLevel,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),credit:t.credit,subdomains:t.subdomains});if(t.type==="TileMapServiceImageryProvider")return t.url?await h.TileMapServiceImageryProvider.fromUrl(Wt(t.url),{fileExtension:t.fileExtension,credit:t.credit,minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),tileWidth:t.tileWidth,tileHeight:t.tileHeight,flipXY:t.flipXY}):void 0;if(t.type==="UrlTemplateImageryProvider"){const o=t.customTags&&IT(t.customTags);return console.log(Wt(t.url),"111"),new h.UrlTemplateImageryProvider({url:Wt(t.url),credit:t.credit,minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),tileWidth:t.tileWidth,tileHeight:t.tileHeight,subdomains:t.subdomains,hasAlphaChannel:t.hasAlphaChannel,pickFeaturesUrl:t.pickFeaturesUrl,enablePickFeatures:t.enablePickFeatures,urlSchemeZeroPadding:t.urlSchemeZeroPadding,customTags:o})}else{if(t.type==="GridImageryProvider")return new h.GridImageryProvider({tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),tileWidth:t.tileWidth,tileHeight:t.tileHeight,cells:t.cells,color:t.color&&ie(t.color),glowColor:t.glowColor&&ie(t.glowColor),backgroundColor:t.backgroundColor&&ie(t.backgroundColor),canvasSize:t.canvasSize,glowWidth:t.glowWidth});if(t.type==="ArcGisMapServerImageryProvider")return t.url?await h.ArcGisMapServerImageryProvider.fromUrl(Wt(t.url),{token:t.token,usePreCachedTilesIfAvailable:t.usePreCachedTilesIfAvailable,layers:t.layers,enablePickFeatures:t.enablePickFeatures,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),credit:t.credit,tileWidth:t.tileWidth,tileHeight:t.tileHeight,maximumLevel:t.maximumLevel}):void 0;if(t.type==="BingMapsImageryProvider")return t.url?await h.BingMapsImageryProvider.fromUrl(Wt(t.url),{key:t.key,tileProtocol:t.tileProtocol,mapStyle:t.mapStyle&&h.BingMapsStyle[t.mapStyle],culture:t.culture,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid)}):void 0;if(t.type==="GoogleEarthEnterpriseImageryProvider"){if(!t.url)return;const o=await h.GoogleEarthEnterpriseMetadata.fromUrl(Wt(t.url));return await h.GoogleEarthEnterpriseImageryProvider.fromMetadata(o,{ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),credit:t.credit})}else{if(t.type==="IonImageryProvider")return await h.IonImageryProvider.fromAssetId(t.assetId,{accessToken:t.accessToken,server:t.server});if(t.type==="MapboxImageryProvider")return new h.MapboxImageryProvider({url:t.url&&eh(t.url),mapId:t.mapId,accessToken:t.accessToken,format:t.format,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit});if(t.type==="MapboxStyleImageryProvider")return new h.MapboxStyleImageryProvider({url:t.url&&eh(t.url),username:t.username,styleId:t.styleId,accessToken:t.accessToken,tilesize:t.tilesize,scaleFactor:t.scaleFactor,rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel});if(t.type==="OpenStreetMapImageryProvider")return new h.OpenStreetMapImageryProvider({url:eh(t.url),rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,fileExtension:t.fileExtension});if(t.type==="SingleTileImageryProvider")return new h.SingleTileImageryProvider({url:Wt(t.url),rectangle:t.rectangle&&Ge(t.rectangle),credit:t.credit,ellipsoid:t.ellipsoid&&Pe(t.ellipsoid)});if(t.type==="TileCoordinatesImageryProvider")return new h.TileCoordinatesImageryProvider({tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),color:t.color&&ie(t.color),tileWidth:t.tileWidth,tileHeight:t.tileHeight});if(t.type==="WebMapServiceImageryProvider")return new h.WebMapServiceImageryProvider({url:Wt(t.url),layers:t.layers,enablePickFeatures:t.enablePickFeatures,rectangle:t.rectangle&&Ge(t.rectangle),tilingScheme:t.tilingScheme&&gi(t.tilingScheme),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),minimumLevel:t.minimumLevel,maximumLevel:t.maximumLevel,tileWidth:t.tileWidth,tileHeight:t.tileHeight,crs:t.crs,srs:t.srs,credit:t.credit,subdomains:t.subdomains,clock:t.times&&((n=i.viewer)==null?void 0:n.clock),times:t.times&&ky(t.times),parameters:t.parameters,getFeatureInfoParameters:t.getFeatureInfoParameters});if(t.type==="BDImageryProvider")return new jc({url:t.url&&eh(t.url),ellipsoid:t.ellipsoid&&Pe(t.ellipsoid),wgs84:t.wgs84});if(t.type==="GeHistoryImagery")return new ET({indexTime:t.indexTime});if(t.type==="ArcgisHistoryImagery")return new AT({indexTimeID:t.indexTimeID});if(t.type==="MVTImageryProvider")return t.url?await _u.fromUrl(t.url,{maximumLevel:t.maximumLevel,minimumLevel:t.minimumLevel,tileSize:t.tileSize,accessToken:t.accessToken,enablePickFeatures:t.enablePickFeatures,rectangle:t.rectangle&&Ge(t.rectangle),layerStyle:t.style,scheme:t.scheme}):void 0}}}function bT(t,i){i.type}class zy extends h.WebMercatorTilingScheme{constructor(i){super(i);var e=this._projection;e.s_project=e.project,e.project=function(r){var s={};return s=wu(h.Math.toDegrees(r.longitude),h.Math.toDegrees(r.latitude)),e.s_project(new h.Cartographic(h.Math.toRadians(s[0]),h.Math.toRadians(s[1])))},e.s_unproject=e.unproject,e.unproject=function(r){var s=e.s_unproject(r),a={};return a=yu(h.Math.toDegrees(s.longitude),h.Math.toDegrees(s.latitude)),new h.Cartographic(h.Math.toRadians(a[0]),h.Math.toRadians(a[1]))};var n=this._projection.unproject(this._rectangleSouthwestInMeters),o=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new h.Rectangle(n.longitude,n.latitude,o.longitude,o.latitude)}}class Ly extends h.WebMercatorTilingScheme{constructor(i){super(i);var e=this._projection;e.s_project=e.project,e.project=function(n){var o={};return o=yu(h.Math.toDegrees(n.longitude),h.Math.toDegrees(n.latitude)),e.s_project(new h.Cartographic(h.Math.toRadians(o[0]),h.Math.toRadians(o[1])))},e.s_unproject=e.unproject,e.unproject=function(n){var o=e.s_unproject(n),r={};return r=wu(h.Math.toDegrees(o.longitude),h.Math.toDegrees(o.latitude)),new h.Cartographic(h.Math.toRadians(r[0]),h.Math.toRadians(r[1]))}}}function RT(t){if(t.type==="GeographicTilingScheme")return"new Cesium.GeographicTilingScheme()";if(t.type==="WebMercatorTilingScheme")return"new Cesium.WebMercatorTilingScheme()"}class xn extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_innerImageryProvider",this.disposeVar(l.react(void 0)));v(this,"_layer",this.disposeVar(l.react(void 0)));const o=e.viewer;if(!o)return;const r=Yt(o);if(!r)return;const{imageriesManager:s}=r;s.add(this),this.dispose(()=>{s.has(this)&&s.delete(this)});const a=()=>{this.layer&&(this.layer=void 0)};this.dispose(a);const c=()=>{this.layer&&(this.layer.alpha=this.alpha??1,this.layer.nightAlpha=this.nightAlpha??1,this.layer.dayAlpha=this.dayAlpha??1,this.layer.brightness=this.brightness??1,this.layer.contrast=this.contrast??1,this.layer.hue=this.hue??0,this.layer.saturation=this.saturation??1,this.layer.gamma=this.gamma??1,this.layer.splitDirection=this.splitDirection&&h.SplitDirection[this.splitDirection]||h.SplitDirection.NONE,this.layer.minificationFilter=this.minificationFilter&&h.TextureMinificationFilter[this.minificationFilter]||h.TextureMinificationFilter.LINEAR,this.layer.magnificationFilter=this.magnificationFilter&&h.TextureMagnificationFilter[this.magnificationFilter]||h.TextureMagnificationFilter.LINEAR,this.layer.show=this.show??!0,this.layer.maximumAnisotropy=this.maximumAnisotropy,this.layer.minimumTerrainLevel=this.minimumTerrainLevel,this.layer.maximumTerrainLevel=this.maximumTerrainLevel,this.layer.colorToAlpha=this.colorToAlpha&&toColor(this.colorToAlpha),this.layer.colorToAlphaThreshold=this.colorToAlphaThreshold??.004,this.imageryProvider&&bT(this.layer.imageryProvider,this.imageryProvider))};let d=!1;const u=this.disposeVar(l.createProcessingFromAsyncFunc(async(y,P)=>{if(P){if(d=!0,a(),!this.innerImageryProvider)return;const S=await y.promise(DT(this.innerImageryProvider,e));if(!S){console.error("createImageryProviderFromJson error!");return}this.layer=new h.ImageryLayer(S),h.ImageryLayer.prototype&&(this.layer.ESSceneObjectID=n),d=!1}c()}));u.restart(void 0,!0);const p=this.disposeVar(new l.Event),f=this.disposeVar(new l.Event);this.ad(this.layerChanged.don(()=>{if(!this.innerImageryProvider||!this.layer||!Reflect.has(this.innerImageryProvider,"rectangle")||this.innerImageryProvider.rectangle[0]!=this.imageryProvider.rectangle[0]||this.innerImageryProvider.rectangle[1]!=this.imageryProvider.rectangle[1]||this.innerImageryProvider.rectangle[2]!=this.imageryProvider.rectangle[2]||this.innerImageryProvider.rectangle[3]!=this.imageryProvider.rectangle[3])return;const y=this.layer.imageryProvider.tilingScheme.rectangle,P=this.innerImageryProvider.rectangle&&Ge(this.innerImageryProvider.rectangle);(P.west<y.west||P.south<y.south||P.east>y.east||P.north>y.north)&&(this.innerImageryProvider.rectangle=[h.Math.toDegrees(Math.max(y.west,P.west)),h.Math.toDegrees(Math.max(y.south,P.south)),h.Math.toDegrees(Math.min(y.east,P.east)),h.Math.toDegrees(Math.min(y.north,P.north))],p.emit())})),this.dispose(this.imageryProviderChanged.disposableOn(()=>{this.innerImageryProvider=structuredClone(this.imageryProvider),p.emit()})),this.dispose(w.ESSceneObject.context.environmentVariablesChanged.disposableOn(()=>{p.emit()}));const g=this.disposeVar(l.createNextAnimateFrameEvent(this.rectangleChanged,p));this.dispose(g.disposableOn(()=>{u.restart(void 0,!0)}));const m=this.disposeVar(l.createNextAnimateFrameEvent(this.alphaChanged,this.nightAlphaChanged,this.dayAlphaChanged,this.brightnessChanged,this.contrastChanged,this.hueChanged,this.saturationChanged,this.gammaChanged,this.splitDirectionChanged,this.minificationFilterChanged,this.magnificationFilterChanged,this.showChanged,this.maximumAnisotropyChanged,this.minimumTerrainLevelChanged,this.maximumTerrainLevelChanged,this.cutoutRectangleChanged,this.colorToAlphaChanged,this.colorToAlphaThresholdChanged,f));this.dispose(m.disposableOn(()=>{d||u.restart(void 0,!1)})),this.dispose(this.flyToEvent.disposableOn(y=>{if(!e.actived)return;const{viewer:P}=e;P&&P.camera.flyTo({destination:this.rectangle&&!pd(this.rectangle)?Ge(this.rectangle):h.Camera.DEFAULT_VIEW_RECTANGLE,duration:y})}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get innerImageryProvider(){return this._innerImageryProvider.value}set innerImageryProvider(e){this._innerImageryProvider.value=e}get innerImageryProviderChanged(){return this._innerImageryProvider.changed}get layer(){return this._layer.value}set layer(e){this._layer.value=e}get layerChanged(){return this._layer.changed}}v(xn,"defaults",{show:!0,rectangle:[-180,-90,180,90],alpha:1,nightAlpha:1,dayAlpha:1,brightness:1,contrast:1,hue:0,saturation:1,gamma:1,splitDirection:"NONE",minificationFilter:"LINEAR",magnificationFilter:"LINEAR",maximumAnisotropy:0,minimumTerrainLevel:0,maximumTerrainLevel:0,cutoutRectangle:[1,1,1,1],colorToAlpha:[1,1,1,.5],colorToAlphaThreshold:.004,imageryProvider:{type:"TileMapServiceImageryProvider"},zIndex:0,hasAlphaChannel:!0,pickFeaturesUrl:""}),(t=>{t.createDefaultProps=()=>({show:void 0,rectangle:l.reactArrayWithUndefined(void 0),alpha:void 0,nightAlpha:void 0,dayAlpha:void 0,brightness:void 0,contrast:void 0,hue:void 0,saturation:void 0,gamma:void 0,splitDirection:void 0,minificationFilter:void 0,magnificationFilter:void 0,maximumAnisotropy:void 0,minimumTerrainLevel:void 0,maximumTerrainLevel:void 0,cutoutRectangle:l.reactArrayWithUndefined(void 0),colorToAlpha:l.reactArrayWithUndefined(void 0),colorToAlphaThreshold:void 0,imageryProvider:l.reactJsonWithUndefined(void 0),zIndex:0,hasAlphaChannel:void 0,pickFeaturesUrl:void 0,targetID:void 0})})(xn||(xn={})),l.extendClassProps(xn.prototype,xn.createDefaultProps);const Pu=h.ApproximateTerrainHeights,xT=h.ComponentDatatype,Ai=h.defaultValue,ht=h.defined,FT=h.destroyObject,Su=h.DeveloperError,kT=h.deprecationWarning,zT=h.GeometryInstance,LT=h.GeometryInstanceAttribute,OT=h.GroundPolylineGeometry,bs=h.DrawCommand,Oy=h.Pass,Ny=h.RenderState,NT=h.ShaderProgram,Rs=h.ShaderSource;let Eu=h._shadersPolylineShadowVolumeFS;const VT=h._shadersPolylineShadowVolumeMorphFS,UT=h._shadersPolylineShadowVolumeMorphVS;let Au=h._shadersPolylineShadowVolumeVS;const Vy=h.BlendingState,Tu=h.ClassificationType,WT=h.CullFace,Uy=h.PolylineColorAppearance,GT=h.PolylineMaterialAppearance,Fn=h.Primitive,_r=h.SceneMode,Wy=h.StencilConstants,Gy=h.StencilFunction,Pr=h.StencilOperation;Au=Au.replace("width = width * max(0.0, czm_metersPerPixel(positionEC));",""),Eu=Eu.replace("float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w * czm_metersPerPixel(eyeCoordinate);","float halfMaxWidth = v_startPlaneNormalEcAndHalfWidth.w;");function Ti(t){t=Ai(t,Ai.EMPTY_OBJECT),this.geometryInstances=t.geometryInstances,this._hasPerInstanceColors=!0;let i=t.appearance;ht(i)||(i=new GT),this.appearance=i,this.show=Ai(t.show,!0),this.classificationType=Ai(t.classificationType,Tu.BOTH),this.debugShowBoundingVolume=Ai(t.debugShowBoundingVolume,!1),this._debugShowShadowVolume=Ai(t.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:Ai(t.interleave,!1),releaseGeometryInstances:Ai(t.releaseGeometryInstances,!0),allowPicking:Ai(t.allowPicking,!0),asynchronous:Ai(t.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1;const e=this;this._readyPromise=new Promise((n,o)=>{e._completeLoad=()=>{this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0);const r=this._error;ht(r)?o(r):n(this)}}),this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=Hy(!1),this._renderState3DTiles=Hy(!0),this._renderStateMorph=Ny.fromCache({cull:{enabled:!0,face:WT.FRONT},depthTest:{enabled:!0},blending:Vy.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(Ti.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},readyPromise:{get:function(){return kT("GroundPolylinePrimitive.readyPromise","GroundPolylinePrimitive.readyPromise was deprecated in CesiumJS 1.104. It will be removed in 1.107. Wait for GroundPolylinePrimitive.ready to return true instead."),this._readyPromise}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}}),Ti.initializeTerrainHeights=function(){return Pu.initialize()};function HT(t,i,e){const n=i.context,o=t._primitive,r=o._attributeLocations;let s=o._batchTable.getVertexShaderCallback()(Au);s=Fn._appendShowToShader(o,s),s=Fn._appendDistanceDisplayConditionToShader(o,s),s=Fn._modifyShaderPosition(t,s,i.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(UT);a=Fn._appendShowToShader(o,a),a=Fn._appendDistanceDisplayConditionToShader(o,a),a=Fn._modifyShaderPosition(t,a,i.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(Eu);const d=[`GLOBE_MINIMUM_ALTITUDE ${i.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`];let u="",p="";ht(e.material)?(p=ht(e.material)?e.material.shaderSource:"",p.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&d.push("ANGLE_VARYING"),p.search(/in\s+float\s+v_width;/g)!==-1&&d.push("WIDTH_VARYING")):u="PER_INSTANCE_COLOR",d.push(u);const f=t.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",u]:[u],g=new Rs({defines:d,sources:[s]}),m=new Rs({defines:f,sources:[p,c]});t._sp=NT.replaceCache({context:n,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let y=n.shaderCache.getDerivedShaderProgram(t._sp,"2dColor");if(!ht(y)){const S=new Rs({defines:d.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});y=n.shaderCache.createDerivedShaderProgram(t._sp,"2dColor",{context:n,shaderProgram:t._sp2D,vertexShaderSource:S,fragmentShaderSource:m,attributeLocations:r})}t._sp2D=y;let P=n.shaderCache.getDerivedShaderProgram(t._sp,"MorphColor");if(!ht(P)){const S=new Rs({defines:d.concat([`MAX_TERRAIN_HEIGHT ${Pu._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(VT);const C=new Rs({defines:f,sources:[p,c]});P=n.shaderCache.createDerivedShaderProgram(t._sp,"MorphColor",{context:n,shaderProgram:t._spMorph,vertexShaderSource:S,fragmentShaderSource:C,attributeLocations:r})}t._spMorph=P}function Hy(t){return Ny.fromCache({cull:{enabled:!0},blending:Vy.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:t,frontFunction:Gy.EQUAL,frontOperation:{fail:Pr.KEEP,zFail:Pr.KEEP,zPass:Pr.KEEP},backFunction:Gy.EQUAL,backOperation:{fail:Pr.KEEP,zFail:Pr.KEEP,zPass:Pr.KEEP},reference:Wy.CESIUM_3D_TILE_MASK,mask:Wy.CESIUM_3D_TILE_MASK}})}function qT(t,i,e,n,o,r){const s=t._primitive,a=s._va.length;o.length=a,r.length=a;const d=i instanceof Uy?{}:e._uniforms,u=s._batchTable.getUniformMapCallback()(d);for(let p=0;p<a;p++){const f=s._va[p];let g=o[p];ht(g)||(g=o[p]=new bs({owner:t,primitiveType:s._primitiveType})),g.vertexArray=f,g.renderState=t._renderState,g.shaderProgram=t._sp,g.uniformMap=u,g.pass=Oy.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";const m=bs.shallowClone(g,g.derivedCommands.tileset);m.renderState=t._renderState3DTiles,m.pass=Oy.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;const y=bs.shallowClone(g,g.derivedCommands.color2D);y.shaderProgram=t._sp2D,g.derivedCommands.color2D=y;const P=bs.shallowClone(m,m.derivedCommands.color2D);P.shaderProgram=t._sp2D,m.derivedCommands.color2D=P;const S=bs.shallowClone(g,g.derivedCommands.colorMorph);S.renderState=t._renderStateMorph,S.shaderProgram=t._spMorph,S.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=S}}function qy(t,i,e,n,o,r,s){e.mode===_r.MORPHING?i=i.derivedCommands.colorMorph:e.mode!==_r.SCENE3D&&(i=i.derivedCommands.color2D),i.modelMatrix=n,i.boundingVolume=r,i.cull=o,i.debugShowBoundingVolume=s,e.commandList.push(i)}function $T(t,i,e,n,o,r,s){const a=t._primitive;Fn._updateBoundingVolumes(a,i,o);let c;i.mode===_r.SCENE3D?c=a._boundingSphereWC:i.mode===_r.COLUMBUS_VIEW?c=a._boundingSphereCV:i.mode===_r.SCENE2D&&ht(a._boundingSphere2D)?c=a._boundingSphere2D:ht(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);const d=i.mode===_r.MORPHING,u=t.classificationType,p=u!==Tu.CESIUM_3D_TILE,f=u!==Tu.TERRAIN&&!d;let g;const m=i.passes;if(m.render||m.pick&&a.allowPicking){const y=e.length;for(let P=0;P<y;++P){const S=c[P];p&&(g=e[P],qy(t,g,i,o,r,S,s)),f&&(g=e[P].derivedCommands.tileset,qy(t,g,i,o,r,S,s))}}}Ti.prototype.update=function(t){if(!ht(this._primitive)&&!ht(this.geometryInstances))return;if(!Pu.initialized){if(!this.asynchronous)throw new Su("For synchronous GroundPolylinePrimitives, you must call GroundPolylinePrimitives.initializeTerrainHeights() and wait for the returned promise to resolve.");Ti.initializeTerrainHeights();return}let i;const e=this,n=this._primitiveOptions;if(!ht(this._primitive)){const o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r);let a;for(i=0;i<r;++i)if(a=o[i].attributes,!ht(a)||!ht(a.color)){this._hasPerInstanceColors=!1;break}for(i=0;i<r;++i){const c=o[i];a={};const d=c.attributes;for(const u in d)d.hasOwnProperty(u)&&(a[u]=d[u]);ht(a.width)||(a.width=new LT({componentDatatype:xT.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=t.scene3DOnly,OT.setProjectionAndEllipsoid(c.geometry,t.mapProjection),s[i]=new zT({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:e})}n.geometryInstances=s,n.appearance=this.appearance,n._createShaderProgramFunction=function(c,d,u){HT(e,d,u)},n._createCommandsFunction=function(c,d,u,p,f,g,m){qT(e,d,u,p,g,m)},n._updateAndQueueCommandsFunction=function(c,d,u,p,f,g,m,y){$T(e,d,u,p,f,g,m)},this._primitive=new Fn(n)}if(this.appearance instanceof Uy&&!this._hasPerInstanceColors)throw new Su("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(t),t.afterRender.push(()=>{!this._ready&&ht(this._primitive)&&this._primitive.ready&&this._completeLoad()})},Ti.prototype.getGeometryInstanceAttributes=function(t){if(!ht(this._primitive))throw new Su("must call update before calling getGeometryInstanceAttributes");return this._primitive.getGeometryInstanceAttributes(t)},Ti.isSupported=function(t){return t.frameState.context.depthTexture},Ti.prototype.isDestroyed=function(){return!1},Ti.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,FT(this)};class vo extends l.Destroyable{constructor(i){super();const e=i.viewer;if(!e){console.warn("viewer is undefined!");return}const n=e.scene.globe,o=-414,r=8777;let s={};const a=()=>{var p,f,g,m,y;if(!e)return;let d;const u=this.shadingMode||"none";if((this.show??!0)&&!(u==="none"&&!this.enableContour)){let P;this.enableContour?(u==="elevation"?(d=XT(),P=d.materials.elevationRampMaterial.uniforms,P.minimumHeight=((p=this.elevationParam)==null?void 0:p.minHeight)??o,P.maximumHeight=((f=this.elevationParam)==null?void 0:f.maxHeight)??r,s=d.materials.contourMaterial.uniforms):u==="slope"?(d=YT(),P=d.materials.slopeRampMaterial.uniforms,s=d.materials.contourMaterial.uniforms):u==="aspect"?(d=ZT(),P=d.materials.aspectRampMaterial.uniforms,s=d.materials.contourMaterial.uniforms):(d=h.Material.fromType("ElevationContour"),s=d.uniforms),s.width=this.contourWidth,s.spacing=this.contourSpacing,s.color=h.Color.fromCartesian4(h.Cartesian4.fromArray(this.contourColor))):u==="elevation"?(d=h.Material.fromType("ElevationRamp"),P=d.uniforms,P.minimumHeight=((g=this.elevationParam)==null?void 0:g.minHeight)??o,P.maximumHeight=((m=this.elevationParam)==null?void 0:m.maxHeight)??r):u==="slope"?(d=h.Material.fromType("SlopeRamp"),P=d.uniforms):u==="aspect"&&(d=h.Material.fromType("AspectRamp"),P=d.uniforms),u!=="none"&&(P.image=$y(u),u==="elevation"&&((y=this.elevationParam)==null?void 0:y.color)!==void 0&&(P.image=Array.isArray(this.elevationParam.color)?$y(u,this.elevationParam.color):this.elevationParam.color))}n.material=d};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(this.contourColorChanged,this.contourSpacingChanged,this.contourWidthChanged,this.enableContourChanged,this.shadingModeChanged,this.showChanged,this.elevationParamChanged));this.dispose(c.disposableOn(a)),this.dispose(()=>n.material=void 0)}}v(vo,"defaults",{show:!1,enableContour:!1,contourSpacing:150,contourWidth:2,contourColor:[1,0,0,1],shadingMode:"none"}),(t=>{t.createDefaultProps=()=>({show:void 0,shadingMode:void 0,enableContour:!1,contourSpacing:150,contourWidth:2,contourColor:[1,0,0,1],elevationParam:l.reactJsonWithUndefined(void 0)})})(vo||(vo={})),l.extendClassProps(vo.prototype,vo.createDefaultProps);function XT(){return new h.Material({fabric:{type:"ElevationColorContour",materials:{contourMaterial:{type:"ElevationContour"},elevationRampMaterial:{type:"ElevationRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? elevationRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, elevationRampMaterial.alpha)"}},translucent:!1})}function YT(){return new h.Material({fabric:{type:"SlopeColorContour",materials:{contourMaterial:{type:"ElevationContour"},slopeRampMaterial:{type:"SlopeRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? slopeRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, slopeRampMaterial.alpha)"}},translucent:!1})}function ZT(){return new h.Material({fabric:{type:"AspectColorContour",materials:{contourMaterial:{type:"ElevationContour"},aspectRampMaterial:{type:"AspectRamp"}},components:{diffuse:"contourMaterial.alpha == 0.0 ? aspectRampMaterial.diffuse : contourMaterial.diffuse",alpha:"max(contourMaterial.alpha, aspectRampMaterial.alpha)"}},translucent:!1})}const QT=[0,.045,.1,.15,.37,.54,1],KT=[0,.29,.5,Math.sqrt(2)/2,.87,.91,1],JT=[0,.2,.4,.6,.8,.9,1];function $y(t,i){const e=document.createElement("canvas");e.width=100,e.height=1;const n=e.getContext("2d");let o;if(t==="elevation")o=QT;else if(t==="slope")o=KT;else if(t==="aspect")o=JT;else throw new Error("values未赋值!");const r=n.createLinearGradient(0,0,100,0);return r.addColorStop(o[0],i!=null&&i[0]?mn(i==null?void 0:i[0]):"#000000"),r.addColorStop(o[1],i!=null&&i[1]?mn(i==null?void 0:i[1]):"#2747E0"),r.addColorStop(o[2],i!=null&&i[2]?mn(i==null?void 0:i[2]):"#D33B7D"),r.addColorStop(o[3],i!=null&&i[3]?mn(i==null?void 0:i[3]):"#D33038"),r.addColorStop(o[4],i!=null&&i[4]?mn(i==null?void 0:i[4]):"#FF9742"),r.addColorStop(o[5],i!=null&&i[5]?mn(i==null?void 0:i[5]):"#ffd700"),r.addColorStop(o[6],i!=null&&i[6]?mn(i==null?void 0:i[6]):"#ffffff"),n.fillStyle=r,n.fillRect(0,0,100,1),e}class Sr extends l.Destroyable{constructor(e){super();v(this,"_geoPath");v(this,"_geoPolyline");v(this,"_geoCanvasPointPoi");v(this,"_player");v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_currentDistance",this.disposeVar(l.react(0)));v(this,"_ratio",this.disposeVar(w.PlayerProperty.createPlayingRatio([this,"currentTime"],[this,"duration"])));this._geoPath=this.disposeVar(new w.ESPathImpl),this._geoPolyline=this.disposeVar(new Ie(e)),this._geoCanvasPointPoi=this.disposeVar(new yn(e)),this._player=this.disposeVar(new w.Player),this._geoPolyline.show=!1,this.dispose(l.bind([this._geoPolyline,"positions"],[this,"positions"])),this.dispose(l.track([this._geoPath,"currentTime"],[this,"currentDistance"])),this.dispose(l.track([this._geoPath,"leadTime"],[this,"leadTime"])),this.dispose(l.track([this._geoPath,"trailTime"],[this,"trailTime"])),this.dispose(l.track([this._geoPath,"show"],[this,"show"])),this.dispose(l.track([this._geoPath,"polylineShow"],[this,"polylineShow"])),this.dispose(l.track([this._geoPath,"currentPoiShow"],[this,"currentPoiShow"])),this.dispose(l.track([this._geoPath,"width"],[this,"width"])),this.dispose(l.track([this._geoPath,"ground"],[this,"ground"])),this.dispose(l.track([this._geoPath,"color"],[this,"color"])),this.dispose(l.track([this._geoPath,"hasDash"],[this,"hasDash"])),this.dispose(l.track([this._geoPath,"gapColor"],[this,"gapColor"])),this.dispose(l.track([this._geoPath,"dashLength"],[this,"dashLength"])),this.dispose(l.track([this._geoPath,"dashPattern"],[this,"dashPattern"])),this.dispose(l.track([this._geoPath,"hasArrow"],[this,"hasArrow"])),this.dispose(l.track([this._geoPath,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._geoPath,"arcType"],[this,"arcType"])),this.dispose(l.track([this._geoPath,"allowPicking"],[this,"allowPicking"]));{const n=()=>{this._geoCanvasPointPoi.show=(this.show??!0)&&(this.currentPoiShow??!0)};n(),this.dispose(this.showChanged.disposableOn(n)),this.dispose(this.currentPoiShowChanged.disposableOn(n))}this.dispose(l.track([this._geoCanvasPointPoi,"position"],[this,"currentPosition"]));{const n=()=>{if(this.positions){const r=this.granularity*Math.PI/180,s=sd(this.positions,this.arcType??"GEODESIC",r);if(s){this._geoPath.timePosRots=s.timePosRots,this.rotationRadius.some(a=>a>0)?(this._geoPath.addAroundPoints(this.rotationRadius,!0),this._geoPath.computeRotIfUndefinedUsingLerp(!0),this._geoPath.rotLerpMode="Lerp"):(this._geoPath.computeRotIfUndefinedUsingPrevLine(!0),this._geoPath.rotLerpMode=this.rotLerpMode);return}}this._geoPath.timePosRots=[]};n();const o=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.granularityChanged,this.rotationRadiusChanged,this.rotLerpModeChanged));this.dispose(o.disposableOn(n))}{const n=()=>{if((this._player.duration??3e3)<=0){this.currentDistance=0;return}const o=this.totalDistance*((this._player.currentTime??0)/(this._player.duration??3e3));Math.abs(o-this.currentDistance)>.01&&(this.currentDistance=o)};n(),this.dispose(this._player.currentTimeChanged.disposableOn(n))}{const n=()=>{if(this.totalDistance<=0){this._player.currentTime=0;return}const o=this.currentDistance/this.totalDistance*(this.duration??3e3);Math.abs(o-(this._player.currentTime??0))>.01&&(this._player.currentTime=o)};n(),this.dispose(this.currentDistanceChanged.disposableOn(n))}this.dispose(l.bind([this._player,"loop"],[this,"loop"])),this.dispose(l.bind([this._player,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._player,"duration"],[this,"duration"])),this.dispose(l.bind([this._player,"playing"],[this,"playing"])),this.dispose(l.bind([this._player,"speed"],[this,"speed"])),this.dispose(this._flyToEvent.disposableOn(n=>{this._geoPolyline.flyTo(n)}))}get geoPath(){return this._geoPath}get geoPolyline(){return this._geoPolyline}get geoCanvasPointPoi(){return this._geoCanvasPointPoi}get player(){return this._player}get currentInfo(){return this._geoPath.currentInfo}get currentInfoChanged(){return this._geoPath.currentInfoChanged}get currentIndex(){return this._geoPath.currentIndex}get currentIndexChanged(){return this._geoPath.currentIndexChanged}get currentPosition(){return this._geoPath.currentPosition}get currentPositionChanged(){return this._geoPath.currentPositionChanged}get currentRotation(){return this._geoPath.currentRotation}get currentRotationChanged(){return this._geoPath.currentRotationChanged}get accumDistances(){return this._geoPath.accumDistances}get accumDistancesChanged(){return this._geoPath.accumDistancesChanged}get totalDistance(){return this._geoPath.totalDistance}get totalDistanceChanged(){return this._geoPath.totalDistanceChanged}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}subPath(e,n){const o=this._geoPath.subPath(e,n);if(o)return o.map(r=>r[1])}get currentDistance(){return this._currentDistance.value}set currentDistance(e){this._currentDistance.value=e}get currentDistanceChanged(){return this._currentDistance.changed}get ratio(){return this._ratio.value}set ratio(e){this._ratio.value=e}get ratioChanged(){return this._ratio.changed}get timePosRots(){return this.geoPath.timePosRots}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,currentPoiShow:!0,polylineShow:!0,positions:l.reactPositions(void 0),width:1,ground:!1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",granularity:1,loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,depthTest:!1,leadTime:0,trailTime:0,rotationRadius:[0],rotLerpMode:"Next"})})(Sr||(Sr={})),l.extendClassProps(Sr.prototype,Sr.createDefaultProps);class Ce extends Qt{constructor(e,n){super(e,n);v(this,"_smoothMoving");if(this._smoothMoving=this.disposeVar(new w.SmoothMoveController(this.czmViewer)),this.d(this._smoothMoving.currentPositionChanged.don(r=>{r&&(this.sceneObject.position=r)})),this.d(this._smoothMoving.currentRotationChanged.don(r=>{r&&this._smoothMoving.isRotating&&(this.sceneObject.rotation=r)})),this.d(this._smoothMoving.currentHeadingChanged.don(r=>{if(r!==void 0&&!this._smoothMoving.isRotating){const s=this.sceneObject.rotation;this.sceneObject.rotation=[r-90,s[1],s[2]]}})),!n.viewer){console.warn("viewer is undefined!");return}this.d(e.smoothMoveEvent.don((r,s)=>{this.smoothMove(r,s*1e3)})),this.d(e.smoothMoveWithRotationEvent.don((r,s,a)=>{this.smoothMoveWithRotation(r,s,a*1e3)})),this.d(e.smoothMoveOnGroundEvent.don((r,s,a)=>{this.smoothMoveOnGround(r,s,a*1e3)})),this.d(e.smoothMoveWithRotationOnGroundEvent.don((r,s,a,c)=>{this.smoothMoveWithRotationOnGround(r,s,a,c*1e3)})),this.d(e.calcFlyToParamEvent.don(()=>{if(!e.useCalcFlyToParamInESObjectWithLocation)return;if(!e.position){console.warn(`!sceneObject(${e.name}-${e.id}).position`);return}const r=n.calcFlyToParam(e.position);if(!r){console.warn("czmViewer.calcFlyToParam error.");return}e.flyToParam=r})),this.d(e.automaticLandingEvent.don(async r=>{const s=[e.position[0],e.position[1]],a=await n.getTerrainHeight(s);a?e.position=[...s,a]:console.warn("不存在相交"),e.collision=r}));{const r=this.dv(l.createNextAnimateFrameEvent(e.minVisibleDistanceChanged,e.maxVisibleDistanceChanged));this.d(r.don(()=>this.visibleDistance(e,n))),this.d(n.cameraChanged.don(()=>this.visibleDistance(e,n)))}}smoothMove(e,n){this._smoothMoving.isGround=!1,this._smoothMoving.isRotating=!1,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart(e,this.sceneObject.rotation,n)}smoothMoveWithRotation(e,n,o){this._smoothMoving.isGround=!1,this._smoothMoving.isRotating=!0,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart(e,n,o)}async smoothMoveOnGround(e,n,o){const r=await this.czmViewer.getTerrainHeight([e,n])??0;this._smoothMoving.isGround=!0,this._smoothMoving.isRotating=!1,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart([e,n,r],this.sceneObject.rotation,o)}async smoothMoveWithRotationOnGround(e,n,o,r){const s=await this.czmViewer.getTerrainHeight([n,o])??0;this._smoothMoving.isGround=!0,this._smoothMoving.isRotating=!0,this._smoothMoving.restart(this.sceneObject.position,this.sceneObject.rotation,0),this._smoothMoving.restart([n,o,s],e,r)}visibleDistance(e,n){var r;const o=Ce.getInnerCzmObjects(this);if((r=n.viewer)!=null&&r.camera&&e.show&&o.length!=0){const s=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let a=!1;e.minVisibleDistance<e.maxVisibleDistance?a=e.minVisibleDistance<s&&s<e.maxVisibleDistance:e.maxVisibleDistance==0&&(a=s>e.minVisibleDistance),o.forEach(c=>{if(c instanceof Le)return;const d=e.show&&a;Reflect.has(c,"showHelper")&&(c.showHelper=d),Reflect.has(c,"enabled")&&(c.enabled=d),Reflect.has(c,"show")&&(c.show=d)})}}static getInnerCzmObjects(e){const n=[];for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(!o.includes("czmViewer")&&o.includes("czm")||!Number.isNaN(+o)?Array.isArray(e[o])?n.push(...Ce.getInnerCzmObjects(e[o])):n.push(e[o]):e[o]&&e[o].obj&&n.push(...Ce.getInnerCzmObjects(e[o].obj)));return n}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyToParam&&o.position){const{position:s,flyToParam:a}=o,{distance:c,heading:d,pitch:u,flyDuration:p,hDelta:f,pDelta:g}=a;return this.flyToWithPromise(n,s,c,[d,u,0],e??p,f,g),!0}return super.flyTo(e,n)}flyIn(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(!o.flyInParam&&o.position&&o.rotation){const s=e??1,a=[...o.rotation];return a[0]+=90,this.flyToWithPromise(n,o.position,void 0,a,s),!0}return super.flyIn(e,n)}}class vt extends Qt{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}}class xs extends Ce{constructor(e,n){super(e,n);v(this,"_lastHoverResult",this.disposeVar(l.react(void 0)));if(!n.viewer){console.warn("viewer is undefined!");return}const r=this.ad(l.createProcessingFromAsyncFunc(async(s,a)=>{const c=await s.promise(n.pick(a.screenPosition,"innerHoverEvent"));this.lastHoverResult=Object.assign({},c,a)}));this.ad(n.pointerMoveEvent.don(async s=>{!r.isRunning&&r.restart(void 0,s)}))}get lastHoverResult(){return this._lastHoverResult.value}set lastHoverResult(e){this._lastHoverResult.value=e}get lastHoverResultChanged(){return this._lastHoverResult.changed}}class th extends Ce{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}}function BT(t){return[t.urlChanged,t.classificationTypeChanged,t.ellipsoidChanged,t.modelUpAxisChanged,t.modelForwardAxisChanged,t.cullWithChildrenBoundsChanged,t.enableShowOutlineChanged,t.projectTo2DChanged,t.debugHeatmapTilePropertyNameChanged,t.enableDebugWireframeChanged,t.vectorClassificationOnlyChanged,t.vectorKeepDecodedPositionsChanged]}function Xy(t,i){const e=i;if(e.modelMatrix){h.Matrix4.clone(h.Matrix4.fromArray(e.modelMatrix),t.modelMatrix);return}if(!e.position){h.Matrix4.clone(h.Matrix4.IDENTITY,t.modelMatrix);return}let n=t._root.transform;const o=Fe({initialRotation:"yForwardzUp",rotation:[0,0,0],position:e.origin});(o&&!o.equalsEpsilon(n,.001)||n.equals(h.Matrix4.IDENTITY))&&o&&(n=o);const r=Fe({initialRotation:"yForwardzUp",rotation:e.rotation,position:e.position});if(!r){console.warn("modelMatrix is undefined!");return}const s=h.Matrix4.inverseTransformation(n,new h.Matrix4);h.Matrix4.multiply(r,s,t.modelMatrix)}class jT extends l.Destroyable{constructor(i,e,n){super(),this._tileset=i,this._czm3DTiles=e,this._updateMatrixEvent=n;{const o=()=>{const s=h.Matrix4.inverseTransformation(i.clippingPlanesOriginMatrix,new h.Matrix4);if(!i.clippingPlanes){i.clippingPlanes=as(e.clippingPlanes??{enabled:!1},s);return}Kl(i.clippingPlanes,e.clippingPlanes,s)};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(e.clippingPlanesChanged,e.originRootTransformInvChanged,this._updateMatrixEvent));this.dispose(r.disposableOn(o))}}get tileset(){return this._tileset}get czm3DTiles(){return this._czm3DTiles}}class eM extends l.Destroyable{constructor(i,e){super(),this._tileset=i,this._czm3DTiles=e;const{tileset:n,czm3DTiles:o}=this;{const r=()=>{if(!n.clippingPlanes){n.clippingPlanes=as(o.clippingPlanes??{enabled:!1});return}Kl(n.clippingPlanes,o.clippingPlanes)};r(),this.dispose(o.clippingPlanesChanged.disposableOn(r))}}get tileset(){return this._tileset}get czm3DTiles(){return this._czm3DTiles}}class tM extends l.Destroyable{constructor(i,e){super(),this._tileset=i,this._czm3DTiles=e;const{tileset:n,czmCzm3DTiles:o}=this;{const r=()=>{n.clippingPolygons=o.clippingPolygons?Jl(o.clippingPolygons):new h.ClippingPolygonCollection};r(),this.dispose(o.clippingPolygonsChanged.disposableOn(r))}}get tileset(){return this._tileset}get czmCzm3DTiles(){return this._czm3DTiles}}class iM extends l.Destroyable{constructor(i,e){super(),this._nativeTilesetReadyResetting=i,this._czmFlattenedPlane=e;const{tileset:n}=this;this.setFlattened(!0),this.dispose(()=>{this.setFlattened(!1)});{const o=()=>{const r=this._czmFlattenedPlane.finalMatrix?h.Matrix4.toArray(this._czmFlattenedPlane.finalMatrix):[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];this.setElevationMatrix(r)};o(),this.dispose(this._czmFlattenedPlane.finalMatrixChanged.disposableOn(o))}{const o=()=>{const s=[...this._czmFlattenedPlane.minSize,...this._czmFlattenedPlane.maxSize];this.setFlattenedBound(s)};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this._czmFlattenedPlane.minSizeChanged,this._czmFlattenedPlane.maxSizeChanged));this.dispose(r.disposableOn(o))}n.xbsjGetFlattenedTextureFunc=()=>{const{sceneObject:o}=this._czmFlattenedPlane.czmTextureWithId;return o?window.czmTexture[o.id].texture:void 0},this.dispose(()=>n.xbsjGetFlattenedTextureFunc=void 0);{const o=()=>{const r=this._czmFlattenedPlane.computedCustomShader;this._nativeTilesetReadyResetting.flattenedCustomShader=r&&new r(this.czm3DTiles,this.czm3DTiles.czmViewer)};o(),this.dispose(this._czmFlattenedPlane.computedCustomShaderChanged.disposableOn(o)),this.dispose(()=>this._nativeTilesetReadyResetting.flattenedCustomShader=void 0)}}get czm3DTiles(){return this._nativeTilesetReadyResetting.czm3DTiles}get tileset(){return this._nativeTilesetReadyResetting.tileset}get czmFlattenedPlane(){return this._czmFlattenedPlane}setFlattened(i){this.tileset.xbsjFlattened=i}setFlattenedBound(i){this.tileset.xbsjFlattenedBound=h.Cartesian4.fromArray(i)}setElevationMatrix(i){this.tileset.xbsjElevationMatrix=h.Matrix4.fromArray(i)}}function nM(t,i){t.show=i.show??!0,t.colorBlendMode=h.Cesium3DTileColorBlendMode[i.colorBlendMode??"HIGHLIGHT"],t.shadows=(i.shadows&&ut.shadowPropsMap[i.shadows])??ut.shadowPropsMap.ENABLED,t.maximumScreenSpaceError=i.maximumScreenSpaceError??16,t.maximumMemoryUsage=i.maximumMemoryUsage??Ae.defaults.maximumMemoryUsage,t.cacheBytes=i.cacheBytes??Ae.defaults.cacheBytes,t.maximumCacheOverflowBytes=i.maximumCacheOverflowBytes??Ae.defaults.maximumCacheOverflowBytes,t.cullRequestsWhileMoving=i.cullRequestsWhileMoving??!0,t.cullRequestsWhileMovingMultiplier=i.cullRequestsWhileMovingMultiplier??60,t.preloadWhenHidden=i.preloadWhenHidden??!1,t.preloadFlightDestinations=i.preloadFlightDestinations??!0,t.preferLeaves=i.preferLeaves??!1,t.dynamicScreenSpaceError=i.dynamicScreenSpaceError??!1,t.dynamicScreenSpaceErrorDensity=i.dynamicScreenSpaceErrorDensity??.00278,t.dynamicScreenSpaceErrorFactor=i.dynamicScreenSpaceErrorFactor??4,t.dynamicScreenSpaceErrorHeightFalloff=i.dynamicScreenSpaceErrorHeightFalloff??.25,t.progressiveResolutionHeightFraction=i.progressiveResolutionHeightFraction??.3,t.foveatedScreenSpaceError=i.foveatedScreenSpaceError??!0,t.foveatedConeSize=i.foveatedConeSize??.1,t.foveatedMinimumScreenSpaceErrorRelaxation=i.foveatedMinimumScreenSpaceErrorRelaxation??0,t.foveatedTimeDelay=i.foveatedTimeDelay??.2,t.skipLevelOfDetail=i.skipLevelOfDetail??!1,t.baseScreenSpaceError=i.baseScreenSpaceError??1024,t.skipScreenSpaceErrorFactor=i.skipScreenSpaceErrorFactor??16,t.skipLevels=i.skipLevels??1,t.immediatelyLoadDesiredLevelOfDetail=i.immediatelyLoadDesiredLevelOfDetail??!1,t.loadSiblings=i.loadSiblings??!1,t.lightColor=(i.lightColor&&ai(i.lightColor))??Ae.defaults.lightColor,t.backFaceCulling=i.backFaceCulling??!0,t.showOutline=i.showOutline??!0,t.outlineColor=ie(i.outlineColor??Ae.defaults.outlineColor),t.featureIdLabel=i.featureIdLabel??Ae.defaults.featureIdLabel,t.instanceFeatureIdLabel=i.instanceFeatureIdLabel??Ae.defaults.instanceFeatureIdLabel,t.showCreditsOnScreen=i.showCreditsOnScreen??!1,t.splitDirection=h.SplitDirection[i.splitDirection??Ae.defaults.splitDirection],t.debugFreezeFrame=i.debugFreezeFrame??!1,t.debugColorizeTiles=i.debugColorizeTiles??!1,t.debugWireframe=i.debugWireframe??!1,t.debugShowBoundingVolume=i.debugShowBoundingVolume??!1,t.debugShowContentBoundingVolume=i.debugShowContentBoundingVolume??!1,t.debugShowViewerRequestVolume=i.debugShowViewerRequestVolume??!1,t.debugShowGeometricError=i.debugShowGeometricError??!1,t.debugShowRenderingStatistics=i.debugShowRenderingStatistics??!1,t.debugShowMemoryUsage=i.debugShowMemoryUsage??!1,t.debugShowUrl=i.debugShowUrl??!1}function oM(t){return[t.showChanged,t.colorBlendModeChanged,t.shadowsChanged,t.maximumScreenSpaceErrorChanged,t.maximumMemoryUsageChanged,t.cacheBytesChanged,t.maximumCacheOverflowBytesChanged,t.cullRequestsWhileMovingChanged,t.cullRequestsWhileMovingMultiplierChanged,t.preloadWhenHiddenChanged,t.preloadFlightDestinationsChanged,t.preferLeavesChanged,t.dynamicScreenSpaceErrorChanged,t.dynamicScreenSpaceErrorDensityChanged,t.dynamicScreenSpaceErrorFactorChanged,t.dynamicScreenSpaceErrorHeightFalloffChanged,t.progressiveResolutionHeightFractionChanged,t.foveatedScreenSpaceErrorChanged,t.foveatedConeSizeChanged,t.foveatedMinimumScreenSpaceErrorRelaxationChanged,t.foveatedTimeDelayChanged,t.skipLevelOfDetailChanged,t.baseScreenSpaceErrorChanged,t.skipScreenSpaceErrorFactorChanged,t.skipLevelsChanged,t.immediatelyLoadDesiredLevelOfDetailChanged,t.loadSiblingsChanged,t.lightColorChanged,t.backFaceCullingChanged,t.showOutlineChanged,t.outlineColorChanged,t.featureIdLabelChanged,t.instanceFeatureIdLabelChanged,t.showCreditsOnScreenChanged,t.splitDirectionChanged,t.debugFreezeFrameChanged,t.debugColorizeTilesChanged,t.debugWireframeChanged,t.debugShowBoundingVolumeChanged,t.debugShowContentBoundingVolumeChanged,t.debugShowViewerRequestVolumeChanged,t.debugShowGeometricErrorChanged,t.debugShowRenderingStatisticsChanged,t.debugShowMemoryUsageChanged,t.debugShowUrlChanged,t.enableShowOutlineChanged]}function rM(t,i){console.warn("Czm3DTiles暂不支持pointCloudShading属性"),t.pointCloudShading=new h.PointCloudShading(i.pointCloudShading)}function sM(t,i){var n,o,r;t.imageBasedLighting.imageBasedLightingFactor=Ee(((n=i.imageBasedLighting)==null?void 0:n.imageBasedLightingFactor)??[1,1]),t.imageBasedLighting.specularEnvironmentMaps=(o=i.imageBasedLighting)==null?void 0:o.specularEnvironmentMaps;const e=(r=i.imageBasedLighting)==null?void 0:r.sphericalHarmonicCoefficients;t.imageBasedLighting.sphericalHarmonicCoefficients=e&&ud(e)}class aM extends w.Destroyable{constructor(e,n,o,r){super();v(this,"_clippingPlanesCollectionResetting");v(this,"_clippingPolygonCollectionResetting");v(this,"_flattenedCustomShader",this.disposeVar(l.react(void 0)));this._tileset=e,this._czm3DTiles=n,this._czmNativeViewer=o,this._czmViewer=r,this._clippingPolygonCollectionResetting=new tM(this.tileset,this.czm3DTiles);const{tileset:s,czm3DTiles:a}=this;{const P=this.disposeVar(l.createNextAnimateFrameEvent(this.czm3DTiles.positionChanged,this.czm3DTiles.rotationChanged,this.czm3DTiles.modelMatrixChanged,this.czm3DTiles.originChanged));Xy(this.tileset,this.czm3DTiles),this.dispose(P.disposableOn(()=>Xy(this.tileset,this.czm3DTiles))),this._clippingPlanesCollectionResetting=this.disposeVar(new l.ObjResettingWithEvent(this.czm3DTiles.absoluteClippingPlanesChanged,()=>this.czm3DTiles.absoluteClippingPlanes?new jT(this.tileset,this.czm3DTiles,P):new eM(this.tileset,this.czm3DTiles)))}this.disposeVar(new l.ObjResettingWithEvent(this.czm3DTiles.czmFlattenedPlaneWithId.sceneObjectChanged,()=>{const{sceneObject:P}=this.czm3DTiles.czmFlattenedPlaneWithId;if(!P)return;let S;w.registerCreatedEventUpdate(this,P,()=>{const C=r.getEngineObject(P);if(P instanceof w.ES3DTileset&&(S=C.flattenedPlane),!!S)return new iM(this,S)})}));const c=this.disposeVar(l.createNextAnimateFrameEvent(...oM(a)));w.registerEventUpdate(this,c,()=>{nM(s,a)}),w.registerEventUpdate(this,a.foveatedInterpolationCallbackChanged,()=>{s.foveatedInterpolationCallback=a.foveatedInterpolationCallback}),w.registerEventUpdate(this,a.styleChanged,()=>{s.style=a.style}),w.registerEventUpdate(this,a.pointCloudShadingChanged,()=>{rM(s,a)}),w.registerEventUpdate(this,a.imageBasedLightingChanged,()=>{sM(s,a)}),w.registerEventUpdate(this,a.environmentMapManagerChanged,()=>{dd(s.environmentMapManager,a)});let d=[],u,p,f=!0,g=()=>{var P;return(P=r.viewer)==null?void 0:P.scene.postUpdate.addEventListener(S=>{s._selectedTiles.length===d.length&&d.every(C=>s._selectedTiles.includes(C))||(d.splice(0,d.length,...s._selectedTiles),s._selectedTiles.forEach(C=>{hs(C.content._model,u)}))})};const m=()=>{p&&(p(),p=void 0),d=[],u=void 0};this.ad(m);const y=(P,S)=>{S=="default"?P._contentState=h.Cesium3DTileContentState.UNLOADED:P.content&&Reflect.has(P.content,"_model")&&!hs(P.content._model,S)&&f&&(f=!1),P.children&&P.children.forEach(C=>{y(C,S)})};this.ad(a.setMaterialEvent.don(async P=>{if(f=!0,P=="default")m(),y(s.root,"default");else{u={};for(const C in P){let E,T,I;const b=P[C];u[C]={...b},Reflect.has(b,"baseColorTexture")&&(b.baseColorTexture==null?u[C].baseColorTexture=void 0:b.baseColorTexture.value!=""&&(E=io(this._czmViewer.viewer,b.baseColorTexture,{magFilter:b.magFilter,minFilter:b.minFilter}))),Reflect.has(b,"normalTexture")&&(b.normalTexture==null?u[C].normalTexture=void 0:b.normalTexture.value!=""&&(T=io(this._czmViewer.viewer,b.normalTexture,{magFilter:b.magFilter,minFilter:b.minFilter}))),Reflect.has(b,"metallicRoughnessTexture")&&(b.metallicRoughnessTexture==null?u[C].metallicRoughnessTexture=void 0:b.metallicRoughnessTexture.value!=""&&(I=io(this._czmViewer.viewer,b.metallicRoughnessTexture,{magFilter:b.magFilter,minFilter:b.minFilter})));const x=await Promise.allSettled([E,T,I]);E=x[0].value,T=x[1].value,I=x[2].value,I!=null&&(u[C].metallicRoughnessTexture=I),E!=null&&(u[C].baseColorTexture=E),T!=null&&(u[C].normalTexture=T)}y(s.root,u),p||(p=g())}const S=w.ESSceneObject.getSceneObject(this.czm3DTiles.id);S&&S instanceof w.ES3DTileset&&S.setMaterialInfoEvent.emit({type:f?"success":"warn",message:f?"完成":"部分材质颜色纹理设置失败,请检查原始模型中材质是否具有baseColorTexture属性"})}));{const P=()=>{var C,E;if(this.flattenedCustomShader){s.customShader=(C=this.flattenedCustomShader)==null?void 0:C.customShader,a.customShaderInstance&&console.warn("压平shader和Czm3DTiles的customShader冲突,优先使用压平shader!");return}s.customShader=(E=a.customShaderInstance)==null?void 0:E.customShader};P();const S=this.disposeVar(l.createNextAnimateFrameEvent(a.customShaderInstanceChanged,this.flattenedCustomShaderChanged));this.dispose(S.disposableOn(P))}this.dispose(a.flyToEvent.disposableOn(P=>{a.czmViewer.actived&&this.tileset&&this._czmNativeViewer.camera.flyToBoundingSphere(this.tileset.boundingSphere,{duration:(P??1e3)/1e3})}))}get tileset(){return this._tileset}get czm3DTiles(){return this._czm3DTiles}get clippingPlanesCollectionResetting(){return this._clippingPlanesCollectionResetting}get clippingPolygonCollectionResetting(){return this._clippingPolygonCollectionResetting}get flattenedCustomShader(){return this._flattenedCustomShader.value}set flattenedCustomShader(e){this._flattenedCustomShader.value=e}get flattenedCustomShaderChanged(){return this._flattenedCustomShader.changed}}function lM(t){const{imageBasedLightingFactor:i,sphericalHarmonicCoefficients:e,specularEnvironmentMaps:n}=t,o={imageBasedLightingFactor:i&&new h.Cartesian2(i[0],i[1]),sphericalHarmonicCoefficients:e&&e.map(r=>new h.Cartesian3(r[0],r[1],r[2])),specularEnvironmentMaps:n&&w.ESSceneObject.context.getStrFromEnv(n)};return new h.ImageBasedLighting(o)}async function cM(t,i,e){let n="";if(typeof i!="string"?typeof i=="object"&&i.url&&(n=new h.Resource({url:i.url,headers:i.headers,queryParameters:i.queryParameters,templateValues:i.templateValues,proxy:i.proxy,retryCallback:i.retryCallback,retryAttempts:i.retryAttempts,request:i.request,parseUrl:i.parseUrl})):n=i,typeof i=="string"&&i.startsWith("ion://")){const s=+i.substring(6);try{n=await h.IonResource.fromAssetId(s)}catch(a){console.error(`Ion资源未能获取到 error: ${a}`,a);return}}const o=await h.Cesium3DTileset.fromUrl(n,{show:t.show,shadows:t.shadows&&ut.shadowPropsMap[t.shadows],maximumScreenSpaceError:t.maximumScreenSpaceError,maximumMemoryUsage:t.maximumMemoryUsage,cacheBytes:t.cacheBytes,maximumCacheOverflowBytes:t.maximumCacheOverflowBytes,cullWithChildrenBounds:t.cullWithChildrenBounds,cullRequestsWhileMoving:t.cullRequestsWhileMoving,cullRequestsWhileMovingMultiplier:t.cullRequestsWhileMovingMultiplier,preloadWhenHidden:t.preloadWhenHidden,preloadFlightDestinations:t.preloadFlightDestinations,preferLeaves:t.preferLeaves,dynamicScreenSpaceError:t.dynamicScreenSpaceError,dynamicScreenSpaceErrorDensity:t.dynamicScreenSpaceErrorDensity,dynamicScreenSpaceErrorFactor:t.dynamicScreenSpaceErrorFactor,dynamicScreenSpaceErrorHeightFalloff:t.dynamicScreenSpaceErrorHeightFalloff,progressiveResolutionHeightFraction:t.progressiveResolutionHeightFraction,foveatedScreenSpaceError:t.foveatedScreenSpaceError,foveatedConeSize:t.foveatedConeSize,foveatedMinimumScreenSpaceErrorRelaxation:t.foveatedMinimumScreenSpaceErrorRelaxation,foveatedInterpolationCallback:t.foveatedInterpolationCallbackStr&&Function('"use strict";return ('+t.foveatedInterpolationCallbackStr+")")(),foveatedTimeDelay:t.foveatedTimeDelay,skipLevelOfDetail:t.skipLevelOfDetail,baseScreenSpaceError:t.baseScreenSpaceError,skipScreenSpaceErrorFactor:t.skipScreenSpaceErrorFactor,skipLevels:t.skipLevels,immediatelyLoadDesiredLevelOfDetail:t.immediatelyLoadDesiredLevelOfDetail,loadSiblings:t.loadSiblings,classificationType:ut.classificationTypeMap[t.classificationType??Ae.defaults.classificationType],lightColor:t.lightColor&&si(t.lightColor),backFaceCulling:t.backFaceCulling??Ae.defaults.backFaceCulling,showOutline:t.showOutline??Ae.defaults.showOutline,debugHeatmapTilePropertyName:t.debugHeatmapTilePropertyName,debugFreezeFrame:t.debugFreezeFrame,debugColorizeTiles:t.debugColorizeTiles,debugWireframe:t.debugWireframe,debugShowBoundingVolume:t.debugShowBoundingVolume,debugShowContentBoundingVolume:t.debugShowContentBoundingVolume,debugShowViewerRequestVolume:t.debugShowViewerRequestVolume,debugShowGeometricError:t.debugShowGeometricError,debugShowRenderingStatistics:t.debugShowRenderingStatistics,debugShowMemoryUsage:t.debugShowMemoryUsage,debugShowUrl:t.debugShowUrl,customShader:e,ellipsoid:Pe(t.ellipsoid??Ae.defaults.ellipsoid),modelMatrix:t.modelMatrix&&h.Matrix4.fromArray(t.modelMatrix),clippingPlanes:t.clippingPlanes&&as(t.clippingPlanes),clippingPolygons:t.clippingPolygons&&Jl(t.clippingPolygons),imageBasedLighting:t.imageBasedLighting&&lM(t.imageBasedLighting),splitDirection:h.SplitDirection[t.splitDirection??Ae.defaults.splitDirection],modelUpAxis:t.modelUpAxis&&h.Axis[t.modelUpAxis],modelForwardAxis:t.modelForwardAxis&&h.Axis[t.modelForwardAxis],featureIdLabel:t.featureIdLabel??Ae.defaults.featureIdLabel,instanceFeatureIdLabel:t.instanceFeatureIdLabel??Ae.defaults.instanceFeatureIdLabel,outlineColor:t.outlineColor&&ie(t.outlineColor),pointCloudShading:t.pointCloudShading,enableShowOutline:t.enableShowOutline,vectorClassificationOnly:t.vectorClassificationOnly,vectorKeepDecodedPositions:t.vectorKeepDecodedPositions,showCreditsOnScreen:t.showCreditsOnScreen,projectTo2D:t.projectTo2D,enableDebugWireframe:t.enableDebugWireframe});return h.Cesium3DTileset.prototype&&(o.ESSceneObjectID=t.id),o}class hM extends l.Destroyable{constructor(e,n,o,r){var c;super();v(this,"_tileset",this.disposeVar(l.react(void 0)));v(this,"_readyResetting");if(this._url=e,this._czm3DTiles=n,this._czmNativeViewer=o,this._czmViewer=r,this._readyResetting=this.disposeVar(new l.ObjResettingWithEvent(this.tilesetChanged,()=>{if(this.tileset)return new aM(this.tileset,this.czm3DTiles,this._czmNativeViewer,this._czmViewer)})),!this.url)throw new Error("!url");const s=(c=this.czm3DTiles.customShaderInstance)==null?void 0:c.customShader;this.disposeVar(l.createProcessingFromAsyncFunc(async d=>{const u=await d.promise(cM(this.czm3DTiles,this.url,s));u&&(u.style=this.czm3DTiles.style,u.foveatedInterpolationCallback=this.czm3DTiles.foveatedInterpolationCallback,this._czmNativeViewer.scene.primitives.add(u),this.dispose(()=>this._czmNativeViewer.scene.primitives.remove(u)),this._tileset.value=u,this.czm3DTiles.notifyCzmTilesetReady(u,this.czm3DTiles))})).start()}get url(){return this._url}get czm3DTiles(){return this._czm3DTiles}get czmViewer(){return this.czm3DTiles.czmViewer}get tileset(){return this._tileset.value}set tileset(e){this._tileset.value=e}get tilesetChanged(){return this._tileset.changed}get readyResetting(){return this._readyResetting}}function dM(t){if(t)try{return new h.Cesium3DTileStyle(t)}catch(i){console.error(`Cesium3DTiles style error: ${i}`,i);return}}let uM=class extends w.Destroyable{constructor(i,e){super(),this.dv(new l.ObjResettingWithEvent(e.clippingPolygonsIdChanged,(n,o)=>{if(!(!n||n===o||n&&n.length===0))return new pM(i,e)}))}},pM=class extends w.Destroyable{constructor(i,e){super(),this._czmViewer=i;const n=e.clippingPolygonsId;this.d(()=>e.clippingPolygons=void 0);const o=s=>{const a=this.dv(l.createNextAnimateFrameEvent(s.positionsChanged,s.reverseChanged,s.enabledChanged,s.showHelperChanged));this.dv(new l.ObjResettingWithEvent(a,()=>new fM(i,s,e)))},r=s=>{let a;s instanceof w.ESExcavate&&w.registerCreatedEventUpdate(this,s,()=>{a=i.getEngineObject(s).czmPolygonClipping,a&&o(a)}),s instanceof w.ESHole&&w.registerCreatedEventUpdate(this,s.excavate,()=>{a=i.getEngineObject(s.excavate).czmPolygonClipping,a&&o(a)})};for(let s=0;s<n.length;s++){const a=n[s],c=w.ESSceneObject.getSceneObjById(a);c&&r(c)}}},fM=class extends w.Destroyable{constructor(i,e,n){super(),this._czmViewer=i;const o=n.clippingPolygonsId,r=e.enabled?e.reverse:void 0;if(o&&o.length>0){const s={polygons:[],enabled:!0,inverse:!1};for(let a=0;a<o.length;a++){const c=o[a],d=w.ESSceneObject.getSceneObjById(c);if(!d)return;let u;if(d instanceof w.ESExcavate?u=i.getEngineObject(d).czmPolygonClipping:d instanceof w.ESHole&&(u=i.getEngineObject(d.excavate).czmPolygonClipping),!u)return;u&&u.positions&&u.positions.length>=3&&u.enabled&&(s.polygons[a]={positions:u.positions},s.inverse=r??u.reverse)}n.clippingPolygons=s}}};function Yy(t){let i;try{i=t&&Function('"use strict";return ('+t+")")()}catch{i=void 0}return i||h.Math.lerp}const Zy=`
|
|
366
366
|
// shader定义请参见文档:https://github.com/CesiumGS/cesium/tree/main/Documentation/CustomShaderGuide#customshader-documentation
|
|
367
367
|
class CityShaderInstance extends xbsj['xr-base-utils'].Destroyable {
|
|
368
368
|
constructor(sceneObject, viewer) {
|
|
@@ -709,7 +709,7 @@ class CityShaderInstance extends xbsj['xr-base-utils'].Destroyable {
|
|
|
709
709
|
${t0}
|
|
710
710
|
\`\`\`
|
|
711
711
|
|
|
712
|
-
`,i0=Date.now();new Date(i0).toISOString(),new Date(i0+24*60*60*1e3).toISOString();const ya=class ya extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_clock");v(this,"_resetClockEvent",this.disposeVar(new l.Event));v(this,"_dataSource",this.disposeVar(l.react(void 0)));this._clock=this.disposeVar(new ue(e)),this.dispose(l.bind([this.clock,"startTime"],[this,"startTime"])),this.dispose(l.bind([this.clock,"stopTime"],[this,"stopTime"])),this.dispose(l.bind([this.clock,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this.clock,"multiplier"],[this,"multiplier"])),this.dispose(l.bind([this.clock,"clockStep"],[this,"clockStep"])),this.dispose(l.bind([this.clock,"clockRange"],[this,"clockRange"])),this.dispose(l.bind([this.clock,"shouldAnimate"],[this,"shouldAnimate"])),this.dispose(l.bind([this.clock,"enabled"],[this,"clockEnabled"]));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}this.dispose(this.flyToEvent.disposableOn(d=>{e.actived&&this.dataSource&&(d!==void 0?o.flyTo(this.dataSource,{duration:d/1e3}):o.flyTo(this.dataSource))}));const r=()=>{this.dataSource&&(o.dataSources.remove(this.dataSource,!0),this._dataSource.value=void 0)};this.dispose(r);const s=()=>{if(!this.dataSource){console.warn("resetClock warn: dataSource is undefined!");return}const{dataSource:d}=this;this.startTime=h.JulianDate.toDate(d.clock.startTime).getTime(),this.stopTime=h.JulianDate.toDate(d.clock.stopTime).getTime(),this.currentTime=h.JulianDate.toDate(d.clock.currentTime).getTime(),this.multiplier=d.clock.multiplier,this.clockStep=ue.getClockStep(d.clock.clockStep),this.clockRange=ue.getClockRange(d.clock.clockRange)};this.dispose(this.resetClockEvent.disposableOn(s));const a=()=>{this.dataSource&&(this.dataSource.show=this.show??ya.defaults.show)};a(),this.dispose(this.showChanged.disposableOn(a));const c=this.disposeVar(l.react(void 0));{const d=()=>{
|
|
712
|
+
`,i0=Date.now();new Date(i0).toISOString(),new Date(i0+24*60*60*1e3).toISOString();const ya=class ya extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_clock");v(this,"_resetClockEvent",this.disposeVar(new l.Event));v(this,"_dataSource",this.disposeVar(l.react(void 0)));this._clock=this.disposeVar(new ue(e)),this.dispose(l.bind([this.clock,"startTime"],[this,"startTime"])),this.dispose(l.bind([this.clock,"stopTime"],[this,"stopTime"])),this.dispose(l.bind([this.clock,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this.clock,"multiplier"],[this,"multiplier"])),this.dispose(l.bind([this.clock,"clockStep"],[this,"clockStep"])),this.dispose(l.bind([this.clock,"clockRange"],[this,"clockRange"])),this.dispose(l.bind([this.clock,"shouldAnimate"],[this,"shouldAnimate"])),this.dispose(l.bind([this.clock,"enabled"],[this,"clockEnabled"]));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}this.dispose(this.flyToEvent.disposableOn(d=>{e.actived&&this.dataSource&&(d!==void 0?o.flyTo(this.dataSource,{duration:d/1e3}):o.flyTo(this.dataSource))}));const r=()=>{this.dataSource&&(o.dataSources.remove(this.dataSource,!0),this._dataSource.value=void 0)};this.dispose(r);const s=()=>{if(!this.dataSource){console.warn("resetClock warn: dataSource is undefined!");return}const{dataSource:d}=this;this.startTime=h.JulianDate.toDate(d.clock.startTime).getTime(),this.stopTime=h.JulianDate.toDate(d.clock.stopTime).getTime(),this.currentTime=h.JulianDate.toDate(d.clock.currentTime).getTime(),this.multiplier=d.clock.multiplier,this.clockStep=ue.getClockStep(d.clock.clockStep),this.clockRange=ue.getClockRange(d.clock.clockRange)};this.dispose(this.resetClockEvent.disposableOn(s));const a=()=>{this.dataSource&&(this.dataSource.show=this.show??ya.defaults.show)};a(),this.dispose(this.showChanged.disposableOn(a));const c=this.disposeVar(l.react(void 0));{const d=()=>{var f;if(this.uri)if(this.uri&&typeof this.uri!="string")(f=h.Resource.fetchXML({url:this.uri.url,headers:this.uri.headers,queryParameters:this.uri.queryParameters,templateValues:this.uri.templateValues,proxy:this.uri.proxy,retryCallback:this.uri.retryCallback,retryAttempts:this.uri.retryAttempts,request:this.uri.request}))==null||f.then(g=>g);else return w.ESSceneObject.context.getStrFromEnv(this.uri)},u=()=>{c.value=this.data??d()};u();const p=this.disposeVar(l.createNextAnimateFrameEvent(this.uriChanged,this.dataChanged));this.dispose(p.disposableOn(u))}{const d=this.disposeVar(l.createProcessingFromAsyncFunc(async f=>{if(r(),!c.value)return;let g;try{g=await h.CzmlDataSource.load(c.value)}catch(m){console.error(`加载czml错误:${m}`),console.error(m)}if(g&&(f.check(),g.entities.values.forEach(m=>{h.Entity.prototype&&(g.ESSceneObjectID=n)}),o.dataSources.add(g),this._dataSource.value=g,a(),(this.autoResetClock??ya.defaults.autoResetClock)&&s(),!!this.loadFun))try{this.loadFun(g)}catch(m){console.error(m)}})),u=()=>{d.isRunning&&d.cancel(),d.restart()};u();const p=this.disposeVar(l.createNextAnimateFrameEvent(c.changed,this.loadFunChanged));this.dispose(p.disposableOn(u))}{const d=()=>{if(this.loadFuncStr)try{const u=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=u}catch(u){console.error(u),this.loadFun=void 0}else this.loadFun=void 0};d(),this.dispose(this.loadFuncStrChanged.disposableOn(d))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get clock(){return this._clock}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}get dataSource(){return this._dataSource.value}};v(ya,"defaults",{show:!0,allowPicking:!0,data:jM,dataMd:eI,autoResetClock:!0,clockEnabled:!1,startTime:ue.defaults.startTime,stopTime:ue.defaults.stopTime,currentTime:ue.defaults.currentTime,multiplier:ue.defaults.multiplier,clockStep:ue.defaults.clockStep,clockRange:ue.defaults.clockRange,shouldAnimate:ue.defaults.shouldAnimate,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",defaultLoadFuncStr:t0,defaultLoadFuncDocStr:tI});let Po=ya;(t=>{t.createDefaultProps=()=>({show:void 0,uri:void 0,allowPicking:void 0,data:l.reactJsonWithUndefined(void 0),autoResetClock:void 0,clockEnabled:void 0,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:void 0,clockStep:void 0,clockRange:void 0,shouldAnimate:void 0,loadFuncStr:void 0})})(Po||(Po={})),l.extendClassProps(Po.prototype,Po.createDefaultProps);const wa=class wa extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(new Po(e,i.id));this.dispose(l.track([o,"show"],[i,"show"])),this.dispose(l.track([o,"allowPicking"],[i,"allowPicking"])),this.dispose(l.bind([o,"data"],[i,"data"])),this.dispose(l.bind([o,"uri"],[i,"uri"])),this.dispose(l.bind([o,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.bind([o,"autoResetClock"],[i,"autoResetClock"])),this.dispose(l.bind([o,"clockEnabled"],[i,"clockEnabled"])),this.dispose(l.bind([o,"startTime"],[i,"startTime"])),this.dispose(l.bind([o,"stopTime"],[i,"stopTime"])),this.dispose(l.bind([o,"currentTime"],[i,"currentTime"])),this.dispose(l.bind([o,"multiplier"],[i,"multiplier"])),this.dispose(l.bind([o,"clockStep"],[i,"clockStep"])),this.dispose(l.bind([o,"clockRange"],[i,"clockRange"])),this.dispose(l.bind([o,"shouldAnimate"],[i,"shouldAnimate"])),this.dispose(i.flyToEvent.disposableOn(r=>{e.actived&&o.flyTo(r)}))}};v(wa,"type",wa.register("ESCesiumViewer",w.ESCzml.type,wa));let Wu=wa;async function iI(t,i){const e=l.fetchArrayBuffer(t+"index.bin"),n=l.fetchArrayBuffer(t+"vertex.bin"),o=[...new Array(i).keys()].map(p=>p.toString().padStart(6,"0")).map(p=>`${t}bins/R2DC${p}.bin`).map(p=>l.fetchArrayBuffer(p)),r=await Promise.all([e,n,...o]);if(r.some(p=>p===void 0)){console.warn("有数据未能解析!");return}const[s,...a]=r,c=new Uint16Array(s),[d,...u]=a.map(p=>new Float32Array(p));return{indexBuffer:c,vertexBuffer:d,propBuffers:u}}function*nI(t){const e=t.length/3|0;for(let n=0;n<e;++n)yield[t[n*3+0],t[n*3+1],t[n*3+2]]}const Ca=class Ca extends Ce{constructor(e,n){super(e,n);v(this,"_czmCustomPrimitive");v(this,"_czmTexture");if(this._czmCustomPrimitive=this.disposeVar(new ke(n,e.id)),this._czmTexture=this.ad(new Le(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmCustomPrimitive:r}=this,{czmTexture:s}=this;{s.uri="",s.size=[1024,1],s.enabled=!0;const c=new l.ColorStops,d=()=>{c.value=e.colorStops??w.ESDataMesh.defaults.colorStops;const u=c.getColorsInUint8(new Uint8Array(1024*4));s.copyTexture({source:{width:1024,height:1,arrayBufferView:u}})};d(),this.dispose(e.colorStopsChanged.disposableOn(d))}this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(et([r,"rotation"],[e,"rotation"])),r.cull=!1,r.vertexShaderSource=`
|
|
713
713
|
precision highp float;
|
|
714
714
|
in vec3 a_position;
|
|
715
715
|
in vec3 a_prop;
|
|
@@ -739,7 +739,7 @@ ${t0}
|
|
|
739
739
|
// out_FragColor = vec4(texture(u_gradientMap, vec2(a, .5)).rgb, (a + .1)*4.);
|
|
740
740
|
out_FragColor = vec4(texture(u_gradientMap, vec2(a, .5)).rgb, a);
|
|
741
741
|
}
|
|
742
|
-
`,r.uniformMap={u_gradientMap:{type:"texture",id:"5d45a4a4-4f5d-4424-aea5-181de75bd13b"},u_stripMinMaxValue:[0,1],u_ratio:0};let a=this.disposeVar(l.react(void 0));{const c=this.disposeVar(l.createProcessingFromAsyncFunc(async u=>{a.value=void 0;const p=e.url??w.ESDataMesh.defaults.url;if(!p)return;await u.promise(l.sleep(200));const f=(e.maxTime??23)|0;a.value=await u.promise(iI(w.ESSceneObject.context.getStrFromEnv(typeof p=="string"?p:p.url),f+1))}));c.start();const d=this.disposeVar(l.createNextAnimateFrameEvent(e.urlChanged,e.maxTimeChanged));this.dispose(d.disposableOn(()=>c.restart()))}{class c{constructor(p){this._buffer=p}[Symbol.iterator](){return nI(this._buffer)}}const d=()=>{if(!a.value)return;const{vertexBuffer:u,propBuffers:p,indexBuffer:f}=a.value,{minPos:g,maxPos:m}=w.getMinMaxCorner(new c(u));r.setLocalAxisedBoundingBox(g,m);const y=(e.maxTime??23)|0;let P=(e.currentTime??w.ESDataMesh.defaults.currentTime)/y;P=P<0?0:P>1?1:P;const S=P*y;let C=P*y|0,E=S-C;if(C>=y&&(C=y-1,E=1),!Number.isFinite(E)){console.error("!Number.isFinite(rr)");debugger;return}if(r.indexTypedArray=f,!p[C]||!p[C+1]){console.error("!propBuffers[i] || !propBuffers[i + 1]");debugger}r.attributes={a_position:{typedArray:u,componentsPerAttribute:3},a_prop:{typedArray:p[C],componentsPerAttribute:3},a_prop2:{typedArray:p[C+1],componentsPerAttribute:3}},r.uniformMap={u_gradientMap:{type:"texture",id:`${s.id}`},u_stripMinMaxValue:[e.minPropValue??w.ESDataMesh.defaults.minPropValue,e.maxPropValue??w.ESDataMesh.defaults.maxPropValue],u_ratio:E}};d(),this.dispose(e.maxTimeChanged.disposableOn(d)),this.dispose(e.currentTimeChanged.disposableOn(d)),this.dispose(e.minPropValueChanged.disposableOn(d)),this.dispose(e.maxPropValueChanged.disposableOn(d)),this.dispose(a.changed.disposableOn(d))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}get czmTexture(){return this._czmTexture}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmCustomPrimitive:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(It(r,o,n,e,s,!0),!0):!1}};v(Ca,"type",Ca.register("ESCesiumViewer",w.ESDataMesh.type,Ca));let Gu=Ca;const Lo=class Lo extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_heading",this.disposeVar(l.react(0)));v(this,"_textFunc",this.disposeVar(l.react(void 0)));const o=this;{const a=()=>{if(this.positions&&this.positions.length>=2){let d=0;this.arcType===void 0||this.arcType==="GEODESIC"?d=w.geoHeading(this.positions[0],this.positions[1]):this.arcType==="RHUMB"?d=w.geoRhumbHeading(this.positions[0],this.positions[1]):this.arcType==="NONE"?d=w.geoHeading(this.positions[0],this.positions[1]):console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`),this._heading.value=this.angleMode==="-180~180"?w.clampN180_180(d):w.clamp0_360(d)}};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.angleModeChanged));this.dispose(c.disposableOn(a))}const r=this.disposeVar(new Ie(e,n));r.loop=!1,this.dispose(l.track([r,"allowPicking"],[o,"allowPicking"])),this.dispose(l.bind([r,"arcType"],[o,"arcType"])),this.dispose(l.bind([r,"color"],[o,"color"])),this.dispose(l.bind([r,"dashLength"],[o,"dashLength"])),this.dispose(l.bind([r,"dashPattern"],[o,"dashPattern"])),this.dispose(l.bind([r,"gapColor"],[o,"gapColor"])),this.dispose(l.bind([r,"hasArrow"],[o,"hasArrow"])),this.dispose(l.bind([r,"hasDash"],[o,"hasDash"])),this.dispose(l.bind([r,"positions"],[o,"positions"])),this.dispose(l.bind([r,"show"],[o,"show"])),this.dispose(l.bind([r,"width"],[o,"width"])),this.dispose(l.bind([r,"depthTest"],[o,"depthTest"])),this.dispose(l.bind([r,"ground"],[o,"strokeGround"])),this.dispose(o.flyToEvent.disposableOn(a=>{e.actived&&r.flyTo(a)}));const s=this.disposeVar(new $e(e,n));this.dispose(l.bind([s,"shadowDom"],[o,"shadowDom"])),this.dispose(l.bind([s,"cssAllInitial"],[o,"cssAllInitial"])),this.dispose(l.bind([s,"show"],[o,"show"]));{const a=()=>{o.positions&&o.positions.length>=2?s.position=o.positions[1]:s.position=void 0};a(),this.dispose(o.positionsChanged.disposableOn(a))}{const a=()=>{const{heading:d}=o,u=(o.textFunc??Lo.defaultTextFunc_度格式)(d);s.innerHTML=oo(`方向: ${u}`,24)};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(o.headingChanged,o.textFuncChanged));this.dispose(c.disposableOn(a))}this.ad(s.pickedEvent.don(a=>{Wi(a)===0&&this.pickedEvent.emit(a)}))}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get heading(){return this._heading.value}get headingChanged(){return this._heading.changed}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}};v(Lo,"defaultTextFunc_度格式",e=>`${e.toFixed(5)}°`),v(Lo,"defaultTextFunc_度分格式",e=>`${ds(e,!0)}`),v(Lo,"defaultTextFunc_度分秒格式",e=>`${ds(e,!1)}`),v(Lo,"defaults",{positions:[]});let So=Lo;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:8,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!0,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1,angleMode:"-180~180",strokeGround:!1})})(So||(So={})),l.extendClassProps(So.prototype,So.createDefaultProps);const _a=class _a extends vt{constructor(e,n){super(e,n);v(this,"_czmDirectionMeasurement");if(this._czmDirectionMeasurement=this.disposeVar(new So(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmDirectionMeasurement;r.angleMode="0~360",this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.bind([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(e.stroked)r.width=e.strokeWidth;else{r.width=0;return}r.width=e.strokeWidth,r.color=e.strokeColor;const d=e.strokeMaterial??"normal";d==="hasDash"?(r.hasDash=!0,r.hasArrow=!1):d==="hasArrow"?(r.hasDash=!1,r.hasArrow=!0):d==="normal"?(r.hasDash=!1,r.hasArrow=!1):(r.hasDash=!1,r.hasArrow=!0);const u=e.strokeStyle;if(u.material==="hasDash"&&u.materialParams)try{const p=u.materialParams;Reflect.has(p,"gapColor")&&(r.gapColor=p.gapColor??[0,0,0,0]),Reflect.has(p,"dashLength")&&(r.dashLength=p.dashLength),Reflect.has(p,"dashPattern")&&(r.dashPattern=p.dashPattern)}catch(p){console.error(p)}else r.gapColor=[0,0,0,0],r.dashLength=0,r.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(r.pickedEvent.disposableOn(s=>{Wi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmDirectionMeasurement(){return this._czmDirectionMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmDirectionMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmDirectionMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(_a,"type",_a.register("ESCesiumViewer",w.ESDirectionMeasurement.type,_a));let Hu=_a;class Dr extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_distances",this.disposeVar(l.reactArray([])));const o=async()=>{this.strokeGround&&e.viewer?this._distances.value=await ev(e.viewer,this.positions??[]):this._distances.value=w.getDistancesFromPositions(this.positions??[],this.arcType)};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.strokeGroundChanged));this.dispose(r.disposableOn(o));const s=this.disposeVar(new Ie(e,n));s.loop=!1,this.dispose(l.track([s,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([s,"arcType"],[this,"arcType"])),this.dispose(l.bind([s,"color"],[this,"color"])),this.dispose(l.bind([s,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([s,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([s,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([s,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([s,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([s,"positions"],[this,"positions"])),this.dispose(l.bind([s,"show"],[this,"show"])),this.dispose(l.bind([s,"width"],[this,"width"])),this.dispose(l.bind([s,"depthTest"],[this,"depthTest"])),this.dispose(l.bind([s,"ground"],[this,"strokeGround"])),this.dispose(this.flyToEvent.disposableOn(a=>{e.actived&&s.flyTo(a)}));{const a=[],c=()=>{for(let u of a)u.destroy();a.length=0};this.dispose(c);const d=()=>{if(c(),!this.positions)return;if(this.positions.length>0&&this.distances.length>0){const p=yd("起点",this.positions[0],e,n);p.dispose(l.track([p,"show"],[this,"show"])),p.dispose(l.track([p,"shadowDom"],[this,"shadowDom"])),p.dispose(l.track([p,"cssAllInitial"],[this,"cssAllInitial"])),a.push(p)}const u=this.distances.length;for(let p=0;p<u;++p){const f=this.distances[p],g=this.positions[p+1],m=yd(`长度: ${ac(f)}`,g,e,n);m.dispose(l.track([m,"show"],[this,"show"])),m.dispose(l.track([m,"shadowDom"],[this,"shadowDom"])),m.dispose(l.track([m,"cssAllInitial"],[this,"cssAllInitial"])),this.ad(m.pickedEvent.don(y=>{Wi(y)===0&&this.pickedEvent.emit(y)})),a.push(m)}};d(),this.dispose(this.distancesChanged.disposableOn(()=>w.inOrderRunning(d)))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distances(){return this._distances.value}get distancesChanged(){return this._distances.changed}}v(Dr,"defaults",{positions:[]}),(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1,strokeGround:!1})})(Dr||(Dr={})),l.extendClassProps(Dr.prototype,Dr.createDefaultProps);const Pa=class Pa extends vt{constructor(e,n){super(e,n);v(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new Ie(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._geoPolyline;this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"width"],[e,"strokeWidth"])),this.dispose(l.track([r,"color"],[e,"strokeColor"])),this.dispose(l.track([r,"ground"],[e,"strokeGround"]));{const s=()=>{r.show=e.show&&e.stroked};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}}get geoPolyline(){return this._geoPolyline}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoPolyline:s}=this;return r.actived?o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoPolyline:s}=this;return r.actived?o.flyInParam?(super.flyIn(e,n),!0):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Pa,"type",Pa.register("ESCesiumViewer",w.ESGeoLineString.type,Pa));let br=Pa;const Sa=class Sa extends br{constructor(e,n){super(e,n);v(this,"_czmDistanceMeasurement");if(this._czmDistanceMeasurement=this.disposeVar(new Dr(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmDistanceMeasurement:r}=this;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.bind([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(e.stroked)r.width=e.strokeWidth;else{r.width=0;return}r.width=e.strokeWidth,r.color=e.strokeColor;const d=e.strokeMaterial??"normal";d==="hasDash"?(r.hasDash=!0,r.hasArrow=!1):d==="hasArrow"?(r.hasDash=!1,r.hasArrow=!0):(r.hasDash=!1,r.hasArrow=!1);const u=e.strokeStyle;if(u.material==="hasDash"&&u.materialParams)try{const p=u.materialParams;Reflect.has(p,"gapColor")&&(r.gapColor=p.gapColor??[0,0,0,0]),Reflect.has(p,"dashLength")&&(r.dashLength=p.dashLength),Reflect.has(p,"dashPattern")&&(r.dashPattern=p.dashPattern)}catch(p){console.error(p)}else r.gapColor=[0,0,0,0],r.dashLength=0,r.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(r.pickedEvent.disposableOn(s=>{Wi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmDistanceMeasurement(){return this._czmDistanceMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmDistanceMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmDistanceMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Sa,"type",Sa.register("ESCesiumViewer",w.ESDistanceMeasurement.type,Sa));let qu=Sa;class Rr extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_id",this.disposeVar(l.react(l.createGuid())));n&&(this.id=n)}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}}(t=>{t.createDefaultProps=()=>({enabled:!0,showHelper:!0,allowPicking:!1,positions:l.reactPositions(void 0),reverse:!1,edgeColor:l.reactArray([1,1,1,1]),edgeWidth:2})})(Rr||(Rr={})),l.extendClassProps(Rr.prototype,Rr.createDefaultProps);class oI extends l.Destroyable{constructor(i,e){super(),this._czmESExcavate=i,this._eS3DTileset=e;for(let n=0;n<this._eS3DTileset.excavateId.length;n++){const o=this._eS3DTileset.excavateId[n];w.ESSceneObject.getSceneObjById(o)||this._eS3DTileset.excavateId.splice(n,1)}this._eS3DTileset.excavateId=[...this._eS3DTileset.excavateId,this._czmESExcavate.czmPolygonClipping.id],this.dispose(()=>{this._eS3DTileset.excavateId=[...this._eS3DTileset.excavateId.filter(n=>n!==this._czmESExcavate.czmPolygonClipping.id)]})}}class rI extends l.Destroyable{constructor(i){if(super(),this._czmESExcavate=i,!!this._czmESExcavate.viewer){for(let e=0;e<this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId.length;e++){const n=this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId[e];w.ESSceneObject.getSceneObjById(n)||this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId.splice(e,1)}this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId=[...this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId,this._czmESExcavate.czmPolygonClipping.id],this.dispose(()=>{this._czmESExcavate.viewer&&(this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId=[...this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId.filter(e=>e!==this._czmESExcavate.czmPolygonClipping.id)])})}}}const Ea=class Ea extends Ht{constructor(e,n){super(e,n);v(this,"_czmPolygonClipping");v(this,"_tilesSceneObjectWithId");this._czmPolygonClipping=this.ad(new Rr(n,e.id)),this._tilesSceneObjectWithId=this.disposeVar(new w.ESSceneObjectWithId);const o=this.ad(l.react(this.sceneObject.targetID));if(this.ad(e.targetIDChanged.don(()=>{const a=w.ESSceneObject.getSceneObject(e.targetID);o.value=a?(a.components.main??a).id:""})),this.dispose(l.track([this._tilesSceneObjectWithId,"id"],o)),this.disposeVar(l.createNextAnimateFrameEvent(this.tilesSceneObjectWithId.sceneObjectChanged,this.sceneObject.showChanged)),!n.viewer)return;const s=this._czmPolygonClipping;s.showHelper=!1,this.dispose(l.bind([s,"positions"],[e,"points"])),this.dispose(l.track([s,"allowPicking"],[e,"allowPicking"]));{const a=()=>{s.reverse=e.mode!=="in"};a(),this.dispose(e.modeChanged.disposableOn(a))}w.registerCreatedEventUpdate(this,e,()=>{const a=this.disposeVar(l.createNextAnimateFrameEvent(this.tilesSceneObjectWithId.sceneObjectChanged,this.sceneObject.showChanged));this.disposeVar(new l.ObjResettingWithEvent(a,()=>{const{sceneObject:c,id:d}=this.tilesSceneObjectWithId;if(this.sceneObject.show)return d===""?new rI(this):!c||!(c instanceof w.ES3DTileset)?void 0:new oI(this,c)}))})}get czmPolygonClipping(){return this._czmPolygonClipping}get tilesSceneObjectWithId(){return this._tilesSceneObjectWithId}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmPolygonClipping:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ea,"type",Ea.register("ESCesiumViewer",w.ESExcavate.type,Ea));let $u=Ea;const Aa=class Aa extends Ce{constructor(e,n){super(e,n);v(this,"_czmFireParticleSystem");if(this._czmFireParticleSystem=this.disposeVar(new wi(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmFireParticleSystem;r.endColor=[1,1,0,.4],r.startColor=[1,0,0,.5],r.particleLife=1,r.emissionRate=30,r.lifetime=1,r.imageSize=[1,1],r.emitter={type:"CircleEmitter",radius:.1},r.sizeInMeters=!0;{const s=()=>{r.startScale=10*(e.scale[0]>0?e.scale[0]:1),r.endScale=5*(e.scale[0]>0?e.scale[0]:1),r.minimumSpeed=10*(e.scale[0]>0?e.scale[0]:1),r.maximumSpeed=15*(e.scale[0]>0?e.scale[0]:1)};s(),this.ad(e.scaleChanged.don(s))}this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.track([r,"translation"],[e,"translation"])),this.dispose(et([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"image"],[e,"image"]))}get czmFireParticleSystem(){return this._czmFireParticleSystem}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmFireParticleSystem:s}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);{const a=s.position;return se(r.viewer,a,100,Kt,e),o.flyOverEvent.emit(n,"over",r),!0}}};v(Aa,"type",Aa.register("ESCesiumViewer",w.ESFireParticleSystem.type,Aa));let Xu=Aa;class xr extends l.Destroyable{constructor(e,n){super();v(this,"_geoPath");v(this,"_geoPolyline");v(this,"_geoCanvasPointPoi");v(this,"_player");v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_currentDistance",this.disposeVar(l.react(0)));v(this,"_ratio",this.disposeVar(w.PlayerProperty.createPlayingRatio([this,"currentTime"],[this,"duration"])));this._geoPath=this.disposeVar(new w.ESPathImpl),this._geoPolyline=this.disposeVar(new Ie(e,n)),this._geoCanvasPointPoi=this.disposeVar(new yn(e,n)),this._player=this.disposeVar(new w.Player),this.dispose(l.bind([this._geoPolyline,"positions"],[this,"positions"])),this.dispose(l.track([this._geoPolyline,"width"],[this,"width"])),this.dispose(l.track([this._geoPolyline,"ground"],[this,"ground"])),this.dispose(l.track([this._geoPolyline,"color"],[this,"color"])),this.dispose(l.track([this._geoPolyline,"hasDash"],[this,"hasDash"])),this.dispose(l.track([this._geoPolyline,"gapColor"],[this,"gapColor"])),this.dispose(l.track([this._geoPolyline,"dashLength"],[this,"dashLength"])),this.dispose(l.track([this._geoPolyline,"dashPattern"],[this,"dashPattern"])),this.dispose(l.track([this._geoPolyline,"hasArrow"],[this,"hasArrow"])),this.dispose(l.track([this._geoPolyline,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._geoPolyline,"arcType"],[this,"arcType"])),this.dispose(l.track([this._geoPolyline,"show"],[this,"show"])),this.dispose(l.track([this._geoPolyline,"show"],[this,"polylineShow"])),this.dispose(l.track([this._geoPolyline,"allowPicking"],[this,"allowPicking"])),this.dispose(l.track([this._geoPath,"currentTime"],[this,"currentDistance"])),this.dispose(l.track([this._geoPath,"leadTime"],[this,"leadTime"])),this.dispose(l.track([this._geoPath,"trailTime"],[this,"trailTime"])),this.dispose(l.track([this._geoPath,"show"],[this,"show"])),this.dispose(l.track([this._geoPath,"currentPoiShow"],[this,"currentPoiShow"]));{const o=()=>{this._geoCanvasPointPoi.show=(this.show??!0)&&(this.currentPoiShow??!0)};o(),this.dispose(this.showChanged.disposableOn(o)),this.dispose(this.currentPoiShowChanged.disposableOn(o))}this.dispose(l.track([this._geoCanvasPointPoi,"position"],[this,"currentPosition"]));{const o=()=>{if(this.positions){const s=this.granularity*Math.PI/180,a=sd(this.positions,this.arcType??"GEODESIC",s);if(a){this._geoPath.timePosRots=a.timePosRots,this.rotationRadius.some(c=>c>0)?(this._geoPath.addAroundPoints(this.rotationRadius,!0),this._geoPath.computeRotIfUndefinedUsingLerp(!0),this._geoPath.rotLerpMode="Lerp"):(this._geoPath.computeRotIfUndefinedUsingPrevLine(!0),this._geoPath.rotLerpMode=this.rotLerpMode);return}}this._geoPath.timePosRots=[]};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.granularityChanged,this.rotationRadiusChanged,this.rotLerpModeChanged));this.dispose(r.disposableOn(o))}{const o=()=>{if((this._player.duration??3e3)<=0){this.currentDistance=0;return}const r=this.totalDistance*((this._player.currentTime??0)/(this._player.duration??3e3));Math.abs(r-this.currentDistance)>.01&&(this.currentDistance=r)};o(),this.dispose(this._player.currentTimeChanged.disposableOn(o))}{const o=()=>{if(this.totalDistance<=0){this._player.currentTime=0;return}const r=this.currentDistance/this.totalDistance*(this.duration??3e3);Math.abs(r-(this._player.currentTime??0))>.01&&(this._player.currentTime=r)};o(),this.dispose(this.currentDistanceChanged.disposableOn(o))}this.dispose(l.bind([this._player,"loop"],[this,"loop"])),this.dispose(l.bind([this._player,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._player,"duration"],[this,"duration"])),this.dispose(l.bind([this._player,"playing"],[this,"playing"])),this.dispose(l.bind([this._player,"speed"],[this,"speed"])),this.dispose(this._flyToEvent.disposableOn(o=>{this._geoPolyline.flyTo(o)}))}get geoPath(){return this._geoPath}get geoPolyline(){return this._geoPolyline}get geoCanvasPointPoi(){return this._geoCanvasPointPoi}get player(){return this._player}get currentInfo(){return this._geoPath.currentInfo}get currentInfoChanged(){return this._geoPath.currentInfoChanged}get currentIndex(){return this._geoPath.currentIndex}get currentIndexChanged(){return this._geoPath.currentIndexChanged}get currentPosition(){return this._geoPath.currentPosition}get currentPositionChanged(){return this._geoPath.currentPositionChanged}get currentRotation(){return this._geoPath.currentRotation}get currentRotationChanged(){return this._geoPath.currentRotationChanged}get accumDistances(){return this._geoPath.accumDistances}get accumDistancesChanged(){return this._geoPath.accumDistancesChanged}get totalDistance(){return this._geoPath.totalDistance}get totalDistanceChanged(){return this._geoPath.totalDistanceChanged}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}subPath(e,n){const o=this._geoPath.subPath(e,n);if(o)return o.map(r=>r[1])}get currentDistance(){return this._currentDistance.value}set currentDistance(e){this._currentDistance.value=e}get currentDistanceChanged(){return this._currentDistance.changed}get ratio(){return this._ratio.value}set ratio(e){this._ratio.value=e}get ratioChanged(){return this._ratio.changed}get timePosRots(){return this.geoPath.timePosRots}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,currentPoiShow:!0,polylineShow:!0,positions:l.reactPositions(void 0),width:1,ground:!1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",granularity:1,loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,depthTest:!1,leadTime:0,trailTime:0,rotationRadius:[0],rotLerpMode:"Next"})})(xr||(xr={})),l.extendClassProps(xr.prototype,xr.createDefaultProps);class ks extends l.Destroyable{constructor(e,n){super();v(this,"_geoPolylinePath");v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_currentDistance",this.disposeVar(l.react(0)));this._geoPolylinePath=this.disposeVar(new xr(e,n)),this._geoPolylinePath.rotLerpMode="Lerp",this.dispose(l.bind([this._geoPolylinePath,"show"],[this,"show"])),this.dispose(l.bind([this._geoPolylinePath,"currentPoiShow"],[this,"currentPoiShow"])),this.dispose(l.bind([this._geoPolylinePath,"polylineShow"],[this,"polylineShow"])),this.dispose(l.bind([this._geoPolylinePath,"width"],[this,"width"])),this.dispose(l.bind([this._geoPolylinePath,"ground"],[this,"ground"])),this.dispose(l.bind([this._geoPolylinePath,"color"],[this,"color"])),this.dispose(l.bind([this._geoPolylinePath,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([this._geoPolylinePath,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([this._geoPolylinePath,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([this._geoPolylinePath,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([this._geoPolylinePath,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([this._geoPolylinePath,"arcType"],[this,"arcType"])),this.dispose(l.bind([this._geoPolylinePath,"currentDistance"],[this,"currentDistance"])),this.dispose(l.bind([this._geoPolylinePath,"loop"],[this,"loop"])),this.dispose(l.bind([this._geoPolylinePath,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._geoPolylinePath,"duration"],[this,"duration"])),this.dispose(l.bind([this._geoPolylinePath,"playing"],[this,"playing"])),this.dispose(l.bind([this._geoPolylinePath,"speed"],[this,"speed"])),this.dispose(l.bind([this._geoPolylinePath,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._geoPolylinePath,"leadTime"],[this,"leadTime"])),this.dispose(l.track([this._geoPolylinePath,"trailTime"],[this,"trailTime"])),this.dispose(l.track([this._geoPolylinePath,"allowPicking"],[this,"allowPicking"]));const o=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.resolutionChanged,this.sharpnessChanged)),r=()=>{try{if(this.positions&&this.positions.length>=2){const s=wd(this.positions,this.resolution,this.sharpness);this._geoPolylinePath.positions=s}else this._geoPolylinePath.positions=void 0}catch(s){console.error(s),this._geoPolylinePath.positions=void 0}};r(),this.dispose(o.disposableOn(r)),this.dispose(this._flyToEvent.disposableOn(s=>{this._geoPolylinePath.flyTo(s)}))}get geoPolylinePath(){return this._geoPolylinePath}get geoPath(){return this._geoPolylinePath.geoPath}get ratio(){return this._geoPolylinePath.ratio}set ratio(e){this._geoPolylinePath.ratio=e}get ratioChanged(){return this._geoPolylinePath.ratioChanged}get player(){return this._geoPolylinePath.player}get currentInfo(){return this._geoPolylinePath.currentInfo}get currentInfoChanged(){return this._geoPolylinePath.currentInfoChanged}get currentIndex(){return this._geoPolylinePath.currentIndex}get currentIndexChanged(){return this._geoPolylinePath.currentIndexChanged}get currentPosition(){return this._geoPolylinePath.currentPosition}get currentPositionChanged(){return this._geoPolylinePath.currentPositionChanged}get currentRotation(){return this._geoPolylinePath.currentRotation}get currentRotationChanged(){return this._geoPolylinePath.currentRotationChanged}get accumDistances(){return this._geoPolylinePath.accumDistances}get accumDistancesChanged(){return this._geoPolylinePath.accumDistances}get totalDistance(){return this._geoPolylinePath.totalDistance}get totalDistanceChanged(){return this._geoPolylinePath.totalDistanceChanged}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get currentDistance(){return this._currentDistance.value}set currentDistance(e){this._currentDistance.value=e}get currentDistanceChanged(){return this._currentDistance.changed}get timePosRots(){return this.geoPath.timePosRots}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,currentPoiShow:!0,polylineShow:!0,positions:l.reactPositions(void 0),width:1,ground:!1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,resolution:1e3,sharpness:.85,depthTest:!1,leadTime:0,trailTime:0})})(ks||(ks={})),l.extendClassProps(ks.prototype,ks.createDefaultProps);const sI=[["256",256],["512",512],["1024",1024]],aI=[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]],Lt=class Lt extends w.ESVisualObject{constructor(e){super(e);v(this,"_pickFeaturesEvent",this.dv(new l.Event));this.ad(l.bind([this,"czmSplitDirection"],[this,"splitDirection"])),this.ad(l.bind([this,"czmAlpha"],[this,"opacity"]))}get pickFeaturesEvent(){return this._pickFeaturesEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new w.StringProperty([this,"accessToken"],"令牌",Lt.defaults.accessToken),new w.Number4Property([this,"rectangle"],"矩形范围",Lt.defaults.rectangle),new w.JsonProperty([this,"url"],"服务地址",Lt.defaults.url),new w.JsonProperty([this,"style"],"样式配置",Lt.defaults.style),new w.NumberProperty([this,"zIndex"],"层级序号",Lt.defaults.zIndex),new w.EnumProperty([this,"tileSize"],sI,"瓦片大小",256),new w.NumberSliderProperty([this,"maximumLevel"],1,[1,24],"最大层级",Lt.defaults.maximumLevel),new w.NumberSliderProperty([this,"minimumLevel"],1,[0,24],"最小层级",Lt.defaults.minimumLevel),new w.EnumProperty([this,"scheme"],[["tms","tms"],["xyz","xyz"]],"影像类型",Lt.defaults.scheme)],more:[...e.more,new w.GroupProperty([],"通用","通用"),new w.EnumProperty([this,"splitDirection"],aI,"splitDirection","NONE"),new w.GroupProperty([],"czm","czm"),new w.NumberProperty([this,"czmAlpha"],"透明度"),new w.NumberProperty([this,"czmBrightness"],"亮度"),new w.NumberProperty([this,"czmContrast"],"对比度"),new w.NumberProperty([this,"czmHue"],"色相"),new w.NumberProperty([this,"czmSaturation"],"饱和度"),new w.NumberProperty([this,"czmGamma"],"伽马值")]}}};v(Lt,"createDefaultProps",()=>({...w.ESVisualObject.createDefaultProps(),rectangle:l.reactJsonWithUndefined([-180,-90,180,90]),url:l.reactJson(""),zIndex:0,accessToken:"",tileSize:256,maximumLevel:18,minimumLevel:0,style:l.reactArrayWithUndefined([]),scheme:l.react("tms"),czmSplitDirection:"NONE",czmAlpha:1,opacity:1,splitDirection:"NONE",czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1})),v(Lt,"type",Lt.register("ESMVTLayer",Lt,{chsName:"矢量瓦片图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载矢量瓦片图层。"}));let nh=Lt;const lI=t=>{const i=[{maxAlt:25e7,level:0},{maxAlt:25e6,level:1},{maxAlt:9e6,level:2},{maxAlt:7e6,level:3},{maxAlt:44e5,level:4},{maxAlt:2e6,level:5},{maxAlt:1e6,level:6},{maxAlt:493977,level:7},{maxAlt:218047,level:8},{maxAlt:124961,level:9},{maxAlt:56110,level:10},{maxAlt:4e4,level:11},{maxAlt:13222,level:12},{maxAlt:7e3,level:13},{maxAlt:4e3,level:14},{maxAlt:2500,level:15},{maxAlt:1500,level:16},{maxAlt:600,level:17},{maxAlt:250,level:18},{maxAlt:150,level:19},{maxAlt:50,level:20}];for(const{maxAlt:e,level:n}of i)if(t>=e)return n;return 20},cI=async(t,i,e)=>(await fetch(`https://tileser.giiiis.com/xyzinfo/${e}/${t}/${i}`)).json(),hI=async t=>{var d;const i=(d=t.getCurrentCameraInfo())==null?void 0:d.position;if(!i)return;const e=i[0],n=i[1],o=i[2],r=lI(o);let s=Math.floor((e+180)/360*Math.pow(2,r+1)),a=Math.floor((90-n)/180*Math.pow(2,r));return await cI(s,a,r)};class dI extends w.Destroyable{constructor(i,e,n){super();const o=async()=>{const s=await hI(i);e.datesEvent.emit(s,i)};o();let r;r=setInterval(()=>{o()},3e3),this.d(()=>r&&clearInterval(r));{const s=()=>{const a=e.currentDate?e.currentDate:0;n.url=`https://tileser.giiiis.com/timetile/tms/${a}/tilemapresource.xml`};s(),this.d(e.currentDateChanged.don(s))}}}const es=class es extends w.ESVisualObject{constructor(e){super(e);v(this,"_esImageryLayer",this.dv(new w.ESImageryLayer));v(this,"_datesEvent",this.dv(new l.Event));const n=this._esImageryLayer;this.d(this.components.disposableAdd(n)),n.zIndex=1,n.minimumLevel=1,n.maximumLevel=18,this.d(l.track([n,"show"],[this,"show"])),this.d(l.track([n,"zIndex"],[this,"zIndex"])),this.d(l.track([n,"rectangle"],[this,"rectangle"])),this.d(l.bind([n,"flyInParam"],[this,"flyInParam"])),this.d(l.bind([n,"flyToParam"],[this,"flyToParam"])),this.registerAttachedObjectForContainer(o=>new dI(o,this,n)),this.d(this.flyInEvent.don(o=>{n.flyIn(o)})),this.d(this.flyToEvent.don(o=>{n.flyTo(o)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()}))}get esImageryLayer(){return this._esImageryLayer}get datesEvent(){return this._datesEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new w.StringProperty([this,"currentDate"],"时间","0"),new w.NumberProperty([this,"zIndex"],"层级",0),new w.Number4Property([this,"rectangle"],"矩形范围",[-180,-90,180,90])]}}};v(es,"createDefaultProps",()=>({...w.ESVisualObject.createDefaultProps(),currentDate:"",zIndex:0,rectangle:l.reactArray([-180,-90,180,90])})),v(es,"type",es.register("ESGeHistoryImagery",es,{chsName:"谷歌历史影像",tags:["ESObjects","_ES_Impl_UE"],description:"ESGeHistoryImagery"}));let oh=es;const n0=`async (dataSource, viewer) => {
|
|
742
|
+
`,r.uniformMap={u_gradientMap:{type:"texture",id:"5d45a4a4-4f5d-4424-aea5-181de75bd13b"},u_stripMinMaxValue:[0,1],u_ratio:0};let a=this.disposeVar(l.react(void 0));{const c=this.disposeVar(l.createProcessingFromAsyncFunc(async u=>{a.value=void 0;const p=e.url??w.ESDataMesh.defaults.url;if(!p)return;await u.promise(l.sleep(200));const f=(e.maxTime??23)|0;a.value=await u.promise(iI(w.ESSceneObject.context.getStrFromEnv(typeof p=="string"?p:p.url),f+1))}));c.start();const d=this.disposeVar(l.createNextAnimateFrameEvent(e.urlChanged,e.maxTimeChanged));this.dispose(d.disposableOn(()=>c.restart()))}{class c{constructor(p){this._buffer=p}[Symbol.iterator](){return nI(this._buffer)}}const d=()=>{if(!a.value)return;const{vertexBuffer:u,propBuffers:p,indexBuffer:f}=a.value,{minPos:g,maxPos:m}=w.getMinMaxCorner(new c(u));r.setLocalAxisedBoundingBox(g,m);const y=(e.maxTime??23)|0;let P=(e.currentTime??w.ESDataMesh.defaults.currentTime)/y;P=P<0?0:P>1?1:P;const S=P*y;let C=P*y|0,E=S-C;if(C>=y&&(C=y-1,E=1),!Number.isFinite(E)){console.error("!Number.isFinite(rr)");debugger;return}if(r.indexTypedArray=f,!p[C]||!p[C+1]){console.error("!propBuffers[i] || !propBuffers[i + 1]");debugger}r.attributes={a_position:{typedArray:u,componentsPerAttribute:3},a_prop:{typedArray:p[C],componentsPerAttribute:3},a_prop2:{typedArray:p[C+1],componentsPerAttribute:3}},r.uniformMap={u_gradientMap:{type:"texture",id:`${s.id}`},u_stripMinMaxValue:[e.minPropValue??w.ESDataMesh.defaults.minPropValue,e.maxPropValue??w.ESDataMesh.defaults.maxPropValue],u_ratio:E}};d(),this.dispose(e.maxTimeChanged.disposableOn(d)),this.dispose(e.currentTimeChanged.disposableOn(d)),this.dispose(e.minPropValueChanged.disposableOn(d)),this.dispose(e.maxPropValueChanged.disposableOn(d)),this.dispose(a.changed.disposableOn(d))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}get czmTexture(){return this._czmTexture}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmCustomPrimitive:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(It(r,o,n,e,s,!0),!0):!1}};v(Ca,"type",Ca.register("ESCesiumViewer",w.ESDataMesh.type,Ca));let Gu=Ca;const Lo=class Lo extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_heading",this.disposeVar(l.react(0)));v(this,"_textFunc",this.disposeVar(l.react(void 0)));const o=this;{const a=()=>{if(this.positions&&this.positions.length>=2){let d=0;this.arcType===void 0||this.arcType==="GEODESIC"?d=w.geoHeading(this.positions[0],this.positions[1]):this.arcType==="RHUMB"?d=w.geoRhumbHeading(this.positions[0],this.positions[1]):this.arcType==="NONE"?d=w.geoHeading(this.positions[0],this.positions[1]):console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`),this._heading.value=this.angleMode==="-180~180"?w.clampN180_180(d):w.clamp0_360(d)}};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.angleModeChanged));this.dispose(c.disposableOn(a))}const r=this.disposeVar(new Ie(e,n));r.loop=!1,this.dispose(l.track([r,"allowPicking"],[o,"allowPicking"])),this.dispose(l.bind([r,"arcType"],[o,"arcType"])),this.dispose(l.bind([r,"color"],[o,"color"])),this.dispose(l.bind([r,"dashLength"],[o,"dashLength"])),this.dispose(l.bind([r,"dashPattern"],[o,"dashPattern"])),this.dispose(l.bind([r,"gapColor"],[o,"gapColor"])),this.dispose(l.bind([r,"hasArrow"],[o,"hasArrow"])),this.dispose(l.bind([r,"hasDash"],[o,"hasDash"])),this.dispose(l.bind([r,"positions"],[o,"positions"])),this.dispose(l.bind([r,"show"],[o,"show"])),this.dispose(l.bind([r,"width"],[o,"width"])),this.dispose(l.bind([r,"depthTest"],[o,"depthTest"])),this.dispose(l.bind([r,"ground"],[o,"strokeGround"])),this.dispose(o.flyToEvent.disposableOn(a=>{e.actived&&r.flyTo(a)}));const s=this.disposeVar(new $e(e,n));this.dispose(l.bind([s,"shadowDom"],[o,"shadowDom"])),this.dispose(l.bind([s,"cssAllInitial"],[o,"cssAllInitial"])),this.dispose(l.bind([s,"show"],[o,"show"]));{const a=()=>{o.positions&&o.positions.length>=2?s.position=o.positions[1]:s.position=void 0};a(),this.dispose(o.positionsChanged.disposableOn(a))}{const a=()=>{const{heading:d}=o,u=(o.textFunc??Lo.defaultTextFunc_度格式)(d);s.innerHTML=oo(`方向: ${u}`,24)};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(o.headingChanged,o.textFuncChanged));this.dispose(c.disposableOn(a))}this.ad(s.pickedEvent.don(a=>{Wi(a)===0&&this.pickedEvent.emit(a)}))}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get heading(){return this._heading.value}get headingChanged(){return this._heading.changed}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}};v(Lo,"defaultTextFunc_度格式",e=>`${e.toFixed(5)}°`),v(Lo,"defaultTextFunc_度分格式",e=>`${ds(e,!0)}`),v(Lo,"defaultTextFunc_度分秒格式",e=>`${ds(e,!1)}`),v(Lo,"defaults",{positions:[]});let So=Lo;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:8,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!0,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1,angleMode:"-180~180",strokeGround:!1})})(So||(So={})),l.extendClassProps(So.prototype,So.createDefaultProps);const _a=class _a extends vt{constructor(e,n){super(e,n);v(this,"_czmDirectionMeasurement");if(this._czmDirectionMeasurement=this.disposeVar(new So(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmDirectionMeasurement;r.angleMode="0~360",this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.bind([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(e.stroked)r.width=e.strokeWidth;else{r.width=0;return}r.width=e.strokeWidth,r.color=e.strokeColor;const d=e.strokeMaterial??"normal";d==="hasDash"?(r.hasDash=!0,r.hasArrow=!1):d==="hasArrow"?(r.hasDash=!1,r.hasArrow=!0):d==="normal"?(r.hasDash=!1,r.hasArrow=!1):(r.hasDash=!1,r.hasArrow=!0);const u=e.strokeStyle;if(u.material==="hasDash"&&u.materialParams)try{const p=u.materialParams;Reflect.has(p,"gapColor")&&(r.gapColor=p.gapColor??[0,0,0,0]),Reflect.has(p,"dashLength")&&(r.dashLength=p.dashLength),Reflect.has(p,"dashPattern")&&(r.dashPattern=p.dashPattern)}catch(p){console.error(p)}else r.gapColor=[0,0,0,0],r.dashLength=0,r.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(r.pickedEvent.disposableOn(s=>{Wi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmDirectionMeasurement(){return this._czmDirectionMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmDirectionMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmDirectionMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(_a,"type",_a.register("ESCesiumViewer",w.ESDirectionMeasurement.type,_a));let Hu=_a;class Dr extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_distances",this.disposeVar(l.reactArray([])));const o=async()=>{this.strokeGround&&e.viewer?this._distances.value=await ev(e.viewer,this.positions??[]):this._distances.value=w.getDistancesFromPositions(this.positions??[],this.arcType)};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.strokeGroundChanged));this.dispose(r.disposableOn(o));const s=this.disposeVar(new Ie(e,n));s.loop=!1,this.dispose(l.track([s,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([s,"arcType"],[this,"arcType"])),this.dispose(l.bind([s,"color"],[this,"color"])),this.dispose(l.bind([s,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([s,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([s,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([s,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([s,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([s,"positions"],[this,"positions"])),this.dispose(l.bind([s,"show"],[this,"show"])),this.dispose(l.bind([s,"width"],[this,"width"])),this.dispose(l.bind([s,"depthTest"],[this,"depthTest"])),this.dispose(l.bind([s,"ground"],[this,"strokeGround"])),this.dispose(this.flyToEvent.disposableOn(a=>{e.actived&&s.flyTo(a)}));{const a=[],c=()=>{for(let u of a)u.destroy();a.length=0};this.dispose(c);const d=()=>{if(c(),!this.positions)return;if(this.positions.length>0&&this.distances.length>0){const p=yd("起点",this.positions[0],e,n);p.dispose(l.track([p,"show"],[this,"show"])),p.dispose(l.track([p,"shadowDom"],[this,"shadowDom"])),p.dispose(l.track([p,"cssAllInitial"],[this,"cssAllInitial"])),a.push(p)}const u=this.distances.length;for(let p=0;p<u;++p){const f=this.distances[p],g=this.positions[p+1],m=yd(`长度: ${ac(f)}`,g,e,n);m.dispose(l.track([m,"show"],[this,"show"])),m.dispose(l.track([m,"shadowDom"],[this,"shadowDom"])),m.dispose(l.track([m,"cssAllInitial"],[this,"cssAllInitial"])),this.ad(m.pickedEvent.don(y=>{Wi(y)===0&&this.pickedEvent.emit(y)})),a.push(m)}};d(),this.dispose(this.distancesChanged.disposableOn(()=>w.inOrderRunning(d)))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distances(){return this._distances.value}get distancesChanged(){return this._distances.changed}}v(Dr,"defaults",{positions:[]}),(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1,strokeGround:!1})})(Dr||(Dr={})),l.extendClassProps(Dr.prototype,Dr.createDefaultProps);const Pa=class Pa extends vt{constructor(e,n){super(e,n);v(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new Ie(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._geoPolyline;this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"width"],[e,"strokeWidth"])),this.dispose(l.track([r,"color"],[e,"strokeColor"])),this.dispose(l.track([r,"ground"],[e,"strokeGround"]));{const s=()=>{r.show=e.show&&e.stroked};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}}get geoPolyline(){return this._geoPolyline}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoPolyline:s}=this;return r.actived?o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoPolyline:s}=this;return r.actived?o.flyInParam?(super.flyIn(e,n),!0):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Pa,"type",Pa.register("ESCesiumViewer",w.ESGeoLineString.type,Pa));let br=Pa;const Sa=class Sa extends br{constructor(e,n){super(e,n);v(this,"_czmDistanceMeasurement");if(this._czmDistanceMeasurement=this.disposeVar(new Dr(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmDistanceMeasurement:r}=this;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.bind([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(e.stroked)r.width=e.strokeWidth;else{r.width=0;return}r.width=e.strokeWidth,r.color=e.strokeColor;const d=e.strokeMaterial??"normal";d==="hasDash"?(r.hasDash=!0,r.hasArrow=!1):d==="hasArrow"?(r.hasDash=!1,r.hasArrow=!0):(r.hasDash=!1,r.hasArrow=!1);const u=e.strokeStyle;if(u.material==="hasDash"&&u.materialParams)try{const p=u.materialParams;Reflect.has(p,"gapColor")&&(r.gapColor=p.gapColor??[0,0,0,0]),Reflect.has(p,"dashLength")&&(r.dashLength=p.dashLength),Reflect.has(p,"dashPattern")&&(r.dashPattern=p.dashPattern)}catch(p){console.error(p)}else r.gapColor=[0,0,0,0],r.dashLength=0,r.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(r.pickedEvent.disposableOn(s=>{Wi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmDistanceMeasurement(){return this._czmDistanceMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmDistanceMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmDistanceMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Sa,"type",Sa.register("ESCesiumViewer",w.ESDistanceMeasurement.type,Sa));let qu=Sa;class Rr extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_id",this.disposeVar(l.react(l.createGuid())));n&&(this.id=n)}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}}(t=>{t.createDefaultProps=()=>({enabled:!0,showHelper:!0,allowPicking:!1,positions:l.reactPositions(void 0),reverse:!1,edgeColor:l.reactArray([1,1,1,1]),edgeWidth:2})})(Rr||(Rr={})),l.extendClassProps(Rr.prototype,Rr.createDefaultProps);class oI extends l.Destroyable{constructor(i,e){super(),this._czmESExcavate=i,this._eS3DTileset=e;for(let n=0;n<this._eS3DTileset.excavateId.length;n++){const o=this._eS3DTileset.excavateId[n];w.ESSceneObject.getSceneObjById(o)||this._eS3DTileset.excavateId.splice(n,1)}this._eS3DTileset.excavateId=[...this._eS3DTileset.excavateId,this._czmESExcavate.czmPolygonClipping.id],this.dispose(()=>{this._eS3DTileset.excavateId=[...this._eS3DTileset.excavateId.filter(n=>n!==this._czmESExcavate.czmPolygonClipping.id)]})}}class rI extends l.Destroyable{constructor(i){if(super(),this._czmESExcavate=i,!!this._czmESExcavate.viewer){for(let e=0;e<this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId.length;e++){const n=this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId[e];w.ESSceneObject.getSceneObjById(n)||this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId.splice(e,1)}this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId=[...this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId,this._czmESExcavate.czmPolygonClipping.id],this.dispose(()=>{this._czmESExcavate.viewer&&(this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId=[...this._czmESExcavate.viewer.sceneGlobeClippingPolygonsId.filter(e=>e!==this._czmESExcavate.czmPolygonClipping.id)])})}}}const Ea=class Ea extends Ht{constructor(e,n){super(e,n);v(this,"_czmPolygonClipping");v(this,"_tilesSceneObjectWithId");this._czmPolygonClipping=this.ad(new Rr(n,e.id)),this._tilesSceneObjectWithId=this.disposeVar(new w.ESSceneObjectWithId);const o=this.ad(l.react(this.sceneObject.targetID));if(this.ad(e.targetIDChanged.don(()=>{const a=w.ESSceneObject.getSceneObject(e.targetID);o.value=a?(a.components.main??a).id:""})),this.dispose(l.track([this._tilesSceneObjectWithId,"id"],o)),this.disposeVar(l.createNextAnimateFrameEvent(this.tilesSceneObjectWithId.sceneObjectChanged,this.sceneObject.showChanged)),!n.viewer)return;const s=this._czmPolygonClipping;s.showHelper=!1,this.dispose(l.bind([s,"positions"],[e,"points"])),this.dispose(l.track([s,"allowPicking"],[e,"allowPicking"]));{const a=()=>{s.reverse=e.mode!=="in"};a(),this.dispose(e.modeChanged.disposableOn(a))}w.registerCreatedEventUpdate(this,e,()=>{const a=this.disposeVar(l.createNextAnimateFrameEvent(this.tilesSceneObjectWithId.sceneObjectChanged,this.sceneObject.showChanged));this.disposeVar(new l.ObjResettingWithEvent(a,()=>{const{sceneObject:c,id:d}=this.tilesSceneObjectWithId;if(this.sceneObject.show)return d===""?new rI(this):!c||!(c instanceof w.ES3DTileset)?void 0:new oI(this,c)}))})}get czmPolygonClipping(){return this._czmPolygonClipping}get tilesSceneObjectWithId(){return this._tilesSceneObjectWithId}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmPolygonClipping:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ea,"type",Ea.register("ESCesiumViewer",w.ESExcavate.type,Ea));let $u=Ea;const Aa=class Aa extends Ce{constructor(e,n){super(e,n);v(this,"_czmFireParticleSystem");if(this._czmFireParticleSystem=this.disposeVar(new wi(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmFireParticleSystem;r.endColor=[1,1,0,.4],r.startColor=[1,0,0,.5],r.particleLife=1,r.emissionRate=30,r.lifetime=1,r.imageSize=[1,1],r.emitter={type:"CircleEmitter",radius:.1},r.sizeInMeters=!0;{const s=()=>{r.startScale=10*(e.scale[0]>0?e.scale[0]:1),r.endScale=5*(e.scale[0]>0?e.scale[0]:1),r.minimumSpeed=10*(e.scale[0]>0?e.scale[0]:1),r.maximumSpeed=15*(e.scale[0]>0?e.scale[0]:1)};s(),this.ad(e.scaleChanged.don(s))}this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.track([r,"translation"],[e,"translation"])),this.dispose(et([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"image"],[e,"image"]))}get czmFireParticleSystem(){return this._czmFireParticleSystem}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmFireParticleSystem:s}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);{const a=s.position;return se(r.viewer,a,100,Kt,e),o.flyOverEvent.emit(n,"over",r),!0}}};v(Aa,"type",Aa.register("ESCesiumViewer",w.ESFireParticleSystem.type,Aa));let Xu=Aa;class xr extends l.Destroyable{constructor(e,n){super();v(this,"_geoPath");v(this,"_geoPolyline");v(this,"_geoCanvasPointPoi");v(this,"_player");v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_currentDistance",this.disposeVar(l.react(0)));v(this,"_ratio",this.disposeVar(w.PlayerProperty.createPlayingRatio([this,"currentTime"],[this,"duration"])));this._geoPath=this.disposeVar(new w.ESPathImpl),this._geoPolyline=this.disposeVar(new Ie(e,n)),this._geoCanvasPointPoi=this.disposeVar(new yn(e,n)),this._player=this.disposeVar(new w.Player),this.dispose(l.bind([this._geoPolyline,"positions"],[this,"positions"])),this.dispose(l.track([this._geoPolyline,"width"],[this,"width"])),this.dispose(l.track([this._geoPolyline,"ground"],[this,"ground"])),this.dispose(l.track([this._geoPolyline,"color"],[this,"color"])),this.dispose(l.track([this._geoPolyline,"hasDash"],[this,"hasDash"])),this.dispose(l.track([this._geoPolyline,"gapColor"],[this,"gapColor"])),this.dispose(l.track([this._geoPolyline,"dashLength"],[this,"dashLength"])),this.dispose(l.track([this._geoPolyline,"dashPattern"],[this,"dashPattern"])),this.dispose(l.track([this._geoPolyline,"hasArrow"],[this,"hasArrow"])),this.dispose(l.track([this._geoPolyline,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._geoPolyline,"arcType"],[this,"arcType"])),this.dispose(l.track([this._geoPolyline,"show"],[this,"show"])),this.dispose(l.track([this._geoPolyline,"show"],[this,"polylineShow"])),this.dispose(l.track([this._geoPolyline,"allowPicking"],[this,"allowPicking"])),this.dispose(l.track([this._geoPath,"currentTime"],[this,"currentDistance"])),this.dispose(l.track([this._geoPath,"leadTime"],[this,"leadTime"])),this.dispose(l.track([this._geoPath,"trailTime"],[this,"trailTime"])),this.dispose(l.track([this._geoPath,"show"],[this,"show"])),this.dispose(l.track([this._geoPath,"currentPoiShow"],[this,"currentPoiShow"]));{const o=()=>{this._geoCanvasPointPoi.show=(this.show??!0)&&(this.currentPoiShow??!0)};o(),this.dispose(this.showChanged.disposableOn(o)),this.dispose(this.currentPoiShowChanged.disposableOn(o))}this.dispose(l.track([this._geoCanvasPointPoi,"position"],[this,"currentPosition"]));{const o=()=>{if(this.positions){const s=this.granularity*Math.PI/180,a=sd(this.positions,this.arcType??"GEODESIC",s);if(a){this._geoPath.timePosRots=a.timePosRots,this.rotationRadius.some(c=>c>0)?(this._geoPath.addAroundPoints(this.rotationRadius,!0),this._geoPath.computeRotIfUndefinedUsingLerp(!0),this._geoPath.rotLerpMode="Lerp"):(this._geoPath.computeRotIfUndefinedUsingPrevLine(!0),this._geoPath.rotLerpMode=this.rotLerpMode);return}}this._geoPath.timePosRots=[]};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged,this.granularityChanged,this.rotationRadiusChanged,this.rotLerpModeChanged));this.dispose(r.disposableOn(o))}{const o=()=>{if((this._player.duration??3e3)<=0){this.currentDistance=0;return}const r=this.totalDistance*((this._player.currentTime??0)/(this._player.duration??3e3));Math.abs(r-this.currentDistance)>.01&&(this.currentDistance=r)};o(),this.dispose(this._player.currentTimeChanged.disposableOn(o))}{const o=()=>{if(this.totalDistance<=0){this._player.currentTime=0;return}const r=this.currentDistance/this.totalDistance*(this.duration??3e3);Math.abs(r-(this._player.currentTime??0))>.01&&(this._player.currentTime=r)};o(),this.dispose(this.currentDistanceChanged.disposableOn(o))}this.dispose(l.bind([this._player,"loop"],[this,"loop"])),this.dispose(l.bind([this._player,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._player,"duration"],[this,"duration"])),this.dispose(l.bind([this._player,"playing"],[this,"playing"])),this.dispose(l.bind([this._player,"speed"],[this,"speed"])),this.dispose(this._flyToEvent.disposableOn(o=>{this._geoPolyline.flyTo(o)}))}get geoPath(){return this._geoPath}get geoPolyline(){return this._geoPolyline}get geoCanvasPointPoi(){return this._geoCanvasPointPoi}get player(){return this._player}get currentInfo(){return this._geoPath.currentInfo}get currentInfoChanged(){return this._geoPath.currentInfoChanged}get currentIndex(){return this._geoPath.currentIndex}get currentIndexChanged(){return this._geoPath.currentIndexChanged}get currentPosition(){return this._geoPath.currentPosition}get currentPositionChanged(){return this._geoPath.currentPositionChanged}get currentRotation(){return this._geoPath.currentRotation}get currentRotationChanged(){return this._geoPath.currentRotationChanged}get accumDistances(){return this._geoPath.accumDistances}get accumDistancesChanged(){return this._geoPath.accumDistancesChanged}get totalDistance(){return this._geoPath.totalDistance}get totalDistanceChanged(){return this._geoPath.totalDistanceChanged}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}subPath(e,n){const o=this._geoPath.subPath(e,n);if(o)return o.map(r=>r[1])}get currentDistance(){return this._currentDistance.value}set currentDistance(e){this._currentDistance.value=e}get currentDistanceChanged(){return this._currentDistance.changed}get ratio(){return this._ratio.value}set ratio(e){this._ratio.value=e}get ratioChanged(){return this._ratio.changed}get timePosRots(){return this.geoPath.timePosRots}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,currentPoiShow:!0,polylineShow:!0,positions:l.reactPositions(void 0),width:1,ground:!1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",granularity:1,loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,depthTest:!1,leadTime:0,trailTime:0,rotationRadius:[0],rotLerpMode:"Next"})})(xr||(xr={})),l.extendClassProps(xr.prototype,xr.createDefaultProps);class ks extends l.Destroyable{constructor(e,n){super();v(this,"_geoPolylinePath");v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_currentDistance",this.disposeVar(l.react(0)));this._geoPolylinePath=this.disposeVar(new xr(e,n)),this._geoPolylinePath.rotLerpMode="Lerp",this.dispose(l.bind([this._geoPolylinePath,"show"],[this,"show"])),this.dispose(l.bind([this._geoPolylinePath,"currentPoiShow"],[this,"currentPoiShow"])),this.dispose(l.bind([this._geoPolylinePath,"polylineShow"],[this,"polylineShow"])),this.dispose(l.bind([this._geoPolylinePath,"width"],[this,"width"])),this.dispose(l.bind([this._geoPolylinePath,"ground"],[this,"ground"])),this.dispose(l.bind([this._geoPolylinePath,"color"],[this,"color"])),this.dispose(l.bind([this._geoPolylinePath,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([this._geoPolylinePath,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([this._geoPolylinePath,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([this._geoPolylinePath,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([this._geoPolylinePath,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([this._geoPolylinePath,"arcType"],[this,"arcType"])),this.dispose(l.bind([this._geoPolylinePath,"currentDistance"],[this,"currentDistance"])),this.dispose(l.bind([this._geoPolylinePath,"loop"],[this,"loop"])),this.dispose(l.bind([this._geoPolylinePath,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._geoPolylinePath,"duration"],[this,"duration"])),this.dispose(l.bind([this._geoPolylinePath,"playing"],[this,"playing"])),this.dispose(l.bind([this._geoPolylinePath,"speed"],[this,"speed"])),this.dispose(l.bind([this._geoPolylinePath,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._geoPolylinePath,"leadTime"],[this,"leadTime"])),this.dispose(l.track([this._geoPolylinePath,"trailTime"],[this,"trailTime"])),this.dispose(l.track([this._geoPolylinePath,"allowPicking"],[this,"allowPicking"]));const o=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.resolutionChanged,this.sharpnessChanged)),r=()=>{try{if(this.positions&&this.positions.length>=2){const s=wd(this.positions,this.resolution,this.sharpness);this._geoPolylinePath.positions=s}else this._geoPolylinePath.positions=void 0}catch(s){console.error(s),this._geoPolylinePath.positions=void 0}};r(),this.dispose(o.disposableOn(r)),this.dispose(this._flyToEvent.disposableOn(s=>{this._geoPolylinePath.flyTo(s)}))}get geoPolylinePath(){return this._geoPolylinePath}get geoPath(){return this._geoPolylinePath.geoPath}get ratio(){return this._geoPolylinePath.ratio}set ratio(e){this._geoPolylinePath.ratio=e}get ratioChanged(){return this._geoPolylinePath.ratioChanged}get player(){return this._geoPolylinePath.player}get currentInfo(){return this._geoPolylinePath.currentInfo}get currentInfoChanged(){return this._geoPolylinePath.currentInfoChanged}get currentIndex(){return this._geoPolylinePath.currentIndex}get currentIndexChanged(){return this._geoPolylinePath.currentIndexChanged}get currentPosition(){return this._geoPolylinePath.currentPosition}get currentPositionChanged(){return this._geoPolylinePath.currentPositionChanged}get currentRotation(){return this._geoPolylinePath.currentRotation}get currentRotationChanged(){return this._geoPolylinePath.currentRotationChanged}get accumDistances(){return this._geoPolylinePath.accumDistances}get accumDistancesChanged(){return this._geoPolylinePath.accumDistances}get totalDistance(){return this._geoPolylinePath.totalDistance}get totalDistanceChanged(){return this._geoPolylinePath.totalDistanceChanged}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get currentDistance(){return this._currentDistance.value}set currentDistance(e){this._currentDistance.value=e}get currentDistanceChanged(){return this._currentDistance.changed}get timePosRots(){return this.geoPath.timePosRots}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,currentPoiShow:!0,polylineShow:!0,positions:l.reactPositions(void 0),width:1,ground:!1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,resolution:1e3,sharpness:.85,depthTest:!1,leadTime:0,trailTime:0})})(ks||(ks={})),l.extendClassProps(ks.prototype,ks.createDefaultProps);const sI=[["256",256],["512",512],["1024",1024]],aI=[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]],Lt=class Lt extends w.ESVisualObject{constructor(e){super(e);v(this,"_pickFeaturesEvent",this.dv(new l.Event));this.ad(l.bind([this,"czmSplitDirection"],[this,"splitDirection"])),this.ad(l.bind([this,"czmAlpha"],[this,"opacity"]))}get pickFeaturesEvent(){return this._pickFeaturesEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new w.StringProperty([this,"accessToken"],"令牌",Lt.defaults.accessToken),new w.Number4Property([this,"rectangle"],"矩形范围",Lt.defaults.rectangle),new w.JsonProperty([this,"url"],"服务地址",Lt.defaults.url),new w.JsonProperty([this,"style"],"样式配置",Lt.defaults.style),new w.NumberProperty([this,"zIndex"],"层级序号",Lt.defaults.zIndex),new w.EnumProperty([this,"tileSize"],sI,"瓦片大小",256),new w.NumberSliderProperty([this,"maximumLevel"],1,[1,24],"最大层级",Lt.defaults.maximumLevel),new w.NumberSliderProperty([this,"minimumLevel"],1,[0,24],"最小层级",Lt.defaults.minimumLevel),new w.EnumProperty([this,"scheme"],[["tms","tms"],["xyz","xyz"]],"影像类型",Lt.defaults.scheme)],more:[...e.more,new w.GroupProperty([],"通用","通用"),new w.EnumProperty([this,"splitDirection"],aI,"splitDirection","NONE"),new w.GroupProperty([],"czm","czm"),new w.NumberProperty([this,"czmAlpha"],"透明度"),new w.NumberProperty([this,"czmBrightness"],"亮度"),new w.NumberProperty([this,"czmContrast"],"对比度"),new w.NumberProperty([this,"czmHue"],"色相"),new w.NumberProperty([this,"czmSaturation"],"饱和度"),new w.NumberProperty([this,"czmGamma"],"伽马值")]}}};v(Lt,"createDefaultProps",()=>({...w.ESVisualObject.createDefaultProps(),rectangle:l.reactJsonWithUndefined([-180,-90,180,90]),url:l.reactJson(""),zIndex:0,accessToken:"",tileSize:256,maximumLevel:18,minimumLevel:0,style:l.reactArrayWithUndefined([]),scheme:l.react("tms"),czmSplitDirection:"NONE",czmAlpha:1,opacity:1,splitDirection:"NONE",czmBrightness:1,czmContrast:1,czmHue:0,czmSaturation:1,czmGamma:1})),v(Lt,"type",Lt.register("ESMVTLayer",Lt,{chsName:"矢量瓦片图层",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载矢量瓦片图层。"}));let nh=Lt;const lI=t=>{const i=[{maxAlt:25e7,level:0},{maxAlt:25e6,level:1},{maxAlt:9e6,level:2},{maxAlt:7e6,level:3},{maxAlt:44e5,level:4},{maxAlt:2e6,level:5},{maxAlt:1e6,level:6},{maxAlt:493977,level:7},{maxAlt:218047,level:8},{maxAlt:124961,level:9},{maxAlt:56110,level:10},{maxAlt:4e4,level:11},{maxAlt:13222,level:12},{maxAlt:7e3,level:13},{maxAlt:4e3,level:14},{maxAlt:2500,level:15},{maxAlt:1500,level:16},{maxAlt:600,level:17},{maxAlt:250,level:18},{maxAlt:150,level:19},{maxAlt:50,level:20}];for(const{maxAlt:e,level:n}of i)if(t>=e)return n;return 20},cI=async(t,i,e)=>(await fetch(`http://abc.gggis.com:13001/xyzinfo/${e}/${t}/${i}`)).json(),hI=async t=>{var d;const i=(d=t.getCurrentCameraInfo())==null?void 0:d.position;if(!i)return;const e=i[0],n=i[1],o=i[2],r=lI(o);let s=Math.floor((e+180)/360*Math.pow(2,r+1)),a=Math.floor((90-n)/180*Math.pow(2,r));return await cI(s,a,r)};class dI extends w.Destroyable{constructor(i,e,n){super();const o=async()=>{const s=await hI(i);e.datesEvent.emit(s,i)};o();let r;r=setInterval(()=>{o()},3e3),this.d(()=>r&&clearInterval(r));{const s=()=>{const a=e.currentDate?e.currentDate:0;n.url=`http://abc.gggis.com:13001/timetile/tms/${a}/tilemapresource.xml`};s(),this.d(e.currentDateChanged.don(s))}}}const es=class es extends w.ESVisualObject{constructor(e){super(e);v(this,"_esImageryLayer",this.dv(new w.ESImageryLayer));v(this,"_datesEvent",this.dv(new l.Event));const n=this._esImageryLayer;this.d(this.components.disposableAdd(n)),n.zIndex=1,n.minimumLevel=1,n.maximumLevel=18,this.d(l.track([n,"show"],[this,"show"])),this.d(l.track([n,"zIndex"],[this,"zIndex"])),this.d(l.track([n,"rectangle"],[this,"rectangle"])),this.d(l.bind([n,"flyInParam"],[this,"flyInParam"])),this.d(l.bind([n,"flyToParam"],[this,"flyToParam"])),this.registerAttachedObjectForContainer(o=>new dI(o,this,n)),this.d(this.flyInEvent.don(o=>{n.flyIn(o)})),this.d(this.flyToEvent.don(o=>{n.flyTo(o)})),this.d(this.calcFlyToParamEvent.don(()=>{n.calcFlyToParam()})),this.d(this.calcFlyInParamEvent.don(()=>{n.calcFlyInParam()}))}get esImageryLayer(){return this._esImageryLayer}get datesEvent(){return this._datesEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new w.StringProperty([this,"currentDate"],"时间","0"),new w.NumberProperty([this,"zIndex"],"层级",0),new w.Number4Property([this,"rectangle"],"矩形范围",[-180,-90,180,90])]}}};v(es,"createDefaultProps",()=>({...w.ESVisualObject.createDefaultProps(),currentDate:"",zIndex:0,rectangle:l.reactArray([-180,-90,180,90])})),v(es,"type",es.register("ESGeHistoryImagery",es,{chsName:"谷歌历史影像",tags:["ESObjects","_ES_Impl_UE"],description:"ESGeHistoryImagery"}));let oh=es;const n0=`async (dataSource, viewer) => {
|
|
743
743
|
viewer.clock.shouldAnimate = false;
|
|
744
744
|
const rider = dataSource.entities.getById("tour");
|
|
745
745
|
await viewer.flyTo(rider)
|
|
@@ -799,7 +799,7 @@ ${n0}
|
|
|
799
799
|
}
|
|
800
800
|
|
|
801
801
|
\`\`\`
|
|
802
|
-
`,Yu=Date.now(),
|
|
802
|
+
`,Yu=Date.now(),Et=class Et extends w.ESSceneObject{constructor(e){super(e);v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_resetClockEvent",this.disposeVar(new l.Event))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new w.LongStringProperty([this,"data"],"数据",void 0,void 0,!0),new w.JsonProperty([this,"uri"],"路径","${earthsdk3-assets-script-dir}/assets/misc/bikeRide.kml",void 0,!0),new w.BooleanProperty([this,"autoResetClock"],"自动设置时钟",Et.defaults.autoResetClock),new w.BooleanProperty([this,"clockEnabled"],"启用",Et.defaults.clockEnabled),new w.BooleanProperty([this,"shouldAnimate"],"是否启用动画",Et.defaults.shouldAnimate),new w.DateProperty([this,"startTime"],"开始时间",Et.defaults.startTime,!0),new w.DateProperty([this,"stopTime"],"结束时间",Et.defaults.stopTime),new w.DateProperty([this,"currentTime"],"当前时间",Et.defaults.currentTime,!0),new w.NumberProperty([this,"multiplier"],"倍速",Et.defaults.multiplier),new w.EnumProperty([this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"clockStep",Et.defaults.clockStep),new w.EnumProperty([this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"clockRange",Et.defaults.clockRange)],general:[...e.general,new w.BooleanProperty([this,"show"],"是否显示",!0),new w.BooleanProperty([this,"collision"],"开启碰撞",!1),new w.BooleanProperty([this,"allowPicking"],"允许拾取",!1)],more:[...e.more,new w.GroupProperty([],"通用","通用"),new w.FunctionProperty(["number"],n=>this.flyTo(n),[1e3],"飞入"),new w.EvalStringProperty([this,"loadFuncStr"],"loadFnStr",n0,uI,!0),new w.FunctionProperty([],()=>this.resetClock(),[],"根据当前加载的数据重设时钟")]}}};v(Et,"createDefaultProps",()=>({...w.ESSceneObject.createDefaultProps(),show:!0,uri:void 0,allowPicking:!1,loadFuncStr:void 0,data:void 0,autoResetClock:!0,clockEnabled:!1,startTime:Yu,stopTime:Yu+24*60*60*1e3,currentTime:Yu,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,clampToGround:!1})),v(Et,"type",Et.register("ESKml",Et,{chsName:"ESKml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Kml数据加载"}));let rh=Et;const ts=class ts extends w.ESLocalVector2D{constructor(i){super(i)}getESProperties(){const i={...super.getESProperties()};return{...i,more:[...i.more,new w.GroupProperty([],"折线","折线"),new w.Number2sProperty([this,"points"],"本地位置数组",void 0,!0),new w.GroupProperty([],"czm","czm"),new w.BooleanProperty([this,"loop"],"首尾相连",!0),new w.BooleanProperty([this,"hasDash"],"是否为虚线",!0),new w.ColorProperty([this,"gapColor"],"间隔颜色",[0,0,0,0]),new w.NumberProperty([this,"dashLength"],"虚线长度",16),new w.DashPatternProperty([this,"dashPattern"],"虚线图案",255),new w.BooleanProperty([this,"hasArrow"],"是否带箭头",!0),new w.BooleanProperty([this,"depthTest"],"是否开启深度检测",!1)]}}};v(ts,"createDefaultProps",()=>({...w.ESLocalVector2D.createDefaultProps(),points:w.reactPosition2Ds(void 0),loop:!0,hasDash:!0,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!0,depthTest:!1,stroked:!0})),v(ts,"type",ts.register("ESLocalLineString",ts,{chsName:"局部2D坐标折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalLineString"}));let sh=ts;const is=class is extends w.ESLocalVector{constructor(i){super(i)}getESProperties(){const i={...super.getESProperties()};return{...i,more:[...i.more,new w.GroupProperty([],"通用","通用"),new w.Number3sProperty([this,"points"],"本地位置数组",void 0,!0),new w.GroupProperty([],"czm","czm"),new w.BooleanProperty([this,"loop"],"首尾相连",!0),new w.BooleanProperty([this,"hasDash"],"是否为虚线",!0),new w.ColorProperty([this,"gapColor"],"间隔颜色",[0,0,0,0]),new w.NumberProperty([this,"dashLength"],"虚线长度",16),new w.DashPatternProperty([this,"dashPattern"],"虚线图案",255),new w.BooleanProperty([this,"hasArrow"],"是否带箭头",!0),new w.BooleanProperty([this,"depthTest"],"是否开启深度检测",!1)]}}};v(is,"createDefaultProps",()=>({...w.ESLocalVector.createDefaultProps(),points:l.reactPositions(void 0),loop:!0,width:void 0,color:l.reactArrayWithUndefined(void 0),hasDash:!0,gapColor:l.reactArray([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!0,depthTest:!1,stroked:!0})),v(is,"type",is.register("ESLocalLineStringZ",is,{chsName:"局部坐标折线",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESLocalLineStringZ"}));let zs=is;const o0=`in vec3 position;
|
|
803
803
|
in vec3 normal;
|
|
804
804
|
in vec2 st;
|
|
805
805
|
out vec3 v_normalEC;
|
|
@@ -1250,7 +1250,7 @@ export type IndexJsonType = {
|
|
|
1250
1250
|
\`\`\`
|
|
1251
1251
|
${p0}
|
|
1252
1252
|
\`\`\`
|
|
1253
|
-
`,Ye=class Ye extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_dataSource",this.disposeVar(l.react(void 0)));v(this,"_data");v(this,"_defaultHeight",{});v(this,"_defaultBoundingSphere",new h.BoundingSphere);const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}let r=()=>{this.dataSource&&o.dataSources.remove(this.dataSource,!0),this.dataSource=void 0,this._data=void 0};this.dispose(()=>{r()});{const s=this.dv(l.createProcessingFromAsyncFunc(async d=>{this.dataSource&&r(),this.url&&(typeof this.url=="object"?this._data=this.url:this._isJSONString(this.url)?this._data=JSON.parse(this.url):await fetch(w.ESSceneObject.context.getStrFromEnv(this.url)).then(u=>u.json()).then(u=>{this._data=u}).catch(u=>{console.warn("ESGeoJson数据加载失败",u)}),this.dataSource=await h.GeoJsonDataSource.load(this._data),o.dataSources.add(this.dataSource).then(u=>{var f,g;const p=[];for(const m of u.entities.values)if(h.Entity.prototype&&(m.ESSceneObjectID=n),this._isEntityShow(m,e),m.polygon&&p.push(...(f=m.polygon.hierarchy)==null?void 0:f.getValue(h.JulianDate.now()).positions),m.polyline&&p.push(...(g=m.polyline.positions)==null?void 0:g.getValue(h.JulianDate.now())),m.position){const y=m.position.getValue(h.JulianDate.now());y&&p.push(y)}this._defaultBoundingSphere=h.BoundingSphere.fromPoints(p)}))})),a=()=>{s.isRunning&&s.cancel(),s.restart()};a();const c=this.dv(l.createNextAnimateFrameEvent(this.loadFunChanged,this.urlChanged));this.dispose(c.don(a))}{const s=()=>{var c,d;if(this.dataSource)if(this.dataSource.show=this.show,this.loadFun)try{this.loadFun(this.dataSource)}catch(u){console.error(u)}else{const u=this.dataSource.entities.values;for(let p=0;p<u.length;p++){const f=u[p];if(f.polygon){this._defaultHeight[f.id]||(this._defaultHeight[f.id]=(c=f.polygon.height)==null?void 0:c.getValue(h.JulianDate.now())),f.polygon.height=this.fillGround?void 0:new h.ConstantProperty(this._defaultHeight[f.id]),f.polygon.perPositionHeight=new h.ConstantProperty(!this.fillGround),f.polygon.heightReference=new h.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?h.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.RELATIVE_TO_GROUND),f.polygon.show=new h.ConstantProperty(this.filled??Ye.defaults.filled),f.polygon.material=new h.ColorMaterialProperty(new h.Color(...this.fillColor??Ye.defaults.fillColor)),f.polygon.outline=new h.ConstantProperty(!1),f.polyline=new h.PolylineGraphics;const g=JSON.parse(JSON.stringify((d=f.polygon.hierarchy)==null?void 0:d.getValue(h.JulianDate.now()).positions));h.Cartesian3.equals(g[0],g[g.length-1])||g.push(g[0]),f.polyline.positions=g}if(f.polyline&&(f.polyline.show=new h.ConstantProperty(this.stroked??Ye.defaults.stroked),f.polyline.width=new h.ConstantProperty(this.strokeWidth??Ye.defaults.strokeWidth),f.polyline.material=new h.ColorMaterialProperty(new h.Color(...this.strokeColor??Ye.defaults.strokeColor)),f.polyline.clampToGround=new h.ConstantProperty(this.strokeGround)),f.billboard){f.billboard.show=new h.ConstantProperty(this.imageShow??Ye.defaults.imageShow),f.billboard.width=new h.ConstantProperty(this.imageSize?this.imageSize[0]:Ye.defaults.imageSize[0]),f.billboard.height=new h.ConstantProperty(this.imageSize?this.imageSize[1]:Ye.defaults.imageSize[1]);const g=this.imageUrl?typeof this.imageUrl=="string"?this.imageUrl:this.imageUrl.url:Ye.defaults.imageUrl;f.billboard.image=new h.ConstantProperty(w.ESSceneObject.context.getStrFromEnv(g)),f.billboard.horizontalOrigin=new h.ConstantProperty(h.HorizontalOrigin.LEFT),f.billboard.verticalOrigin=new h.ConstantProperty(h.VerticalOrigin.TOP),f.billboard.heightReference=new h.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?h.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.RELATIVE_TO_GROUND);const m=this.imageAnchor??Ye.defaults.imageAnchor,y=this.imageOffset??Ye.defaults.imageOffset;if(f.billboard.pixelOffset=new h.ConstantProperty(h.Cartesian2.fromArray([-m[0]*f.billboard.width.getValue(h.JulianDate.now())+y[0],-m[1]*f.billboard.height.getValue(h.JulianDate.now())+y[1]])),f.label=new h.LabelGraphics,!f.label)return;f.label.show=new h.ConstantProperty(this.textShow??Ye.defaults.textShow),f.label.heightReference=new h.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?h.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.RELATIVE_TO_GROUND),f.label.text=new h.ConstantProperty(this.textProperty&&this.textProperty!==""&&f.properties&&f.properties[this.textProperty]?f.properties[this.textProperty].getValue():this.textDefaultText??Ye.defaults.textDefaultText),f.label.fillColor=new h.ConstantProperty(new h.Color(...this.textColor??Ye.defaults.textColor)),f.label.showBackground=new h.ConstantProperty(this.textBackgroundColor!=null);const P=this.textFontSize&&this.textFontSize!=0?this.textFontSize:Ye.defaults.textFontSize,S=this.textOffset??Ye.defaults.textOffset;f.label.backgroundColor=new h.ConstantProperty(new h.Color(...this.textBackgroundColor??Ye.defaults.textBackgroundColor)),f.label.font=new h.ConstantProperty(`${this.textFontStyle} ${this.textFontWeight} ${P}px ${this.textFontFamily??Ye.defaults.textFontFamily}`),f.label.horizontalOrigin=new h.ConstantProperty(h.HorizontalOrigin.LEFT),f.label.verticalOrigin=new h.ConstantProperty(h.VerticalOrigin.TOP),f.label.eyeOffset=new h.ConstantProperty(h.Cartesian3.fromArray([0,0,-1]));const C=this.textAnchor??Ye.defaults.textAnchor;f.label.pixelOffset=new h.ConstantProperty(h.Cartesian2.fromArray([-C[0]*((this.textBackgroundColor?-14:-P*2)+this._countBytes(f.label.text.getValue(h.JulianDate.now()))/2*P)+S[0],-C[1]*((this.textBackgroundColor?10:0)+P)+S[1]]))}}}};s();const a=this.dv(l.createNextAnimateFrameEvent(this._dataSource.changed,this.showChanged,this.strokedChanged,this.strokeWidthChanged,this.strokeWidthTypeChanged,this.strokeColorChanged,this.strokeMaterialChanged,this.strokeMaterialParamsChanged,this.strokeGroundChanged,this.filledChanged,this.fillColorChanged,this.fillMaterialChanged,this.fillMaterialParamsChanged,this.fillGroundChanged,this.imageShowChanged,this.imageUrlChanged,this.imageSizeChanged,this.imageAnchorChanged,this.imageOffsetChanged,this.textShowChanged,this.textPropertyChanged,this.textDefaultTextChanged,this.textColorChanged,this.textBackgroundColorChanged,this.textFontFamilyChanged,this.textFontSizeChanged,this.textFontStyleChanged,this.textFontWeightChanged,this.textAnchorChanged,this.textOffsetChanged,this.heightReferenceChanged));this.dispose(a.don(s))}{const s=()=>{if(!this.dataSource)return;const c=this.dataSource.entities.values;for(let d=0;d<c.length;d++){const u=c[d];this._isEntityShow(u,e)}};s();const a=this.ad(l.createNextAnimateFrameEvent(this.minFeatureVisibleDistanceChanged,this.maxFeatureVisibleDistanceChanged,e.cameraChanged,this.showChanged));this.ad(a.don(s))}{const s=()=>{if(this.loadFuncStr)try{const a=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=a}catch(a){console.error(a),this.loadFun=void 0}else this.loadFun=void 0};s(),this.dispose(this.loadFuncStrChanged.disposableOn(s))}this.dispose(this.flyToEvent.disposableOn(s=>{e.actived&&this.dataSource&&(s!==void 0?o.flyTo(this.dataSource,{duration:s/1e3}).then(a=>{a||o.camera.flyToBoundingSphere(this._defaultBoundingSphere,{duration:s/1e3})}):o.flyTo(this.dataSource).then(a=>{a||o.camera.flyToBoundingSphere(this._defaultBoundingSphere)}))}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}_isJSONString(e){try{return JSON.parse(e),!0}catch{return!1}}_countBytes(e){let n=0;for(let o=0;o<e.length;o++){const r=e.charCodeAt(o);r<=127?n+=1:r<=2047?n+=2:r<=65535?n+=3:n+=4}return n}_isEntityShow(e,n){var o;if(this.minFeatureVisibleDistance==0&&this.maxFeatureVisibleDistance==0){e.show=this.show;return}if((o=n.viewer)!=null&&o.camera&&this.show){let r;if(e.polygon&&e.polygon.hierarchy)r=w.getMinMaxCorner(e.polygon.hierarchy.getValue(h.JulianDate.now()).positions.map(c=>ce(c))).center;else if(e.polyline&&e.polyline.positions)r=w.getMinMaxCorner(e.polyline.positions.getValue(h.JulianDate.now()).map(c=>ce(c))).center;else if(e.position){const c=e.position.getValue(h.JulianDate.now());c&&(r=ce(c))}if(!r||isNaN(r[0]))return;const s=w.getDistancesFromPositions([r,Vt(n.viewer.camera)],"NONE")[0];let a=!1;this.minFeatureVisibleDistance<this.maxFeatureVisibleDistance?a=this.minFeatureVisibleDistance<s&&s<this.maxFeatureVisibleDistance:this.maxFeatureVisibleDistance==0?a=s>this.minFeatureVisibleDistance:this.minFeatureVisibleDistance==0&&(a=s<this.maxFeatureVisibleDistance),e.show=this.show&&a}}};v(Ye,"defaults",{show:!0,allowPicking:!0,url:f0,defaultLoadFuncStr:p0,defaultLoadFuncDocStr:TI,data:EI,dataMd:AI,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/misc/location.png",imageSize:[64,64],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:[.79,.91,.06,1],textFontFamily:"Arial",textFontSize:16,textFontWeight:"normal",textFontStyle:"normal",textAnchor:[.5,1],textOffset:[0,0],strokeWidthTypes:[["screen","screen"],["world","world"]],minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let Eo=Ye;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:void 0,loadFuncStr:void 0,url:void 0,stroked:void 0,strokeWidth:void 0,strokeWidthType:"world",strokeColor:l.reactArrayWithUndefined(void 0),strokeMaterial:void 0,strokeMaterialParams:l.reactJsonWithUndefined(void 0),strokeGround:void 0,filled:void 0,fillColor:l.reactArrayWithUndefined(void 0),fillMaterial:void 0,fillMaterialParams:l.reactJsonWithUndefined(void 0),fillGround:void 0,imageShow:void 0,imageUrl:void 0,imageSize:l.reactArrayWithUndefined(void 0),imageAnchor:l.reactArrayWithUndefined(void 0),imageOffset:l.reactArrayWithUndefined(void 0),textShow:void 0,textProperty:void 0,textDefaultText:void 0,textColor:l.reactArrayWithUndefined(void 0),textBackgroundColor:l.reactArrayWithUndefined(void 0),textFontFamily:void 0,textFontSize:void 0,textFontStyle:void 0,textFontWeight:void 0,textAnchor:l.reactArrayWithUndefined(void 0),textOffset:l.reactArrayWithUndefined(void 0),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})})(Eo||(Eo={})),l.extendClassProps(Eo.prototype,Eo.createDefaultProps);const Da=class Da extends Qt{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(new Eo(e,i.id));this.dispose(l.track([o,"show"],[i,"show"])),this.dispose(l.track([o,"allowPicking"],[i,"allowPicking"])),this.dispose(l.track([o,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.track([o,"url"],[i,"features"])),this.dispose(l.track([o,"stroked"],[i,"stroked"])),this.dispose(l.track([o,"strokeWidth"],[i,"strokeWidth"])),this.dispose(l.track([o,"strokeWidthType"],[i,"strokeWidthType"])),this.dispose(l.track([o,"strokeColor"],[i,"strokeColor"])),this.dispose(l.track([o,"strokeMaterial"],[i,"strokeMaterial"])),this.dispose(l.track([o,"strokeMaterialParams"],[i,"strokeMaterialParams"])),this.dispose(l.track([o,"strokeGround"],[i,"strokeGround"])),this.dispose(l.track([o,"filled"],[i,"filled"])),this.dispose(l.track([o,"fillColor"],[i,"fillColor"])),this.dispose(l.track([o,"fillMaterial"],[i,"fillMaterial"])),this.dispose(l.track([o,"fillMaterialParams"],[i,"fillMaterialParams"])),this.dispose(l.track([o,"fillGround"],[i,"fillGround"])),this.dispose(l.track([o,"imageShow"],[i,"imageShow"])),this.dispose(l.track([o,"imageUrl"],[i,"imageUrl"])),this.dispose(l.track([o,"imageSize"],[i,"imageSize"])),this.dispose(l.track([o,"imageAnchor"],[i,"imageAnchor"])),this.dispose(l.track([o,"imageOffset"],[i,"imageOffset"])),this.dispose(l.track([o,"textShow"],[i,"textShow"])),this.dispose(l.track([o,"textProperty"],[i,"textProperty"])),this.dispose(l.track([o,"textDefaultText"],[i,"textDefaultText"])),this.dispose(l.track([o,"textColor"],[i,"textColor"])),this.dispose(l.track([o,"textBackgroundColor"],[i,"textBackgroundColor"])),this.dispose(l.track([o,"textFontFamily"],[i,"textFontFamily"])),this.dispose(l.track([o,"textFontSize"],[i,"textFontSize"])),this.dispose(l.track([o,"textFontStyle"],[i,"textFontStyle"])),this.dispose(l.track([o,"textFontWeight"],[i,"textFontWeight"])),this.dispose(l.track([o,"textAnchor"],[i,"textAnchor"])),this.dispose(l.track([o,"textOffset"],[i,"textOffset"])),this.dispose(l.track([o,"minFeatureVisibleDistance"],[i,"minFeatureVisibleDistance"])),this.dispose(l.track([o,"maxFeatureVisibleDistance"],[i,"maxFeatureVisibleDistance"])),this.dispose(l.track([o,"heightReference"],[i,"heightReference"])),this.dispose(i.flyToEvent.disposableOn(r=>{if(e.actived){if(i.flyInParam){const{position:s,rotation:a,flyDuration:c}=i.flyInParam;return se(e.viewer,s,void 0,a,c),!0}o.flyTo(r&&r*1e3)}}));{const r=async(s,a,c)=>{if(!e.actived)return;const d=JSON.parse(JSON.stringify(this._getFeatureByIndexOrProperties(s,a)));if(!(!d||!(d!=null&&d.positions)))if(d.type=="Point"||d.type=="MultiPoint")Jt(e,i,this.id,await this._calculateFeatureHeight(d.type=="MultiPoint"?d.positions.flat():d.positions,i.heightReference,e),1e3,c);else{const u=d.type=="Polygon"||d.type=="MultiPolygon"||d.type=="MultiLineString";let p=[];u?p=d.positions.flat(d.type=="MultiPolygon"?2:1).map(y=>this._calculateFeatureHeight(y,i.fillGround?"CLAMP_TO_GROUND":"NONE",e)):p=d.positions.map(y=>this._calculateFeatureHeight(y,i.strokeGround?"CLAMP_TO_GROUND":"NONE",e));const{minPos:f,maxPos:g,center:m}=w.getMinMaxCorner(p);Jt(e,i,this.id,m,w.getDistancesFromPositions([f,g],"NONE")[0],c)}};this.d(i.flyToFeatureEvent.don((s,a,c)=>r(s,a,c))),this.d(i.flyToFeatureIndexEvent.don((s,a)=>r(s,void 0,a)))}}_getFeatureByIndexOrProperties(i,e){var s,a,c,d,u,p,f,g;const{sceneObject:n}=this,o=n.features;if(!o)return;const r=Reflect.get(o,"features")||Reflect.get(o,"geometries");if(r){if(e){let m=r.find(y=>(y==null?void 0:y.properties[i])==e);return{type:m!=null&&m.coordinates?m.type:(s=m==null?void 0:m.geometry)==null?void 0:s.type,positions:(m==null?void 0:m.coordinates)||((a=m==null?void 0:m.geometry)==null?void 0:a.coordinates)}}else if(typeof i=="number")return{type:(c=r[i])!=null&&c.coordinates?r[i].type:(u=(d=r[i])==null?void 0:d.geometry)==null?void 0:u.type,positions:((p=r[i])==null?void 0:p.coordinates)||((g=(f=r[i])==null?void 0:f.geometry)==null?void 0:g.coordinates)}}}async _calculateFeatureHeight(i,e,n){const o=[...i];return e=="NONE"?o[2]=o[2]??0:e=="CLAMP_TO_GROUND"||!o[2]?o[2]=await n.getTerrainHeight(o)??0:o[2]+=await n.getTerrainHeight(o)??0,o}};v(Da,"type",Da.register("ESCesiumViewer",w.ESGeoJson.type,Da));let Ju=Da;const ba=class ba extends vt{constructor(e,n){super(e,n);v(this,"_czmGeoESRectangle");v(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new Ie(n,e.id)),this._czmGeoESRectangle=this.disposeVar(new Ci(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoESRectangle,s=this._geoPolyline;s.arcType="RHUMB",this.dispose(l.track([s,"color"],[e,"strokeColor"])),this.dispose(l.track([s,"width"],[e,"strokeWidth"])),this.dispose(l.track([s,"ground"],[e,"strokeGround"])),this.dispose(l.track([r,"ground"],[e,"fillGround"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"]));{const a=()=>{s.show=e.show&&e.stroked,r.show=e.show&&e.filled};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material=void 0};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{const c=e.points;if(c&&c.length>=2){const{minPos:d,maxPos:u}=w.getMinMaxCorner(c);r.rectangle=[d[0],d[1],u[0],u[1]],r.height=c[0][2],r.extrudedHeight=c[0][2];const p=c.map(y=>(c&&(y[2]=c[0][2]),y)),f=p[0],g=p[1],m=[f,[f[0],g[1],f[2]],g,[g[0],f[1],g[2]]];s.positions=[...m,f]}else r.rectangle=void 0,s.positions=void 0,r.height=0,r.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}}get czmGeoESRectangle(){return this._czmGeoESRectangle}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmGeoESRectangle:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}};v(ba,"type",ba.register("ESCesiumViewer",w.ESGeoRectangle.type,ba));let Bu=ba;class Os extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_geoPolygon");this._geoPolygon=this.disposeVar(new _n(e,n));const{geoPolygon:o}=this;this.dispose(l.bind([o,"allowPicking"],[this,"allowPicking"])),this.dispose(this.flyToEvent.disposableOn(s=>{o.flyTo(s)})),this.dispose(l.bind([o,"show"],[this,"show"])),this.dispose(l.bind([o,"fill"],[this,"filled"])),this.dispose(l.bind([o,"strokeGround"],[this,"strokeGround"])),this.dispose(l.bind([o,"ground"],[this,"ground"])),this.dispose(l.bind([o,"outline"],[this,"outline"])),this.dispose(l.bind([o,"outlineColor"],[this,"outlineColor"])),this.dispose(l.bind([o,"outlineWidth"],[this,"outlineWidth"])),this.dispose(l.bind([o,"color"],[this,"color"])),this.dispose(l.bind([o,"depth"],[this,"depth"]));const r=()=>{if(this.positions&&this.positions.length>=2){const s=wd([...this.positions,this.positions[0]]);o.positions=s}else o.positions=void 0};r(),this.dispose(this.positionsChanged.disposableOn(r))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygon(){return this._geoPolygon}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,strokeGround:!1,ground:!1,outline:!1,filled:!0,outlineColor:l.reactArray([1,1,1,1]),outlineWidth:1,color:l.reactArrayWithUndefined([1,1,1,.5]),positions:l.reactPositions(void 0),depth:0})})(Os||(Os={})),l.extendClassProps(Os.prototype,Os.createDefaultProps);const Ra=class Ra extends vt{constructor(e,n){super(e,n);v(this,"_geoSmoothPolygon");if(this._geoSmoothPolygon=this.disposeVar(new Os(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._geoSmoothPolygon;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"outline"],[e,"stroked"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"])),this.dispose(l.track([r,"outlineWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"filled"],[e,"filled"])),this.dispose(l.track([r,"color"],[e,"fillColor"])),this.dispose(l.track([r,"ground"],[e,"ground"]));{const s=()=>{r.ground=e.ground||e.fillGround};s();const a=this.dv(l.createNextAnimateFrameEvent(e.groundChanged,e.fillGroundChanged));this.d(a.don(s))}{const s=()=>{r.color=e.filled?e.fillColor:Ls.defaults.fillStyle.color};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(s))}this.dispose(l.track([r,"depth"],[e,"depth"]))}get geoSmoothPolygon(){return this._geoSmoothPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoSmoothPolygon:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoSmoothPolygon:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ra,"type",Ra.register("ESCesiumViewer",Ls.type,Ra));let ju=Ra;const xa=class xa extends Ce{constructor(e,n){super(e,n);v(this,"_czmModel");const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}this._czmModel=this.dv(new at(n,e.id));const r=this._czmModel;this.d(r.readyEvent.don(a=>{r.gltf.animations&&(r.activeAnimationsJson=r.gltf.animations.map((c,d)=>({index:d,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}))),e.czmModelReadyEvent.emit(a)})),this.ad(new rc(o,this._czmModel)),this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([r,"color"],[e,"czmColor"])),this.d(l.track([r,"nativeMaximumScale"],[e,"czmMaximumScale"])),this.d(l.track([r,"nativeMinimumPixelSize"],[e,"czmMinimumPixelSize"])),this.d(l.bind([r,"position"],[e,"position"])),this.d(l.track([r,"nativeScale"],[e,"czmNativeScale"])),this.d(l.track([r,"scale"],[e,"scale"])),this.ad(l.track([r,"imageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(l.track([r,"environmentMapManager"],[e,"czmEnvironmentMapManager"]));{const a=c=>{e.czmEnvironmentMapManager=e.czmEnvironmentMapManager?{...e.czmEnvironmentMapManager,atmosphereScatteringIntensity:c}:{atmosphereScatteringIntensity:c}};a(e.czmAtmosphereScatteringIntensity),this.ad(e.czmAtmosphereScatteringIntensityChanged.don(c=>a(c)))}{const a=()=>{var c,d;(c=e.czmEnvironmentMapManager)!=null&&c.atmosphereScatteringIntensity&&(e.czmAtmosphereScatteringIntensity=(d=e.czmEnvironmentMapManager)==null?void 0:d.atmosphereScatteringIntensity)};a(),this.ad(e.czmEnvironmentMapManagerChanged.don(a))}{const a=()=>{const c=[...e.rotation??[0,0,0]];c[0]+=e.instances?0:90,r.rotation=c};a(),this.d(e.rotationChanged.don(a));{const c=()=>{if(a(),!e.instances){r.instances=e.instances;return}r.instances=e.instances.map(d=>{const u=JSON.parse(JSON.stringify(d));return!u.rotation&&(u.rotation=[0,0,0]),u.rotation[0]+=90,u})};c(),this.ad(e.instancesChanged.don(c))}}this.ad(e.setMaterialEvent.don(a=>{r.setMaterial(a)}));{const a=()=>{const c=[...r.rotation];c[0]-=e.instances?0:90,e.rotation=c};a(),this.d(r.rotationChanged.don(a))}{const a=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),c=()=>{e.allowPicking&&!e.editing?r.allowPicking=!0:r.allowPicking=!1};c(),this.d(a.don(c))}const s=()=>{r.url=w.ESSceneObject.context.getStrFromEnv(sc(typeof e.url=="string"?e.url:e.url.url))};s(),this.d(e.urlChanged.don(s)),this.d(e.setNodePositionEvent.don((a,c)=>{r.setNodeTranslation(a,c)})),this.d(e.setNodeRotationEvent.don((a,c)=>{r.setNodeRotation(a,c)})),this.d(e.setNodeScaleEvent.don((a,c)=>{r.setNodeScale(a,c)})),this.d(e.printDebugInfoEvent.don(()=>{r.printDebugInfo()}))}get model(){return this._czmModel}flyTo(e,n){const{sceneObject:o,czmViewer:r,model:s}=this;return r.actived?o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):(s&&It(r,o,n,e,s,!0),!!s):!1}};v(xa,"type",xa.register("ESCesiumViewer",w.ESGltfModel.type,xa));let ep=xa;function g0(t,i){const e=t[0]-i[0],n=t[1]-i[1],o=t[2]-i[2];return Math.sqrt(e*e+n*n+o*o)}class Ns extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_distance",this.disposeVar(l.react(0)));v(this,"_surfaceDistance",this.disposeVar(l.react(0)));v(this,"_height",this.disposeVar(l.react(0)));v(this,"_middlePosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));v(this,"_heightPosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));const o=()=>{if(this.positions)if(this.positions.length>=2)if(this._middlePosition.value=[this.positions[0][0],this.positions[0][1],this.positions[1][2]],this._heightPosition.value=[this.positions[0][0],this.positions[0][1],.5*(this.positions[1][2]+this.positions[0][2])],this.arcType===void 0||this.arcType==="GEODESIC"){const s=this._surfaceDistance.value=w.geoDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="RHUMB"){const s=this._surfaceDistance.value=w.geoRhumbDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="NONE"){const s=w.lbhToXyz(this.positions[0]),a=w.lbhToXyz(this.positions[1]);this._distance.value=g0(s,a),this._surfaceDistance.value=g0(w.lbhToXyz(this._middlePosition.value),a),this._height.value=this.positions[1][2]-this.positions[0][2]}else console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`);else this._heightPosition.value=void 0,this._distance.value=0,this._surfaceDistance.value=0,this._height.value=0};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged));this.dispose(r.disposableOn(o));{const s=this.disposeVar(new Ie(e,n));s.ground=!1,s.loop=!1,this.dispose(l.track([s,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([s,"arcType"],[this,"arcType"])),this.dispose(l.bind([s,"color"],[this,"color"])),this.dispose(l.bind([s,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([s,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([s,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([s,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([s,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([s,"show"],[this,"show"])),this.dispose(l.bind([s,"width"],[this,"width"])),this.dispose(l.bind([s,"depthTest"],[this,"depthTest"]));{s.loop=!0;const c=()=>{if(this.positions&&this.positions.length===2){const[d,u]=this.positions;s.positions=[d,u,[d[0],d[1],u[2]]]}else s.positions=void 0};c(),this.dispose(this.positionsChanged.disposableOn(c))}this.dispose(this.flyToEvent.disposableOn(c=>{e.actived&&s.flyTo(c)}));const a=this.disposeVar(new $e(e,n));this.dispose(l.track([a,"shadowDom"],[this,"shadowDom"])),this.dispose(l.track([a,"cssAllInitial"],[this,"cssAllInitial"])),this.dispose(l.track([a,"show"],[this,"show"]));{const c=()=>{a.position=this.heightPosition};c(),this.dispose(this.heightPositionChanged.disposableOn(c))}{const c=()=>{a.innerHTML=oo(`高度: ${ac(this.height)}`,0)};c(),this.dispose(this.heightChanged.disposableOn(c))}this.ad(a.pickedEvent.don(c=>{Wi(c)===0&&this.pickedEvent.emit(c)}))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}get surfaceDistance(){return this._surfaceDistance.value}get surfaceDistanceChanged(){return this._surfaceDistance.changed}get height(){return this._height.value}get heightChanged(){return this._height.changed}get middlePosition(){return this._middlePosition.value}get middlePositionChanged(){return this._middlePosition.changed}get heightPosition(){return this._heightPosition.value}get heightPositionChanged(){return this._heightPosition.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArrayWithUndefined([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1})})(Ns||(Ns={})),l.extendClassProps(Ns.prototype,Ns.createDefaultProps);const Fa=class Fa extends vt{constructor(e,n){super(e,n);v(this,"_geoHeightMeasurement");if(this._geoHeightMeasurement=this.disposeVar(new Ns(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmHeightMeasurement:r}=this;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"]));{const s=()=>{if(e.stroked)r.width=e.strokeWidth;else{r.width=0;return}r.width=e.strokeWidth,r.color=e.strokeColor;const d=e.strokeMaterial??"normal";d==="hasDash"?(r.hasDash=!0,r.hasArrow=!1):d==="hasArrow"?(r.hasDash=!1,r.hasArrow=!0):(r.hasDash=!1,r.hasArrow=!1);const u=e.strokeStyle;if(u.material==="hasDash"&&u.materialParams)try{const p=u.materialParams;Reflect.has(p,"gapColor")&&(r.gapColor=p.gapColor??[0,0,0,0]),Reflect.has(p,"dashLength")&&(r.dashLength=p.dashLength),Reflect.has(p,"dashPattern")&&(r.dashPattern=p.dashPattern)}catch(p){console.error(p)}else r.gapColor=[0,0,0,0],r.dashLength=0,r.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(r.pickedEvent.disposableOn(s=>{Wi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmHeightMeasurement(){return this._geoHeightMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmHeightMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmHeightMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Fa,"type",Fa.register("ESCesiumViewer",w.ESHeightMeasurement.type,Fa));let tp=Fa;const ip={czmAnimationsStand:[{index:0,name:"Stand",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsWalk:[{index:2,name:"Walk",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsRun:[{index:1,name:"Run",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}]},ka=class ka extends Ce{constructor(e,n){super(e,n);v(this,"_czmModelPrimitive");const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}this._czmModelPrimitive=this.disposeVar(new at(n,this.sceneObject.id));const r=this._czmModelPrimitive;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(et([r,"rotation"],[e,"rotation"])),this.dispose(l.bind([r,"scale"],[e,"scale"]));{const y=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),P=()=>{e.allowPicking&&!e.editing?r.allowPicking=!0:r.allowPicking=!1};P(),this.d(y.don(P))}const s=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/worker.glb"),a=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/police.glb"),c=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/pedestrian.glb"),d=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/Stranger.glb"),u=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsMan.glb"),p=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsWoman.glb"),f=()=>{switch(e.mode){case"worker":r.url=s;break;case"police":r.url=a;break;case"pedestrian":r.url=c;break;case"stranger":r.url=d;break;case"suitMan":r.url=u;break;case"suitWoman":r.url=p;break;default:r.url=s;break}};this.dispose(e.modeChanged.disposableOn(()=>{f()})),f();const g=()=>{const y=e.animation??w.ESHuman.defaults.animation;if(!e.show){r.activeAnimationsJson=void 0;return}y==="walking"?r.activeAnimationsJson=ip.czmAnimationsWalk:y==="standing"?r.activeAnimationsJson=ip.czmAnimationsStand:y==="running"&&(r.activeAnimationsJson=ip.czmAnimationsRun)};g();const m=this.ad(l.createNextAnimateFrameEvent(e.showChanged,e.animationChanged));this.dispose(m.disposableOn(()=>g())),this.ad(new rc(o,r))}get czmModelPrimitive(){return this._czmModelPrimitive}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmModelPrimitive:s}=this;return!r.actived||!r.viewer?!1:o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):(s&&It(r,o,n,e,s,!0),!!s)}};v(ka,"type",ka.register("ESCesiumViewer",w.ESHuman.type,ka));let np=ka;class m0 extends w.Destroyable{constructor(e,n){super();v(this,"_czmGeoCanvasImagePoi");v(this,"flyTo",(e,n)=>{if(this.czmGeoCanvasImagePoi.position){se(this.czmViewer.viewer,this.czmGeoCanvasImagePoi.position,1e3,Kt,e);return}this.czmGeoCanvasImagePoi.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoCanvasImagePoi=this.disposeVar(new vi(n));const o=this._czmGeoCanvasImagePoi;o.pickOnClick=!0,this.d(o.pickedEvent.don(r=>{(e.allowPicking??!1)&&e.pickedEvent.emit(r)}));{const r=u=>{let p=u;return u.includes("inner://")&&(p="${earthsdk3-assets-script-dir}/assets/img/points/"+u.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(sc(p))},s=()=>{const u=r(typeof e.url=="string"?e.url:e.url.url);if(o.imageUri=u,e.sizeByContent){const f=new Image;f.src=u,f.onload=()=>{o.size=[f.width,f.height]}}else{const f=e.size;o.size=[...f]}},a=this.disposeVar(l.createNextAnimateFrameEvent(e.urlChanged,e.sizeByContentChanged,e.sizeChanged));this.dispose(a.disposableOn(()=>s())),s(),this.d(l.track([o,"zOrder"],[e,"zOrder"])),this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.ad(l.bind([o,"isHoverZoom"],[e,"isHoverZoom"]));{const u=()=>{o.scale=[e.scale[1],e.scale[2]]};u(),this.dispose(e.scaleChanged.don(u))}const c=()=>{const u=e.anchor,p=e.offset;u?o.originRatioAndOffset=[...u,-p[0],-p[1]]:o.originRatioAndOffset=[0,0,0,0]},d=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(d.disposableOn(()=>c())),c(),this.dispose(o.clickEvent.disposableOn(u=>{const{offsetX:p,offsetY:f}=u,m={type:u.button===0?"leftClick":u.button===2?"rightClick":void 0,add:{mousePos:[p,f]}};e.widgetEvent.emit(m)})),this.dispose(o.hoveredChanged.disposableOn(u=>{if(u===void 0)return;const p={type:u?"mouseEnter":"mouseLeave"};e.widgetEvent.emit(p)}))}}get czmGeoCanvasImagePoi(){return this._czmGeoCanvasImagePoi}}class v0 extends w.Destroyable{constructor(e,n,o){super();v(this,"_czmGeoImageModel");v(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});v(this,"_isPointEvent",!1);v(this,"flyTo",(e,n)=>{if(this.czmGeoImageModel.position)return Jt(this.czmViewer,this.sceneObject,n,this.sceneObject.position,Math.max(...this.czmGeoImageModel.size),e,!0);this.czmGeoImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoImageModel=this.disposeVar(new Hi(n,e.id));const r=this._czmGeoImageModel;this.ad(n.clickEvent.don(f=>{const g=f==null?void 0:f.pointerEvent;g&&(this._isPointEvent=!0,this._eventInfo={type:g.button==0?"leftClick":g.button==2?"rightClick":"leftClick",add:{mousePos:[g.offsetX,g.offsetY]}})})),this.d(e.pickedEvent.don(f=>{var g,m,y;f.screenPosition&&this._isPointEvent&&f.attachedInfo!="innerHoverEvent"&&((g=this._eventInfo.add)!=null&&g.mousePos)&&Math.abs(f.screenPosition[0]-((m=this._eventInfo.add)==null?void 0:m.mousePos[0]))<1&&Math.abs(f.screenPosition[1]-((y=this._eventInfo.add)==null?void 0:y.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),w.registerCreatedEventUpdate(this,e,()=>{const f=n.getEngineObject(e);this.ad(f.lastHoverResultChanged.don((g,m)=>{(g==null?void 0:g.sceneObject)==(m==null?void 0:m.sceneObject)||(g==null?void 0:g.sceneObject)!=e&&(m==null?void 0:m.sceneObject)!=e||(g!=null&&g.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:g==null?void 0:g.screenPosition}},g.sceneObject.widgetEvent.emit(this._eventInfo),e.isHoverZoom&&g.sceneObject.id==e.id&&(r.scale=[r.scale[0]*1.5,r.scale[1]*1.5])),m!=null&&m.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:g==null?void 0:g.screenPosition}},m.sceneObject.widgetEvent.emit(this._eventInfo),e.isHoverZoom&&m.sceneObject.id==e.id&&(r.scale=[r.scale[0]/1.5,r.scale[1]/1.5])))}))});const s=e.sizeByContent,c=(f=>{let g=f;return f.includes("inner://")&&(g="${earthsdk3-assets-script-dir}/assets/img/points/"+f.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(sc(g))})(typeof o.sceneObject.url=="string"?o.sceneObject.url:o.sceneObject.url.url),d=new Image;d.src=c,d.onload=()=>{if(s)r.size=[d.width/100,d.height/100];else{const f=e.size;r.size=[f[0]/100,f[1]/100]}},r.uri=c,this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),r.pixelSize=void 0,r.useAxis="XZ";{const f=()=>{r.scale=[e.scale[1],e.scale[2]]};f(),this.d(e.scaleChanged.don(f))}{const f=()=>{e.rotationType===0&&(r.rotationMode="WithProp",this.d(et([r,"rotation"],[e,"rotation"]))),e.rotationType===1&&(r.rotationMode="WithCamera"),e.rotationType===2&&(r.rotationMode="WithCameraOnlyZ")};f(),this.dispose(e.rotationTypeChanged.disposableOn(f))}const u=()=>{const f=e.anchor,g=e.offset;f?r.originRatioAndOffset=[...f,-g[0]/100,-g[1]/100]:r.originRatioAndOffset=[0,0,0,0]},p=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(p.disposableOn(()=>u())),u()}get czmGeoImageModel(){return this._czmGeoImageModel}}const za=class za extends xs{constructor(e,n){super(e,n);v(this,"_resetting");if(!n.viewer){console.warn("viewer is undefined!");return}const r=this.disposeVar(l.createNextAnimateFrameEvent(this.sceneObject.urlChanged,this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged));this._resetting=this.disposeVar(new l.ObjResettingWithEvent(r,()=>this.sceneObject.screenRender?new m0(this.sceneObject,this.czmViewer):new v0(this.sceneObject,this.czmViewer,this)))}get resetting(){return this._resetting}flyTo(e,n){const{sceneObject:o,czmViewer:r,resetting:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s&&s.obj&&s.obj.flyTo(e,n),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(za,"type",za.register("ESCesiumViewer",w.ESImageLabel.type,za));let op=za;function MI(t){switch(t){case"wms":return"WebMapServiceImageryProvider";case"tms":return"TileMapServiceImageryProvider";case"wmts":return"WebMapTileServiceImageryProvider";case"xyz":return"UrlTemplateImageryProvider";case"ion":return"IonImageryProvider"}}const La=class La extends Qt{constructor(e,n){super(e,n);v(this,"_czmImagery");if(this._czmImagery=this.dv(new xn(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmImagery;{const s=this.ad(l.reactJson(""));{const d=()=>{if(typeof e.url=="string")s.value=w.ESSceneObject.context.getStrFromEnv(e.url);else{const u=e.url;u.url=w.ESSceneObject.context.getStrFromEnv(u.url),s.value=u}};d(),this.ad(e.urlChanged.don(d))}const a=()=>{var m;if(!s.value)return;const d=(((m=e.options)==null?void 0:m.type)??"auto").toLowerCase(),u=e.options??{};let p={type:"UrlTemplateImageryProvider",url:s.value,rectangle:e.rectangle,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,...u},f=s.value,g=typeof f=="string"?f:f.url;if(d==="auto"){const y=g.toLowerCase();if(y.startsWith("ion://")){const S=+y.substring(6);p={...u,assetId:S,type:"IonImageryProvider"}}else if(y.includes("{x}")||y.includes("{y}")||y.includes("{z}"))p.type="UrlTemplateImageryProvider";else if(y.includes("wmts"))p.type="WebMapTileServiceImageryProvider";else if(y.includes("wms"))p.type="WebMapServiceImageryProvider";else{if(g.includes("/tilemapresource.xml")){const P=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=P:f.url=P,p.url=f}p.type="TileMapServiceImageryProvider"}}else{if(d==="tms"&&g.includes("/tilemapresource.xml")){const y=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=y:f.url=y,p.url=f}else if(d==="ion"&&g.startsWith("ion://")){const P=+g.substring(6);p={...u,assetId:P,type:"IonImageryProvider"}}p.type=MI(d)}console.log("imageryProvider",p),r.imageryProvider=p};a();const c=this.dv(l.createNextAnimateFrameEvent(s.changed,e.maximumLevelChanged,e.minimumLevelChanged,e.optionsChanged,e.rectangleChanged));this.d(c.don(a))}this.d(l.track([r,"show"],[e,"show"])),this.d(l.bind([r,"alpha"],[e,"opacity"])),this.d(l.bind([r,"alpha"],[e,"czmAlpha"])),this.d(l.track([r,"splitDirection"],[e,"splitDirection"])),this.d(l.track([r,"brightness"],[e,"czmBrightness"])),this.d(l.track([r,"contrast"],[e,"czmContrast"])),this.d(l.track([r,"hue"],[e,"czmHue"])),this.d(l.track([r,"saturation"],[e,"czmSaturation"])),this.d(l.track([r,"gamma"],[e,"czmGamma"])),this.d(l.track([r,"rectangle"],[e,"rectangle"])),this.d(l.track([r,"zIndex"],[e,"zIndex"]))}get czmImagery(){return this._czmImagery}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(La,"type",La.register("ESCesiumViewer",w.ESImageryLayer.type,La));let rp=La;class II extends l.Destroyable{constructor(e,n,o,r){super();v(this,"_show");v(this,"_czmESCustomPrimitive");v(this,"_czmTexture");this._sceneObject=e,this._show=this.disposeVar(l.react(this._sceneObject.show)),this._czmESCustomPrimitive=this.dv(new ke(n,this._sceneObject.id)),this._czmTexture=this.dv(new Le(n));const s=e,a=this._czmESCustomPrimitive,c=this._czmTexture;this.dispose(l.track([a,"show"],[this,"show"])),this.dispose(l.track([a,"show"],[s,"show"])),this.dispose(l.track([a,"allowPicking"],[s,"allowPicking"])),this.dispose(l.track([a,"rotation"],[s,"rotation"])),this.dispose(l.track([a,"position"],[s,"position"])),this.dispose(l.track([a,"scale"],[s,"scale"])),this.ad(s.allowPickingChanged.don(()=>{a.allowPicking=s.allowPicking,a.pass=s.allowPicking?"TRANSLUCENT":"OVERLAY"}));{const d=()=>{const p=s.size/2,f=r[0].map(L=>L*p),g=r[1].map(L=>L*p),m=r[2].map(L=>L*p),y=r[3].map(L=>L*p),P=[...f,...g,...m,...y];let S=[0,3,2,0,2,1];(o=="north"||o=="west"||o=="bottom")&&(S=S.reverse());const C=[0,0],E=[1,0],T=[1,1],I=[0,1];let b=[];o=="east"||o=="south"?b=[...E,...C,...I,...T]:o=="west"?b=[...E,...T,...I,...C]:o=="top"?b=[...I,...T,...E,...C]:b=[...C,...E,...T,...I],a.indexTypedArray=new Uint16Array(S),a.attributes={position:{typedArray:new Float32Array(P),componentsPerAttribute:3},st:{typedArray:new Float32Array(b),componentsPerAttribute:2}},c.uri=w.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/${o}.${s.mode!="blueSky"?"png":"jpg"}`);const x=n.getCameraInfo();if(x!=null){const U=w.getDistancesFromPositions([s.position,x.position],"NONE")[0]/(s.size/2*s.autoOpacityFactor);this.changeOpacity(s.autoFollow?1:U)}const z=a.computeLocalAxisedBoundingBoxFromAttribute("position");if(!z)return;const{min:W,max:N}=z;a.setLocalAxisedBoundingBox(W,N)};d();const u=this.disposeVar(l.createNextAnimateFrameEvent(s.sizeChanged,s.modeChanged));this.dispose(u.disposableOn(d))}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}get czmESCustomPrimitive(){return this._czmESCustomPrimitive}get czmTexture(){return this._czmTexture}changeOpacity(e){this._czmESCustomPrimitive.uniformMap={u_image:{type:"texture",id:this._czmTexture.id},u_color:[1,1,1,1-e>=0?1-e:0]}}}class DI extends l.Destroyable{constructor(i,e,n){if(super(),!e.viewer)return;let o=!0,r;this.dispose(e.viewer.scene.preUpdate.addEventListener(()=>{s()}));function s(){var c;if(!((c=e.viewer)!=null&&c.camera))return;const a=e.getCameraInfo();if(a!=null&&(r==null||r.position[0]!=a.position[0]||r.position[1]!=a.position[1]||r.position[2]!=a.position[2]||r.rotation[0]!=a.rotation[0]||r.rotation[1]!=a.rotation[1]||r.rotation[2]!=a.rotation[2])){r=a;const u=w.getDistancesFromPositions([i.position,r.position],"NONE")[0]/(i.size/2*i.autoOpacityFactor);i.autoFollow?(i.position=r.position,o&&(o=!1,n.forEach(p=>{p.changeOpacity(1)}))):n.forEach(p=>{p.changeOpacity(u)})}}s()}}const Ke=class Ke extends Ce{constructor(e,n){super(e,n);v(this,"_czmSkyBoxComponents",[]);if(!n.viewer){console.warn("viewer is undefined!");return}!Ke._defaultLocalBox&&Ke._firstLoad&&(Ke._firstLoad=!1,Ke._defaultLocalBox=n.xbsjLocalBoxSources),Ke._eSLocalSkyBoxArr.push(e),this.d(()=>{Ke._eSLocalSkyBoxArr.includes(e)&&Ke._eSLocalSkyBoxArr.splice(Ke._eSLocalSkyBoxArr.indexOf(e),1),this.ChangeAutoFollow()});const r={bottom:[[-1,-1,-1],[1,-1,-1],[1,1,-1],[-1,1,-1]],top:[[-1,-1,1],[1,-1,1],[1,1,1],[-1,1,1]],south:[[-1,-1,-1],[1,-1,-1],[1,-1,1],[-1,-1,1]],north:[[-1,1,-1],[1,1,-1],[1,1,1],[-1,1,1]],east:[[1,-1,-1],[1,1,-1],[1,1,1],[1,-1,1]],west:[[-1,1,-1],[-1,1,1],[-1,-1,1],[-1,-1,-1]]};for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)){const a=r[s];this._czmSkyBoxComponents.push(this.dv(new II(e,n,s,a)))}{const s=this.disposeVar(l.createNextAnimateFrameEvent(e.autoFollowChanged,e.autoOpacityFactorChanged));this.disposeVar(new l.ObjResettingWithEvent(s,()=>(this.ChangeAutoFollow(),new DI(e,n,this._czmSkyBoxComponents))))}{const s=()=>{this.ChangeAutoFollow()},a=this.disposeVar(l.createNextAnimateFrameEvent(e.sizeChanged,e.modeChanged,e.showChanged));this.dispose(a.disposableOn(s))}}ChangeAutoFollow(){const{czmViewer:e}=this;for(let n=Ke._eSLocalSkyBoxArr.length-1;n>=0;n--){const o=Ke._eSLocalSkyBoxArr[n];if(o.autoFollow&&o.show){e.xbsjLocalBoxSources={positiveX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/east.${o.mode!="blueSky"?"png":"jpg"}`,negativeX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/west.${o.mode!="blueSky"?"png":"jpg"}`,positiveY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/bottom.${o.mode!="blueSky"?"png":"jpg"}`,negativeY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/top.${o.mode!="blueSky"?"png":"jpg"}`,positiveZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/north.${o.mode!="blueSky"?"png":"jpg"}`,negativeZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/south.${o.mode!="blueSky"?"png":"jpg"}`};break}n==0&&(e.xbsjLocalBoxSources=Ke._defaultLocalBox)}Ke._eSLocalSkyBoxArr.length==0&&(e.xbsjLocalBoxSources=Ke._defaultLocalBox)}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);{const s=o.size??w.ESLocalSkyBox.defaults.size;return o.position?(Jt(r,o,n,o.position,s,e,!0),!0):!1}}};v(Ke,"type",Ke.register("ESCesiumViewer",w.ESLocalSkyBox.type,Ke)),v(Ke,"_defaultLocalBox"),v(Ke,"_firstLoad",!0),v(Ke,"_eSLocalSkyBoxArr",[]);let sp=Ke;const oi=class oi extends Ce{constructor(e,n){super(e,n);v(this,"_geoCustomDivPoi");v(this,"_textFunc",this.disposeVar(l.react(void 0)));if(this._geoCustomDivPoi=this.disposeVar(new $e(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this.geoCustomDivPoi;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"]));{this.dispose(r.pickedEvent.disposableOn(s=>{(e.allowPicking??w.ESLocationMeasurement.defaults.allowPicking)&&e.pickedEvent.emit(s)})),this.dispose(r.innerHtmlMounted.disposableOn(s=>{const a=s.firstElementChild;a&&(a.style.pointerEvents="auto",a.style.cursor="default",a.onclick=c=>r.pickFromDiv(a,{type:"viewerPicking",pointerEvent:c}))}));{const s=()=>{if(!e.position)return;const c=(this.textFunc??oi.defaultTextFunc_度格式)(e.position);r.innerHTML=oo(c)};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.positionChanged,this.textFuncChanged));this.dispose(a.disposableOn(s))}{const s=()=>{n.lonLatFormat??(n.lonLatFormat="DECIMAL_DEGREE"),this.textFunc=n.lonLatFormat=="DECIMAL_DEGREE"?oi.defaultTextFunc_度格式:n.lonLatFormat=="DEGREES_DECIMAL_MINUTES"?oi.defaultTextFunc_度分格式:oi.defaultTextFunc_度分秒格式};s(),this.d(n.lonLatFormatChanged.don(()=>{s()}))}}}get geoCustomDivPoi(){return this._geoCustomDivPoi}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoCustomDivPoi:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoCustomDivPoi:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(oi,"type",oi.register("ESCesiumViewer",w.ESLocationMeasurement.type,oi)),v(oi,"defaultTextFunc_度格式",e=>{if(!e)return"";const[n=0,o=0,r=0]=e;return`经度: ${n.toFixed(5)}°
|
|
1253
|
+
`,Ye=class Ye extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_dataSource",this.disposeVar(l.react(void 0)));v(this,"_data");v(this,"_defaultHeight",{});v(this,"_defaultBoundingSphere",new h.BoundingSphere);const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}let r=()=>{this.dataSource&&o.dataSources.remove(this.dataSource,!0),this.dataSource=void 0,this._data=void 0};this.dispose(()=>{r()});{const s=this.dv(l.createProcessingFromAsyncFunc(async d=>{this.dataSource&&r(),this.url&&(typeof this.url=="object"?this._data=this.url:w.isJSON(this.url)?this._data=JSON.parse(this.url):await fetch(w.ESSceneObject.context.getStrFromEnv(this.url)).then(u=>u.json()).then(u=>{this._data=u}).catch(u=>{console.warn("ESGeoJson数据加载失败",u)}),this.dataSource=await h.GeoJsonDataSource.load(this._data),o.dataSources.add(this.dataSource).then(u=>{var f,g;const p=[];for(const m of u.entities.values)if(h.Entity.prototype&&(m.ESSceneObjectID=n),this._isEntityShow(m,e),m.polygon&&p.push(...(f=m.polygon.hierarchy)==null?void 0:f.getValue(h.JulianDate.now()).positions),m.polyline&&p.push(...(g=m.polyline.positions)==null?void 0:g.getValue(h.JulianDate.now())),m.position){const y=m.position.getValue(h.JulianDate.now());y&&p.push(y)}this._defaultBoundingSphere=h.BoundingSphere.fromPoints(p)}))})),a=()=>{s.isRunning&&s.cancel(),s.restart()};a();const c=this.dv(l.createNextAnimateFrameEvent(this.loadFunChanged,this.urlChanged));this.dispose(c.don(a))}{const s=()=>{var c,d;if(this.dataSource)if(this.dataSource.show=this.show,this.loadFun)try{this.loadFun(this.dataSource)}catch(u){console.error(u)}else{const u=this.dataSource.entities.values;for(let p=0;p<u.length;p++){const f=u[p];if(f.polygon){this._defaultHeight[f.id]||(this._defaultHeight[f.id]=(c=f.polygon.height)==null?void 0:c.getValue(h.JulianDate.now())),f.polygon.height=this.fillGround?void 0:new h.ConstantProperty(this._defaultHeight[f.id]),f.polygon.perPositionHeight=new h.ConstantProperty(!this.fillGround),f.polygon.heightReference=new h.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?h.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.RELATIVE_TO_GROUND),f.polygon.show=new h.ConstantProperty(this.filled??Ye.defaults.filled),f.polygon.material=new h.ColorMaterialProperty(new h.Color(...this.fillColor??Ye.defaults.fillColor)),f.polygon.outline=new h.ConstantProperty(!1),f.polyline=new h.PolylineGraphics;const g=JSON.parse(JSON.stringify((d=f.polygon.hierarchy)==null?void 0:d.getValue(h.JulianDate.now()).positions));h.Cartesian3.equals(g[0],g[g.length-1])||g.push(g[0]),f.polyline.positions=g}if(f.polyline&&(f.polyline.show=new h.ConstantProperty(this.stroked??Ye.defaults.stroked),f.polyline.width=new h.ConstantProperty(this.strokeWidth??Ye.defaults.strokeWidth),f.polyline.material=new h.ColorMaterialProperty(new h.Color(...this.strokeColor??Ye.defaults.strokeColor)),f.polyline.clampToGround=new h.ConstantProperty(this.strokeGround)),f.billboard){f.billboard.show=new h.ConstantProperty(this.imageShow??Ye.defaults.imageShow),f.billboard.width=new h.ConstantProperty(this.imageSize?this.imageSize[0]:Ye.defaults.imageSize[0]),f.billboard.height=new h.ConstantProperty(this.imageSize?this.imageSize[1]:Ye.defaults.imageSize[1]);const g=this.imageUrl?typeof this.imageUrl=="string"?this.imageUrl:this.imageUrl.url:Ye.defaults.imageUrl;f.billboard.image=new h.ConstantProperty(w.ESSceneObject.context.getStrFromEnv(g)),f.billboard.horizontalOrigin=new h.ConstantProperty(h.HorizontalOrigin.LEFT),f.billboard.verticalOrigin=new h.ConstantProperty(h.VerticalOrigin.TOP),f.billboard.heightReference=new h.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?h.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.RELATIVE_TO_GROUND);const m=this.imageAnchor??Ye.defaults.imageAnchor,y=this.imageOffset??Ye.defaults.imageOffset;if(f.billboard.pixelOffset=new h.ConstantProperty(h.Cartesian2.fromArray([-m[0]*f.billboard.width.getValue(h.JulianDate.now())+y[0],-m[1]*f.billboard.height.getValue(h.JulianDate.now())+y[1]])),f.label=new h.LabelGraphics,!f.label)return;f.label.show=new h.ConstantProperty(this.textShow??Ye.defaults.textShow),f.label.heightReference=new h.ConstantProperty(this.heightReference.toUpperCase()=="NONE"?h.HeightReference.NONE:this.heightReference.toUpperCase()=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.RELATIVE_TO_GROUND),f.label.text=new h.ConstantProperty(this.textProperty&&this.textProperty!==""&&f.properties&&f.properties[this.textProperty]?f.properties[this.textProperty].getValue():this.textDefaultText??Ye.defaults.textDefaultText),f.label.fillColor=new h.ConstantProperty(new h.Color(...this.textColor??Ye.defaults.textColor)),f.label.showBackground=new h.ConstantProperty(this.textBackgroundColor!=null);const P=this.textFontSize&&this.textFontSize!=0?this.textFontSize:Ye.defaults.textFontSize,S=this.textOffset??Ye.defaults.textOffset;f.label.backgroundColor=new h.ConstantProperty(new h.Color(...this.textBackgroundColor??Ye.defaults.textBackgroundColor)),f.label.font=new h.ConstantProperty(`${this.textFontStyle} ${this.textFontWeight} ${P}px ${this.textFontFamily??Ye.defaults.textFontFamily}`),f.label.horizontalOrigin=new h.ConstantProperty(h.HorizontalOrigin.LEFT),f.label.verticalOrigin=new h.ConstantProperty(h.VerticalOrigin.TOP),f.label.eyeOffset=new h.ConstantProperty(h.Cartesian3.fromArray([0,0,-1]));const C=this.textAnchor??Ye.defaults.textAnchor;f.label.pixelOffset=new h.ConstantProperty(h.Cartesian2.fromArray([-C[0]*((this.textBackgroundColor?-14:0)+this._getTextPixelWidth(f.label.text.getValue(h.JulianDate.now()),f.label.font.getValue(h.JulianDate.now())))+S[0],-C[1]*((this.textBackgroundColor?10:0)+P)+S[1]]))}}}};s();const a=this.dv(l.createNextAnimateFrameEvent(this._dataSource.changed,this.showChanged,this.strokedChanged,this.strokeWidthChanged,this.strokeWidthTypeChanged,this.strokeColorChanged,this.strokeMaterialChanged,this.strokeMaterialParamsChanged,this.strokeGroundChanged,this.filledChanged,this.fillColorChanged,this.fillMaterialChanged,this.fillMaterialParamsChanged,this.fillGroundChanged,this.imageShowChanged,this.imageUrlChanged,this.imageSizeChanged,this.imageAnchorChanged,this.imageOffsetChanged,this.textShowChanged,this.textPropertyChanged,this.textDefaultTextChanged,this.textColorChanged,this.textBackgroundColorChanged,this.textFontFamilyChanged,this.textFontSizeChanged,this.textFontStyleChanged,this.textFontWeightChanged,this.textAnchorChanged,this.textOffsetChanged,this.heightReferenceChanged));this.dispose(a.don(s))}{const s=()=>{if(!this.dataSource)return;const c=this.dataSource.entities.values;for(let d=0;d<c.length;d++){const u=c[d];this._isEntityShow(u,e)}};s();const a=this.ad(l.createNextAnimateFrameEvent(this.minFeatureVisibleDistanceChanged,this.maxFeatureVisibleDistanceChanged,e.cameraChanged,this.showChanged));this.ad(a.don(s))}{const s=()=>{if(this.loadFuncStr)try{const a=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=a}catch(a){console.error(a),this.loadFun=void 0}else this.loadFun=void 0};s(),this.dispose(this.loadFuncStrChanged.disposableOn(s))}this.dispose(this.flyToEvent.disposableOn(s=>{e.actived&&this.dataSource&&(s!==void 0?o.flyTo(this.dataSource,{duration:s/1e3}).then(a=>{a||o.camera.flyToBoundingSphere(this._defaultBoundingSphere,{duration:s/1e3})}):o.flyTo(this.dataSource).then(a=>{a||o.camera.flyToBoundingSphere(this._defaultBoundingSphere)}))}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get dataSource(){return this._dataSource.value}set dataSource(e){this._dataSource.value=e}_getTextPixelWidth(e,n="16px sans-serif"){const r=document.createElement("canvas").getContext("2d");return r.font=n,r.measureText(e).width}_isEntityShow(e,n){var o;if(this.minFeatureVisibleDistance==0&&this.maxFeatureVisibleDistance==0){e.show=this.show;return}if((o=n.viewer)!=null&&o.camera&&this.show){let r;if(e.polygon&&e.polygon.hierarchy)r=w.getMinMaxCorner(e.polygon.hierarchy.getValue(h.JulianDate.now()).positions.map(c=>ce(c))).center;else if(e.polyline&&e.polyline.positions)r=w.getMinMaxCorner(e.polyline.positions.getValue(h.JulianDate.now()).map(c=>ce(c))).center;else if(e.position){const c=e.position.getValue(h.JulianDate.now());c&&(r=ce(c))}if(!r||isNaN(r[0]))return;const s=w.getDistancesFromPositions([r,Vt(n.viewer.camera)],"NONE")[0];let a=!1;this.minFeatureVisibleDistance<this.maxFeatureVisibleDistance?a=this.minFeatureVisibleDistance<s&&s<this.maxFeatureVisibleDistance:this.maxFeatureVisibleDistance==0?a=s>this.minFeatureVisibleDistance:this.minFeatureVisibleDistance==0&&(a=s<this.maxFeatureVisibleDistance),e.show=this.show&&a}}};v(Ye,"defaults",{show:!0,allowPicking:!0,url:f0,defaultLoadFuncStr:p0,defaultLoadFuncDocStr:TI,data:EI,dataMd:AI,stroked:!0,strokeWidth:1,strokeWidthType:"world",strokeColor:[.79,.91,.06,1],strokeMaterial:"",strokeMaterialParams:{},strokeGround:!1,filled:!0,fillColor:[.79,.91,.06,.2],fillMaterial:"",fillMaterialParams:{},fillGround:!1,imageShow:!0,imageUrl:"${earthsdk3-assets-script-dir}/assets/misc/location.png",imageSize:[64,64],imageAnchor:[.5,1],imageOffset:[0,0],textShow:!0,textProperty:"",textDefaultText:"默认标注",textColor:[1,1,1,1],textBackgroundColor:[.79,.91,.06,1],textFontFamily:"Arial",textFontSize:16,textFontWeight:"normal",textFontStyle:"normal",textAnchor:[.5,1],textOffset:[0,0],strokeWidthTypes:[["screen","screen"],["world","world"]],minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReferences:[["NONE","NONE"],["CLAMP_TO_GROUND","CLAMP_TO_GROUND"],["RELATIVE_TO_GROUND","RELATIVE_TO_GROUND"]]});let Eo=Ye;(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:void 0,loadFuncStr:void 0,url:void 0,stroked:void 0,strokeWidth:void 0,strokeWidthType:"world",strokeColor:l.reactArrayWithUndefined(void 0),strokeMaterial:void 0,strokeMaterialParams:l.reactJsonWithUndefined(void 0),strokeGround:void 0,filled:void 0,fillColor:l.reactArrayWithUndefined(void 0),fillMaterial:void 0,fillMaterialParams:l.reactJsonWithUndefined(void 0),fillGround:void 0,imageShow:void 0,imageUrl:void 0,imageSize:l.reactArrayWithUndefined(void 0),imageAnchor:l.reactArrayWithUndefined(void 0),imageOffset:l.reactArrayWithUndefined(void 0),textShow:void 0,textProperty:void 0,textDefaultText:void 0,textColor:l.reactArrayWithUndefined(void 0),textBackgroundColor:l.reactArrayWithUndefined(void 0),textFontFamily:void 0,textFontSize:void 0,textFontStyle:void 0,textFontWeight:void 0,textAnchor:l.reactArrayWithUndefined(void 0),textOffset:l.reactArrayWithUndefined(void 0),minFeatureVisibleDistance:0,maxFeatureVisibleDistance:0,heightReference:"NONE"})})(Eo||(Eo={})),l.extendClassProps(Eo.prototype,Eo.createDefaultProps);const Da=class Da extends Qt{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(new Eo(e,i.id));this.dispose(l.track([o,"show"],[i,"show"])),this.dispose(l.track([o,"allowPicking"],[i,"allowPicking"])),this.dispose(l.track([o,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.track([o,"url"],[i,"features"])),this.dispose(l.track([o,"stroked"],[i,"stroked"])),this.dispose(l.track([o,"strokeWidth"],[i,"strokeWidth"])),this.dispose(l.track([o,"strokeWidthType"],[i,"strokeWidthType"])),this.dispose(l.track([o,"strokeColor"],[i,"strokeColor"])),this.dispose(l.track([o,"strokeMaterial"],[i,"strokeMaterial"])),this.dispose(l.track([o,"strokeMaterialParams"],[i,"strokeMaterialParams"])),this.dispose(l.track([o,"strokeGround"],[i,"strokeGround"])),this.dispose(l.track([o,"filled"],[i,"filled"])),this.dispose(l.track([o,"fillColor"],[i,"fillColor"])),this.dispose(l.track([o,"fillMaterial"],[i,"fillMaterial"])),this.dispose(l.track([o,"fillMaterialParams"],[i,"fillMaterialParams"])),this.dispose(l.track([o,"fillGround"],[i,"fillGround"])),this.dispose(l.track([o,"imageShow"],[i,"imageShow"])),this.dispose(l.track([o,"imageUrl"],[i,"imageUrl"])),this.dispose(l.track([o,"imageSize"],[i,"imageSize"])),this.dispose(l.track([o,"imageAnchor"],[i,"imageAnchor"])),this.dispose(l.track([o,"imageOffset"],[i,"imageOffset"])),this.dispose(l.track([o,"textShow"],[i,"textShow"])),this.dispose(l.track([o,"textProperty"],[i,"textProperty"])),this.dispose(l.track([o,"textDefaultText"],[i,"textDefaultText"])),this.dispose(l.track([o,"textColor"],[i,"textColor"])),this.dispose(l.track([o,"textBackgroundColor"],[i,"textBackgroundColor"])),this.dispose(l.track([o,"textFontFamily"],[i,"textFontFamily"])),this.dispose(l.track([o,"textFontSize"],[i,"textFontSize"])),this.dispose(l.track([o,"textFontStyle"],[i,"textFontStyle"])),this.dispose(l.track([o,"textFontWeight"],[i,"textFontWeight"])),this.dispose(l.track([o,"textAnchor"],[i,"textAnchor"])),this.dispose(l.track([o,"textOffset"],[i,"textOffset"])),this.dispose(l.track([o,"minFeatureVisibleDistance"],[i,"minFeatureVisibleDistance"])),this.dispose(l.track([o,"maxFeatureVisibleDistance"],[i,"maxFeatureVisibleDistance"])),this.dispose(l.track([o,"heightReference"],[i,"heightReference"])),this.dispose(i.flyToEvent.disposableOn(r=>{if(e.actived){if(i.flyInParam){const{position:s,rotation:a,flyDuration:c}=i.flyInParam;return se(e.viewer,s,void 0,a,c),!0}o.flyTo(r&&r*1e3)}}));{const r=async(s,a,c)=>{if(!e.actived)return;const d=JSON.parse(JSON.stringify(this._getFeatureByIndexOrProperties(s,a)));if(!(!d||!(d!=null&&d.positions)))if(d.type=="Point"||d.type=="MultiPoint")Jt(e,i,this.id,await this._calculateFeatureHeight(d.type=="MultiPoint"?d.positions.flat():d.positions,i.heightReference,e),1e3,c);else{const u=d.type=="Polygon"||d.type=="MultiPolygon"||d.type=="MultiLineString";let p=[];u?p=d.positions.flat(d.type=="MultiPolygon"?2:1).map(y=>this._calculateFeatureHeight(y,i.fillGround?"CLAMP_TO_GROUND":"NONE",e)):p=d.positions.map(y=>this._calculateFeatureHeight(y,i.strokeGround?"CLAMP_TO_GROUND":"NONE",e));const{minPos:f,maxPos:g,center:m}=w.getMinMaxCorner(p);Jt(e,i,this.id,m,w.getDistancesFromPositions([f,g],"NONE")[0],c)}};this.d(i.flyToFeatureEvent.don((s,a,c)=>r(s,a,c))),this.d(i.flyToFeatureIndexEvent.don((s,a)=>r(s,void 0,a)))}}_getFeatureByIndexOrProperties(i,e){var s,a,c,d,u,p,f,g;const{sceneObject:n}=this,o=n.features;if(!o)return;const r=Reflect.get(o,"features")||Reflect.get(o,"geometries");if(r){if(e){let m=r.find(y=>(y==null?void 0:y.properties[i])==e);return{type:m!=null&&m.coordinates?m.type:(s=m==null?void 0:m.geometry)==null?void 0:s.type,positions:(m==null?void 0:m.coordinates)||((a=m==null?void 0:m.geometry)==null?void 0:a.coordinates)}}else if(typeof i=="number")return{type:(c=r[i])!=null&&c.coordinates?r[i].type:(u=(d=r[i])==null?void 0:d.geometry)==null?void 0:u.type,positions:((p=r[i])==null?void 0:p.coordinates)||((g=(f=r[i])==null?void 0:f.geometry)==null?void 0:g.coordinates)}}}async _calculateFeatureHeight(i,e,n){const o=[...i];return e=="NONE"?o[2]=o[2]??0:e=="CLAMP_TO_GROUND"||!o[2]?o[2]=await n.getTerrainHeight(o)??0:o[2]+=await n.getTerrainHeight(o)??0,o}};v(Da,"type",Da.register("ESCesiumViewer",w.ESGeoJson.type,Da));let Ju=Da;const ba=class ba extends vt{constructor(e,n){super(e,n);v(this,"_czmGeoESRectangle");v(this,"_geoPolyline");if(this._geoPolyline=this.disposeVar(new Ie(n,e.id)),this._czmGeoESRectangle=this.disposeVar(new Ci(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoESRectangle,s=this._geoPolyline;s.arcType="RHUMB",this.dispose(l.track([s,"color"],[e,"strokeColor"])),this.dispose(l.track([s,"width"],[e,"strokeWidth"])),this.dispose(l.track([s,"ground"],[e,"strokeGround"])),this.dispose(l.track([r,"ground"],[e,"fillGround"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"]));{const a=()=>{s.show=e.show&&e.stroked,r.show=e.show&&e.filled};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material=void 0};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(c.disposableOn(a))}{const a=()=>{const c=e.points;if(c&&c.length>=2){const{minPos:d,maxPos:u}=w.getMinMaxCorner(c);r.rectangle=[d[0],d[1],u[0],u[1]],r.height=c[0][2],r.extrudedHeight=c[0][2];const p=c.map(y=>(c&&(y[2]=c[0][2]),y)),f=p[0],g=p[1],m=[f,[f[0],g[1],f[2]],g,[g[0],f[1],g[2]]];s.positions=[...m,f]}else r.rectangle=void 0,s.positions=void 0,r.height=0,r.extrudedHeight=0};a(),this.dispose(e.pointsChanged.disposableOn(()=>a()))}}get czmGeoESRectangle(){return this._czmGeoESRectangle}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmGeoESRectangle:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}};v(ba,"type",ba.register("ESCesiumViewer",w.ESGeoRectangle.type,ba));let Bu=ba;class Os extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_geoPolygon");this._geoPolygon=this.disposeVar(new _n(e,n));const{geoPolygon:o}=this;this.dispose(l.bind([o,"allowPicking"],[this,"allowPicking"])),this.dispose(this.flyToEvent.disposableOn(s=>{o.flyTo(s)})),this.dispose(l.bind([o,"show"],[this,"show"])),this.dispose(l.bind([o,"fill"],[this,"filled"])),this.dispose(l.bind([o,"strokeGround"],[this,"strokeGround"])),this.dispose(l.bind([o,"ground"],[this,"ground"])),this.dispose(l.bind([o,"outline"],[this,"outline"])),this.dispose(l.bind([o,"outlineColor"],[this,"outlineColor"])),this.dispose(l.bind([o,"outlineWidth"],[this,"outlineWidth"])),this.dispose(l.bind([o,"color"],[this,"color"])),this.dispose(l.bind([o,"depth"],[this,"depth"]));const r=()=>{if(this.positions&&this.positions.length>=2){const s=wd([...this.positions,this.positions[0]]);o.positions=s}else o.positions=void 0};r(),this.dispose(this.positionsChanged.disposableOn(r))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolygon(){return this._geoPolygon}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,strokeGround:!1,ground:!1,outline:!1,filled:!0,outlineColor:l.reactArray([1,1,1,1]),outlineWidth:1,color:l.reactArrayWithUndefined([1,1,1,.5]),positions:l.reactPositions(void 0),depth:0})})(Os||(Os={})),l.extendClassProps(Os.prototype,Os.createDefaultProps);const Ra=class Ra extends vt{constructor(e,n){super(e,n);v(this,"_geoSmoothPolygon");if(this._geoSmoothPolygon=this.disposeVar(new Os(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._geoSmoothPolygon;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"outline"],[e,"stroked"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"])),this.dispose(l.track([r,"outlineWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"filled"],[e,"filled"])),this.dispose(l.track([r,"color"],[e,"fillColor"])),this.dispose(l.track([r,"ground"],[e,"ground"]));{const s=()=>{r.ground=e.ground||e.fillGround};s();const a=this.dv(l.createNextAnimateFrameEvent(e.groundChanged,e.fillGroundChanged));this.d(a.don(s))}{const s=()=>{r.color=e.filled?e.fillColor:Ls.defaults.fillStyle.color};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(s))}this.dispose(l.track([r,"depth"],[e,"depth"]))}get geoSmoothPolygon(){return this._geoSmoothPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoSmoothPolygon:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoSmoothPolygon:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ra,"type",Ra.register("ESCesiumViewer",Ls.type,Ra));let ju=Ra;const xa=class xa extends Ce{constructor(e,n){super(e,n);v(this,"_czmModel");const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}this._czmModel=this.dv(new at(n,e.id));const r=this._czmModel;this.d(r.readyEvent.don(a=>{r.gltf.animations&&(r.activeAnimationsJson=r.gltf.animations.map((c,d)=>({index:d,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}))),e.czmModelReadyEvent.emit(a)})),this.ad(new rc(o,this._czmModel)),this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([r,"color"],[e,"czmColor"])),this.d(l.track([r,"nativeMaximumScale"],[e,"czmMaximumScale"])),this.d(l.track([r,"nativeMinimumPixelSize"],[e,"czmMinimumPixelSize"])),this.d(l.bind([r,"position"],[e,"position"])),this.d(l.track([r,"nativeScale"],[e,"czmNativeScale"])),this.d(l.track([r,"scale"],[e,"scale"])),this.ad(l.track([r,"imageBasedLightingFactor"],[e,"czmImageBasedLightingFactor"])),this.d(l.track([r,"environmentMapManager"],[e,"czmEnvironmentMapManager"]));{const a=c=>{e.czmEnvironmentMapManager=e.czmEnvironmentMapManager?{...e.czmEnvironmentMapManager,atmosphereScatteringIntensity:c}:{atmosphereScatteringIntensity:c}};a(e.czmAtmosphereScatteringIntensity),this.ad(e.czmAtmosphereScatteringIntensityChanged.don(c=>a(c)))}{const a=()=>{var c,d;(c=e.czmEnvironmentMapManager)!=null&&c.atmosphereScatteringIntensity&&(e.czmAtmosphereScatteringIntensity=(d=e.czmEnvironmentMapManager)==null?void 0:d.atmosphereScatteringIntensity)};a(),this.ad(e.czmEnvironmentMapManagerChanged.don(a))}{const a=()=>{const c=[...e.rotation??[0,0,0]];c[0]+=e.instances?0:90,r.rotation=c};a(),this.d(e.rotationChanged.don(a));{const c=()=>{if(a(),!e.instances){r.instances=e.instances;return}r.instances=e.instances.map(d=>{const u=JSON.parse(JSON.stringify(d));return!u.rotation&&(u.rotation=[0,0,0]),u.rotation[0]+=90,u})};c(),this.ad(e.instancesChanged.don(c))}}this.ad(e.setMaterialEvent.don(a=>{r.setMaterial(a)}));{const a=()=>{const c=[...r.rotation];c[0]-=e.instances?0:90,e.rotation=c};a(),this.d(r.rotationChanged.don(a))}{const a=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),c=()=>{e.allowPicking&&!e.editing?r.allowPicking=!0:r.allowPicking=!1};c(),this.d(a.don(c))}const s=()=>{r.url=w.ESSceneObject.context.getStrFromEnv(sc(typeof e.url=="string"?e.url:e.url.url))};s(),this.d(e.urlChanged.don(s)),this.d(e.setNodePositionEvent.don((a,c)=>{r.setNodeTranslation(a,c)})),this.d(e.setNodeRotationEvent.don((a,c)=>{r.setNodeRotation(a,c)})),this.d(e.setNodeScaleEvent.don((a,c)=>{r.setNodeScale(a,c)})),this.d(e.printDebugInfoEvent.don(()=>{r.printDebugInfo()}))}get model(){return this._czmModel}flyTo(e,n){const{sceneObject:o,czmViewer:r,model:s}=this;return r.actived?o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):(s&&It(r,o,n,e,s,!0),!!s):!1}};v(xa,"type",xa.register("ESCesiumViewer",w.ESGltfModel.type,xa));let ep=xa;function g0(t,i){const e=t[0]-i[0],n=t[1]-i[1],o=t[2]-i[2];return Math.sqrt(e*e+n*n+o*o)}class Ns extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_distance",this.disposeVar(l.react(0)));v(this,"_surfaceDistance",this.disposeVar(l.react(0)));v(this,"_height",this.disposeVar(l.react(0)));v(this,"_middlePosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));v(this,"_heightPosition",this.disposeVar(l.reactArrayWithUndefined(void 0)));const o=()=>{if(this.positions)if(this.positions.length>=2)if(this._middlePosition.value=[this.positions[0][0],this.positions[0][1],this.positions[1][2]],this._heightPosition.value=[this.positions[0][0],this.positions[0][1],.5*(this.positions[1][2]+this.positions[0][2])],this.arcType===void 0||this.arcType==="GEODESIC"){const s=this._surfaceDistance.value=w.geoDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="RHUMB"){const s=this._surfaceDistance.value=w.geoRhumbDistance(this.positions[0],this.positions[1]),a=this._height.value=this.positions[1][2]-this.positions[0][2];this._distance.value=Math.sqrt(s*s+a*a)}else if(this.arcType==="NONE"){const s=w.lbhToXyz(this.positions[0]),a=w.lbhToXyz(this.positions[1]);this._distance.value=g0(s,a),this._surfaceDistance.value=g0(w.lbhToXyz(this._middlePosition.value),a),this._height.value=this.positions[1][2]-this.positions[0][2]}else console.warn(`未知的arcType: ${this.arcType},导致距离无法计算!`);else this._heightPosition.value=void 0,this._distance.value=0,this._surfaceDistance.value=0,this._height.value=0};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.arcTypeChanged));this.dispose(r.disposableOn(o));{const s=this.disposeVar(new Ie(e,n));s.ground=!1,s.loop=!1,this.dispose(l.track([s,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([s,"arcType"],[this,"arcType"])),this.dispose(l.bind([s,"color"],[this,"color"])),this.dispose(l.bind([s,"dashLength"],[this,"dashLength"])),this.dispose(l.bind([s,"dashPattern"],[this,"dashPattern"])),this.dispose(l.bind([s,"gapColor"],[this,"gapColor"])),this.dispose(l.bind([s,"hasArrow"],[this,"hasArrow"])),this.dispose(l.bind([s,"hasDash"],[this,"hasDash"])),this.dispose(l.bind([s,"show"],[this,"show"])),this.dispose(l.bind([s,"width"],[this,"width"])),this.dispose(l.bind([s,"depthTest"],[this,"depthTest"]));{s.loop=!0;const c=()=>{if(this.positions&&this.positions.length===2){const[d,u]=this.positions;s.positions=[d,u,[d[0],d[1],u[2]]]}else s.positions=void 0};c(),this.dispose(this.positionsChanged.disposableOn(c))}this.dispose(this.flyToEvent.disposableOn(c=>{e.actived&&s.flyTo(c)}));const a=this.disposeVar(new $e(e,n));this.dispose(l.track([a,"shadowDom"],[this,"shadowDom"])),this.dispose(l.track([a,"cssAllInitial"],[this,"cssAllInitial"])),this.dispose(l.track([a,"show"],[this,"show"]));{const c=()=>{a.position=this.heightPosition};c(),this.dispose(this.heightPositionChanged.disposableOn(c))}{const c=()=>{a.innerHTML=oo(`高度: ${ac(this.height)}`,0)};c(),this.dispose(this.heightChanged.disposableOn(c))}this.ad(a.pickedEvent.don(c=>{Wi(c)===0&&this.pickedEvent.emit(c)}))}}get pickedEvent(){return this._pickedEvent}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get distance(){return this._distance.value}get distanceChanged(){return this._distance.changed}get surfaceDistance(){return this._surfaceDistance.value}get surfaceDistanceChanged(){return this._surfaceDistance.changed}get height(){return this._height.value}get heightChanged(){return this._height.changed}get middlePosition(){return this._middlePosition.value}get middlePositionChanged(){return this._middlePosition.changed}get heightPosition(){return this._heightPosition.value}get heightPositionChanged(){return this._heightPosition.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),width:1,color:l.reactArray([1,1,1,1]),hasDash:!1,gapColor:l.reactArrayWithUndefined([0,0,0,0]),dashLength:16,dashPattern:255,hasArrow:!1,arcType:"GEODESIC",depthTest:!1,shadowDom:!1,cssAllInitial:!1})})(Ns||(Ns={})),l.extendClassProps(Ns.prototype,Ns.createDefaultProps);const Fa=class Fa extends vt{constructor(e,n){super(e,n);v(this,"_geoHeightMeasurement");if(this._geoHeightMeasurement=this.disposeVar(new Ns(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const{czmHeightMeasurement:r}=this;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"]));{const s=()=>{if(e.stroked)r.width=e.strokeWidth;else{r.width=0;return}r.width=e.strokeWidth,r.color=e.strokeColor;const d=e.strokeMaterial??"normal";d==="hasDash"?(r.hasDash=!0,r.hasArrow=!1):d==="hasArrow"?(r.hasDash=!1,r.hasArrow=!0):(r.hasDash=!1,r.hasArrow=!1);const u=e.strokeStyle;if(u.material==="hasDash"&&u.materialParams)try{const p=u.materialParams;Reflect.has(p,"gapColor")&&(r.gapColor=p.gapColor??[0,0,0,0]),Reflect.has(p,"dashLength")&&(r.dashLength=p.dashLength),Reflect.has(p,"dashPattern")&&(r.dashPattern=p.dashPattern)}catch(p){console.error(p)}else r.gapColor=[0,0,0,0],r.dashLength=0,r.dashPattern=0};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.dispose(a.disposableOn(s))}this.dispose(r.pickedEvent.disposableOn(s=>{Wi(s)===0&&(e.allowPicking??!1)&&e.pickedEvent.emit(s)}))}get czmHeightMeasurement(){return this._geoHeightMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmHeightMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmHeightMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Fa,"type",Fa.register("ESCesiumViewer",w.ESHeightMeasurement.type,Fa));let tp=Fa;const ip={czmAnimationsStand:[{index:0,name:"Stand",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsWalk:[{index:2,name:"Walk",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}],czmAnimationsRun:[{index:1,name:"Run",loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration"}]},ka=class ka extends Ce{constructor(e,n){super(e,n);v(this,"_czmModelPrimitive");const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}this._czmModelPrimitive=this.disposeVar(new at(n,this.sceneObject.id));const r=this._czmModelPrimitive;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(et([r,"rotation"],[e,"rotation"])),this.dispose(l.bind([r,"scale"],[e,"scale"]));{const y=this.dv(l.createNextAnimateFrameEvent(e.allowPickingChanged,e.editingChanged)),P=()=>{e.allowPicking&&!e.editing?r.allowPicking=!0:r.allowPicking=!1};P(),this.d(y.don(P))}const s=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/worker.glb"),a=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/police.glb"),c=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/pedestrian.glb"),d=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/Stranger.glb"),u=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsMan.glb"),p=w.ESSceneObject.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/glb/human/SuitsWoman.glb"),f=()=>{switch(e.mode){case"worker":r.url=s;break;case"police":r.url=a;break;case"pedestrian":r.url=c;break;case"stranger":r.url=d;break;case"suitMan":r.url=u;break;case"suitWoman":r.url=p;break;default:r.url=s;break}};this.dispose(e.modeChanged.disposableOn(()=>{f()})),f();const g=()=>{const y=e.animation??w.ESHuman.defaults.animation;if(!e.show){r.activeAnimationsJson=void 0;return}y==="walking"?r.activeAnimationsJson=ip.czmAnimationsWalk:y==="standing"?r.activeAnimationsJson=ip.czmAnimationsStand:y==="running"&&(r.activeAnimationsJson=ip.czmAnimationsRun)};g();const m=this.ad(l.createNextAnimateFrameEvent(e.showChanged,e.animationChanged));this.dispose(m.disposableOn(()=>g())),this.ad(new rc(o,r))}get czmModelPrimitive(){return this._czmModelPrimitive}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmModelPrimitive:s}=this;return!r.actived||!r.viewer?!1:o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):(s&&It(r,o,n,e,s,!0),!!s)}};v(ka,"type",ka.register("ESCesiumViewer",w.ESHuman.type,ka));let np=ka;class m0 extends w.Destroyable{constructor(e,n){super();v(this,"_czmGeoCanvasImagePoi");v(this,"flyTo",(e,n)=>{if(this.czmGeoCanvasImagePoi.position){se(this.czmViewer.viewer,this.czmGeoCanvasImagePoi.position,1e3,Kt,e);return}this.czmGeoCanvasImagePoi.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoCanvasImagePoi=this.disposeVar(new vi(n));const o=this._czmGeoCanvasImagePoi;o.pickOnClick=!0,this.d(o.pickedEvent.don(r=>{(e.allowPicking??!1)&&e.pickedEvent.emit(r)}));{const r=u=>{let p=u;return u.includes("inner://")&&(p="${earthsdk3-assets-script-dir}/assets/img/points/"+u.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(sc(p))},s=()=>{const u=r(typeof e.url=="string"?e.url:e.url.url);if(o.imageUri=u,e.sizeByContent){const f=new Image;f.src=u,f.onload=()=>{o.size=[f.width,f.height]}}else{const f=e.size;o.size=[...f]}},a=this.disposeVar(l.createNextAnimateFrameEvent(e.urlChanged,e.sizeByContentChanged,e.sizeChanged));this.dispose(a.disposableOn(()=>s())),s(),this.d(l.track([o,"zOrder"],[e,"zOrder"])),this.dispose(l.track([o,"show"],[e,"show"])),this.dispose(l.bind([o,"position"],[e,"position"])),this.ad(l.bind([o,"isHoverZoom"],[e,"isHoverZoom"]));{const u=()=>{o.scale=[e.scale[1],e.scale[2]]};u(),this.dispose(e.scaleChanged.don(u))}const c=()=>{const u=e.anchor,p=e.offset;u?o.originRatioAndOffset=[...u,-p[0],-p[1]]:o.originRatioAndOffset=[0,0,0,0]},d=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(d.disposableOn(()=>c())),c(),this.dispose(o.clickEvent.disposableOn(u=>{const{offsetX:p,offsetY:f}=u,m={type:u.button===0?"leftClick":u.button===2?"rightClick":void 0,add:{mousePos:[p,f]}};e.widgetEvent.emit(m)})),this.dispose(o.hoveredChanged.disposableOn(u=>{if(u===void 0)return;const p={type:u?"mouseEnter":"mouseLeave"};e.widgetEvent.emit(p)}))}}get czmGeoCanvasImagePoi(){return this._czmGeoCanvasImagePoi}}class v0 extends w.Destroyable{constructor(e,n,o){super();v(this,"_czmGeoImageModel");v(this,"_eventInfo",{type:"leftClick",add:{mousePos:[0,0]}});v(this,"_isPointEvent",!1);v(this,"flyTo",(e,n)=>{if(this.czmGeoImageModel.position)return Jt(this.czmViewer,this.sceneObject,n,this.sceneObject.position,Math.max(...this.czmGeoImageModel.size),e,!0);this.czmGeoImageModel.flyTo(e&&e*1e3)});this.sceneObject=e,this.czmViewer=n,this._czmGeoImageModel=this.disposeVar(new Hi(n,e.id));const r=this._czmGeoImageModel;this.ad(n.clickEvent.don(f=>{const g=f==null?void 0:f.pointerEvent;g&&(this._isPointEvent=!0,this._eventInfo={type:g.button==0?"leftClick":g.button==2?"rightClick":"leftClick",add:{mousePos:[g.offsetX,g.offsetY]}})})),this.d(e.pickedEvent.don(f=>{var g,m,y;f.screenPosition&&this._isPointEvent&&f.attachedInfo!="innerHoverEvent"&&((g=this._eventInfo.add)!=null&&g.mousePos)&&Math.abs(f.screenPosition[0]-((m=this._eventInfo.add)==null?void 0:m.mousePos[0]))<1&&Math.abs(f.screenPosition[1]-((y=this._eventInfo.add)==null?void 0:y.mousePos[1]))<1&&(e.widgetEvent.emit(this._eventInfo),this._isPointEvent=!1)})),w.registerCreatedEventUpdate(this,e,()=>{const f=n.getEngineObject(e);this.ad(f.lastHoverResultChanged.don((g,m)=>{(g==null?void 0:g.sceneObject)==(m==null?void 0:m.sceneObject)||(g==null?void 0:g.sceneObject)!=e&&(m==null?void 0:m.sceneObject)!=e||(g!=null&&g.sceneObject&&(this._eventInfo={type:"mouseEnter",add:{mousePos:g==null?void 0:g.screenPosition}},g.sceneObject.widgetEvent.emit(this._eventInfo),e.isHoverZoom&&g.sceneObject.id==e.id&&(r.scale=[r.scale[0]*1.5,r.scale[1]*1.5])),m!=null&&m.sceneObject&&(this._eventInfo={type:"mouseLeave",add:{mousePos:g==null?void 0:g.screenPosition}},m.sceneObject.widgetEvent.emit(this._eventInfo),e.isHoverZoom&&m.sceneObject.id==e.id&&(r.scale=[r.scale[0]/1.5,r.scale[1]/1.5])))}))});const s=e.sizeByContent,c=(f=>{let g=f;return f.includes("inner://")&&(g="${earthsdk3-assets-script-dir}/assets/img/points/"+f.split("inner://")[1]),w.ESSceneObject.context.getStrFromEnv(sc(g))})(typeof o.sceneObject.url=="string"?o.sceneObject.url:o.sceneObject.url.url),d=new Image;d.src=c,d.onload=()=>{if(s)r.size=[d.width/100,d.height/100];else{const f=e.size;r.size=[f[0]/100,f[1]/100]}},r.uri=c,this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),r.pixelSize=void 0,r.useAxis="XZ";{const f=()=>{r.scale=[e.scale[1],e.scale[2]]};f(),this.d(e.scaleChanged.don(f))}{const f=()=>{e.rotationType===0&&(r.rotationMode="WithProp",this.d(et([r,"rotation"],[e,"rotation"]))),e.rotationType===1&&(r.rotationMode="WithCamera"),e.rotationType===2&&(r.rotationMode="WithCameraOnlyZ")};f(),this.dispose(e.rotationTypeChanged.disposableOn(f))}const u=()=>{const f=e.anchor,g=e.offset;f?r.originRatioAndOffset=[...f,-g[0]/100,-g[1]/100]:r.originRatioAndOffset=[0,0,0,0]},p=this.ad(l.createNextAnimateFrameEvent(e.anchorChanged,e.offsetChanged));this.dispose(p.disposableOn(()=>u())),u()}get czmGeoImageModel(){return this._czmGeoImageModel}}const za=class za extends xs{constructor(e,n){super(e,n);v(this,"_resetting");if(!n.viewer){console.warn("viewer is undefined!");return}const r=this.disposeVar(l.createNextAnimateFrameEvent(this.sceneObject.urlChanged,this.sceneObject.screenRenderChanged,this.sceneObject.sizeByContentChanged,this.sceneObject.sizeChanged));this._resetting=this.disposeVar(new l.ObjResettingWithEvent(r,()=>this.sceneObject.screenRender?new m0(this.sceneObject,this.czmViewer):new v0(this.sceneObject,this.czmViewer,this)))}get resetting(){return this._resetting}flyTo(e,n){const{sceneObject:o,czmViewer:r,resetting:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s&&s.obj&&s.obj.flyTo(e,n),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(za,"type",za.register("ESCesiumViewer",w.ESImageLabel.type,za));let op=za;function MI(t){switch(t){case"wms":return"WebMapServiceImageryProvider";case"tms":return"TileMapServiceImageryProvider";case"wmts":return"WebMapTileServiceImageryProvider";case"xyz":return"UrlTemplateImageryProvider";case"ion":return"IonImageryProvider"}}const La=class La extends Qt{constructor(e,n){super(e,n);v(this,"_czmImagery");if(this._czmImagery=this.dv(new xn(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmImagery;{const s=this.ad(l.reactJson(""));{const d=()=>{if(typeof e.url=="string")s.value=w.ESSceneObject.context.getStrFromEnv(e.url);else{const u=e.url;u.url=w.ESSceneObject.context.getStrFromEnv(u.url),s.value=u}};d(),this.ad(e.urlChanged.don(d))}const a=()=>{var m;if(!s.value)return;const d=(((m=e.options)==null?void 0:m.type)??"auto").toLowerCase(),u=e.options??{};let p={type:"UrlTemplateImageryProvider",url:s.value,rectangle:e.rectangle,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,...u},f=s.value,g=typeof f=="string"?f:f.url;if(d==="auto"){const y=g.toLowerCase();if(y.startsWith("ion://")){const S=+y.substring(6);p={...u,assetId:S,type:"IonImageryProvider"}}else if(y.includes("{x}")||y.includes("{y}")||y.includes("{z}"))p.type="UrlTemplateImageryProvider";else if(y.includes("wmts"))p.type="WebMapTileServiceImageryProvider";else if(y.includes("wms"))p.type="WebMapServiceImageryProvider";else{if(g.includes("/tilemapresource.xml")){const P=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=P:f.url=P,p.url=f}p.type="TileMapServiceImageryProvider"}}else{if(d==="tms"&&g.includes("/tilemapresource.xml")){const y=g.split("/tilemapresource.xml").join("");typeof f=="string"?f=y:f.url=y,p.url=f}else if(d==="ion"&&g.startsWith("ion://")){const P=+g.substring(6);p={...u,assetId:P,type:"IonImageryProvider"}}p.type=MI(d)}console.log("imageryProvider",p),r.imageryProvider=p};a();const c=this.dv(l.createNextAnimateFrameEvent(s.changed,e.maximumLevelChanged,e.minimumLevelChanged,e.optionsChanged,e.rectangleChanged));this.d(c.don(a))}this.d(l.track([r,"show"],[e,"show"])),this.d(l.bind([r,"alpha"],[e,"opacity"])),this.d(l.bind([r,"alpha"],[e,"czmAlpha"])),this.d(l.track([r,"splitDirection"],[e,"splitDirection"])),this.d(l.track([r,"brightness"],[e,"czmBrightness"])),this.d(l.track([r,"contrast"],[e,"czmContrast"])),this.d(l.track([r,"hue"],[e,"czmHue"])),this.d(l.track([r,"saturation"],[e,"czmSaturation"])),this.d(l.track([r,"gamma"],[e,"czmGamma"])),this.d(l.track([r,"rectangle"],[e,"rectangle"])),this.d(l.track([r,"zIndex"],[e,"zIndex"])),this.ad(l.track([r,"targetID"],[e,"targetID"]))}get czmImagery(){return this._czmImagery}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(La,"type",La.register("ESCesiumViewer",w.ESImageryLayer.type,La));let rp=La;class II extends l.Destroyable{constructor(e,n,o,r){super();v(this,"_show");v(this,"_czmESCustomPrimitive");v(this,"_czmTexture");this._sceneObject=e,this._show=this.disposeVar(l.react(this._sceneObject.show)),this._czmESCustomPrimitive=this.dv(new ke(n,this._sceneObject.id)),this._czmTexture=this.dv(new Le(n));const s=e,a=this._czmESCustomPrimitive,c=this._czmTexture;this.dispose(l.track([a,"show"],[this,"show"])),this.dispose(l.track([a,"show"],[s,"show"])),this.dispose(l.track([a,"allowPicking"],[s,"allowPicking"])),this.dispose(l.track([a,"rotation"],[s,"rotation"])),this.dispose(l.track([a,"position"],[s,"position"])),this.dispose(l.track([a,"scale"],[s,"scale"])),this.ad(s.allowPickingChanged.don(()=>{a.allowPicking=s.allowPicking,a.pass=s.allowPicking?"TRANSLUCENT":"OVERLAY"}));{const d=()=>{const p=s.size/2,f=r[0].map(L=>L*p),g=r[1].map(L=>L*p),m=r[2].map(L=>L*p),y=r[3].map(L=>L*p),P=[...f,...g,...m,...y];let S=[0,3,2,0,2,1];(o=="north"||o=="west"||o=="bottom")&&(S=S.reverse());const C=[0,0],E=[1,0],T=[1,1],I=[0,1];let b=[];o=="east"||o=="south"?b=[...E,...C,...I,...T]:o=="west"?b=[...E,...T,...I,...C]:o=="top"?b=[...I,...T,...E,...C]:b=[...C,...E,...T,...I],a.indexTypedArray=new Uint16Array(S),a.attributes={position:{typedArray:new Float32Array(P),componentsPerAttribute:3},st:{typedArray:new Float32Array(b),componentsPerAttribute:2}},c.uri=w.ESSceneObject.context.getStrFromEnv(`\${earthsdk3-assets-script-dir}/assets/img/skybox/${s.mode}/${o}.${s.mode!="blueSky"?"png":"jpg"}`);const x=n.getCameraInfo();if(x!=null){const U=w.getDistancesFromPositions([s.position,x.position],"NONE")[0]/(s.size/2*s.autoOpacityFactor);this.changeOpacity(s.autoFollow?1:U)}const z=a.computeLocalAxisedBoundingBoxFromAttribute("position");if(!z)return;const{min:W,max:N}=z;a.setLocalAxisedBoundingBox(W,N)};d();const u=this.disposeVar(l.createNextAnimateFrameEvent(s.sizeChanged,s.modeChanged));this.dispose(u.disposableOn(d))}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}get czmESCustomPrimitive(){return this._czmESCustomPrimitive}get czmTexture(){return this._czmTexture}changeOpacity(e){this._czmESCustomPrimitive.uniformMap={u_image:{type:"texture",id:this._czmTexture.id},u_color:[1,1,1,1-e>=0?1-e:0]}}}class DI extends l.Destroyable{constructor(i,e,n){if(super(),!e.viewer)return;let o=!0,r;this.dispose(e.viewer.scene.preUpdate.addEventListener(()=>{s()}));function s(){var c;if(!((c=e.viewer)!=null&&c.camera))return;const a=e.getCameraInfo();if(a!=null&&(r==null||r.position[0]!=a.position[0]||r.position[1]!=a.position[1]||r.position[2]!=a.position[2]||r.rotation[0]!=a.rotation[0]||r.rotation[1]!=a.rotation[1]||r.rotation[2]!=a.rotation[2])){r=a;const u=w.getDistancesFromPositions([i.position,r.position],"NONE")[0]/(i.size/2*i.autoOpacityFactor);i.autoFollow?(i.position=r.position,o&&(o=!1,n.forEach(p=>{p.changeOpacity(1)}))):n.forEach(p=>{p.changeOpacity(u)})}}s()}}const Ke=class Ke extends Ce{constructor(e,n){super(e,n);v(this,"_czmSkyBoxComponents",[]);if(!n.viewer){console.warn("viewer is undefined!");return}!Ke._defaultLocalBox&&Ke._firstLoad&&(Ke._firstLoad=!1,Ke._defaultLocalBox=n.xbsjLocalBoxSources),Ke._eSLocalSkyBoxArr.push(e),this.d(()=>{Ke._eSLocalSkyBoxArr.includes(e)&&Ke._eSLocalSkyBoxArr.splice(Ke._eSLocalSkyBoxArr.indexOf(e),1),this.ChangeAutoFollow()});const r={bottom:[[-1,-1,-1],[1,-1,-1],[1,1,-1],[-1,1,-1]],top:[[-1,-1,1],[1,-1,1],[1,1,1],[-1,1,1]],south:[[-1,-1,-1],[1,-1,-1],[1,-1,1],[-1,-1,1]],north:[[-1,1,-1],[1,1,-1],[1,1,1],[-1,1,1]],east:[[1,-1,-1],[1,1,-1],[1,1,1],[1,-1,1]],west:[[-1,1,-1],[-1,1,1],[-1,-1,1],[-1,-1,-1]]};for(const s in r)if(Object.prototype.hasOwnProperty.call(r,s)){const a=r[s];this._czmSkyBoxComponents.push(this.dv(new II(e,n,s,a)))}{const s=this.disposeVar(l.createNextAnimateFrameEvent(e.autoFollowChanged,e.autoOpacityFactorChanged));this.disposeVar(new l.ObjResettingWithEvent(s,()=>(this.ChangeAutoFollow(),new DI(e,n,this._czmSkyBoxComponents))))}{const s=()=>{this.ChangeAutoFollow()},a=this.disposeVar(l.createNextAnimateFrameEvent(e.sizeChanged,e.modeChanged,e.showChanged));this.dispose(a.disposableOn(s))}}ChangeAutoFollow(){const{czmViewer:e}=this;for(let n=Ke._eSLocalSkyBoxArr.length-1;n>=0;n--){const o=Ke._eSLocalSkyBoxArr[n];if(o.autoFollow&&o.show){e.xbsjLocalBoxSources={positiveX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/east.${o.mode!="blueSky"?"png":"jpg"}`,negativeX:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/west.${o.mode!="blueSky"?"png":"jpg"}`,positiveY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/bottom.${o.mode!="blueSky"?"png":"jpg"}`,negativeY:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/top.${o.mode!="blueSky"?"png":"jpg"}`,positiveZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/north.${o.mode!="blueSky"?"png":"jpg"}`,negativeZ:`\${earthsdk3-assets-script-dir}/assets/img/skybox/${o.mode}/south.${o.mode!="blueSky"?"png":"jpg"}`};break}n==0&&(e.xbsjLocalBoxSources=Ke._defaultLocalBox)}Ke._eSLocalSkyBoxArr.length==0&&(e.xbsjLocalBoxSources=Ke._defaultLocalBox)}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);{const s=o.size??w.ESLocalSkyBox.defaults.size;return o.position?(Jt(r,o,n,o.position,s,e,!0),!0):!1}}};v(Ke,"type",Ke.register("ESCesiumViewer",w.ESLocalSkyBox.type,Ke)),v(Ke,"_defaultLocalBox"),v(Ke,"_firstLoad",!0),v(Ke,"_eSLocalSkyBoxArr",[]);let sp=Ke;const oi=class oi extends Ce{constructor(e,n){super(e,n);v(this,"_geoCustomDivPoi");v(this,"_textFunc",this.disposeVar(l.react(void 0)));if(this._geoCustomDivPoi=this.disposeVar(new $e(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this.geoCustomDivPoi;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"]));{this.dispose(r.pickedEvent.disposableOn(s=>{(e.allowPicking??w.ESLocationMeasurement.defaults.allowPicking)&&e.pickedEvent.emit(s)})),this.dispose(r.innerHtmlMounted.disposableOn(s=>{const a=s.firstElementChild;a&&(a.style.pointerEvents="auto",a.style.cursor="default",a.onclick=c=>r.pickFromDiv(a,{type:"viewerPicking",pointerEvent:c}))}));{const s=()=>{if(!e.position)return;const c=(this.textFunc??oi.defaultTextFunc_度格式)(e.position);r.innerHTML=oo(c)};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.positionChanged,this.textFuncChanged));this.dispose(a.disposableOn(s))}{const s=()=>{n.lonLatFormat??(n.lonLatFormat="DECIMAL_DEGREE"),this.textFunc=n.lonLatFormat=="DECIMAL_DEGREE"?oi.defaultTextFunc_度格式:n.lonLatFormat=="DEGREES_DECIMAL_MINUTES"?oi.defaultTextFunc_度分格式:oi.defaultTextFunc_度分秒格式};s(),this.d(n.lonLatFormatChanged.don(()=>{s()}))}}}get geoCustomDivPoi(){return this._geoCustomDivPoi}get textFunc(){return this._textFunc.value}set textFunc(e){this._textFunc.value=e}get textFuncChanged(){return this._textFunc.changed}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoCustomDivPoi:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoCustomDivPoi:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(oi,"type",oi.register("ESCesiumViewer",w.ESLocationMeasurement.type,oi)),v(oi,"defaultTextFunc_度格式",e=>{if(!e)return"";const[n=0,o=0,r=0]=e;return`经度: ${n.toFixed(5)}°
|
|
1254
1254
|
纬度: ${o.toFixed(5)}°
|
|
1255
1255
|
高度: ${r.toFixed(2)}m`}),v(oi,"defaultTextFunc_度分格式",e=>{if(!e)return"";const[n,o,r]=md(e,!0);return`经度: ${n}
|
|
1256
1256
|
纬度: ${o}
|
|
@@ -1723,7 +1723,7 @@ ${A0}
|
|
|
1723
1723
|
}
|
|
1724
1724
|
|
|
1725
1725
|
\`\`\`
|
|
1726
|
-
`;function fD(t){return new DOMParser().parseFromString(t,"application/xml")}const ns=class ns extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_clock");v(this,"_resetClockEvent",this.disposeVar(new l.Event));v(this,"_dataSource",this.dv(l.react(void 0)));this._clock=this.disposeVar(new ue(e)),this.dispose(l.bind([this.clock,"startTime"],[this,"startTime"])),this.dispose(l.bind([this.clock,"stopTime"],[this,"stopTime"])),this.dispose(l.bind([this.clock,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this.clock,"multiplier"],[this,"multiplier"])),this.dispose(l.bind([this.clock,"clockStep"],[this,"clockStep"])),this.dispose(l.bind([this.clock,"clockRange"],[this,"clockRange"])),this.dispose(l.bind([this.clock,"shouldAnimate"],[this,"shouldAnimate"])),this.dispose(l.bind([this.clock,"enabled"],[this,"clockEnabled"]));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}let r;r=document.createElement("div"),o.container.appendChild(r),r.style.pointerEvents="none",r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",this.d(()=>{o.container.removeChild(r)}),this.d(this.flyToEvent.don(u=>{e.actived&&this.dataSource&&(u!==void 0?o.flyTo(this.dataSource,{duration:u/1e3}):o.flyTo(this.dataSource))}));const s=()=>{this.dataSource&&(o.dataSources.remove(this.dataSource),this._dataSource.value=void 0)};this.d(()=>s());const a=()=>{if(!this.dataSource){console.warn("resetClock warn: dataSource is undefined!");return}const{dataSource:u}=this;u.clock&&(this.startTime=h.JulianDate.toDate(u.clock.startTime).getTime(),this.stopTime=h.JulianDate.toDate(u.clock.stopTime).getTime(),this.currentTime=h.JulianDate.toDate(u.clock.currentTime).getTime(),this.multiplier=u.clock.multiplier,this.clockStep=ue.getClockStep(u.clock.clockStep),this.clockRange=ue.getClockRange(u.clock.clockRange))};this.d(this.resetClockEvent.don(a));const c=()=>{this.dataSource&&(this.dataSource.show=this.show??ns.defaults.show,r.style.display=this.show??ns.defaults.show?"block":"none")};c(),this.d(this.showChanged.don(c));const d=this.dv(l.react(void 0));{const u=()=>{const f=()=>{var g;if(this.uri)if(this.uri&&typeof this.uri!="string")(g=h.Resource.fetchXML({url:this.uri.url,headers:this.uri.headers,queryParameters:this.uri.queryParameters,templateValues:this.uri.templateValues,proxy:this.uri.proxy,retryCallback:this.uri.retryCallback,retryAttempts:this.uri.retryAttempts,request:this.uri.request}))==null||g.then(m=>m);else return w.ESSceneObject.context.getStrFromEnv(this.uri)};d.value=(this.data&&fD(this.data))??f()};u();const p=this.dv(l.createNextAnimateFrameEvent(this.uriChanged,this.dataChanged));this.d(p.don(u))}{const u=this.dv(l.createProcessingFromAsyncFunc(async g=>{if(s(),!d.value)return;let m;try{m=await h.KmlDataSource.load(d.value,{camera:o.scene.camera,canvas:o.scene.canvas,screenOverlayContainer:r,clampToGround:this.clampToGround})}catch(y){m=void 0,console.error(`kml加载报错:${y}`),console.error(y)}if(m&&(m.entities.values.forEach(y=>{h.Entity.prototype&&(m.ESSceneObjectID=n)}),g.check(),o.dataSources.add(m),this._dataSource.value=m,c(),(this.autoResetClock??ns.defaults.autoResetClock)&&a(),!!this.loadFun))try{this.loadFun(m,o)}catch(y){console.error(y)}})),p=()=>{u.isRunning&&u.cancel(),u.restart()};p();const f=this.dv(l.createNextAnimateFrameEvent(d.changed,this.loadFunChanged,this.clampToGroundChanged));this.d(f.don(p))}{const u=()=>{if(this.loadFuncStr)try{const p=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=p}catch(p){console.error(p),this.loadFun=void 0}else this.loadFun=void 0};u(),this.d(this.loadFuncStrChanged.don(u))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get clock(){return this._clock}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}get dataSource(){return this._dataSource.value}};v(ns,"defaults",{show:!0,allowPicking:!0,defaultLoadFuncStr:A0,defaultLoadFuncDocStr:pD,data:dD,dataMd:uD,autoResetClock:!0,clockEnabled:!1,startTime:ue.defaults.startTime,stopTime:ue.defaults.stopTime,currentTime:ue.defaults.currentTime,multiplier:ue.defaults.multiplier,clockStep:ue.defaults.clockStep,clockRange:ue.defaults.clockRange,shouldAnimate:ue.defaults.shouldAnimate,uri:"${earthsdk3-assets-script-dir}/assets/misc/bikeRide.kml",clampToGround:!1});let Ao=ns;(t=>{t.createDefaultProps=()=>({show:!0,uri:void 0,allowPicking:void 0,loadFuncStr:void 0,data:void 0,autoResetClock:void 0,clockEnabled:void 0,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:void 0,clockStep:void 0,clockRange:void 0,shouldAnimate:void 0,clampToGround:void 0})})(Ao||(Ao={})),l.extendClassProps(Ao.prototype,Ao.createDefaultProps);const Ya=class Ya extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(new Ao(e,i.id));this.dispose(l.track([o,"show"],[i,"show"])),this.dispose(l.track([o,"allowPicking"],[i,"allowPicking"])),this.dispose(l.bind([o,"data"],[i,"data"])),this.dispose(l.bind([o,"uri"],[i,"uri"])),this.dispose(l.bind([o,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.bind([o,"autoResetClock"],[i,"autoResetClock"])),this.dispose(l.bind([o,"clockEnabled"],[i,"clockEnabled"])),this.dispose(l.bind([o,"startTime"],[i,"startTime"])),this.dispose(l.bind([o,"stopTime"],[i,"stopTime"])),this.dispose(l.bind([o,"currentTime"],[i,"currentTime"])),this.dispose(l.bind([o,"multiplier"],[i,"multiplier"])),this.dispose(l.bind([o,"clockStep"],[i,"clockStep"])),this.dispose(l.bind([o,"clockRange"],[i,"clockRange"])),this.dispose(l.bind([o,"shouldAnimate"],[i,"shouldAnimate"])),this.dispose(l.bind([o,"clampToGround"],[i,"clampToGround"])),this.dispose(i.flyToEvent.disposableOn(r=>{e.actived&&o.flyTo(r&&r*1e3)}))}};v(Ya,"type",Ya.register("ESCesiumViewer",rh.type,Ya));let wp=Ya;const Za=class Za extends Ce{constructor(e,n){super(e,n);v(this,"_czmGeoCircle");v(this,"_geoPolyline");if(this._czmGeoCircle=this.disposeVar(new co(n,e.id)),this._geoPolyline=this.dv(new Ie(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoCircle,s=this._geoPolyline;{const a=()=>{s.positions=gD(e.position,e.rotation,e.radius)};a();const c=this.dv(l.createNextAnimateFrameEvent(e.positionChanged,e.rotationChanged,e.radiusChanged));this.dispose(c.don(a))}{const a=()=>{r.show=e.show&&e.filled,s.show=e.show&&e.stroked};a();const c=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged,e.strokedChanged,e.strokeGroundChanged));this.dispose(c.don(a))}s.loop=!0,this.d(l.track([s,"ground"],[e,"strokeGround"])),this.d(l.track([s,"color"],[e,"strokeColor"])),this.d(l.bind([s,"width"],[e,"strokeWidth"]));{r.outline=!1,this.dispose(l.track([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"])),this.dispose(l.bind([r,"radius"],[e,"radius"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.bind([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"ground"],[e,"fillGround"]));{const a=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material={type:"Color",color:w.ESLocalCircle.defaults.fillStyle.color}};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(c.disposableOn(a))}}}get czmGeoCircle(){return this._czmGeoCircle}get geoPolyline(){return this._geoPolyline}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this._czmGeoCircle.show=e.show&&e.filled&&s,this._geoPolyline.show=e.show&&e.stroked&&s}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoCircle:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.position?(Jt(r,o,n,o.position,o.radius,e,!0),!0):!1:!1}};v(Za,"type",Za.register("ESCesiumViewer",w.ESLocalCircle.type,Za));let Cp=Za;function gD(t,i,e){const o=2*Math.PI/36,r=[];h.Cartesian3.fromDegrees(...t);let s=function(c){let d=new h.Cartesian3(c.x,c.y,c.z),u=h.Cartographic.fromCartesian(d),p=h.Math.toDegrees(u.latitude),f=h.Math.toDegrees(u.longitude),g=u.height;return[f,p,g]};const a=Fe({initialRotation:"yForwardzUp",rotation:[i[0],i[2],-i[1]],position:t});if(!a)return r;for(let c=0;c<36;c++){let d=new h.Cartesian3(e*Math.cos(o*c),e*Math.sin(o*c),0),u=h.Matrix4.multiplyByPoint(a,d,new h.Cartesian3);r.push(s(u))}return r}const Qa=class Qa extends Ce{constructor(e,n){super(e,n);v(this,"_czmESLocalLineStringZ");if(this._czmESLocalLineStringZ=this.disposeVar(new zs(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESLocalLineStringZ;n.add(r),this.dispose(()=>n.delete(r));{this.dispose(l.track([r,"strokeWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"strokeColor"],[e,"strokeColor"]));const s=()=>{r.show=e.show&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.don(s))}this.dispose(l.track([r,"loop"],[e,"loop"])),this.dispose(l.track([r,"hasDash"],[e,"hasDash"])),this.dispose(l.track([r,"gapColor"],[e,"gapColor"])),this.dispose(l.track([r,"dashLength"],[e,"dashLength"])),this.dispose(l.track([r,"dashPattern"],[e,"dashPattern"])),this.dispose(l.track([r,"hasArrow"],[e,"hasArrow"])),this.dispose(l.track([r,"depthTest"],[e,"depthTest"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"position"],[e,"position"])),this.dispose(l.track([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(!e.points){r.points=void 0;return}r.points=e.points.map(a=>[a[0],a[1],0])};s(),this.dispose(e.pointsChanged.disposableOn(s))}}get czmESLocalLineStringZ(){return this._czmESLocalLineStringZ}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this._czmESLocalLineStringZ.show=e.show&&e.stroked&&s}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESLocalLineStringZ:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.points&&s.flyTo(e),!0):!1}};v(Qa,"type",Qa.register("ESCesiumViewer",sh.type,Qa));let _p=Qa;const Ka=class Ka extends Ce{constructor(e,n){super(e,n);v(this,"_czmGeoPolyline");if(this._czmGeoPolyline=this.disposeVar(new Ie(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoPolyline;r.arcType="NONE";{this.dispose(l.track([r,"width"],[e,"strokeWidth"])),this.dispose(l.track([r,"color"],[e,"strokeColor"]));const s=()=>{r.show=e.show&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.don(s))}this.dispose(l.track([r,"loop"],[e,"loop"])),this.dispose(l.track([r,"hasDash"],[e,"hasDash"])),this.dispose(l.track([r,"gapColor"],[e,"gapColor"])),this.dispose(l.track([r,"dashLength"],[e,"dashLength"])),this.dispose(l.track([r,"dashPattern"],[e,"dashPattern"])),this.dispose(l.track([r,"hasArrow"],[e,"hasArrow"])),this.dispose(l.track([r,"depthTest"],[e,"depthTest"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"ground"],[e,"strokeGround"]));{const s=()=>{if(!e.points)return;if(e.scale&&e.scale.some(d=>d===0)){console.warn("缩放属性(scale)不能设置值为0!");return}const[c]=gn({originPosition:e.position,originRotation:e.rotation,originScale:e.scale},e.points);r.positions=c};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.dispose(a.disposableOn(s))}}get czmGeoPolyline(){return this._czmGeoPolyline}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this._czmGeoPolyline.show=e.show&&e.stroked&&s}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoPolyline:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ka,"type",Ka.register("ESCesiumViewer",zs.type,Ka));let Pp=Ka;const Ja=class Ja extends th{constructor(e,n){super(e,n);v(this,"_czmESLocalPolygon");if(this._czmESLocalPolygon=this.disposeVar(new w.ESLocalPolygonZ(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESLocalPolygon;n.add(r),this.dispose(()=>n.delete(r)),this.dispose(l.track([r,"stroked"],[e,"stroked"])),this.dispose(l.track([r,"strokeColor"],[e,"strokeColor"])),this.dispose(l.track([r,"strokeWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"fillColor"],[e,"fillColor"])),this.dispose(l.track([r,"filled"],[e,"filled"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"fillGround"],[e,"fillGround"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.bind([r,"rotation"],[e,"rotation"])),this.dispose(l.bind([r,"scale"],[e,"scale"]));{const s=()=>{if(!e.points){r.points=void 0;return}r.points=e.points.map(a=>[a[0],a[1],0])};s(),this.dispose(e.pointsChanged.disposableOn(s))}}get czmESLocalPolygon(){return this._czmESLocalPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESLocalPolygon:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(Ja,"type",Ja.register("ESCesiumViewer",w.ESLocalPolygon.type,Ja));let Sp=Ja;const Ba=class Ba extends th{constructor(e,n){super(e,n);v(this,"_czmGeoPolygon");if(this._czmGeoPolygon=this.disposeVar(new Mi(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoPolygon;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"outline"],[e,"stroked"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"])),this.dispose(l.track([r,"outlineWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"color"],[e,"fillColor"])),this.dispose(l.track([r,"fill"],[e,"filled"])),this.dispose(l.track([r,"ground"],[e,"fillGround"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(!e.points)return;if(e.scale&&e.scale.some(d=>d===0)){console.warn("缩放属性(scale)不能设置值为0!");return}const[c]=gn({originPosition:e.position,originRotation:e.rotation,originScale:e.scale,initialRotationMode:"XForwardZUp"},e.points);r.positions=c};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.dispose(a.disposableOn(s))}}get czmGeoPolygon(){return this._czmGeoPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoPolygon:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ba,"type",Ba.register("ESCesiumViewer",w.ESLocalPolygonZ.type,Ba));let Ep=Ba;const ja=class ja extends Ce{constructor(e,n){super(e,n);v(this,"_czmLocalRectangle");if(this._czmLocalRectangle=this.disposeVar(new w.ESLocalPolygon(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmLocalRectangle;n.add(r),this.dispose(()=>n.delete(r)),this.dispose(l.track([r,"stroked"],[e,"stroked"])),this.dispose(l.track([r,"strokeColor"],[e,"strokeColor"])),this.dispose(l.track([r,"strokeWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"fillColor"],[e,"fillColor"])),this.dispose(l.track([r,"filled"],[e,"filled"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"fillGround"],[e,"fillGround"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.bind([r,"rotation"],[e,"rotation"])),this.dispose(l.bind([r,"scale"],[e,"scale"]));{const s=()=>{const a=e.width??0,c=e.height??0;r.points=[[-a,-c],[-a,c],[a,c],[a,-c]]};this.dispose(e.widthChanged.disposableOn(s)),this.dispose(e.heightChanged.disposableOn(s)),s()}}get czmLocalRectangle(){return this._czmLocalRectangle}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmLocalRectangle:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(ja,"type",ja.register("ESCesiumViewer",w.ESLocalRectangle.type,ja));let Ap=ja;const el=class el extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){super(),this._subContainer=a;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u));{const m=()=>{const y=n.getCameraInfo(),P=y==null?void 0:y.position,C=[...y==null?void 0:y.rotation];C[0]=360,se(n.viewer,P,void 0,C)};u.addEventListener("click",m),u.style.cursor="pointer",this.dispose(()=>u.removeEventListener("click",m))}{const m=()=>{u.style.display=e.show??w.ESNavigator.defaults.show?"block":"none"};m(),e.dispose(e.showChanged.disposableOn(m))}{const m=()=>{u.style.width=`${e.cssSize?e.cssSize:w.ESNavigator.defaults.cssSize}px`,u.style.height=`${e.cssSize?e.cssSize:w.ESNavigator.defaults.cssSize}px`};m(),e.dispose(e.cssSizeChanged.disposableOn(m))}u.style.position="fixed";{const m=()=>{u.style.top=`${e.cssPosition?e.cssPosition[0]:w.ESNavigator.defaults.cssPosition[0]}px`,u.style.right=`${e.cssPosition?e.cssPosition[1]:w.ESNavigator.defaults.cssPosition[1]}px`};m(),e.dispose(e.cssPositionChanged.disposableOn(m))}u.style.transition=" right 0.4s linear",u.style.transition=" right 0.4s linear",u.style.cursor="pointer";const p=document.createElement("div");u.appendChild(p),this.dispose(()=>u.removeChild(p)),p.style.width="100%",p.style.height="100%",p.style.position="relative";const f=document.createElement("img");p.appendChild(f),this.dispose(()=>p.removeChild(f)),f.style.width="100%",f.style.height="100%",f.style.border="none";{const m=()=>f.src=e.imgUrl;m(),e.dispose(e.imgUrlChanged.disposableOn(m))}const g=l.createAnimateFrameWithStartValues(()=>{const m=n.getCameraInfo(),y=m==null?void 0:m.rotation[0];f.style.transform=`rotate(-${y}deg)`});g.start(),this.dispose(()=>g.destroy()),f.style.transformOrigin="50% 50%"}}}get customDiv(){return this._customDiv}};v(el,"type",el.register("ESCesiumViewer",w.ESNavigator.type,el));let Tp=el;const mD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAEACAYAAADFkM5nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNzdjMTM2OS1jOWY2LTNhNGEtOWM3My01OTJmNWM0Mzg3NjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjJCQzhDNzQyRkFGMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjJCQzhDNzMyRkFGMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmE0ZWU5OWFlLTUyNmYtODY0ZC05OTk0LWQwMzE5MTdjZWUyZSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdiN2Q4YjQzLTM4ZDktZjI0ZS04MjIyLWI3MTdiMGQxZDY3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrRBvqMAAAx2SURBVHja7N1/qF51HQfwM5FhMmSIyLBYsmSImQzZhrPMWU1zqKGiVkuHyZQlS1ZYVg6pIVELppg/1hKVUhgi5RY49A+VzMI7QkRusSLWCJMV4xJjLVk9fb48Z3rddrd7n/vc557v+b5e8OFe73Yv5/k47ud9vuc83zOj0+lUAEBZTtACABAAAAABAAAQAAAAAQAAEAAAAAEAABAAAAABAAAQAAAAAQAAEAAAAAEAABAAAAABAAAQAAAAAQAAEAAAQAAAAAQAAEAAAAAEAABAAAAA8nGiFgBHsfAoX9uhLSAAAO0e/ldHfXvU1w5EPR71qDAA7TCj0+noAjB6+L8YNesYf+epqI1CAAgAQHuG/zNRc8fxd0eirqxXBgQByJCbAIFDbhjn8E9mR/26Dg0LtQ4EACDfs/9revi+h6OWCwGQHzcBAofM6/H7vhu1p/7c5QCwAgBkZM0kvz+tBJxtJQAEACAvM/vwM34WtVgIgDx4FwCQ/D1qTp9+1qL6o8sBYAUAaLB0xn56H3/e0KifCwgAQEG/C4a0FAQAoEzPWAUAAQAoT9pUaLMQAAIAUJ4FUTcKAdA8NgICptpXo06qP/fOALACABTk1qg7rASAFQCgPF+K2mUlAAQAoDx3R/1HCAABACjP+qjdQgBML/cAANPhiahZlXsCQAAAivNi/VEIAAEAKIwtg0EAAAplt0AQAIACpd0CnxACQAAAynNO1ANCAAgAQHkuiLpXCAABACjPpVFfFwJg6tkICGiaz0e9VX9uoyAQAIApMr+Bx/S1qINCAEwdlwCAeQ09rm/Ux+ZyAAgAwBT4WIOPbUvUHCEABACgv9JgvWaMP9vXkGPc5n8TCABA/411L9CsBh3jNqsAIAAA/XNeJseZLgM8JwSAAABMXhqmqzI63tOEABAAgP64ILPjTSHAcwNAAAAmcfb/mUyP/RwhAAQAoHffz/jYUwj4lhAAAgAwsbP/T7TgdaS3L64RAqA3tgKGMm1syeu4KepP9ee2DAYBADjG2f/DLXtN66N2CwEwMS4BQFnDf0HVziXzdFPg/MrlABi3GZ1ORxegjOGfDLX8dS6yCgBWAID3GyrgNf7WKgAIAMB7Z/+lPFAn3df0GyEABAAw/KtqbdXdS78UMysbBcFxuQcA2j3810VdVejrH45aWbknAAQAKGjwJ7+I+lDhvXil6q6ACAEgAEARw39IK961teruFSAEwCjuAYD2DP5Utxj+R0iXQDw3AKwAgLP+Qq2Ket1KAAgA0JbBvynqfO0Yl5uj3hQCQACAXId+8nTUmVoyYUuiDgoBCAACAOQy8JM7o67XlklbVH8UAiiWpwFC84Z8cm7UJVHLo07Tor4bGhUCwAoAMLAhf0rU3HrIp2HvGv7gjUQtswqAAAD0e9CnIT+nPtO8MGqx9jTOzqgVQgACADDRIX9G/THdWHZW1NLKkn1u/hZ1tRCAAAAcPuQP/fdH6o9p6M/XolZ5Lep2IQABAMoc9Oma/OeiTq3rQu0pyhtVdydFIYAieBcApQ35U+shP6/q3nyX/vtkLSKcF3Vt/bkQgAAAmQ77dD3+tqjTq+6S/WytYRzuivqHEEAJXAKgTUP/nqgLKjfhMXm2DEYAgIYP/fRWuxcqT7ak/+wWiAAADR3+nn6HEAACAAUN/rTUf4V2IASAAEAZwz/drf+yViAEwOS5bkouw3+14c80crkJKwAwDcN/fdRntYJptj/qYqsAWAGAwQz/+w1/GiJdgnqyOvrjm0EAgD6f+duOlyZJz4B4UAhAAICpG/73OPOnodJjndcIAeTOVsA0cfinbXy9zY8muylqb/25ewLIkpsAaWIAcMc1uUg3Be4XAsiRSwA0bfg/pw1k5OVR/3ZBAIAeh/+CyoN8yM+QEIAAAJOzWQsQAkAAoKyz/7XagBAAAgDl+aIWIASAAEBZZ/9rtIEWhgAQAOA4btICWuY5qwAIAADlSe9muV8IQACAsX1TC2ip9ByL1UIATWUrYKZT+sW4VBtosS9HvVV/brdArADAKDb+oe3ujjrDSgACAEB5nq0/CgEIABDO1gIK4u2BCABQu1wLKMwqqwAIAFBVM7WAwtyqBQgAAGXaZhUAAYDSeRsqJZrj3z4CAECZ7BKIAABQoMVagAAAUKZPWQVAAKBUroNSsh9oAQIAACAAAAACAEBbrdACBACA8qSdAd0IiAAAUJiTtQABAAAQACjCQS0AEAAAAAGAAtgICEAAAAAEAABAAAAABACANhjWAgQAgPI8ELVDGxAAAMpi+CMAAAACAEDbjWgBAgClshUwJUuPAnYJAAEAoDB7tAABAKAsP9ECBACA8myuLP8jAFAw9wBQooe0AAGA0r2jBRToMWf/CACU7oAWUJjVWoAAAFX1rBZQkOH6zN/ZPwIAxXtLCyho+K80/BEAAMpi+CMAwGHe1gJabpEWIADA+6Uzoq3aQIvdOOrfOggAMMpmLaCl0h3/fzT8EQBgbJ6KRtv8qHLHPwIAHFP6BblBG2iR7VFbDH8EADi+57WAFg3/dYY/AgCMnx3SaAPDn2ycqAU0gF+Y5G5/1MXagBUA6M1lWkCmLq7c9IcAAD2vAuyNek0ryOzM30Y/ZGlGp9PRBZpkYdSQNpCBg1FLnPVjBQD659NaQAYuMvwRAKB/0i/Uf0V9RytosBvrFQDIlncB0NQQkHwg6m7toGFs8YsAAAMIAenf6F3aQUPcV7nbHwEABhYCKiGABngo6knDn7bwLgBykN4ZcEbUs1rBNPl91G2GPwIATE8ISF6Imq0dDNBw1ErDHwEApj8IXBp1r1YwADujVhj+CADQrNWATVHnawdT5ND+/oY/AgA0NAjcH3WhdtBHdvlDAICMgkAKAZdELY+aqS1MwiLDHwEA8g0E6V6BD0bNizo76kytYRyW1CsAAgACALQoFCRn1aHgw1ELok4XDqila/77DX8EACgvHMytA0EKB1fVYcHlhDLcEfWq4Y8AAIwOB2nXzFOr7oZEH436ZOUdCG2SHj71vOGPAABMZNWgqlcN5lfdRxnPr4s8PBL1qOGPAABMRThI9xxcFnWF9jTKU1EbDX8EAGCQweBQOEg3Ii6LWqpFA7U9ap3hjwAANDEcpGDwlcqNiP22K+o6wx8BAMglHJwS9UzlgUiT8UbULYY/AoAAALkGAg9FmriRqruqYvgjAAgAkH0QWBq1QTvGxRa/UDtRCyBbOw4bbMmWqvuOA44+/AErANDaVYEhbTjCtVG7nf3De07QAmjlme52bXjXasMfrABASSsBSyv3BqyNesXwBysAUIo08F6KurngHvzY8AcrAFDySkC6KXBLYa/7vqgnDX+wAgAlrwT8JerOgl7zVsMfBADgvcsBWwt4rb+LWm/4w/G5BADlaPtbBNPQX234gxUA4Eht3gzH8AcBABjjDDlZJ9gALgFAedp2KWBJ1EFn/2AFADi+a1v0Ogx/6IGHAUF5Dg3L9Gjc2Rm/jhsqW/yCFQBgwiEg570Bflh19zcw/EEAACbo9UyP+6dRTxv+IAAAvXsks+NNmxltMvxBAAB6l4botsyGv13+QAAA+mDPMf5sX4OO8yXDHwQAoL+Gx/j6rAYd452GPwgAQP+kofqrhh+jXf5AAACmwF8zGP7O/kEAAPpsuKHHdaXhDwIAMHX2NfCY0i5/bxv+IAAA5bDLHwyAZwEATfK9qrs3geEPVgCAATjYgGN43PAHAQAYrOleDUy7/D1o+IMAAJTDFr8gAACFGTH8QQAAyrPM8AcBACiLLX5BAAAKY5c/EACABvjfgIe/Xf5gms3odDq6APx3QCcEt0e9ZviDFQCgGQaxEdA6wx8EAKCsAJCG/3bDHwQAoFmmcifAhwx/EACAslYAfh71mOEPzeMmQCD5d9RJff6ZO6NWGP4gAADlBIB3oj5u+ENzuQQAJLv7/PMMfxAAgAzs7OPPssUvCABAJvb06edcVH909g8CAJCBP/ThZ1wedcDwBwEAyMdL9fDu1Rei/mn4gwAA5CUN7ld7/N7rov5s+IMAAORpYw/fsyxql+EPAgCQr/SI3l+O8+++WXXv9h8x/CFPNgICRltYdbfuPXeMP0/3CayPet7gBwEAaF8ImBe1YdTX9kZtqoe+wQ8CAACQI/cAAIAAAAAIAACAAAAACAAAgAAAAAgAAIAAAAAIAACAAAAACAAAgAAAAAgAAIAAAAAIAACAAAAACAAAgAAAAAIAACAAAAACAAAgAAAAAgAAIAAAAE32fwEGAMnMSDh4qI2qAAAAAElFTkSuQmCC",vD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAEACAYAAADFkM5nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNzdjMTM2OS1jOWY2LTNhNGEtOWM3My01OTJmNWM0Mzg3NjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkJCOEQ5RUQyRkIxMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkJCOEQ5RUMyRkIxMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmE0ZWU5OWFlLTUyNmYtODY0ZC05OTk0LWQwMzE5MTdjZWUyZSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdiN2Q4YjQzLTM4ZDktZjI0ZS04MjIyLWI3MTdiMGQxZDY3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmdWjtQAABYrSURBVHja7N0L9HZTnQfwbWrNtNZQRteJpBvpMiLkkstErlGKilJC94uRS7ohFU1rpqRJy9JFpXLJpUgSDbpIEc1MMmqV0lsuMciExDv7t85+12rNwvunZ5/9PPv5fNb6La3V6xzf/37+7/k9Z5+9zzKLFy9OAMB8+Ss/AgDQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAAA0AACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAAEADAABoAAAADcCs2DrXd3M9WSa5GtiiZHpKZ2O1Za4L5AINwDRaJtc7c52ea/1cF+Z6YQeZ3vH/Mu3Q6Vi9oINMB+Q6488yvaiTsYpcX821nlyQPzyLFy/2U5gey+U65m4u+DFIh+U6MNedMk19rkNLrrtmLNOyuT6da8e7yfTB0uzM4lgtW8bqRXeT659zvUsuNAC0tFquU3Ktfi9/5sxcL8t1w4xkWrVkekpHmRaa62u5Xj5DuZ5UMj31Xv7M2blemuv6GRqryHXqUsbqrFy7yMW8MQUwHbZLw6271Zfy57bK9YNca8xIpu+npc9JzlKm+5Jr6xnKtW3J9NSl/LnNc12Ua80ZGavnLXCstihj9Qy50AAw5s//4FxfzvWQBf47j0/Dw1k7T2mmmJM8qHw76SVTr7ki07tzfSXX8gv8d1bJ9Z1cu075WB1Yfq8WmutxZazkYm6YAmgnLiKfK98o76+P5No315+mJNODS6bt/4JjHJ5rvynKNKlcH861f2djdUT5/N3R2VjJhQaAauLWXcy3rjqBY52X68W5rm2cafWSabWOMk0617kl13WNMz25ZJrEssVvlUxXdzZW55dc18hFr0wBjC+e2L1wQhf/sEmui3Ot2zDTC0um1TrKVCPXprl+2DjXC0qmSe1ZsFEangtYv/FYRa7vTXCsNi6fwWfJhQaAv9QDcr0/14lpWL4zSSuVzn6PRpm+lIZlcT1k6jVX/K4fkuvkNNxOnqQVc/17rtc2+jvsfRVznScXvTIFMI4Vcn0+DU+813ZUrr1y3S6TXMXyJdM2I2T6ZK43jjRWcs1WLjQAc+cfShf/hBHPuWQ3sEUVM8Wc5ONHzBS3QXesmKlVrti+daeKuZ5WMj1xxEzfL2N1VcVzPL38Xo2dK36vfi0XPTAFUN+bR774h5jfi3m+jSsd/y0jXyTDepUztcoVc+cxh75RpeO/ceSLSVi3jNWmFc/RMtcmcqEBYCFenWvvNP7yr0emYee2t1Q49p4dZmqZ61G5zqmU6/XluGMv/Xp4rm+Un2cNr2uU6xHlM7iXXMw6UwDjiW+ux5e/7McW64fjgZ9bJ3zcTUqmR3aUqddcG+Q6IQ0PgI3ti6W5+kOFY29Ycj1arpnIhQZgbsVfvrEKoMWSqUvTsKztFx1luqRkurKzsaqV61Glsdm4QaYflUw/r3BsuWYrF1PCFMC44kGvTXMd2eDcsR947Au+RUeZYk/6iypkmpZcm0/4uLFZz2Zp2JVwbGuUz9/WFY69JNfhDXNtJRcaAJbmj2l40OeVqc7t63vz0DS85z3eH75MhUy75bqtk0zTkOvMCrni+Ya3puGtfreMnCmWWJ6ehtcKT3qsIlc8b7Bzw1zvkItZYgqgrfimd1IaXtgxtpPKhe0WmeY2V7z9L5acrdog06mlCb65wrFb5jqljJVcaABY0De9Y1ObW22X5doh1xUVMsVGJlt2lKnXXLHL3DHl2GO7vJz38grHjlyfzfV8uWYiFw2YAmjv+jS8jz22/Ry7G4uXEsU83/aVMr2/UabY2GS7imPVU674RhebwMRt3jtHzhTvI4hNq15Q4dg3l4vVO+WaiVy4AzD3ti/d/UNGPu/i0oAcnOsumaY+1yGlJp0rHjr8QhrW8I+d6bA0vOu+xkUtcsXStoc1yHVoyXWXXGgAWJonpWGe72kNzh0P070s140TPm7MWZ7UWaZec62chpcgrdMg05kl0w0Vjr1yGau1G+T6Wsn1P3IxTUwBTJ+fpmHb2y80OHe8fCSmBJ4+4ePGvPX65dtKL5l6zfWrNGxL/IkGmbYqmdaocOyWuWLp40VyoQFgIf63dNaxLefYW4LGPuTfTcMysUmKJ9h3aZzpJRWO3WOueDNcbGEdu8GNvfzx8SXTzhWOfZtcM5WLykwBTL/YEjR2A2uxheu/pmEd+qT3xn92yTT2NqeLS6a3pzr7/bfOFWM16Tn0Z6bhFvNjG3z+YgOc/SqN1dol18oNcsVGTPvLhQaAhYgtQY9Lbd7W9c1yN+C6CplabXNaK1PrXOeUb2KTzhXLH2Oa47kNMp2X68W5rq1w7Ja5zi25rpOLVkwBzIbYEnTz8i1v7I7tOWmY53tmhUyxzemHOsrUOtdmlXLF8seY722x/DGa3nhV7boVjr0k16ENcm1acq0jF+4AsFA75fpUrmVHPm/MLcarZY+Raa5ztVr+GM8lxLbMn6x0/OeXXA+WayZyoQGYW7Ehxynln2P7eK5/SsM++ZO0ehqWP7bIdGTJVOMhvh5ztVyqelQaHri8vcKx5ZqtXGgA5tay5dvlTg3O/d1y3t9M+LjLlUw7Nsj0nTTMXf6mwrFb54qx+u2Ej/u3uY5ObZ7+/l75WS6q9HsVuV7aINcFZazkYhSeAZhdsfwsln/tk8Z/6naDNMw1bzjh4/6+XIT3bZBpw0qZpiHXxRVyxVLVXVK9Oyf3Zr2SaeNKv1fR1OzdINf65TP4bLlwB4CFigelYpXAo0Y+7x3lAnBkhWNvmoYnmXvK1Guu2IgmVj78fYNM0VQdUen4Pec6odFnsGYuNABz69HlL6sWXfYxaXjobNKbkKxYGpueMvWaq+Xyx8/lem2uWysc+1HlYrmRXDORi/vAFEA/Yu46lrcd3uDcu6VhrnnSm8UsKpk+0ijTt1OdDVV6zNVy+eOu5fP3uArHvrqMVctcq8iFOwAsVMw3x/KbsZef/S4NDxmdU+HY8bzDJxpkig1Ndq6UqXWuGKtvVjh2PKAXDz0uN3KmWP8ezyWcVen4O5Xfqxa5YqzOlgt3AFiauLUXG6dcPvJ547WkX0/DPN8yEz523F5+VoNMD6+YqXWusyrl+lL5/F02cqbYAS/eknhApbE6seT6SYNc8abE/eXCHQAWquVSwbiwxctJbpnwcVsuqauVqddcy5a7Gy9pkCn2w9+t0ljJNVu5cAdgLi1ZKvjWNP7yszhvrP990oSPu2RJ3T6NMsUeCE+scOwec8XnL27xtlgq+KJcF+ZatdLvVeTaW66ZyIU7AHOv1dKfG9Pw0M/pnWWK1zWf0eFY1coVKx5i5cPYb7W8Kdcrcn2l0vFb5orfq9Mq5mrxZsvauXAHYC59K9ea5Z9jWj7Xl3MdlCY/zxdZ1mqU6bRKmXrNFSsP4lW1542cKd5ZcGquQyr9fdcyV/xeHVwx1zM7zIU7AHPtgbk+mIbbsmM/eHNa6e5vqpRp7wY/z1qZes0VmQ5Lw1TH2J+/M8odjhsrjVWrXF/N9fKKuT6QhmnEnnKhAZhrn0/DkqmxxbexHWSa+1yfScOt+bHFVNR2FY/fKlc0bNvLxX3hFsv8eVAa1vy2uKCcVL5V1sj0qUaZvlQpU6+5ItPRjS4mp5Y7AKmzXCdXzvWJDnOhAZg7sVNa7MC1+8jnvTPX29OwHPGWCpniCfZXNcj0tjQ8uX9LpbHqLVfsFBnPNew5cqa7cr0r1wtz3Vzh+K1yxVi9Mw1LR39f4firpOFZgD06y0XxQD+CubFNGvbgXmHk89bcnW3bXJ9tlKnmDmY95toq17Fp2PxlTDeUb5FnVjq+XLOVC3cA5m6MD07DXNrYF5RLc61T4eIfmd6ThqVdY2e6JA1PfZ9daax6yxWZDkzDA11jX0x+VD5/Z1Yaq15zHdRhLtwBmDsPLd/6t25w7vj2EG/8+kOFTMeWbyhjq/kWsx5zrVDuZGzbIFO8cnnPCp+/3nPFZ2GbznLhDsDciTW8FzW4+McOYnul4QGySf8yr10ybdUo0ysqXfx7zLVmyTT2RTJ2UYwla7tUupj0mmutkmubznLhDsDciYd2/i0NT/CO6Zo0PDx2foVjx7eDj3aWqddc8eDikQ0yXVcynVvp+L3mioeCP9ZhLjQAc+VB5Rd59wbnjn28Yz/vRTLN9VgdkevVDTL9oGS6qtJY9Zrro2n81Qu1c7FApgD60WqJX4j1z5tUuKAsWQrXU6Zecy1ZCtfiIhl7JWxc6WLSMlfs17FRpVyrpDZLF2vnQgMwd7YuHfVaI5/39lyvKXX7hI8dc5ExJ7lmR5l6zbVlrovT8CzDmP6Y6w1pmPK6rcLxW+WK8XlduTjX+AxuVT6DveVCAzB34xdLdmJ707GX7Cwq3ySPrpSpxbLFWpla5/p1pVyxN3xssHNGg8/fb3L9Y66PVzh2y1yLSq6jKuV6d2qzxK9mLu4nzwDMrr9Lw5KdFkuR4sGxeHjnmgqZjk1tliHVypRS2+VV55Vc1074uMuXTM9rkCmmumJXyd9WOHbLXN8uua6ulOvYRn9f1MyFOwBz5xlpuDXZ4pc5HobavMKFckmmFhfJj+TarNLFP3Jd1DDX5hUu/mukYcqpxUXyY+WbZI2L/xplrFrkilU7z6l0kVzyGdy2s1xoAObOK9PwANnjRj5vrBOP9eKxbvyOCpkuaJAp1h3H60bj1ch/qjRWveXatXz+njhyptvKz/NNFT5/f57rCY1yvbliru90mIsJMAUwO/4m14dzvb7Bua9Mw4tULqmQ6fA0PBg0tl+UTJdWGqvecv11rg/lemODTL8smX5Y4dg954q/L97QWS40AHNnpTS8nvVZDc4d+/jHLl3XT/i4j8l1YmeZluSKsVq3o1wrlrFav0Gmc9LwgqLfVTj2imWs1pNrJnIxYaYApt9zSic99oVyca4PpGHu+voKmS7uLFPYrORat6Ncm5bP3/oNMv1LGpbi1biY/GPJtZ5cM5ELDcBciSU7byvf6h4+8rnjPfDx1O7b0/BubpmWnuuAXF/vbKz2zfWNXI9okGnnXPtVGqt9y2dQrunPRUWmAKbTg3Mdk2uHBue+opz3MpnmNtdyadhdb8cGmX6Whvnj/6xw7Mj16TRsQTu2n5Zc/1XpM/ipDnOhAZg7T8l1cq7VGpw7NqmJp4ZvkmlBnlpyrdpRrifnOqX8c2yx8c7Lct1Y4dirl7Fqkev0MlZyMVVMAUyX2LDlwgYXyrtyHZzr+RUuKD1mCi/J9b0GF//IdVClXPEN8vsNLiYxf/zeXNtVupi0zPWeMlZy4Q4A9zgOh+XaJw1zeWO6sXTxp8u04FzxwN1bG+V6WfmmPEkPyPX+XPs3yHRzGauvVDh25Do0DXPTY+e6qeQ6TS40ANyTeGjs+DQ8vTu2H6dhDvmnMi041wlpeDJ+bDEnHnOtP5vwcR+W67g0rGAY22Ul039XGqsvNswVn8Er5GKamQJoK5aLXdzoQhnrutercKFsmen4SplCLFn8YaOLf+TaoMLFf+0yVi0uJieVn2mNi3/kuqhxrivkQgPAPYn3i8cLaB4z8nljmU4sxYs57Fs6yhS3Q3eukCnEK3TjpTordZRr9zS8D37lBpliyeJOlcZqD7lmKhcNmQIY34PS8IKMPRqcOzboiF26zpFpbnPFNsVHlKZmbLFJUexUeFaFY8s1W7nQAMyd6N5ji851Gpw7bl/HfOsvZVpwrrjtuXZHuVpuKX1pyfSLCsdeqYzVunLNRC6mhCmA8cS83UWNLpSfzbVhhQtKj5n+PNfaHeXaNLXZUjp8vmSqcTFZsvXtunLNRC40AHMllunEPG6LbWLjNZzxOs54LedtMi0o1/4d5oqlmN9okCleRRyvJI5XE/+hwlhFrrMajdVecjHzF6fFixf7KdR1ZGrzCt+r0/DgzrdlmutcR5TGYmzXpmETqPMqHf+jud7UINc1Jdf5cqEBYGniifjYqnPM28kXlAvKIpnuc65Tc63VUa4Vy1iNeSs5dqeLXep+XfEcLebHLyy5FslFD0wB1HdVro1yfW6k8x2VhvnDRTLdr1wx93nsSLk+noa5+Zq54tibpOElOGP4ZK6NK1/8Uzl+5PrMSLmOLudbJBcaAO6LmNN9Ra690zAvWsPtufbM9bryv2W6/7l2rZwrzhFLC9+Q648jZYp1/29JwzxvrbF6bRmvMcdqt5Kr5mfwNaXkoiumAMYX32RjO9mHTfhbw5IXg8g0Oc9Jwy58k8x1Vcn1g0aZ4tte7AI5yQfMFpVMFzYcK7lmKxcagLn12DS8cnXNCRwrHrKKh3eu7SjTuSXTdVMwVqukYQ69p1yTfNbh/JLpmikYq5XLZ1Cu2chFY6YA2og13s9Ow0s9/hIfzrX5FFz8J53puVNy8Q9XllzHdZRrUs86HFE+f9NyMflVGSu5ZiMXGoC5FetsY5vNWE9/5/38d+OVtH+SaZRcsR///h3lWvKsw/3577o1Dc9/xJrxO6ZsrG4tufaRayZy0ZApgOnw3PLN+aEL+LM/T8MWnT+SqVmuuBuwQke5NiuZFvKsw5Ul0yUzMFaR6/gFfgblwh0Amohd2mLd738s5c+dmYZtd38kU9Nc63SW65zy33rpUv7c2WnY+2FWLibnlP/epY3BWXKhAaCl+LYY73w/4W7+v7hNc2iu5+W6QaapyBVz6Cd2lOvKkum4e8j0wVxbpeENcWnGcm1wL7k+kGsbuZhHpgCmcExyvS3X+3I9INfv07Am+GSZpjLXAbneW3LdnOtVHeSKZzgOK5niHfC730OzM2tjtV9pzpbkis/gSXKhAWDabJ3rwPKX709kmolccfG/vJNMW+Q6JA0bFv24o7HaMtfBJddlcqEBAADmimcAAEADAABoAAAADQAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAADQAACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAHDv/k+AAQD4HcieQJZ+TQAAAABJRU5ErkJggg==",tl=class tl extends br{constructor(e,n){super(e,n);v(this,"_signal");if(this._signal=this.disposeVar(new Ji(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._signal;this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),r.color=[1,1,1,1];{const s=()=>{r.show=e.show&&e.materialMode!=="pureColor"&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.materialModeChanged));this.d(a.don(s))}{const s=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.speedChanged,e.materialModeChanged,e.strokeWidthChanged,e.strokeMaterialParamsChanged));this.dispose(s.disposableOn(()=>d()));const a=vD,c=mD,d=()=>{var P;if(!(e.points&&e.points.length>=2))return;r.width=e.strokeWidth*2;const u=((P=e.strokeMaterialParams)==null?void 0:P.Elongation)??5,p=this.sceneObject.getDistance()??0,f=Math.ceil(p/(10*u)),g=f;r.repeat=f;const m=e.speed;r.duration=p/g/m*1e3;const y=e.materialMode;y==="singleArrow"||y==="purple"?r.imageUrl=c:(y==="multipleArrows"||y==="blue")&&(r.imageUrl=a)};d()}}get signal(){return this._signal}flyTo(e,n){const{sceneObject:o,czmViewer:r,signal:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,signal:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(tl,"type",tl.register("ESCesiumViewer",w.ESPath.type,tl));let Mp=tl;const an=class an extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_czmCustomPrimitive");v(this,"_geoBoundingSphere");this._czmCustomPrimitive=this.disposeVar(new ke(e,n)),this._geoBoundingSphere=this.disposeVar(Bm([this,"positions"]));const{czmCustomPrimitive:o}=this;this.dispose(l.track([o,"show"],[this,"show"])),this.dispose(l.track([o,"allowPicking"],[this,"allowPicking"]));const r=this.disposeVar(l.react(0));{const s=()=>{if(!this.positions||this.positions.length<3){o.show=!1;return}o.show=!0;const[c,d,u]=Mt({originPosition:this.positions[0]},this.positions);o.modelMatrix=d,o.cull=!1,c.push(c[0]);const p=c.length,f=[...c,...c.map(C=>[C[0],C[1],C[2]+(this.height??an.defaults.height)])],g=c.reduce((C,E,T,I)=>{if(T===0)return C.push(0),C;const b=T-1,x=I[b],z=Math.sqrt((x[0]-E[0])*(x[0]-E[0])+(x[1]-E[1])*(x[1]-E[1]));return C.push(C[b]+z),C},[]);r.value=g[p-1];const m=g.map(C=>C/r.value),y=[...m.map(C=>[C,0]),...m.map(C=>[C,1])];o.attributes={a_position:{typedArray:new Float32Array(f.flat(1)),componentsPerAttribute:3},a_st:{typedArray:new Float32Array(y.flat(1)),componentsPerAttribute:2}};const P=o.computeLocalAxisedBoundingBoxFromAttribute("a_position");if(!P){console.warn("包围盒计算存在问题!");return}o.setLocalAxisedBoundingBox(P.min,P.max);const S=[...new Array(p-1).keys()].map(C=>[[C,C+1,C+p+1],[C,C+p+1,C+p],[C+p+1,C+1,C],[C+p,C+p+1,C]]).flat(2);o.indexTypedArray=new Uint16Array(S),o.vertexShaderSource=` in vec3 a_position;
|
|
1726
|
+
`;function fD(t){return new DOMParser().parseFromString(t,"application/xml")}const ns=class ns extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_loadFuncReact",this.disposeVar(l.react(void 0)));v(this,"_clock");v(this,"_resetClockEvent",this.disposeVar(new l.Event));v(this,"_dataSource",this.dv(l.react(void 0)));this._clock=this.disposeVar(new ue(e)),this.dispose(l.bind([this.clock,"startTime"],[this,"startTime"])),this.dispose(l.bind([this.clock,"stopTime"],[this,"stopTime"])),this.dispose(l.bind([this.clock,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this.clock,"multiplier"],[this,"multiplier"])),this.dispose(l.bind([this.clock,"clockStep"],[this,"clockStep"])),this.dispose(l.bind([this.clock,"clockRange"],[this,"clockRange"])),this.dispose(l.bind([this.clock,"shouldAnimate"],[this,"shouldAnimate"])),this.dispose(l.bind([this.clock,"enabled"],[this,"clockEnabled"]));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}let r;r=document.createElement("div"),o.container.appendChild(r),r.style.pointerEvents="none",r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",this.d(()=>{o.container.removeChild(r)}),this.d(this.flyToEvent.don(u=>{e.actived&&this.dataSource&&(u!==void 0?o.flyTo(this.dataSource,{duration:u/1e3}):o.flyTo(this.dataSource))}));const s=()=>{this.dataSource&&(o.dataSources.remove(this.dataSource),this._dataSource.value=void 0)};this.d(()=>s());const a=()=>{if(!this.dataSource){console.warn("resetClock warn: dataSource is undefined!");return}const{dataSource:u}=this;u.clock&&(this.startTime=h.JulianDate.toDate(u.clock.startTime).getTime(),this.stopTime=h.JulianDate.toDate(u.clock.stopTime).getTime(),this.currentTime=h.JulianDate.toDate(u.clock.currentTime).getTime(),this.multiplier=u.clock.multiplier,this.clockStep=ue.getClockStep(u.clock.clockStep),this.clockRange=ue.getClockRange(u.clock.clockRange))};this.d(this.resetClockEvent.don(a));const c=()=>{this.dataSource&&(this.dataSource.show=this.show??ns.defaults.show,r.style.display=this.show??ns.defaults.show?"block":"none")};c(),this.d(this.showChanged.don(c));const d=this.dv(l.react(void 0));{const u=()=>{var g;if(this.uri)if(this.uri&&typeof this.uri!="string")(g=h.Resource.fetchXML({url:this.uri.url,headers:this.uri.headers,queryParameters:this.uri.queryParameters,templateValues:this.uri.templateValues,proxy:this.uri.proxy,retryCallback:this.uri.retryCallback,retryAttempts:this.uri.retryAttempts,request:this.uri.request}))==null||g.then(m=>m);else return w.ESSceneObject.context.getStrFromEnv(this.uri)},p=()=>{d.value=(this.data&&fD(this.data))??u()};p();const f=this.dv(l.createNextAnimateFrameEvent(this.uriChanged,this.dataChanged));this.d(f.don(p))}{const u=this.dv(l.createProcessingFromAsyncFunc(async g=>{if(s(),!d.value)return;let m;try{m=await h.KmlDataSource.load(d.value,{camera:o.scene.camera,canvas:o.scene.canvas,screenOverlayContainer:r,clampToGround:this.clampToGround})}catch(y){m=void 0,console.error(`kml加载报错:${y}`),console.error(y)}if(m&&(m.entities.values.forEach(y=>{h.Entity.prototype&&(m.ESSceneObjectID=n)}),g.check(),o.dataSources.add(m),this._dataSource.value=m,c(),(this.autoResetClock??ns.defaults.autoResetClock)&&a(),!!this.loadFun))try{this.loadFun(m,o)}catch(y){console.error(y)}})),p=()=>{u.isRunning&&u.cancel(),u.restart()};p();const f=this.dv(l.createNextAnimateFrameEvent(d.changed,this.loadFunChanged,this.clampToGroundChanged));this.d(f.don(p))}{const u=()=>{if(this.loadFuncStr)try{const p=Function(`"use strict";return (${this.loadFuncStr})`)();this.loadFun=p}catch(p){console.error(p),this.loadFun=void 0}else this.loadFun=void 0};u(),this.d(this.loadFuncStrChanged.don(u))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get loadFun(){return this._loadFuncReact.value}set loadFun(e){this._loadFuncReact.value=e}get loadFunChanged(){return this._loadFuncReact.changed}get clock(){return this._clock}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}get dataSource(){return this._dataSource.value}};v(ns,"defaults",{show:!0,allowPicking:!0,defaultLoadFuncStr:A0,defaultLoadFuncDocStr:pD,data:dD,dataMd:uD,autoResetClock:!0,clockEnabled:!1,startTime:ue.defaults.startTime,stopTime:ue.defaults.stopTime,currentTime:ue.defaults.currentTime,multiplier:ue.defaults.multiplier,clockStep:ue.defaults.clockStep,clockRange:ue.defaults.clockRange,shouldAnimate:ue.defaults.shouldAnimate,uri:"${earthsdk3-assets-script-dir}/assets/misc/bikeRide.kml",clampToGround:!1});let Ao=ns;(t=>{t.createDefaultProps=()=>({show:!0,uri:void 0,data:void 0,allowPicking:void 0,loadFuncStr:void 0,autoResetClock:void 0,clockEnabled:void 0,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:void 0,clockStep:void 0,clockRange:void 0,shouldAnimate:void 0,clampToGround:void 0})})(Ao||(Ao={})),l.extendClassProps(Ao.prototype,Ao.createDefaultProps);const Ya=class Ya extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const o=this.disposeVar(new Ao(e,i.id));this.dispose(l.track([o,"show"],[i,"show"])),this.dispose(l.track([o,"allowPicking"],[i,"allowPicking"])),this.dispose(l.bind([o,"data"],[i,"data"])),this.dispose(l.bind([o,"uri"],[i,"uri"])),this.dispose(l.bind([o,"loadFuncStr"],[i,"loadFuncStr"])),this.dispose(l.bind([o,"autoResetClock"],[i,"autoResetClock"])),this.dispose(l.bind([o,"clockEnabled"],[i,"clockEnabled"])),this.dispose(l.bind([o,"startTime"],[i,"startTime"])),this.dispose(l.bind([o,"stopTime"],[i,"stopTime"])),this.dispose(l.bind([o,"currentTime"],[i,"currentTime"])),this.dispose(l.bind([o,"multiplier"],[i,"multiplier"])),this.dispose(l.bind([o,"clockStep"],[i,"clockStep"])),this.dispose(l.bind([o,"clockRange"],[i,"clockRange"])),this.dispose(l.bind([o,"shouldAnimate"],[i,"shouldAnimate"])),this.dispose(l.bind([o,"clampToGround"],[i,"clampToGround"])),this.dispose(i.flyToEvent.disposableOn(r=>{e.actived&&o.flyTo(r&&r*1e3)}))}};v(Ya,"type",Ya.register("ESCesiumViewer",rh.type,Ya));let wp=Ya;const Za=class Za extends Ce{constructor(e,n){super(e,n);v(this,"_czmGeoCircle");v(this,"_geoPolyline");if(this._czmGeoCircle=this.disposeVar(new co(n,e.id)),this._geoPolyline=this.dv(new Ie(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoCircle,s=this._geoPolyline;{const a=()=>{s.positions=gD(e.position,e.rotation,e.radius)};a();const c=this.dv(l.createNextAnimateFrameEvent(e.positionChanged,e.rotationChanged,e.radiusChanged));this.dispose(c.don(a))}{const a=()=>{r.show=e.show&&e.filled,s.show=e.show&&e.stroked};a();const c=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged,e.strokedChanged,e.strokeGroundChanged));this.dispose(c.don(a))}s.loop=!0,this.d(l.track([s,"ground"],[e,"strokeGround"])),this.d(l.track([s,"color"],[e,"strokeColor"])),this.d(l.bind([s,"width"],[e,"strokeWidth"]));{r.outline=!1,this.dispose(l.track([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"])),this.dispose(l.bind([r,"radius"],[e,"radius"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.bind([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"ground"],[e,"fillGround"]));{const a=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material={type:"Color",color:w.ESLocalCircle.defaults.fillStyle.color}};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(c.disposableOn(a))}}}get czmGeoCircle(){return this._czmGeoCircle}get geoPolyline(){return this._geoPolyline}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this._czmGeoCircle.show=e.show&&e.filled&&s,this._geoPolyline.show=e.show&&e.stroked&&s}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoCircle:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.position?(Jt(r,o,n,o.position,o.radius,e,!0),!0):!1:!1}};v(Za,"type",Za.register("ESCesiumViewer",w.ESLocalCircle.type,Za));let Cp=Za;function gD(t,i,e){const o=2*Math.PI/36,r=[];h.Cartesian3.fromDegrees(...t);let s=function(c){let d=new h.Cartesian3(c.x,c.y,c.z),u=h.Cartographic.fromCartesian(d),p=h.Math.toDegrees(u.latitude),f=h.Math.toDegrees(u.longitude),g=u.height;return[f,p,g]};const a=Fe({initialRotation:"yForwardzUp",rotation:[i[0],i[2],-i[1]],position:t});if(!a)return r;for(let c=0;c<36;c++){let d=new h.Cartesian3(e*Math.cos(o*c),e*Math.sin(o*c),0),u=h.Matrix4.multiplyByPoint(a,d,new h.Cartesian3);r.push(s(u))}return r}const Qa=class Qa extends Ce{constructor(e,n){super(e,n);v(this,"_czmESLocalLineStringZ");if(this._czmESLocalLineStringZ=this.disposeVar(new zs(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESLocalLineStringZ;n.add(r),this.dispose(()=>n.delete(r));{this.dispose(l.track([r,"strokeWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"strokeColor"],[e,"strokeColor"]));const s=()=>{r.show=e.show&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.don(s))}this.dispose(l.track([r,"loop"],[e,"loop"])),this.dispose(l.track([r,"hasDash"],[e,"hasDash"])),this.dispose(l.track([r,"gapColor"],[e,"gapColor"])),this.dispose(l.track([r,"dashLength"],[e,"dashLength"])),this.dispose(l.track([r,"dashPattern"],[e,"dashPattern"])),this.dispose(l.track([r,"hasArrow"],[e,"hasArrow"])),this.dispose(l.track([r,"depthTest"],[e,"depthTest"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"position"],[e,"position"])),this.dispose(l.track([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(!e.points){r.points=void 0;return}r.points=e.points.map(a=>[a[0],a[1],0])};s(),this.dispose(e.pointsChanged.disposableOn(s))}}get czmESLocalLineStringZ(){return this._czmESLocalLineStringZ}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this._czmESLocalLineStringZ.show=e.show&&e.stroked&&s}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESLocalLineStringZ:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.points&&s.flyTo(e),!0):!1}};v(Qa,"type",Qa.register("ESCesiumViewer",sh.type,Qa));let _p=Qa;const Ka=class Ka extends Ce{constructor(e,n){super(e,n);v(this,"_czmGeoPolyline");if(this._czmGeoPolyline=this.disposeVar(new Ie(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoPolyline;r.arcType="NONE";{this.dispose(l.track([r,"width"],[e,"strokeWidth"])),this.dispose(l.track([r,"color"],[e,"strokeColor"]));const s=()=>{r.show=e.show&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.don(s))}this.dispose(l.track([r,"loop"],[e,"loop"])),this.dispose(l.track([r,"hasDash"],[e,"hasDash"])),this.dispose(l.track([r,"gapColor"],[e,"gapColor"])),this.dispose(l.track([r,"dashLength"],[e,"dashLength"])),this.dispose(l.track([r,"dashPattern"],[e,"dashPattern"])),this.dispose(l.track([r,"hasArrow"],[e,"hasArrow"])),this.dispose(l.track([r,"depthTest"],[e,"depthTest"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"ground"],[e,"strokeGround"]));{const s=()=>{if(!e.points)return;if(e.scale&&e.scale.some(d=>d===0)){console.warn("缩放属性(scale)不能设置值为0!");return}const[c]=gn({originPosition:e.position,originRotation:e.rotation,originScale:e.scale},e.points);r.positions=c};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.dispose(a.disposableOn(s))}}get czmGeoPolyline(){return this._czmGeoPolyline}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this._czmGeoPolyline.show=e.show&&e.stroked&&s}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoPolyline:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ka,"type",Ka.register("ESCesiumViewer",zs.type,Ka));let Pp=Ka;const Ja=class Ja extends th{constructor(e,n){super(e,n);v(this,"_czmESLocalPolygon");if(this._czmESLocalPolygon=this.disposeVar(new w.ESLocalPolygonZ(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESLocalPolygon;n.add(r),this.dispose(()=>n.delete(r)),this.dispose(l.track([r,"stroked"],[e,"stroked"])),this.dispose(l.track([r,"strokeColor"],[e,"strokeColor"])),this.dispose(l.track([r,"strokeWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"fillColor"],[e,"fillColor"])),this.dispose(l.track([r,"filled"],[e,"filled"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"fillGround"],[e,"fillGround"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.bind([r,"rotation"],[e,"rotation"])),this.dispose(l.bind([r,"scale"],[e,"scale"]));{const s=()=>{if(!e.points){r.points=void 0;return}r.points=e.points.map(a=>[a[0],a[1],0])};s(),this.dispose(e.pointsChanged.disposableOn(s))}}get czmESLocalPolygon(){return this._czmESLocalPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESLocalPolygon:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(Ja,"type",Ja.register("ESCesiumViewer",w.ESLocalPolygon.type,Ja));let Sp=Ja;const Ba=class Ba extends th{constructor(e,n){super(e,n);v(this,"_czmGeoPolygon");if(this._czmGeoPolygon=this.disposeVar(new Mi(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoPolygon;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"outline"],[e,"stroked"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"])),this.dispose(l.track([r,"outlineWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"color"],[e,"fillColor"])),this.dispose(l.track([r,"fill"],[e,"filled"])),this.dispose(l.track([r,"ground"],[e,"fillGround"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"]));{const s=()=>{if(!e.points)return;if(e.scale&&e.scale.some(d=>d===0)){console.warn("缩放属性(scale)不能设置值为0!");return}const[c]=gn({originPosition:e.position,originRotation:e.rotation,originScale:e.scale,initialRotationMode:"XForwardZUp"},e.points);r.positions=c};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.dispose(a.disposableOn(s))}}get czmGeoPolygon(){return this._czmGeoPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoPolygon:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Ba,"type",Ba.register("ESCesiumViewer",w.ESLocalPolygonZ.type,Ba));let Ep=Ba;const ja=class ja extends Ce{constructor(e,n){super(e,n);v(this,"_czmLocalRectangle");if(this._czmLocalRectangle=this.disposeVar(new w.ESLocalPolygon(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmLocalRectangle;n.add(r),this.dispose(()=>n.delete(r)),this.dispose(l.track([r,"stroked"],[e,"stroked"])),this.dispose(l.track([r,"strokeColor"],[e,"strokeColor"])),this.dispose(l.track([r,"strokeWidth"],[e,"strokeWidth"])),this.dispose(l.track([r,"fillColor"],[e,"fillColor"])),this.dispose(l.track([r,"filled"],[e,"filled"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"fillGround"],[e,"fillGround"])),this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"position"],[e,"position"])),this.dispose(l.bind([r,"rotation"],[e,"rotation"])),this.dispose(l.bind([r,"scale"],[e,"scale"]));{const s=()=>{const a=e.width??0,c=e.height??0;r.points=[[-a,-c],[-a,c],[a,c],[a,-c]]};this.dispose(e.widthChanged.disposableOn(s)),this.dispose(e.heightChanged.disposableOn(s)),s()}}get czmLocalRectangle(){return this._czmLocalRectangle}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmLocalRectangle:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(ja,"type",ja.register("ESCesiumViewer",w.ESLocalRectangle.type,ja));let Ap=ja;const el=class el extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){super(),this._subContainer=a;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u));{const m=()=>{const y=n.getCameraInfo(),P=y==null?void 0:y.position,C=[...y==null?void 0:y.rotation];C[0]=360,se(n.viewer,P,void 0,C)};u.addEventListener("click",m),u.style.cursor="pointer",this.dispose(()=>u.removeEventListener("click",m))}{const m=()=>{u.style.display=e.show??w.ESNavigator.defaults.show?"block":"none"};m(),e.dispose(e.showChanged.disposableOn(m))}{const m=()=>{u.style.width=`${e.cssSize?e.cssSize:w.ESNavigator.defaults.cssSize}px`,u.style.height=`${e.cssSize?e.cssSize:w.ESNavigator.defaults.cssSize}px`};m(),e.dispose(e.cssSizeChanged.disposableOn(m))}u.style.position="fixed";{const m=()=>{u.style.top=`${e.cssPosition?e.cssPosition[0]:w.ESNavigator.defaults.cssPosition[0]}px`,u.style.right=`${e.cssPosition?e.cssPosition[1]:w.ESNavigator.defaults.cssPosition[1]}px`};m(),e.dispose(e.cssPositionChanged.disposableOn(m))}u.style.transition=" right 0.4s linear",u.style.transition=" right 0.4s linear",u.style.cursor="pointer";const p=document.createElement("div");u.appendChild(p),this.dispose(()=>u.removeChild(p)),p.style.width="100%",p.style.height="100%",p.style.position="relative";const f=document.createElement("img");p.appendChild(f),this.dispose(()=>p.removeChild(f)),f.style.width="100%",f.style.height="100%",f.style.border="none";{const m=()=>f.src=e.imgUrl;m(),e.dispose(e.imgUrlChanged.disposableOn(m))}const g=l.createAnimateFrameWithStartValues(()=>{const m=n.getCameraInfo(),y=m==null?void 0:m.rotation[0];f.style.transform=`rotate(-${y}deg)`});g.start(),this.dispose(()=>g.destroy()),f.style.transformOrigin="50% 50%"}}}get customDiv(){return this._customDiv}};v(el,"type",el.register("ESCesiumViewer",w.ESNavigator.type,el));let Tp=el;const mD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAEACAYAAADFkM5nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNzdjMTM2OS1jOWY2LTNhNGEtOWM3My01OTJmNWM0Mzg3NjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjJCQzhDNzQyRkFGMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjJCQzhDNzMyRkFGMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmE0ZWU5OWFlLTUyNmYtODY0ZC05OTk0LWQwMzE5MTdjZWUyZSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdiN2Q4YjQzLTM4ZDktZjI0ZS04MjIyLWI3MTdiMGQxZDY3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrRBvqMAAAx2SURBVHja7N1/qF51HQfwM5FhMmSIyLBYsmSImQzZhrPMWU1zqKGiVkuHyZQlS1ZYVg6pIVELppg/1hKVUhgi5RY49A+VzMI7QkRusSLWCJMV4xJjLVk9fb48Z3rddrd7n/vc557v+b5e8OFe73Yv5/k47ud9vuc83zOj0+lUAEBZTtACABAAAAABAAAQAAAAAQAAEAAAAAEAABAAAAABAAAQAAAAAQAAEAAAAAEAABAAAAABAAAQAAAAAQAAEAAAQAAAAAQAAEAAAAAEAABAAAAA8nGiFgBHsfAoX9uhLSAAAO0e/ldHfXvU1w5EPR71qDAA7TCj0+noAjB6+L8YNesYf+epqI1CAAgAQHuG/zNRc8fxd0eirqxXBgQByJCbAIFDbhjn8E9mR/26Dg0LtQ4EACDfs/9revi+h6OWCwGQHzcBAofM6/H7vhu1p/7c5QCwAgBkZM0kvz+tBJxtJQAEACAvM/vwM34WtVgIgDx4FwCQ/D1qTp9+1qL6o8sBYAUAaLB0xn56H3/e0KifCwgAQEG/C4a0FAQAoEzPWAUAAQAoT9pUaLMQAAIAUJ4FUTcKAdA8NgICptpXo06qP/fOALACABTk1qg7rASAFQCgPF+K2mUlAAQAoDx3R/1HCAABACjP+qjdQgBML/cAANPhiahZlXsCQAAAivNi/VEIAAEAKIwtg0EAAAplt0AQAIACpd0CnxACQAAAynNO1ANCAAgAQHkuiLpXCAABACjPpVFfFwJg6tkICGiaz0e9VX9uoyAQAIApMr+Bx/S1qINCAEwdlwCAeQ09rm/Ux+ZyAAgAwBT4WIOPbUvUHCEABACgv9JgvWaMP9vXkGPc5n8TCABA/411L9CsBh3jNqsAIAAA/XNeJseZLgM8JwSAAABMXhqmqzI63tOEABAAgP64ILPjTSHAcwNAAAAmcfb/mUyP/RwhAAQAoHffz/jYUwj4lhAAAgAwsbP/T7TgdaS3L64RAqA3tgKGMm1syeu4KepP9ee2DAYBADjG2f/DLXtN66N2CwEwMS4BQFnDf0HVziXzdFPg/MrlABi3GZ1ORxegjOGfDLX8dS6yCgBWAID3GyrgNf7WKgAIAMB7Z/+lPFAn3df0GyEABAAw/KtqbdXdS78UMysbBcFxuQcA2j3810VdVejrH45aWbknAAQAKGjwJ7+I+lDhvXil6q6ACAEgAEARw39IK961teruFSAEwCjuAYD2DP5Utxj+R0iXQDw3AKwAgLP+Qq2Ket1KAAgA0JbBvynqfO0Yl5uj3hQCQACAXId+8nTUmVoyYUuiDgoBCAACAOQy8JM7o67XlklbVH8UAiiWpwFC84Z8cm7UJVHLo07Tor4bGhUCwAoAMLAhf0rU3HrIp2HvGv7gjUQtswqAAAD0e9CnIT+nPtO8MGqx9jTOzqgVQgACADDRIX9G/THdWHZW1NLKkn1u/hZ1tRCAAAAcPuQP/fdH6o9p6M/XolZ5Lep2IQABAMoc9Oma/OeiTq3rQu0pyhtVdydFIYAieBcApQ35U+shP6/q3nyX/vtkLSKcF3Vt/bkQgAAAmQ77dD3+tqjTq+6S/WytYRzuivqHEEAJXAKgTUP/nqgLKjfhMXm2DEYAgIYP/fRWuxcqT7ak/+wWiAAADR3+nn6HEAACAAUN/rTUf4V2IASAAEAZwz/drf+yViAEwOS5bkouw3+14c80crkJKwAwDcN/fdRntYJptj/qYqsAWAGAwQz/+w1/GiJdgnqyOvrjm0EAgD6f+duOlyZJz4B4UAhAAICpG/73OPOnodJjndcIAeTOVsA0cfinbXy9zY8muylqb/25ewLIkpsAaWIAcMc1uUg3Be4XAsiRSwA0bfg/pw1k5OVR/3ZBAIAeh/+CyoN8yM+QEIAAAJOzWQsQAkAAoKyz/7XagBAAAgDl+aIWIASAAEBZZ/9rtIEWhgAQAOA4btICWuY5qwAIAADlSe9muV8IQACAsX1TC2ip9ByL1UIATWUrYKZT+sW4VBtosS9HvVV/brdArADAKDb+oe3ujjrDSgACAEB5nq0/CgEIABDO1gIK4u2BCABQu1wLKMwqqwAIAFBVM7WAwtyqBQgAAGXaZhUAAYDSeRsqJZrj3z4CAECZ7BKIAABQoMVagAAAUKZPWQVAAKBUroNSsh9oAQIAACAAAAACAEBbrdACBACA8qSdAd0IiAAAUJiTtQABAAAQACjCQS0AEAAAAAGAAtgICEAAAAAEAABAAAAABACANhjWAgQAgPI8ELVDGxAAAMpi+CMAAAACAEDbjWgBAgClshUwJUuPAnYJAAEAoDB7tAABAKAsP9ECBACA8myuLP8jAFAw9wBQooe0AAGA0r2jBRToMWf/CACU7oAWUJjVWoAAAFX1rBZQkOH6zN/ZPwIAxXtLCyho+K80/BEAAMpi+CMAwGHe1gJabpEWIADA+6Uzoq3aQIvdOOrfOggAMMpmLaCl0h3/fzT8EQBgbJ6KRtv8qHLHPwIAHFP6BblBG2iR7VFbDH8EADi+57WAFg3/dYY/AgCMnx3SaAPDn2ycqAU0gF+Y5G5/1MXagBUA6M1lWkCmLq7c9IcAAD2vAuyNek0ryOzM30Y/ZGlGp9PRBZpkYdSQNpCBg1FLnPVjBQD659NaQAYuMvwRAKB/0i/Uf0V9RytosBvrFQDIlncB0NQQkHwg6m7toGFs8YsAAAMIAenf6F3aQUPcV7nbHwEABhYCKiGABngo6knDn7bwLgBykN4ZcEbUs1rBNPl91G2GPwIATE8ISF6Imq0dDNBw1ErDHwEApj8IXBp1r1YwADujVhj+CADQrNWATVHnawdT5ND+/oY/AgA0NAjcH3WhdtBHdvlDAICMgkAKAZdELY+aqS1MwiLDHwEA8g0E6V6BD0bNizo76kytYRyW1CsAAgACALQoFCRn1aHgw1ELok4XDqila/77DX8EACgvHMytA0EKB1fVYcHlhDLcEfWq4Y8AAIwOB2nXzFOr7oZEH436ZOUdCG2SHj71vOGPAABMZNWgqlcN5lfdRxnPr4s8PBL1qOGPAABMRThI9xxcFnWF9jTKU1EbDX8EAGCQweBQOEg3Ii6LWqpFA7U9ap3hjwAANDEcpGDwlcqNiP22K+o6wx8BAMglHJwS9UzlgUiT8UbULYY/AoAAALkGAg9FmriRqruqYvgjAAgAkH0QWBq1QTvGxRa/UDtRCyBbOw4bbMmWqvuOA44+/AErANDaVYEhbTjCtVG7nf3De07QAmjlme52bXjXasMfrABASSsBSyv3BqyNesXwBysAUIo08F6KurngHvzY8AcrAFDySkC6KXBLYa/7vqgnDX+wAgAlrwT8JerOgl7zVsMfBADgvcsBWwt4rb+LWm/4w/G5BADlaPtbBNPQX234gxUA4Eht3gzH8AcBABjjDDlZJ9gALgFAedp2KWBJ1EFn/2AFADi+a1v0Ogx/6IGHAUF5Dg3L9Gjc2Rm/jhsqW/yCFQBgwiEg570Bflh19zcw/EEAACbo9UyP+6dRTxv+IAAAvXsks+NNmxltMvxBAAB6l4botsyGv13+QAAA+mDPMf5sX4OO8yXDHwQAoL+Gx/j6rAYd452GPwgAQP+kofqrhh+jXf5AAACmwF8zGP7O/kEAAPpsuKHHdaXhDwIAMHX2NfCY0i5/bxv+IAAA5bDLHwyAZwEATfK9qrs3geEPVgCAATjYgGN43PAHAQAYrOleDUy7/D1o+IMAAJTDFr8gAACFGTH8QQAAyrPM8AcBACiLLX5BAAAKY5c/EACABvjfgIe/Xf5gms3odDq6APx3QCcEt0e9ZviDFQCgGQaxEdA6wx8EAKCsAJCG/3bDHwQAoFmmcifAhwx/EACAslYAfh71mOEPzeMmQCD5d9RJff6ZO6NWGP4gAADlBIB3oj5u+ENzuQQAJLv7/PMMfxAAgAzs7OPPssUvCABAJvb06edcVH909g8CAJCBP/ThZ1wedcDwBwEAyMdL9fDu1Rei/mn4gwAA5CUN7ld7/N7rov5s+IMAAORpYw/fsyxql+EPAgCQr/SI3l+O8+++WXXv9h8x/CFPNgICRltYdbfuPXeMP0/3CayPet7gBwEAaF8ImBe1YdTX9kZtqoe+wQ8CAACQI/cAAIAAAAAIAACAAAAACAAAgAAAAAgAAIAAAAAIAACAAAAACAAAgAAAAAgAAIAAAAAIAACAAAAACAAAgAAAAAIAACAAAAACAAAgAAAAAgAAIAAAAE32fwEGAMnMSDh4qI2qAAAAAElFTkSuQmCC",vD="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAEACAYAAADFkM5nAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA39pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozNzdjMTM2OS1jOWY2LTNhNGEtOWM3My01OTJmNWM0Mzg3NjYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkJCOEQ5RUQyRkIxMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkJCOEQ5RUMyRkIxMTFFRkIzRjJCNDE5M0I3OTE5MzYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmE0ZWU5OWFlLTUyNmYtODY0ZC05OTk0LWQwMzE5MTdjZWUyZSIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjdiN2Q4YjQzLTM4ZDktZjI0ZS04MjIyLWI3MTdiMGQxZDY3MiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmdWjtQAABYrSURBVHja7N0L9HZTnQfwbWrNtNZQRteJpBvpMiLkkstErlGKilJC94uRS7ohFU1rpqRJy9JFpXLJpUgSDbpIEc1MMmqV0lsuMciExDv7t85+12rNwvunZ5/9PPv5fNb6La3V6xzf/37+7/k9Z5+9zzKLFy9OAMB8+Ss/AgDQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAAA0AACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAAEADAABoAAAADcCs2DrXd3M9WSa5GtiiZHpKZ2O1Za4L5AINwDRaJtc7c52ea/1cF+Z6YQeZ3vH/Mu3Q6Vi9oINMB+Q6488yvaiTsYpcX821nlyQPzyLFy/2U5gey+U65m4u+DFIh+U6MNedMk19rkNLrrtmLNOyuT6da8e7yfTB0uzM4lgtW8bqRXeT659zvUsuNAC0tFquU3Ktfi9/5sxcL8t1w4xkWrVkekpHmRaa62u5Xj5DuZ5UMj31Xv7M2blemuv6GRqryHXqUsbqrFy7yMW8MQUwHbZLw6271Zfy57bK9YNca8xIpu+npc9JzlKm+5Jr6xnKtW3J9NSl/LnNc12Ua80ZGavnLXCstihj9Qy50AAw5s//4FxfzvWQBf47j0/Dw1k7T2mmmJM8qHw76SVTr7ki07tzfSXX8gv8d1bJ9Z1cu075WB1Yfq8WmutxZazkYm6YAmgnLiKfK98o76+P5No315+mJNODS6bt/4JjHJ5rvynKNKlcH861f2djdUT5/N3R2VjJhQaAauLWXcy3rjqBY52X68W5rm2cafWSabWOMk0617kl13WNMz25ZJrEssVvlUxXdzZW55dc18hFr0wBjC+e2L1wQhf/sEmui3Ot2zDTC0um1TrKVCPXprl+2DjXC0qmSe1ZsFEangtYv/FYRa7vTXCsNi6fwWfJhQaAv9QDcr0/14lpWL4zSSuVzn6PRpm+lIZlcT1k6jVX/K4fkuvkNNxOnqQVc/17rtc2+jvsfRVznScXvTIFMI4Vcn0+DU+813ZUrr1y3S6TXMXyJdM2I2T6ZK43jjRWcs1WLjQAc+cfShf/hBHPuWQ3sEUVM8Wc5ONHzBS3QXesmKlVrti+daeKuZ5WMj1xxEzfL2N1VcVzPL38Xo2dK36vfi0XPTAFUN+bR774h5jfi3m+jSsd/y0jXyTDepUztcoVc+cxh75RpeO/ceSLSVi3jNWmFc/RMtcmcqEBYCFenWvvNP7yr0emYee2t1Q49p4dZmqZ61G5zqmU6/XluGMv/Xp4rm+Un2cNr2uU6xHlM7iXXMw6UwDjiW+ux5e/7McW64fjgZ9bJ3zcTUqmR3aUqddcG+Q6IQ0PgI3ti6W5+kOFY29Ycj1arpnIhQZgbsVfvrEKoMWSqUvTsKztFx1luqRkurKzsaqV61Glsdm4QaYflUw/r3BsuWYrF1PCFMC44kGvTXMd2eDcsR947Au+RUeZYk/6iypkmpZcm0/4uLFZz2Zp2JVwbGuUz9/WFY69JNfhDXNtJRcaAJbmj2l40OeVqc7t63vz0DS85z3eH75MhUy75bqtk0zTkOvMCrni+Ya3puGtfreMnCmWWJ6ehtcKT3qsIlc8b7Bzw1zvkItZYgqgrfimd1IaXtgxtpPKhe0WmeY2V7z9L5acrdog06mlCb65wrFb5jqljJVcaABY0De9Y1ObW22X5doh1xUVMsVGJlt2lKnXXLHL3DHl2GO7vJz38grHjlyfzfV8uWYiFw2YAmjv+jS8jz22/Ry7G4uXEsU83/aVMr2/UabY2GS7imPVU674RhebwMRt3jtHzhTvI4hNq15Q4dg3l4vVO+WaiVy4AzD3ti/d/UNGPu/i0oAcnOsumaY+1yGlJp0rHjr8QhrW8I+d6bA0vOu+xkUtcsXStoc1yHVoyXWXXGgAWJonpWGe72kNzh0P070s140TPm7MWZ7UWaZec62chpcgrdMg05kl0w0Vjr1yGau1G+T6Wsn1P3IxTUwBTJ+fpmHb2y80OHe8fCSmBJ4+4ePGvPX65dtKL5l6zfWrNGxL/IkGmbYqmdaocOyWuWLp40VyoQFgIf63dNaxLefYW4LGPuTfTcMysUmKJ9h3aZzpJRWO3WOueDNcbGEdu8GNvfzx8SXTzhWOfZtcM5WLykwBTL/YEjR2A2uxheu/pmEd+qT3xn92yTT2NqeLS6a3pzr7/bfOFWM16Tn0Z6bhFvNjG3z+YgOc/SqN1dol18oNcsVGTPvLhQaAhYgtQY9Lbd7W9c1yN+C6CplabXNaK1PrXOeUb2KTzhXLH2Oa47kNMp2X68W5rq1w7Ja5zi25rpOLVkwBzIbYEnTz8i1v7I7tOWmY53tmhUyxzemHOsrUOtdmlXLF8seY722x/DGa3nhV7boVjr0k16ENcm1acq0jF+4AsFA75fpUrmVHPm/MLcarZY+Raa5ztVr+GM8lxLbMn6x0/OeXXA+WayZyoQGYW7Ehxynln2P7eK5/SsM++ZO0ehqWP7bIdGTJVOMhvh5ztVyqelQaHri8vcKx5ZqtXGgA5tay5dvlTg3O/d1y3t9M+LjLlUw7Nsj0nTTMXf6mwrFb54qx+u2Ej/u3uY5ObZ7+/l75WS6q9HsVuV7aINcFZazkYhSeAZhdsfwsln/tk8Z/6naDNMw1bzjh4/6+XIT3bZBpw0qZpiHXxRVyxVLVXVK9Oyf3Zr2SaeNKv1fR1OzdINf65TP4bLlwB4CFigelYpXAo0Y+7x3lAnBkhWNvmoYnmXvK1Guu2IgmVj78fYNM0VQdUen4Pec6odFnsGYuNABz69HlL6sWXfYxaXjobNKbkKxYGpueMvWaq+Xyx8/lem2uWysc+1HlYrmRXDORi/vAFEA/Yu46lrcd3uDcu6VhrnnSm8UsKpk+0ijTt1OdDVV6zNVy+eOu5fP3uArHvrqMVctcq8iFOwAsVMw3x/KbsZef/S4NDxmdU+HY8bzDJxpkig1Ndq6UqXWuGKtvVjh2PKAXDz0uN3KmWP8ezyWcVen4O5Xfqxa5YqzOlgt3AFiauLUXG6dcPvJ547WkX0/DPN8yEz523F5+VoNMD6+YqXWusyrl+lL5/F02cqbYAS/eknhApbE6seT6SYNc8abE/eXCHQAWquVSwbiwxctJbpnwcVsuqauVqddcy5a7Gy9pkCn2w9+t0ljJNVu5cAdgLi1ZKvjWNP7yszhvrP990oSPu2RJ3T6NMsUeCE+scOwec8XnL27xtlgq+KJcF+ZatdLvVeTaW66ZyIU7AHOv1dKfG9Pw0M/pnWWK1zWf0eFY1coVKx5i5cPYb7W8Kdcrcn2l0vFb5orfq9Mq5mrxZsvauXAHYC59K9ea5Z9jWj7Xl3MdlCY/zxdZ1mqU6bRKmXrNFSsP4lW1542cKd5ZcGquQyr9fdcyV/xeHVwx1zM7zIU7AHPtgbk+mIbbsmM/eHNa6e5vqpRp7wY/z1qZes0VmQ5Lw1TH2J+/M8odjhsrjVWrXF/N9fKKuT6QhmnEnnKhAZhrn0/DkqmxxbexHWSa+1yfScOt+bHFVNR2FY/fKlc0bNvLxX3hFsv8eVAa1vy2uKCcVL5V1sj0qUaZvlQpU6+5ItPRjS4mp5Y7AKmzXCdXzvWJDnOhAZg7sVNa7MC1+8jnvTPX29OwHPGWCpniCfZXNcj0tjQ8uX9LpbHqLVfsFBnPNew5cqa7cr0r1wtz3Vzh+K1yxVi9Mw1LR39f4firpOFZgD06y0XxQD+CubFNGvbgXmHk89bcnW3bXJ9tlKnmDmY95toq17Fp2PxlTDeUb5FnVjq+XLOVC3cA5m6MD07DXNrYF5RLc61T4eIfmd6ThqVdY2e6JA1PfZ9daax6yxWZDkzDA11jX0x+VD5/Z1Yaq15zHdRhLtwBmDsPLd/6t25w7vj2EG/8+kOFTMeWbyhjq/kWsx5zrVDuZGzbIFO8cnnPCp+/3nPFZ2GbznLhDsDciTW8FzW4+McOYnul4QGySf8yr10ybdUo0ysqXfx7zLVmyTT2RTJ2UYwla7tUupj0mmutkmubznLhDsDciYd2/i0NT/CO6Zo0PDx2foVjx7eDj3aWqddc8eDikQ0yXVcynVvp+L3mioeCP9ZhLjQAc+VB5Rd59wbnjn28Yz/vRTLN9VgdkevVDTL9oGS6qtJY9Zrro2n81Qu1c7FApgD60WqJX4j1z5tUuKAsWQrXU6Zecy1ZCtfiIhl7JWxc6WLSMlfs17FRpVyrpDZLF2vnQgMwd7YuHfVaI5/39lyvKXX7hI8dc5ExJ7lmR5l6zbVlrovT8CzDmP6Y6w1pmPK6rcLxW+WK8XlduTjX+AxuVT6DveVCAzB34xdLdmJ707GX7Cwq3ySPrpSpxbLFWpla5/p1pVyxN3xssHNGg8/fb3L9Y66PVzh2y1yLSq6jKuV6d2qzxK9mLu4nzwDMrr9Lw5KdFkuR4sGxeHjnmgqZjk1tliHVypRS2+VV55Vc1074uMuXTM9rkCmmumJXyd9WOHbLXN8uua6ulOvYRn9f1MyFOwBz5xlpuDXZ4pc5HobavMKFckmmFhfJj+TarNLFP3Jd1DDX5hUu/mukYcqpxUXyY+WbZI2L/xplrFrkilU7z6l0kVzyGdy2s1xoAObOK9PwANnjRj5vrBOP9eKxbvyOCpkuaJAp1h3H60bj1ch/qjRWveXatXz+njhyptvKz/NNFT5/f57rCY1yvbliru90mIsJMAUwO/4m14dzvb7Bua9Mw4tULqmQ6fA0PBg0tl+UTJdWGqvecv11rg/lemODTL8smX5Y4dg954q/L97QWS40AHNnpTS8nvVZDc4d+/jHLl3XT/i4j8l1YmeZluSKsVq3o1wrlrFav0Gmc9LwgqLfVTj2imWs1pNrJnIxYaYApt9zSic99oVyca4PpGHu+voKmS7uLFPYrORat6Ncm5bP3/oNMv1LGpbi1biY/GPJtZ5cM5ELDcBciSU7byvf6h4+8rnjPfDx1O7b0/BubpmWnuuAXF/vbKz2zfWNXI9okGnnXPtVGqt9y2dQrunPRUWmAKbTg3Mdk2uHBue+opz3MpnmNtdyadhdb8cGmX6Whvnj/6xw7Mj16TRsQTu2n5Zc/1XpM/ipDnOhAZg7T8l1cq7VGpw7NqmJp4ZvkmlBnlpyrdpRrifnOqX8c2yx8c7Lct1Y4dirl7Fqkev0MlZyMVVMAUyX2LDlwgYXyrtyHZzr+RUuKD1mCi/J9b0GF//IdVClXPEN8vsNLiYxf/zeXNtVupi0zPWeMlZy4Q4A9zgOh+XaJw1zeWO6sXTxp8u04FzxwN1bG+V6WfmmPEkPyPX+XPs3yHRzGauvVDh25Do0DXPTY+e6qeQ6TS40ANyTeGjs+DQ8vTu2H6dhDvmnMi041wlpeDJ+bDEnHnOtP5vwcR+W67g0rGAY22Ul039XGqsvNswVn8Er5GKamQJoK5aLXdzoQhnrutercKFsmen4SplCLFn8YaOLf+TaoMLFf+0yVi0uJieVn2mNi3/kuqhxrivkQgPAPYn3i8cLaB4z8nljmU4sxYs57Fs6yhS3Q3eukCnEK3TjpTordZRr9zS8D37lBpliyeJOlcZqD7lmKhcNmQIY34PS8IKMPRqcOzboiF26zpFpbnPFNsVHlKZmbLFJUexUeFaFY8s1W7nQAMyd6N5ji851Gpw7bl/HfOsvZVpwrrjtuXZHuVpuKX1pyfSLCsdeqYzVunLNRC6mhCmA8cS83UWNLpSfzbVhhQtKj5n+PNfaHeXaNLXZUjp8vmSqcTFZsvXtunLNRC40AHMllunEPG6LbWLjNZzxOs54LedtMi0o1/4d5oqlmN9okCleRRyvJI5XE/+hwlhFrrMajdVecjHzF6fFixf7KdR1ZGrzCt+r0/DgzrdlmutcR5TGYmzXpmETqPMqHf+jud7UINc1Jdf5cqEBYGniifjYqnPM28kXlAvKIpnuc65Tc63VUa4Vy1iNeSs5dqeLXep+XfEcLebHLyy5FslFD0wB1HdVro1yfW6k8x2VhvnDRTLdr1wx93nsSLk+noa5+Zq54tibpOElOGP4ZK6NK1/8Uzl+5PrMSLmOLudbJBcaAO6LmNN9Ra690zAvWsPtufbM9bryv2W6/7l2rZwrzhFLC9+Q648jZYp1/29JwzxvrbF6bRmvMcdqt5Kr5mfwNaXkoiumAMYX32RjO9mHTfhbw5IXg8g0Oc9Jwy58k8x1Vcn1g0aZ4tte7AI5yQfMFpVMFzYcK7lmKxcagLn12DS8cnXNCRwrHrKKh3eu7SjTuSXTdVMwVqukYQ69p1yTfNbh/JLpmikYq5XLZ1Cu2chFY6YA2og13s9Ow0s9/hIfzrX5FFz8J53puVNy8Q9XllzHdZRrUs86HFE+f9NyMflVGSu5ZiMXGoC5FetsY5vNWE9/5/38d+OVtH+SaZRcsR///h3lWvKsw/3577o1Dc9/xJrxO6ZsrG4tufaRayZy0ZApgOnw3PLN+aEL+LM/T8MWnT+SqVmuuBuwQke5NiuZFvKsw5Ul0yUzMFaR6/gFfgblwh0Amohd2mLd738s5c+dmYZtd38kU9Nc63SW65zy33rpUv7c2WnY+2FWLibnlP/epY3BWXKhAaCl+LYY73w/4W7+v7hNc2iu5+W6QaapyBVz6Cd2lOvKkum4e8j0wVxbpeENcWnGcm1wL7k+kGsbuZhHpgCmcExyvS3X+3I9INfv07Am+GSZpjLXAbneW3LdnOtVHeSKZzgOK5niHfC730OzM2tjtV9pzpbkis/gSXKhAWDabJ3rwPKX709kmolccfG/vJNMW+Q6JA0bFv24o7HaMtfBJddlcqEBAADmimcAAEADAABoAAAADQAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAANAAAAAaAABAAwAAaAAAAA0AAKABAAA0AACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAADQAACABgAA0AAAABoAAEADAABoAAAADQAAoAEAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAADQAAIAGAADQAAAAGgAAQAMAAGgAAAANAACgAQAANAAAgAYAANAAAAAaAABAAwAAaAAAAA0AAHDv/k+AAQD4HcieQJZ+TQAAAABJRU5ErkJggg==",tl=class tl extends br{constructor(e,n){super(e,n);v(this,"_signal");if(this._signal=this.disposeVar(new Ji(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._signal;this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),r.color=[1,1,1,1];{const s=()=>{r.show=e.show&&e.materialMode!=="pureColor"&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.materialModeChanged));this.d(a.don(s))}{const s=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.speedChanged,e.materialModeChanged,e.strokeWidthChanged,e.strokeMaterialParamsChanged));this.dispose(s.disposableOn(()=>d()));const a=vD,c=mD,d=()=>{var P;if(!(e.points&&e.points.length>=2))return;r.width=e.strokeWidth*2;const u=((P=e.strokeMaterialParams)==null?void 0:P.Elongation)??5,p=this.sceneObject.getDistance()??0,f=Math.ceil(p/(10*u)),g=f;r.repeat=f;const m=e.speed;r.duration=p/g/m*1e3;const y=e.materialMode;y==="singleArrow"||y==="purple"?r.imageUrl=c:(y==="multipleArrows"||y==="blue")&&(r.imageUrl=a)};d()}}get signal(){return this._signal}flyTo(e,n){const{sceneObject:o,czmViewer:r,signal:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,signal:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(tl,"type",tl.register("ESCesiumViewer",w.ESPath.type,tl));let Mp=tl;const an=class an extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_czmCustomPrimitive");v(this,"_geoBoundingSphere");this._czmCustomPrimitive=this.disposeVar(new ke(e,n)),this._geoBoundingSphere=this.disposeVar(Bm([this,"positions"]));const{czmCustomPrimitive:o}=this;this.dispose(l.track([o,"show"],[this,"show"])),this.dispose(l.track([o,"allowPicking"],[this,"allowPicking"]));const r=this.disposeVar(l.react(0));{const s=()=>{if(!this.positions||this.positions.length<3){o.show=!1;return}o.show=!0;const[c,d,u]=Mt({originPosition:this.positions[0]},this.positions);o.modelMatrix=d,o.cull=!1,c.push(c[0]);const p=c.length,f=[...c,...c.map(C=>[C[0],C[1],C[2]+(this.height??an.defaults.height)])],g=c.reduce((C,E,T,I)=>{if(T===0)return C.push(0),C;const b=T-1,x=I[b],z=Math.sqrt((x[0]-E[0])*(x[0]-E[0])+(x[1]-E[1])*(x[1]-E[1]));return C.push(C[b]+z),C},[]);r.value=g[p-1];const m=g.map(C=>C/r.value),y=[...m.map(C=>[C,0]),...m.map(C=>[C,1])];o.attributes={a_position:{typedArray:new Float32Array(f.flat(1)),componentsPerAttribute:3},a_st:{typedArray:new Float32Array(y.flat(1)),componentsPerAttribute:2}};const P=o.computeLocalAxisedBoundingBoxFromAttribute("a_position");if(!P){console.warn("包围盒计算存在问题!");return}o.setLocalAxisedBoundingBox(P.min,P.max);const S=[...new Array(p-1).keys()].map(C=>[[C,C+1,C+p+1],[C,C+p+1,C+p],[C+p+1,C+1,C],[C+p,C+p+1,C]]).flat(2);o.indexTypedArray=new Uint16Array(S),o.vertexShaderSource=` in vec3 a_position;
|
|
1727
1727
|
in vec2 a_st;
|
|
1728
1728
|
out vec2 v_st;
|
|
1729
1729
|
void main()
|
|
@@ -1742,7 +1742,7 @@ ${A0}
|
|
|
1742
1742
|
vec4 imageColor = texture(u_image, fract(v_st * u_stScale - addst));
|
|
1743
1743
|
out_FragColor = imageColor * u_color;
|
|
1744
1744
|
}
|
|
1745
|
-
`};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(this.heightChanged,this.positionsChanged));this.dispose(a.disposableOn(s))}this.dispose(this.flyToEvent.disposableOn(s=>{this.czmCustomPrimitive.flyTo(s)}));{const s=()=>{const c=r.value?r.value:1,d=this.height??an.defaults.height,{textureSizeInMeters:u=an.defaults.textureSizeInMeters}=this,{textureUri:p=an.defaults.textureUri}=this;o.uniformMap={u_image:{type:"image",uri:p},u_stScale:[c/u[0],d/u[1]],u_speed:this.textureMoveSpeed??an.defaults.textureMoveSpeed,u_color:this.textureColor??an.defaults.textureColor}};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(this.textureColorChanged,this.textureMoveSpeedChanged,this.textureSizeInMetersChanged,this.heightChanged,this.textureSizeInMetersChanged,this.textureUriChanged,r.changed));this.dispose(a.disposableOn(s))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get czmCustomPrimitive(){return this._czmCustomPrimitive}get geoBoundingSphere(){return this._geoBoundingSphere.value}get geoBoundingSphereChanged(){return this._geoBoundingSphere.changed}};v(an,"defaults",{show:!0,allowPicking:!1,positions:[],height:1e3,textureSizeInMeters:[500,500],textureUri:"${earthsdk3-assets-script-dir}/assets/img/location.png",textureMoveSpeed:[0,.3],textureColor:[1,1,1,1]});let To=an;(t=>{t.createDefaultProps=()=>({show:void 0,allowPicking:void 0,positions:l.reactPositions(void 0),height:void 0,textureSizeInMeters:l.reactArrayWithUndefined(void 0),textureUri:void 0,textureMoveSpeed:l.reactArrayWithUndefined(void 0),textureColor:l.reactArrayWithUndefined(void 0)})})(To||(To={})),l.extendClassProps(To.prototype,To.createDefaultProps);const il=class il extends vt{constructor(e,n){super(e,n);v(this,"_czmPolygonFence");v(this,"_czmPolygon");if(this._czmPolygonFence=this.disposeVar(new To(n,e.id)),this._czmPolygon=this.dv(new w.ESGeoPolygon),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmPolygonFence,s=this._czmPolygon;n.add(s),this.dispose(()=>n.delete(s)),s.filled=!1,this.d(l.track([s,"points"],[e,"points"])),this.d(l.track([s,"stroked"],[e,"stroked"])),this.d(l.track([s,"strokeColor"],[e,"strokeColor"])),this.d(l.track([s,"strokeWidth"],[e,"strokeWidth"])),this.d(l.track([s,"strokeGround"],[e,"strokeGround"]));{const a={danger:{color:[.99,.98,.57,1],image:"01.png"},checkerboard:{color:[.88,.98,.99,1],image:"02.png"},warning:{color:[1,.93,.58,1],image:"03.png"},cord:{color:[.91,.87,.56,1],image:"04.png"},scanline:{color:[.43,.78,.8,1],image:"05.png"},honeycomb:{color:[.28,.84,.86,1],image:"06.png"},gradientColor:{color:[1,1,1,1],image:"07.png"}},c=(f,g)=>{switch(f){case"danger":return{textureMoveSpeed:[.05,0],textureSizeInMeters:[2,2]};case"checkerboard":return{textureMoveSpeed:[0,0],textureSizeInMeters:[2,2]};case"warning":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"cord":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"scanline":return{textureMoveSpeed:[0,0],textureSizeInMeters:[g,g]};case"honeycomb":return{textureMoveSpeed:[0,0],textureSizeInMeters:[g,g]};case"gradientColor":return{textureMoveSpeed:[0,0],textureSizeInMeters:[g,g]};default:return{textureMoveSpeed:[0,0],textureSizeInMeters:[g*.5,2]}}},d="${earthsdk3-assets-script-dir}/assets/img/fence/",u=()=>{const f=e.materialMode,g=a[f];if(!g)return;r.textureUri=d+g.image,r.textureColor=f!=="gradientColor"?g.color:e.fillColor;const{textureMoveSpeed:m,textureSizeInMeters:y}=c(f,e.height);r.textureMoveSpeed=m,r.textureSizeInMeters=y};u();const p=this.disposeVar(l.createNextAnimateFrameEvent(e.materialModeChanged,e.heightChanged,e.fillColorChanged));this.dispose(p.disposableOn(u))}{this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"height"],[e,"height"]));{const a=()=>{r.show=e.show&&e.filled};a();const c=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.dispose(c.don(a))}}}get czmPolygonFence(){return this._czmPolygonFence}get czmPolygon(){return this._czmPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmPolygonFence:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(It(r,o,n,e,s.czmCustomPrimitive),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmPolygonFence:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(It(r,o,n,e,s.czmCustomPrimitive),!0):!1}};v(il,"type",il.register("ESCesiumViewer",w.ESPolygonFence.type,il));let Ip=il;const nl=class nl extends vt{constructor(e,n){super(e,n);v(this,"_czmESRectangle");if(this._czmESRectangle=this.disposeVar(new Ci(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRectangle;this.dispose(l.bind([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"ground"],[e,"fillGround"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"outlineTranslucent"],[e,"outlineTranslucent"])),this.dispose(l.bind([r,"height"],[e,"height"])),this.dispose(l.bind([r,"extrudedHeight"],[e,"extrudedHeight"])),this.dispose(l.bind([r,"rectangle"],[e,"rectangle"])),this.dispose(l.bind([r,"stRotation"],[e,"stRotation"])),this.dispose(l.bind([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"outline"],[e,"stroked"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"]));{const s=()=>{const a=e.points;if(a&&a.length>=2){const{minPos:c,maxPos:d}=w.getMinMaxCorner(a);r.rectangle=[c[0],c[1],d[0],d[1]],r.height=a[1][2],r.extrudedHeight=a[0][2]}else r.rectangle=void 0,r.height=0,r.extrudedHeight=0};s(),this.dispose(e.pointsChanged.disposableOn(()=>s()))}{const s=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material={type:"Color",color:[1,1,1,0]}};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(s))}}get czmESRectangle(){return this._czmESRectangle}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESRectangle:s}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);if(s.rectangle){const a=[[s.rectangle[0],s.rectangle[1],s.height],[s.rectangle[2],s.rectangle[3],s.height],[s.rectangle[0],s.rectangle[1],s.extrudedHeight],[s.rectangle[2],s.rectangle[3],s.extrudedHeight]];return ae(r,o,n,a,e),!0}return!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmESRectangle:s}=this;if(!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,n);if(s.rectangle){const a=[[s.rectangle[0],s.rectangle[1],s.height],[s.rectangle[2],s.rectangle[3],s.height],[s.rectangle[0],s.rectangle[1],s.extrudedHeight],[s.rectangle[2],s.rectangle[3],s.extrudedHeight]];return ae(r,o,n,a,e),!0}return!1}};v(nl,"type",nl.register("ESCesiumViewer",w.ESRectangle.type,nl));let Dp=nl;const $n=class $n extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}const r=w.ESSceneObject.context.createEnvStrReact([this,"imageUrl"],$n.defaults.imageUrl),s=this.disposeVar(l.react(void 0)),a=()=>{const C=h.Material.fromType(h.Material.ImageType);C.uniforms.image=r.value,C.uniforms.repeat=Ee(this.repeat??$n.defaults.repeat),s.value=C};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(r.changed,this.repeatChanged));this.dispose(c.disposableOn(a));const d=(C,E)=>{const T=new h.PolylineMaterialAppearance({material:E,renderState:{depthTest:{enabled:!1}}});T.renderState.depthMask=!1;const I=[];if(C.length<2)return;I.push(new h.GeometryInstance({geometry:new h.GroundPolylineGeometry({positions:C,width:this.width??$n.defaults.width,vertexFormat:h.PolylineMaterialAppearance.VERTEX_FORMAT,arcType:h.ArcType[this.arcType??$n.defaults.arcType]}),id:this}));const b=new Ti({geometryInstances:I,appearance:T,asynchronous:!1,allowPicking:this.allowPicking??$n.defaults.allowPicking,compressVertices:!1});return b.ESSceneObjectID=n,b};let u;const p=new h.BoundingSphere,f=()=>{u&&(o.scene.primitives.remove(u),u=void 0)};this.dispose(f);const g=()=>{if(f(),!this.positions)return;const C=dt(this.positions);if(C.length<2||!s.value){p.radius=-1;return}h.BoundingSphere.fromPoints(C,p),u=d(C,s.value),u&&o.scene.primitives.add(u)},m=()=>{u&&(u.show=this.show??!0)};this.dispose(this.flyToEvent.disposableOn(C=>{if(e.actived&&p.radius>0){const E=ce(p.center);E&&se(o,E,p.radius*4,void 0,C)}})),g(),m();const y=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.widthChanged,s.changed,this.arcTypeChanged,this.allowPickingChanged));this.dispose(y.disposableOn(()=>{g(),m()}));const P=this.disposeVar(l.createNextAnimateFrameEvent(this.showChanged));this.dispose(P.disposableOn(()=>{m()}));const{extensions:S}=e;if(!S){console.warn("!extensions");return}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}};v($n,"defaults",{show:!0,positions:[],width:50,arcType:"GEODESIC",imageUrl:"${earthsdk3-assets-script-dir}/assets/img/roads/4.jpg",repeat:[100,1],allowPicking:!1});let Mo=$n;(t=>{t.createDefaultProps=()=>({show:void 0,positions:l.reactPositions(void 0),width:void 0,arcType:void 0,imageUrl:void 0,repeat:void 0,allowPicking:void 0})})(Mo||(Mo={})),l.extendClassProps(Mo.prototype,Mo.createDefaultProps);const ol=class ol extends vt{constructor(e,n){super(e,n);v(this,"_czmESRoad");if(this._czmESRoad=this.disposeVar(new Mo(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRoad;{const s=()=>{r.show=e.show&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.don(s))}this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"width"],[e,"width"])),this.dispose(l.track([r,"arcType"],[e,"arcType"])),this.dispose(l.track([r,"imageUrl"],[e,"imageUrl"])),this.dispose(l.track([r,"repeat"],[e,"repeat"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"]))}get czmESRoad(){return this._czmESRoad}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESRoad:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmESRoad:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(ol,"type",ol.register("ESCesiumViewer",ch.type,ol));let bp=ol;const rl=class rl extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){super(),this._subContainer=a;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u));{const y=()=>{u.style.display=e.show??w.ESScale.defaults.show?"block":"none"};y(),e.dispose(e.showChanged.disposableOn(y))}u.style.position="fixed",u.style.width="125px",u.style.height="30px",u.style.border="1px solid rgba(49,50,56,.8)",u.style.padding="0 5px",u.style.backgroundColor="rgba(37,38,42,.8)",u.style.borderRadius="15px",u.style.pointerEvents="auto",u.style.transition=" right 0.4s linear";{const y=()=>{u.style.bottom=`${e.cssPosition?e.cssPosition[0]:w.ESScale.defaults.cssPosition[0]}px`,e.screenPosition==="left"?(u.style.right="auto",u.style.left=`${e.cssPosition?e.cssPosition[1]:w.ESScale.defaults.cssPosition[1]}px`):(u.style.left="auto",u.style.right=`${e.cssPosition?e.cssPosition[1]:w.ESScale.defaults.cssPosition[1]}px`)},P=this.disposeVar(l.createNextAnimateFrameEvent(e.cssPositionChanged,e.screenPositionChanged));y(),this.dispose(P.disposableOn(()=>y()))}const p=document.createElement("div");u.appendChild(p),this.dispose(()=>u.removeChild(p)),p.style.width="125px",p.style.display="inline-block",p.style.textAlign="center",p.style.fontSize="14px",p.style.fontWeight="lighter",p.style.lineHeight="30px",p.style.color="#fff",p.innerHTML="1000km";const f=document.createElement("div");u.appendChild(f),this.dispose(()=>u.removeChild(f)),f.style.borderRight="1px solid #fff",f.style.borderLeft="1px solid #fff",f.style.borderBottom="1px solid #fff",f.style.position="absolute",f.style.height="10px",f.style.top="15px",f.style.width="75px",f.style.left=`${60/2}px`;const g=()=>{const y=n.viewerLegend.legend.computedLengthInMeters;if(e.show===!1||y&&y>1e6)u.style.display="none";else{u.style.display="block";const P=n.viewerLegend.legend.computedLengthInStr;P&&(p.innerHTML=P);const S=n.viewerLegend.legend.computedLengthInPixels;if(S){f.style.width=`${S}px`;const C=(135-S)/2;f.style.left=`${C}px`}}};g();const m=setInterval(()=>{g()},200);this.dispose(()=>clearInterval(m))}}}get customDiv(){return this._customDiv}};v(rl,"type",rl.register("ESCesiumViewer",w.ESScale.type,rl));let Rp=rl;const sl=class sl extends Ce{constructor(e,n){super(e,n);v(this,"_czmCustomPrimitive");if(this._czmCustomPrimitive=this.disposeVar(new ke(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmCustomPrimitive;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(et([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"position"],[e,"position"])),this.dispose(l.track([r,"scale"],[e,"scale"])),this.dispose(l.track([r,"viewDistanceRange"],[e,"viewDistanceRange"])),this.dispose(l.track([r,"viewDistanceDebug"],[e,"viewDistanceDebug"])),this.dispose(l.track([r,"maximumScale"],[e,"maximumScale"])),this.dispose(l.track([r,"minimumScale"],[e,"minimumScale"])),this.dispose(l.track([r,"pixelSize"],[e,"pixelSize"])),this.dispose(l.track([r,"showSceneScale"],[e,"showSceneScale"])),this.dispose(l.track([r,"modelMatrix"],[e,"modelMatrix"])),this.dispose(l.track([r,"cull"],[e,"cull"])),this.dispose(l.track([r,"boundingVolume"],[e,"boundingVolume"])),this.dispose(l.track([r,"pass"],[e,"pass"])),this.dispose(l.track([r,"primitiveType"],[e,"primitiveType"])),this.dispose(l.track([r,"renderState"],[e,"renderState"])),this.dispose(l.track([r,"vertexShaderSource"],[e,"vertexShaderSource"])),this.dispose(l.track([r,"fragmentShaderSource"],[e,"fragmentShaderSource"])),this.dispose(l.track([r,"uniformMap"],[e,"uniformMap"])),this.dispose(l.track([r,"attributes"],[e,"attributes"])),this.dispose(l.track([r,"indexTypedArray"],[e,"indexTypedArray"])),this.dispose(l.track([r,"attributesJson"],[e,"attributesJson"])),this.dispose(l.track([r,"indexTypedArrayJson"],[e,"indexTypedArrayJson"])),this.dispose(l.track([r,"count"],[e,"count"])),this.dispose(l.track([r,"offset"],[e,"offset"])),this.dispose(l.track([r,"instanceCount"],[e,"instanceCount"])),this.dispose(l.track([r,"localPosition"],[e,"localPosition"])),this.dispose(l.track([r,"localScale"],[e,"localScale"])),this.dispose(l.track([r,"localModelMatrix"],[e,"localModelMatrix"])),this.dispose(l.track([r,"debugShowBoundingVolume"],[e,"debugShowBoundingVolume"])),this.dispose(l.track([r,"debugOverlappingFrustums"],[e,"debugOverlappingFrustums"])),this.dispose(l.track([r,"occlude"],[e,"occlude"])),this.dispose(l.track([r,"castShadows"],[e,"castShadows"])),this.dispose(l.track([r,"receiveShadows"],[e,"receiveShadows"])),this.dispose(l.track([r,"executeInClosestFrustum"],[e,"executeInClosestFrustum"])),this.dispose(l.track([r,"pickOnly"],[e,"pickOnly"])),this.dispose(l.track([r,"depthForTranslucentClassification"],[e,"depthForTranslucentClassification"]));{const s=()=>{if(e.localRotation){const a=[...e.localRotation];a[0]-=90,r.localRotation=a}else r.localRotation=[-90,0,0]};s(),this.dispose(e.localRotationChanged.disposableOn(s))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmCustomPrimitive:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(It(r,o,n,e,s,!0),!0):!1}};v(sl,"type",sl.register("ESCesiumViewer",ah.type,sl));let xp=sl;const al=class al extends th{constructor(e,n){super(e,n);v(this,"czmGeoPolyline");v(this,"czmWater");if(!n.viewer){console.warn("viewer is undefined!");return}if(!Yt(n.viewer))return;this.czmGeoPolyline=this.dv(new Ie(n,e.id)),this.czmWater=this.dv(new ho(n,e.id));const{czmGeoPolyline:s,czmWater:a}=this;this.d(l.track([a,"allowPicking"],[e,"allowPicking"])),this.d(l.track([a,"ground"],[e,"fillGround"])),this.d(l.track([s,"allowPicking"],[e,"allowPicking"])),this.d(l.track([s,"color"],[e,"strokeColor"])),this.d(l.track([s,"width"],[e,"strokeWidth"])),this.d(l.track([s,"ground"],[e,"strokeGround"]));{const c=this.dv(l.createNextAnimateFrameEvent(e.waterColorChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),d=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??w.ESDynamicWater.defaults.waterColor,frequency:(e.frequency??w.ESDynamicWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??w.ESDynamicWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??w.ESDynamicWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??w.ESDynamicWater.defaults.specularIntensity,flowDirection:e.flowDirection??w.ESDynamicWater.defaults.flowDirection,flowSpeed:e.flowSpeed??w.ESDynamicWater.defaults.flowSpeed});else{const u=Object.assign({},Pd[e.waterType]);u.frequency&&(u.frequency/=10),u.waveVelocity&&(u.waveVelocity/=100),u.amplitude&&(u.amplitude*=100),this.updateWater(u)}};d(),this.d(c.don(d))}{const c=()=>{s.show=e.show&&e.stroked},d=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(d.don(c)),c()}{const c=()=>{a.show=!!(e.show&&e.filled)},d=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(d.don(c)),c()}{const c=()=>{if(!e.points||e.points&&e.points.length<=2){s.positions=[],a.points=[];return}if(e.scale&&e.scale.some(f=>f===0)){console.warn("缩放属性(scale)不能设置值为0");return}const u=e.points.map(f=>[f[0],f[1],0]),[p]=gn({originPosition:e.position,originRotation:e.rotation,originScale:e.scale,initialRotationMode:"XForwardZUp"},u);s.positions=[...p,p[0]],a.points=[...p]};c();const d=this.dv(l.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.d(d.don(c))}}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this.czmGeoPolyline&&(this.czmGeoPolyline.show=e.show&&e.stroked&&s),this.czmWater&&(this.czmWater.show=e.show&&e.filled&&s)}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmWater:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s!=null&&s.points?(ae(r,o,n,s.points,e,!0),!0):!1:!1}updateWater(e){const{czmWater:n}=this;n&&(e.waterColor&&n.waterColor!=e.waterColor&&(n.waterColor=e.waterColor),e.specularIntensity!=null&&n.specularIntensity!=e.specularIntensity&&(n.specularIntensity=e.specularIntensity),e.frequency!=null&&n.frequency!=e.frequency&&(n.frequency=e.frequency),e.waveVelocity!=null&&n.animationSpeed!=e.waveVelocity&&(n.animationSpeed=e.waveVelocity),e.amplitude!=null&&n.amplitude!=e.amplitude&&(n.amplitude=e.amplitude),e.flowSpeed!=null&&n.flowSpeed!=e.flowSpeed&&(n.flowSpeed=e.flowSpeed),n.baseWaterImage=e.waterImage,n.stRotation=e.flowDirection)}};v(al,"type",al.register("ESCesiumViewer",w.ESDynamicWater.type,al));let Fp=al;const ll=class ll extends Qt{constructor(e,n){super(e,n);v(this,"_scaleFactor",.6);v(this,"_urlData",this.dv(l.react(void 0)));v(this,"_dataSource",new h.CustomDataSource);v(this,"_clusterImages",{});v(this,"_clusterImageAttribute",{});v(this,"_clusterImageUrl","");if(!n.viewer){console.warn("viewer is undefined!");return}this._clusterImageUrl=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterSpirit.png"),(async()=>{var a;const r=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterJson.json");await fetch(r).then(c=>c.json()).then(c=>{this._clusterImageAttribute=c}).catch(c=>{console.error(c)});for(const c in this._clusterImageAttribute)if(Object.prototype.hasOwnProperty.call(this._clusterImageAttribute,c)){const d=this._clusterImageAttribute[c];this._clusterImages[c]=new h.BillboardGraphics({image:this._clusterImageUrl,verticalOrigin:h.VerticalOrigin.BOTTOM,horizontalOrigin:h.HorizontalOrigin.CENTER,scale:1*this._scaleFactor,width:d.imageSize[0],height:d.imageSize[1],pixelOffset:new h.Cartesian2(-d.anchorPixelOffset[0]*this._scaleFactor,-d.anchorPixelOffset[1]*this._scaleFactor),imageSubRegion:new h.BoundingRectangle(...d.imagePixelOffset,...d.imageSize)})}const s=this._dataSource;(a=n.viewer)==null||a.dataSources.add(s),this.d(()=>{var c;(c=n.viewer)==null||c.dataSources.remove(s)}),s.clustering.enabled=s.clustering.clusterBillboards=s.clustering.clusterLabels=s.clustering.clusterPoints=!0,this.d(l.track([s.clustering,"pixelRange"],[e,"pixelRange"])),this.d(l.track([s.clustering,"minimumClusterSize"],[e,"minimumClusterSize"])),this.d(l.track([s.clustering,"show"],[e,"show"]));{const c=()=>{e.url&&(typeof e.url=="object"&&e.url.url?fetch(w.ESSceneObject.context.getStrFromEnv(e.url.url)).then(d=>d.json()).then(d=>{this.urlData=d}).catch(d=>{console.warn("ESEntityCluster数据加载失败",d)}):typeof e.url=="object"?this.urlData=e.url:w.isJSONString(e.url)?this.urlData=JSON.parse(e.url):fetch(w.ESSceneObject.getStrFromEnv(e.url)).then(d=>d.json()).then(d=>{this.urlData=d}).catch(d=>{console.warn("ESEntityCluster数据加载失败",d)}))};c(),this.d(e.urlChanged.don(c))}{const c=this.dv(l.createNextAnimateFrameEvent(this.urlDataChanged,e.heightReferenceChanged)),d=this;this.updateEntityCluster(d),this.d(c.don(()=>{this.updateEntityCluster(d)}))}{const c=(d,u)=>{d!=null&&((d==null?void 0:d.nonCluster.mode)!=(u==null?void 0:u.nonCluster.mode)||(d==null?void 0:d.nonCluster.style)!=(u==null?void 0:u.nonCluster.style))?this.updateEntityCluster(this):this.updateStyle()};this.d(e.styleChanged.don((d,u)=>c(d,u)))}})()}get urlData(){return this._urlData.value}set urlData(e){this._urlData.value=e}get urlDataChanged(){return this._urlData.changed}async updateEntityCluster(e){var g,m,y,P,S,C,E,T,I,b,x,z;const{czmViewer:n,_dataSource:o,sceneObject:r}=e;if(!((g=n.viewer)==null?void 0:g.scene))return;const a=o.entities,c=new h.NearFarScalar(100,1,1e3,1),d=r.heightReference=="None"?h.HeightReference.NONE:r.heightReference=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.CLAMP_TO_TERRAIN;a.removeAll();const u=(m=this.czmViewer.viewer)==null?void 0:m.scene.postUpdate.addEventListener(()=>{o._entityCluster._billboardCollection&&(o._entityCluster._billboardCollection._billboards.forEach(W=>{W.id.billboard.imageSubRegion=void 0}),u&&u())}),p=r.style??w.ESEntityCluster.defaults.style;this._clusterImages[((y=p.nonCluster)==null?void 0:y.mode)??"SquareH01"].heightReference=d,this._clusterImages[((P=p.nonCluster)==null?void 0:P.mode)??"SquareH01"].scaleByDistance=c;const f=[-this._clusterImageAttribute[((S=p.nonCluster)==null?void 0:S.mode)??"SquareH01"].anchorPixelOffset[0]+this._clusterImageAttribute[((C=p.nonCluster)==null?void 0:C.mode)??"SquareH01"].textPixelOffset[0],-this._clusterImageAttribute[((E=p.nonCluster)==null?void 0:E.mode)??"SquareH01"].anchorPixelOffset[1]-this._clusterImageAttribute[((T=p.nonCluster)==null?void 0:T.mode)??"SquareH01"].textPixelOffset[1]];if(this.urlData.type==="FeatureCollection")for(let W=0;W<this.urlData.features.length;W++){const N=this.urlData.features[W];if(N.geometry.type=="Point")this._addEntities(a,N.properties.name??(W+1).toString(),N.geometry.coordinates,f,d,c,(I=p.nonCluster)==null?void 0:I.mode,N.properties);else if(N.geometry.type=="MultiPoint")for(let L=0;L<N.geometry.coordinates.length;L++)this._addEntities(a,N.properties.name??(W+1).toString(),N.geometry.coordinates[L],f,d,c,(b=p.nonCluster)==null?void 0:b.mode,N.properties);else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",N.geometry.type)}else if(this.urlData.type=="GeometryCollection")for(let W=0;W<this.urlData.geometries.length;W++){const N=this.urlData.geometries[W];if(N.type=="Point")this._addEntities(a,N.name??(W+1).toString(),N.coordinates,f,d,c,(x=p.nonCluster)==null?void 0:x.mode,N.properties);else if(N.type=="MultiPoint")for(let L=0;L<N.coordinates.length;L++)this._addEntities(a,N.name??(W+1).toString(),N.coordinates[L],f,d,c,(z=p.nonCluster)==null?void 0:z.mode,N.properties);else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",N.type)}this.updateStyle(d,c)}async updateStyle(e,n){var c,d;const o=this,{_dataSource:r,sceneObject:s}=this,a=((c=s.style)==null?void 0:c.cluster)??w.ESEntityCluster.defaults.style.cluster;r.entities.values.forEach(u=>{h.Entity.prototype&&(u.ESSceneObjectID=s.id)}),r.clustering.clusterEvent.addEventListener(async function(u,p){if(p.label.ESSceneObjectID=p.billboard.ESSceneObjectID=p.point.ESSceneObjectID=s.id,p.label.show=!0,p.label.font="16px sans-serif",p.label.scale=1*o._scaleFactor,p.label.verticalOrigin=h.VerticalOrigin.BOTTOM,p.label.horizontalOrigin=h.HorizontalOrigin.CENTER,p.label.eyeOffset=new h.Cartesian3(0,0,-10),e&&(p.label.heightReference=e),n&&(p.label.scaleByDistance=n),p.billboard.id=p.label.id,p.billboard.show=!0,p.billboard.scale=1*o._scaleFactor,p.billboard.verticalOrigin=h.VerticalOrigin.BOTTOM,p.billboard.horizontalOrigin=h.HorizontalOrigin.CENTER,e&&(p.billboard.heightReference=e),n&&(p.billboard.scaleByDistance=n),a){const f=o.getClusterStyle(a,u.length).mode,g=[-o._clusterImageAttribute[f].anchorPixelOffset[0]+o._clusterImageAttribute[f].textPixelOffset[0],-o._clusterImageAttribute[f].anchorPixelOffset[1]-o._clusterImageAttribute[f].textPixelOffset[1]];p.label.pixelOffset=new h.Cartesian2(g[0]*o._scaleFactor,g[1]*o._scaleFactor),p.billboard.width=o._clusterImageAttribute[f].imageSize[0],p.billboard.height=o._clusterImageAttribute[f].imageSize[1],p.billboard.pixelOffset=new h.Cartesian2(-o._clusterImageAttribute[f].anchorPixelOffset[0]*o._scaleFactor,-o._clusterImageAttribute[f].anchorPixelOffset[1]*o._scaleFactor),p.billboard.setImage(f,o._clusterImageUrl),p.billboard.setImageSubRegion(f,new h.BoundingRectangle(...o._clusterImageAttribute[f].imagePixelOffset,...o._clusterImageAttribute[f].imageSize))}});{const u=()=>{const f=r.clustering.pixelRange;r.clustering.pixelRange=0,r.clustering.pixelRange=f};u();let p=(d=this.czmViewer.viewer)==null?void 0:d.camera.moveEnd.addEventListener(()=>{u()});this.d(()=>{var f;p&&((f=this.czmViewer.viewer)==null||f.camera.moveEnd.removeEventListener(p))})}}getClusterStyle(e,n){return e.find(o=>{if(o.value!==void 0)return o.value===n;const r=o.minValue!==void 0?o.minValue<=n:!0,s=o.maxValue!==void 0?o.maxValue>=n:!0;return r&&s})}_addEntities(e,n,o,r,s,a,c,d){const u=h.Cartesian3.fromDegrees(o[0],o[1],o[2]??0);e.add({position:u,label:{text:n,scale:1*this._scaleFactor,font:"16px sans-serif",verticalOrigin:h.VerticalOrigin.BOTTOM,horizontalOrigin:h.HorizontalOrigin.CENTER,pixelOffset:new h.Cartesian2(r[0]*this._scaleFactor,r[1]*this._scaleFactor),heightReference:s,scaleByDistance:a,eyeOffset:new h.Cartesian3(0,0,-10)},billboard:this._clusterImages[c??"SquareH01"].clone(new h.BillboardGraphics),properties:d})}_getPositionLLH(e){const n=h.Cartographic.fromCartesian(e);return[h.Math.toDegrees(n.longitude),h.Math.toDegrees(n.latitude),n.height]}};v(ll,"type",ll.register("ESCesiumViewer",w.ESEntityCluster.type,ll));let kp=ll;const cl=class cl extends Qt{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}flyTo(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyToParam||n.flyInParam?super.flyTo(i,e):(n.esImageryLayer.flyTo(i&&i),n.flyOverEvent.emit(e,"over",o),!0):!1}flyIn(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyInParam?super.flyIn(i,e):(n.esImageryLayer.flyTo(i&&i),n.flyOverEvent.emit(e,"over",o),!0):!1}};v(cl,"type",cl.register("ESCesiumViewer",oh.type,cl));let zp=cl;const hl=class hl extends Ht{constructor(e,n){super(e,n);v(this,"geoPolyline");v(this,"czmWater");if(!n.viewer){console.warn("viewer is undefined!");return}if(!Yt(n.viewer))return;this.geoPolyline=this.dv(new Ie(n,e.id)),this.czmWater=this.dv(new ho(n,e.id));const{geoPolyline:s,czmWater:a}=this;this.d(l.track([a,"allowPicking"],[e,"allowPicking"])),this.d(l.track([a,"ground"],[e,"fillGround"])),this.d(l.track([s,"allowPicking"],[e,"allowPicking"])),this.d(l.track([s,"color"],[e,"strokeColor"])),this.d(l.track([s,"width"],[e,"strokeWidth"])),this.d(l.track([s,"ground"],[e,"strokeGround"]));{const c=this.dv(l.createNextAnimateFrameEvent(e.waterColorChanged,e.waterImageChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),d=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??w.ESGeoWater.defaults.waterColor,frequency:(e.frequency??w.ESGeoWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??w.ESGeoWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??w.ESGeoWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??w.ESGeoWater.defaults.specularIntensity,flowDirection:e.flowDirection??w.ESGeoWater.defaults.flowDirection,flowSpeed:e.flowSpeed??w.ESGeoWater.defaults.flowSpeed,waterImage:e.waterImage??w.ESGeoWater.defaults.waterImage});else{const u=Object.assign({},Pd[e.waterType]);u.frequency&&(u.frequency/=10),u.waveVelocity&&(u.waveVelocity/=100),u.amplitude&&(u.amplitude*=100),this.updateWater(u)}};d(),this.d(c.don(d))}{const c=()=>{s.show=!!(e.show&&e.stroked)},d=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(d.don(c)),c()}{const c=()=>{a.show=e.show&&e.filled},d=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(d.don(c)),c()}{const c=()=>{e.points&&e.points.length>=3?(s.positions=[...e.points,e.points[0]],a.points=[...e.points]):(s.positions=e.points&&e.points.length>=2?[...e.points,e.points[0]]:[],a.points=[])};c();const d=this.dv(l.createNextAnimateFrameEvent(e.pointsChanged));this.d(d.don(c))}this.ad(e.editingChanged.don(c=>{a.updateBoundingSphere(c)}))}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}updateWater(e){const{czmWater:n}=this;e.waterColor&&n.waterColor!=e.waterColor&&(n.waterColor=e.waterColor),e.specularIntensity!=null&&n.specularIntensity!=e.specularIntensity&&(n.specularIntensity=e.specularIntensity),e.frequency!=null&&n.frequency!=e.frequency&&(n.frequency=e.frequency),e.waveVelocity!=null&&n.animationSpeed!=e.waveVelocity&&(n.animationSpeed=e.waveVelocity),e.amplitude!=null&&n.amplitude!=e.amplitude&&(n.amplitude=e.amplitude),e.flowSpeed!=null&&n.flowSpeed!=e.flowSpeed&&(n.flowSpeed=e.flowSpeed),n.baseWaterImage=e.waterImage,n.stRotation=e.flowDirection}};v(hl,"type",hl.register("ESCesiumViewer",w.ESGeoWater.type,hl));let Lp=hl;const dl=class dl extends Qt{constructor(e,n){super(e,n);v(this,"_czmImagery");if(this._czmImagery=this.dv(new xn(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmImagery;this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([r,"zIndex"],[e,"zIndex"])),this.d(l.track([r,"rectangle"],[e,"rectangle"])),this.d(l.track([r,"alpha"],[e,"opacity"])),this.d(l.track([r,"splitDirection"],[e,"splitDirection"])),this.d(l.track([r,"brightness"],[e,"czmBrightness"])),this.d(l.track([r,"contrast"],[e,"czmContrast"])),this.d(l.track([r,"hue"],[e,"czmHue"])),this.d(l.track([r,"saturation"],[e,"czmSaturation"])),this.d(l.track([r,"gamma"],[e,"czmGamma"]));{const s=this.dv(l.createNextAnimateFrameEvent(e.urlChanged,e.accessTokenChanged,e.maximumLevelChanged,e.minimumLevelChanged,e.tileSizeChanged,e.allowPickingChanged,e.rectangleChanged,e.styleChanged,e.schemeChanged)),a=()=>{r.imageryProvider={type:"MVTImageryProvider",url:e.url,accessToken:e.accessToken,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,tileSize:e.tileSize,enablePickFeatures:e.allowPicking,rectangle:e.rectangle,style:e.style,scheme:e.scheme}};a(),this.d(s.don(a))}}get czmImagery(){return this._czmImagery}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(dl,"type",dl.register("ESCesiumViewer",nh.type,dl));let Op=dl;class yD extends l.Destroyable{constructor(i,e){super(),this._czmESPipeFence=i,this._sceneObject=e;const n=this._sceneObject,o=this._czmESPipeFence,r=o.czmCustomPrimitive;if(!n.points||n.points.length<2){this.clear(r);return}const s=n.points.length;let a=[],c=[],d=[],u=[],p=[];for(let S=0;S<s-1;S++){const{outlinePionts:C,customPrimitivePoints:E}=this.divideFourPoints(n.points[S],n.points[S+1]);u.push(...E),p.push(...C),d.push(...this.setIndexs(S))}const[f,g,m]=Mt({originPosition:u[0]},u),y=this.setFaces(f);a.push(...y.flat());const P=this.setTextureCoordinates(n,o);c.push(...P.flat()),o.computeBoundingBox(),this.updateCustomPrimitive(r,g,a,d,c)}divideFourPoints(i,e){const n=w.geoHeading(i,e),o=w.geoDestination(i,this._sceneObject.width/2,90+n),r=w.geoDestination(i,this._sceneObject.width/2,n-90),s=w.geoDestination(e,this._sceneObject.width/2,n-90),a=w.geoDestination(e,this._sceneObject.width/2,90+n),c=[o[0],o[1],o[2]+this._sceneObject.height/2],d=[o[0],o[1],o[2]-this._sceneObject.height/2],u=[r[0],r[1],r[2]+this._sceneObject.height/2],p=[r[0],r[1],r[2]-this._sceneObject.height/2],f=[a[0],a[1],a[2]+this._sceneObject.height/2],g=[a[0],a[1],a[2]-this._sceneObject.height/2],m=[s[0],s[1],s[2]+this._sceneObject.height/2],y=[s[0],s[1],s[2]-this._sceneObject.height/2],P=[[c,u],[c,f],[c,d],[d,g]],S=[[d,p],[u,m],[u,p],[p,y]],C=[[f,g],[f,m],[g,y],[m,y]];return{outlinePionts:[...P,...S,...C],customPrimitivePoints:[d,c,u,p,g,f,m,y]}}setIndexs(i){const e=i*16;return[e+1,e+0,e+3,e+1,e+3,e+2,e+5,e+4,e+7,e+6,e+5,e+7,e+9,e+8,e+11,e+9,e+11,e+10,e+13,e+12,e+15,e+13,e+15,e+14]}setFaces(i){const e=[],n=i.length/8;for(let r=0;r<n;r++){const s=i.slice(8*r,8*(r+1));e.push(s)}return[...e.map(r=>[r[4],r[5],r[1],r[0],r[5],r[6],r[2],r[1],r[6],r[7],r[3],r[2],r[7],r[4],r[0],r[3]]).flat()]}getDistances(i,e){const[n]=Mt({originPosition:i[0]},i),o=n.length,r=n.reduce((c,d,u,p)=>{if(u===0)return c.push(0),c;const f=u-1,g=p[f],m=Math.sqrt((g[0]-d[0])*(g[0]-d[0])+(g[1]-d[1])*(g[1]-d[1]));return c.push(c[f]+m),c},[]),s=r[o-1];return e.distances=s,r.map(c=>c/s)}setTextureCoordinates(i,e){if(!i.points||i.points.length<2)return;const n=this.getDistances(i.points,e),o=[];for(let r=1;r<n.length;r++){let s=[];if(r===n.length-1){const a=[1,0,1,1,n[r-1],1,n[r-1],0];s=[...a,...a,...a,...a]}else{const a=[n[r],0,n[r],1,n[r-1],1,n[r-1],0];s=[...a,...a,...a,...a]}o.push(s)}return o}updateCustomPrimitive(i,e,n,o,r){i.modelMatrix=e,i.indexTypedArray=new Uint16Array(o),i.attributes={position:{typedArray:new Float32Array(n),componentsPerAttribute:3},a_st:{typedArray:new Float32Array(r),componentsPerAttribute:2}}}clear(i){i.indexTypedArray=void 0,i.modelMatrix=void 0,i.attributes=void 0}}const ul=class ul extends vt{constructor(e,n){super(e,n);v(this,"_line",this.dv(new Ie(this.czmViewer,this.sceneObject.id)));v(this,"_czmTexture",this.ad(new Le(this.czmViewer,this.sceneObject.id)));v(this,"_czmCustomPrimitive",this.dv(new ke(this.czmViewer,this.sceneObject.id)));v(this,"_distances",this.dv(l.react(0)));if(!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmTexture,s=this._line;this.d(l.bind([s,"positions"],[e,"points"])),this.d(l.track([this.line,"allowPicking"],[e,"allowPicking"])),this.d(l.track([this.line,"color"],[e,"strokeColor"])),this.d(l.track([this.line,"width"],[e,"strokeWidth"])),this.d(l.track([this.line,"ground"],[e,"strokeGround"]));{const u=this.dv(l.createNextAnimateFrameEvent(this.sceneObject.pointsChanged,this.sceneObject.strokeWidthChanged,this.sceneObject.strokeColorChanged,this.sceneObject.heightChanged,this.sceneObject.widthChanged,this.sceneObject.fillColorChanged));this.dv(new l.ObjResettingWithEvent(u,()=>new yD(this,this.sceneObject)))}{const u=()=>{s.show=e.show&&e.stroked};u();const p=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(p.don(u))}this.bindCustomPrimitive(e);let a="";const c=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/singleArrow.png"),d=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/multipleArrows.png");{const u=()=>{e.materialMode==="multipleArrows"||e.materialMode==="blue"?a=d:e.materialMode==="color"?a="":a=c,r.uri=a,a==""?(this._czmCustomPrimitive.uniformMap={u_color:e.fillColor},this._czmCustomPrimitive.fragmentShaderSource=` uniform vec4 u_color;
|
|
1745
|
+
`};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(this.heightChanged,this.positionsChanged));this.dispose(a.disposableOn(s))}this.dispose(this.flyToEvent.disposableOn(s=>{this.czmCustomPrimitive.flyTo(s)}));{const s=()=>{const c=r.value?r.value:1,d=this.height??an.defaults.height,{textureSizeInMeters:u=an.defaults.textureSizeInMeters}=this,{textureUri:p=an.defaults.textureUri}=this;o.uniformMap={u_image:{type:"image",uri:p},u_stScale:[c/u[0],d/u[1]],u_speed:this.textureMoveSpeed??an.defaults.textureMoveSpeed,u_color:this.textureColor??an.defaults.textureColor}};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(this.textureColorChanged,this.textureMoveSpeedChanged,this.textureSizeInMetersChanged,this.heightChanged,this.textureSizeInMetersChanged,this.textureUriChanged,r.changed));this.dispose(a.disposableOn(s))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get czmCustomPrimitive(){return this._czmCustomPrimitive}get geoBoundingSphere(){return this._geoBoundingSphere.value}get geoBoundingSphereChanged(){return this._geoBoundingSphere.changed}};v(an,"defaults",{show:!0,allowPicking:!1,positions:[],height:1e3,textureSizeInMeters:[500,500],textureUri:"${earthsdk3-assets-script-dir}/assets/img/location.png",textureMoveSpeed:[0,.3],textureColor:[1,1,1,1]});let To=an;(t=>{t.createDefaultProps=()=>({show:void 0,allowPicking:void 0,positions:l.reactPositions(void 0),height:void 0,textureSizeInMeters:l.reactArrayWithUndefined(void 0),textureUri:void 0,textureMoveSpeed:l.reactArrayWithUndefined(void 0),textureColor:l.reactArrayWithUndefined(void 0)})})(To||(To={})),l.extendClassProps(To.prototype,To.createDefaultProps);const il=class il extends vt{constructor(e,n){super(e,n);v(this,"_czmPolygonFence");v(this,"_czmPolygon");if(this._czmPolygonFence=this.disposeVar(new To(n,e.id)),this._czmPolygon=this.dv(new w.ESGeoPolygon),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmPolygonFence,s=this._czmPolygon;n.add(s),this.dispose(()=>n.delete(s)),s.filled=!1,this.d(l.track([s,"points"],[e,"points"])),this.d(l.track([s,"stroked"],[e,"stroked"])),this.d(l.track([s,"strokeColor"],[e,"strokeColor"])),this.d(l.track([s,"strokeWidth"],[e,"strokeWidth"])),this.d(l.track([s,"strokeGround"],[e,"strokeGround"]));{const a={danger:{color:[.99,.98,.57,1],image:"01.png"},checkerboard:{color:[.88,.98,.99,1],image:"02.png"},warning:{color:[1,.93,.58,1],image:"03.png"},cord:{color:[.91,.87,.56,1],image:"04.png"},scanline:{color:[.43,.78,.8,1],image:"05.png"},honeycomb:{color:[.28,.84,.86,1],image:"06.png"},gradientColor:{color:[1,1,1,1],image:"07.png"}},c=(f,g)=>{switch(f){case"danger":return{textureMoveSpeed:[.05,0],textureSizeInMeters:[2,2]};case"checkerboard":return{textureMoveSpeed:[0,0],textureSizeInMeters:[2,2]};case"warning":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"cord":return{textureMoveSpeed:[-.05,0],textureSizeInMeters:[2,2]};case"scanline":return{textureMoveSpeed:[0,0],textureSizeInMeters:[g,g]};case"honeycomb":return{textureMoveSpeed:[0,0],textureSizeInMeters:[g,g]};case"gradientColor":return{textureMoveSpeed:[0,0],textureSizeInMeters:[g,g]};default:return{textureMoveSpeed:[0,0],textureSizeInMeters:[g*.5,2]}}},d="${earthsdk3-assets-script-dir}/assets/img/fence/",u=()=>{const f=e.materialMode,g=a[f];if(!g)return;r.textureUri=d+g.image,r.textureColor=f!=="gradientColor"?g.color:e.fillColor;const{textureMoveSpeed:m,textureSizeInMeters:y}=c(f,e.height);r.textureMoveSpeed=m,r.textureSizeInMeters=y};u();const p=this.disposeVar(l.createNextAnimateFrameEvent(e.materialModeChanged,e.heightChanged,e.fillColorChanged));this.dispose(p.disposableOn(u))}{this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"height"],[e,"height"]));{const a=()=>{r.show=e.show&&e.filled};a();const c=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.dispose(c.don(a))}}}get czmPolygonFence(){return this._czmPolygonFence}get czmPolygon(){return this._czmPolygon}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmPolygonFence:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(It(r,o,n,e,s.czmCustomPrimitive),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmPolygonFence:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(It(r,o,n,e,s.czmCustomPrimitive),!0):!1}};v(il,"type",il.register("ESCesiumViewer",w.ESPolygonFence.type,il));let Ip=il;const nl=class nl extends vt{constructor(e,n){super(e,n);v(this,"_czmESRectangle");if(this._czmESRectangle=this.disposeVar(new Ci(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRectangle;this.dispose(l.bind([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"ground"],[e,"fillGround"])),this.dispose(l.track([r,"strokeGround"],[e,"strokeGround"])),this.dispose(l.track([r,"outlineTranslucent"],[e,"outlineTranslucent"])),this.dispose(l.bind([r,"height"],[e,"height"])),this.dispose(l.bind([r,"extrudedHeight"],[e,"extrudedHeight"])),this.dispose(l.bind([r,"rectangle"],[e,"rectangle"])),this.dispose(l.bind([r,"stRotation"],[e,"stRotation"])),this.dispose(l.bind([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"outline"],[e,"stroked"])),this.dispose(l.track([r,"outlineColor"],[e,"strokeColor"]));{const s=()=>{const a=e.points;if(a&&a.length>=2){const{minPos:c,maxPos:d}=w.getMinMaxCorner(a);r.rectangle=[c[0],c[1],d[0],d[1]],r.height=a[1][2],r.extrudedHeight=a[0][2]}else r.rectangle=void 0,r.height=0,r.extrudedHeight=0};s(),this.dispose(e.pointsChanged.disposableOn(()=>s()))}{const s=()=>{e.filled?r.material={type:"Color",color:e.fillColor}:r.material={type:"Color",color:[1,1,1,0]}};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.fillStyleChanged,e.filledChanged));this.dispose(a.disposableOn(s))}}get czmESRectangle(){return this._czmESRectangle}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESRectangle:s}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);if(s.rectangle){const a=[[s.rectangle[0],s.rectangle[1],s.height],[s.rectangle[2],s.rectangle[3],s.height],[s.rectangle[0],s.rectangle[1],s.extrudedHeight],[s.rectangle[2],s.rectangle[3],s.extrudedHeight]];return ae(r,o,n,a,e),!0}return!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmESRectangle:s}=this;if(!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,n);if(s.rectangle){const a=[[s.rectangle[0],s.rectangle[1],s.height],[s.rectangle[2],s.rectangle[3],s.height],[s.rectangle[0],s.rectangle[1],s.extrudedHeight],[s.rectangle[2],s.rectangle[3],s.extrudedHeight]];return ae(r,o,n,a,e),!0}return!1}};v(nl,"type",nl.register("ESCesiumViewer",w.ESRectangle.type,nl));let Dp=nl;const $n=class $n extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}const r=w.ESSceneObject.context.createEnvStrReact([this,"imageUrl"],$n.defaults.imageUrl),s=this.disposeVar(l.react(void 0)),a=()=>{const C=h.Material.fromType(h.Material.ImageType);C.uniforms.image=r.value,C.uniforms.repeat=Ee(this.repeat??$n.defaults.repeat),s.value=C};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(r.changed,this.repeatChanged));this.dispose(c.disposableOn(a));const d=(C,E)=>{const T=new h.PolylineMaterialAppearance({material:E,renderState:{depthTest:{enabled:!1}}});T.renderState.depthMask=!1;const I=[];if(C.length<2)return;I.push(new h.GeometryInstance({geometry:new h.GroundPolylineGeometry({positions:C,width:this.width??$n.defaults.width,vertexFormat:h.PolylineMaterialAppearance.VERTEX_FORMAT,arcType:h.ArcType[this.arcType??$n.defaults.arcType]}),id:this}));const b=new Ti({geometryInstances:I,appearance:T,asynchronous:!1,allowPicking:this.allowPicking??$n.defaults.allowPicking,compressVertices:!1});return b.ESSceneObjectID=n,b};let u;const p=new h.BoundingSphere,f=()=>{u&&(o.scene.primitives.remove(u),u=void 0)};this.dispose(f);const g=()=>{if(f(),!this.positions)return;const C=dt(this.positions);if(C.length<2||!s.value){p.radius=-1;return}h.BoundingSphere.fromPoints(C,p),u=d(C,s.value),u&&o.scene.primitives.add(u)},m=()=>{u&&(u.show=this.show??!0)};this.dispose(this.flyToEvent.disposableOn(C=>{if(e.actived&&p.radius>0){const E=ce(p.center);E&&se(o,E,p.radius*4,void 0,C)}})),g(),m();const y=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.widthChanged,s.changed,this.arcTypeChanged,this.allowPickingChanged));this.dispose(y.disposableOn(()=>{g(),m()}));const P=this.disposeVar(l.createNextAnimateFrameEvent(this.showChanged));this.dispose(P.disposableOn(()=>{m()}));const{extensions:S}=e;if(!S){console.warn("!extensions");return}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}};v($n,"defaults",{show:!0,positions:[],width:50,arcType:"GEODESIC",imageUrl:"${earthsdk3-assets-script-dir}/assets/img/roads/4.jpg",repeat:[100,1],allowPicking:!1});let Mo=$n;(t=>{t.createDefaultProps=()=>({show:void 0,positions:l.reactPositions(void 0),width:void 0,arcType:void 0,imageUrl:void 0,repeat:void 0,allowPicking:void 0})})(Mo||(Mo={})),l.extendClassProps(Mo.prototype,Mo.createDefaultProps);const ol=class ol extends vt{constructor(e,n){super(e,n);v(this,"_czmESRoad");if(this._czmESRoad=this.disposeVar(new Mo(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmESRoad;{const s=()=>{r.show=e.show&&e.stroked};s();const a=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.dispose(a.don(s))}this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"width"],[e,"width"])),this.dispose(l.track([r,"arcType"],[e,"arcType"])),this.dispose(l.track([r,"imageUrl"],[e,"imageUrl"])),this.dispose(l.track([r,"repeat"],[e,"repeat"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"]))}get czmESRoad(){return this._czmESRoad}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmESRoad:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmESRoad:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(ol,"type",ol.register("ESCesiumViewer",ch.type,ol));let bp=ol;const rl=class rl extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){super(),this._subContainer=a;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u));{const y=()=>{u.style.display=e.show??w.ESScale.defaults.show?"block":"none"};y(),e.dispose(e.showChanged.disposableOn(y))}u.style.position="fixed",u.style.width="125px",u.style.height="30px",u.style.border="1px solid rgba(49,50,56,.8)",u.style.padding="0 5px",u.style.backgroundColor="rgba(37,38,42,.8)",u.style.borderRadius="15px",u.style.pointerEvents="auto",u.style.transition=" right 0.4s linear";{const y=()=>{u.style.bottom=`${e.cssPosition?e.cssPosition[0]:w.ESScale.defaults.cssPosition[0]}px`,e.screenPosition==="left"?(u.style.right="auto",u.style.left=`${e.cssPosition?e.cssPosition[1]:w.ESScale.defaults.cssPosition[1]}px`):(u.style.left="auto",u.style.right=`${e.cssPosition?e.cssPosition[1]:w.ESScale.defaults.cssPosition[1]}px`)},P=this.disposeVar(l.createNextAnimateFrameEvent(e.cssPositionChanged,e.screenPositionChanged));y(),this.dispose(P.disposableOn(()=>y()))}const p=document.createElement("div");u.appendChild(p),this.dispose(()=>u.removeChild(p)),p.style.width="125px",p.style.display="inline-block",p.style.textAlign="center",p.style.fontSize="14px",p.style.fontWeight="lighter",p.style.lineHeight="30px",p.style.color="#fff",p.innerHTML="1000km";const f=document.createElement("div");u.appendChild(f),this.dispose(()=>u.removeChild(f)),f.style.borderRight="1px solid #fff",f.style.borderLeft="1px solid #fff",f.style.borderBottom="1px solid #fff",f.style.position="absolute",f.style.height="10px",f.style.top="15px",f.style.width="75px",f.style.left=`${60/2}px`;const g=()=>{const y=n.viewerLegend.legend.computedLengthInMeters;if(e.show===!1||y&&y>1e6)u.style.display="none";else{u.style.display="block";const P=n.viewerLegend.legend.computedLengthInStr;P&&(p.innerHTML=P);const S=n.viewerLegend.legend.computedLengthInPixels;if(S){f.style.width=`${S}px`;const C=(135-S)/2;f.style.left=`${C}px`}}};g();const m=setInterval(()=>{g()},200);this.dispose(()=>clearInterval(m))}}}get customDiv(){return this._customDiv}};v(rl,"type",rl.register("ESCesiumViewer",w.ESScale.type,rl));let Rp=rl;const sl=class sl extends Ce{constructor(e,n){super(e,n);v(this,"_czmCustomPrimitive");if(this._czmCustomPrimitive=this.disposeVar(new ke(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmCustomPrimitive;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(et([r,"rotation"],[e,"rotation"])),this.dispose(l.track([r,"position"],[e,"position"])),this.dispose(l.track([r,"scale"],[e,"scale"])),this.dispose(l.track([r,"viewDistanceRange"],[e,"viewDistanceRange"])),this.dispose(l.track([r,"viewDistanceDebug"],[e,"viewDistanceDebug"])),this.dispose(l.track([r,"maximumScale"],[e,"maximumScale"])),this.dispose(l.track([r,"minimumScale"],[e,"minimumScale"])),this.dispose(l.track([r,"pixelSize"],[e,"pixelSize"])),this.dispose(l.track([r,"showSceneScale"],[e,"showSceneScale"])),this.dispose(l.track([r,"modelMatrix"],[e,"modelMatrix"])),this.dispose(l.track([r,"cull"],[e,"cull"])),this.dispose(l.track([r,"boundingVolume"],[e,"boundingVolume"])),this.dispose(l.track([r,"pass"],[e,"pass"])),this.dispose(l.track([r,"primitiveType"],[e,"primitiveType"])),this.dispose(l.track([r,"renderState"],[e,"renderState"])),this.dispose(l.track([r,"vertexShaderSource"],[e,"vertexShaderSource"])),this.dispose(l.track([r,"fragmentShaderSource"],[e,"fragmentShaderSource"])),this.dispose(l.track([r,"uniformMap"],[e,"uniformMap"])),this.dispose(l.track([r,"attributes"],[e,"attributes"])),this.dispose(l.track([r,"indexTypedArray"],[e,"indexTypedArray"])),this.dispose(l.track([r,"attributesJson"],[e,"attributesJson"])),this.dispose(l.track([r,"indexTypedArrayJson"],[e,"indexTypedArrayJson"])),this.dispose(l.track([r,"count"],[e,"count"])),this.dispose(l.track([r,"offset"],[e,"offset"])),this.dispose(l.track([r,"instanceCount"],[e,"instanceCount"])),this.dispose(l.track([r,"localPosition"],[e,"localPosition"])),this.dispose(l.track([r,"localScale"],[e,"localScale"])),this.dispose(l.track([r,"localModelMatrix"],[e,"localModelMatrix"])),this.dispose(l.track([r,"debugShowBoundingVolume"],[e,"debugShowBoundingVolume"])),this.dispose(l.track([r,"debugOverlappingFrustums"],[e,"debugOverlappingFrustums"])),this.dispose(l.track([r,"occlude"],[e,"occlude"])),this.dispose(l.track([r,"castShadows"],[e,"castShadows"])),this.dispose(l.track([r,"receiveShadows"],[e,"receiveShadows"])),this.dispose(l.track([r,"executeInClosestFrustum"],[e,"executeInClosestFrustum"])),this.dispose(l.track([r,"pickOnly"],[e,"pickOnly"])),this.dispose(l.track([r,"depthForTranslucentClassification"],[e,"depthForTranslucentClassification"]));{const s=()=>{if(e.localRotation){const a=[...e.localRotation];a[0]-=90,r.localRotation=a}else r.localRotation=[-90,0,0]};s(),this.dispose(e.localRotationChanged.disposableOn(s))}}get czmCustomPrimitive(){return this._czmCustomPrimitive}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmCustomPrimitive:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(It(r,o,n,e,s,!0),!0):!1}};v(sl,"type",sl.register("ESCesiumViewer",ah.type,sl));let xp=sl;const al=class al extends th{constructor(e,n){super(e,n);v(this,"czmGeoPolyline");v(this,"czmWater");if(!n.viewer){console.warn("viewer is undefined!");return}if(!Yt(n.viewer))return;this.czmGeoPolyline=this.dv(new Ie(n,e.id)),this.czmWater=this.dv(new ho(n,e.id));const{czmGeoPolyline:s,czmWater:a}=this;this.d(l.track([a,"allowPicking"],[e,"allowPicking"])),this.d(l.track([a,"ground"],[e,"fillGround"])),this.d(l.track([s,"allowPicking"],[e,"allowPicking"])),this.d(l.track([s,"color"],[e,"strokeColor"])),this.d(l.track([s,"width"],[e,"strokeWidth"])),this.d(l.track([s,"ground"],[e,"strokeGround"]));{const c=this.dv(l.createNextAnimateFrameEvent(e.waterColorChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),d=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??w.ESDynamicWater.defaults.waterColor,frequency:(e.frequency??w.ESDynamicWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??w.ESDynamicWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??w.ESDynamicWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??w.ESDynamicWater.defaults.specularIntensity,flowDirection:e.flowDirection??w.ESDynamicWater.defaults.flowDirection,flowSpeed:e.flowSpeed??w.ESDynamicWater.defaults.flowSpeed});else{const u=Object.assign({},Pd[e.waterType]);u.frequency&&(u.frequency/=10),u.waveVelocity&&(u.waveVelocity/=100),u.amplitude&&(u.amplitude*=100),this.updateWater(u)}};d(),this.d(c.don(d))}{const c=()=>{s.show=e.show&&e.stroked},d=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(d.don(c)),c()}{const c=()=>{a.show=!!(e.show&&e.filled)},d=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(d.don(c)),c()}{const c=()=>{if(!e.points||e.points&&e.points.length<=2){s.positions=[],a.points=[];return}if(e.scale&&e.scale.some(f=>f===0)){console.warn("缩放属性(scale)不能设置值为0");return}const u=e.points.map(f=>[f[0],f[1],0]),[p]=gn({originPosition:e.position,originRotation:e.rotation,originScale:e.scale,initialRotationMode:"XForwardZUp"},u);s.positions=[...p,p[0]],a.points=[...p]};c();const d=this.dv(l.createNextAnimateFrameEvent(e.pointsChanged,e.positionChanged,e.rotationChanged,e.scaleChanged));this.d(d.don(c))}}visibleDistance(e,n){var o;if((o=n.viewer)!=null&&o.camera&&e.show){const r=w.getDistancesFromPositions([e.position,Vt(n.viewer.camera)],"NONE")[0];let s=!1;e.minVisibleDistance<e.maxVisibleDistance?s=e.minVisibleDistance<r&&r<e.maxVisibleDistance:e.maxVisibleDistance==0&&(s=r>e.minVisibleDistance),this.czmGeoPolyline&&(this.czmGeoPolyline.show=e.show&&e.stroked&&s),this.czmWater&&(this.czmWater.show=e.show&&e.filled&&s)}}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmWater:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s!=null&&s.points?(ae(r,o,n,s.points,e,!0),!0):!1:!1}updateWater(e){const{czmWater:n}=this;n&&(e.waterColor&&n.waterColor!=e.waterColor&&(n.waterColor=e.waterColor),e.specularIntensity!=null&&n.specularIntensity!=e.specularIntensity&&(n.specularIntensity=e.specularIntensity),e.frequency!=null&&n.frequency!=e.frequency&&(n.frequency=e.frequency),e.waveVelocity!=null&&n.animationSpeed!=e.waveVelocity&&(n.animationSpeed=e.waveVelocity),e.amplitude!=null&&n.amplitude!=e.amplitude&&(n.amplitude=e.amplitude),e.flowSpeed!=null&&n.flowSpeed!=e.flowSpeed&&(n.flowSpeed=e.flowSpeed),n.baseWaterImage=e.waterImage,n.stRotation=e.flowDirection)}};v(al,"type",al.register("ESCesiumViewer",w.ESDynamicWater.type,al));let Fp=al;const ll=class ll extends Qt{constructor(e,n){super(e,n);v(this,"_scaleFactor",.6);v(this,"_urlData",this.dv(l.react(void 0)));v(this,"_dataSource",new h.CustomDataSource);v(this,"_clusterImages",{});v(this,"_clusterImageAttribute",{});v(this,"_clusterImageUrl","");if(!n.viewer){console.warn("viewer is undefined!");return}this._clusterImageUrl=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterSpirit.png"),(async()=>{var a;const r=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/ESPoi2D/clusterJson.json");await fetch(r).then(c=>c.json()).then(c=>{this._clusterImageAttribute=c}).catch(c=>{console.error(c)});for(const c in this._clusterImageAttribute)if(Object.prototype.hasOwnProperty.call(this._clusterImageAttribute,c)){const d=this._clusterImageAttribute[c];this._clusterImages[c]=new h.BillboardGraphics({image:this._clusterImageUrl,verticalOrigin:h.VerticalOrigin.BOTTOM,horizontalOrigin:h.HorizontalOrigin.CENTER,scale:1*this._scaleFactor,width:d.imageSize[0],height:d.imageSize[1],pixelOffset:new h.Cartesian2(-d.anchorPixelOffset[0]*this._scaleFactor,-d.anchorPixelOffset[1]*this._scaleFactor),imageSubRegion:new h.BoundingRectangle(...d.imagePixelOffset,...d.imageSize)})}const s=this._dataSource;(a=n.viewer)==null||a.dataSources.add(s),this.d(()=>{var c;(c=n.viewer)==null||c.dataSources.remove(s)}),s.clustering.enabled=s.clustering.clusterBillboards=s.clustering.clusterLabels=s.clustering.clusterPoints=!0,this.d(l.track([s.clustering,"pixelRange"],[e,"pixelRange"])),this.d(l.track([s.clustering,"minimumClusterSize"],[e,"minimumClusterSize"])),this.d(l.track([s.clustering,"show"],[e,"show"]));{const c=()=>{e.url&&(typeof e.url=="object"&&e.url.url?fetch(w.ESSceneObject.context.getStrFromEnv(e.url.url)).then(d=>d.json()).then(d=>{this.urlData=d}).catch(d=>{console.warn("ESEntityCluster数据加载失败",d)}):typeof e.url=="object"?this.urlData=e.url:w.isJSON(e.url)?this.urlData=JSON.parse(e.url):fetch(w.ESSceneObject.getStrFromEnv(e.url)).then(d=>d.json()).then(d=>{this.urlData=d}).catch(d=>{console.warn("ESEntityCluster数据加载失败",d)}))};c(),this.d(e.urlChanged.don(c))}{const c=this.dv(l.createNextAnimateFrameEvent(this.urlDataChanged,e.heightReferenceChanged)),d=this;this.updateEntityCluster(d),this.d(c.don(()=>{this.updateEntityCluster(d)}))}{const c=(d,u)=>{d!=null&&((d==null?void 0:d.nonCluster.mode)!=(u==null?void 0:u.nonCluster.mode)||(d==null?void 0:d.nonCluster.style)!=(u==null?void 0:u.nonCluster.style))?this.updateEntityCluster(this):this.updateStyle()};this.d(e.styleChanged.don((d,u)=>c(d,u)))}})()}get urlData(){return this._urlData.value}set urlData(e){this._urlData.value=e}get urlDataChanged(){return this._urlData.changed}async updateEntityCluster(e){var g,m,y,P,S,C,E,T,I,b,x,z;const{czmViewer:n,_dataSource:o,sceneObject:r}=e;if(!((g=n.viewer)==null?void 0:g.scene))return;const a=o.entities,c=new h.NearFarScalar(100,1,1e3,1),d=r.heightReference=="None"?h.HeightReference.NONE:r.heightReference=="CLAMP_TO_GROUND"?h.HeightReference.CLAMP_TO_GROUND:h.HeightReference.CLAMP_TO_TERRAIN;a.removeAll();const u=(m=this.czmViewer.viewer)==null?void 0:m.scene.postUpdate.addEventListener(()=>{o._entityCluster._billboardCollection&&(o._entityCluster._billboardCollection._billboards.forEach(W=>{W.id.billboard.imageSubRegion=void 0}),u&&u())}),p=r.style??w.ESEntityCluster.defaults.style;this._clusterImages[((y=p.nonCluster)==null?void 0:y.mode)??"SquareH01"].heightReference=d,this._clusterImages[((P=p.nonCluster)==null?void 0:P.mode)??"SquareH01"].scaleByDistance=c;const f=[-this._clusterImageAttribute[((S=p.nonCluster)==null?void 0:S.mode)??"SquareH01"].anchorPixelOffset[0]+this._clusterImageAttribute[((C=p.nonCluster)==null?void 0:C.mode)??"SquareH01"].textPixelOffset[0],-this._clusterImageAttribute[((E=p.nonCluster)==null?void 0:E.mode)??"SquareH01"].anchorPixelOffset[1]-this._clusterImageAttribute[((T=p.nonCluster)==null?void 0:T.mode)??"SquareH01"].textPixelOffset[1]];if(this.urlData.type==="FeatureCollection")for(let W=0;W<this.urlData.features.length;W++){const N=this.urlData.features[W];if(N.geometry.type=="Point")this._addEntities(a,N.properties.name??(W+1).toString(),N.geometry.coordinates,f,d,c,(I=p.nonCluster)==null?void 0:I.mode,N.properties);else if(N.geometry.type=="MultiPoint")for(let L=0;L<N.geometry.coordinates.length;L++)this._addEntities(a,N.properties.name??(W+1).toString(),N.geometry.coordinates[L],f,d,c,(b=p.nonCluster)==null?void 0:b.mode,N.properties);else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",N.geometry.type)}else if(this.urlData.type=="GeometryCollection")for(let W=0;W<this.urlData.geometries.length;W++){const N=this.urlData.geometries[W];if(N.type=="Point")this._addEntities(a,N.name??(W+1).toString(),N.coordinates,f,d,c,(x=p.nonCluster)==null?void 0:x.mode,N.properties);else if(N.type=="MultiPoint")for(let L=0;L<N.coordinates.length;L++)this._addEntities(a,N.name??(W+1).toString(),N.coordinates[L],f,d,c,(z=p.nonCluster)==null?void 0:z.mode,N.properties);else console.log("POI聚合只能加载Point和MultiPoint类型的数据,未加载数据类型为:",N.type)}this.updateStyle(d,c)}async updateStyle(e,n){var c,d;const o=this,{_dataSource:r,sceneObject:s}=this,a=((c=s.style)==null?void 0:c.cluster)??w.ESEntityCluster.defaults.style.cluster;r.entities.values.forEach(u=>{h.Entity.prototype&&(u.ESSceneObjectID=s.id)}),r.clustering.clusterEvent.addEventListener(async function(u,p){if(p.label.ESSceneObjectID=p.billboard.ESSceneObjectID=p.point.ESSceneObjectID=s.id,p.label.show=!0,p.label.font="16px sans-serif",p.label.scale=1*o._scaleFactor,p.label.verticalOrigin=h.VerticalOrigin.BOTTOM,p.label.horizontalOrigin=h.HorizontalOrigin.CENTER,p.label.eyeOffset=new h.Cartesian3(0,0,-10),e&&(p.label.heightReference=e),n&&(p.label.scaleByDistance=n),p.billboard.id=p.label.id,p.billboard.show=!0,p.billboard.scale=1*o._scaleFactor,p.billboard.verticalOrigin=h.VerticalOrigin.BOTTOM,p.billboard.horizontalOrigin=h.HorizontalOrigin.CENTER,e&&(p.billboard.heightReference=e),n&&(p.billboard.scaleByDistance=n),a){const f=o.getClusterStyle(a,u.length).mode,g=[-o._clusterImageAttribute[f].anchorPixelOffset[0]+o._clusterImageAttribute[f].textPixelOffset[0],-o._clusterImageAttribute[f].anchorPixelOffset[1]-o._clusterImageAttribute[f].textPixelOffset[1]];p.label.pixelOffset=new h.Cartesian2(g[0]*o._scaleFactor,g[1]*o._scaleFactor),p.billboard.width=o._clusterImageAttribute[f].imageSize[0],p.billboard.height=o._clusterImageAttribute[f].imageSize[1],p.billboard.pixelOffset=new h.Cartesian2(-o._clusterImageAttribute[f].anchorPixelOffset[0]*o._scaleFactor,-o._clusterImageAttribute[f].anchorPixelOffset[1]*o._scaleFactor),p.billboard.setImage(f,o._clusterImageUrl),p.billboard.setImageSubRegion(f,new h.BoundingRectangle(...o._clusterImageAttribute[f].imagePixelOffset,...o._clusterImageAttribute[f].imageSize))}});{const u=()=>{const f=r.clustering.pixelRange;r.clustering.pixelRange=0,r.clustering.pixelRange=f};u();let p=(d=this.czmViewer.viewer)==null?void 0:d.camera.moveEnd.addEventListener(()=>{u()});this.d(()=>{var f;p&&((f=this.czmViewer.viewer)==null||f.camera.moveEnd.removeEventListener(p))})}}getClusterStyle(e,n){return e.find(o=>{if(o.value!==void 0)return o.value===n;const r=o.minValue!==void 0?o.minValue<=n:!0,s=o.maxValue!==void 0?o.maxValue>=n:!0;return r&&s})}_addEntities(e,n,o,r,s,a,c,d){const u=h.Cartesian3.fromDegrees(o[0],o[1],o[2]??0);e.add({position:u,label:{text:n,scale:1*this._scaleFactor,font:"16px sans-serif",verticalOrigin:h.VerticalOrigin.BOTTOM,horizontalOrigin:h.HorizontalOrigin.CENTER,pixelOffset:new h.Cartesian2(r[0]*this._scaleFactor,r[1]*this._scaleFactor),heightReference:s,scaleByDistance:a,eyeOffset:new h.Cartesian3(0,0,-10)},billboard:this._clusterImages[c??"SquareH01"].clone(new h.BillboardGraphics),properties:d})}_getPositionLLH(e){const n=h.Cartographic.fromCartesian(e);return[h.Math.toDegrees(n.longitude),h.Math.toDegrees(n.latitude),n.height]}};v(ll,"type",ll.register("ESCesiumViewer",w.ESEntityCluster.type,ll));let kp=ll;const cl=class cl extends Qt{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}flyTo(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyToParam||n.flyInParam?super.flyTo(i,e):(n.esImageryLayer.flyTo(i&&i),n.flyOverEvent.emit(e,"over",o),!0):!1}flyIn(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyInParam?super.flyIn(i,e):(n.esImageryLayer.flyTo(i&&i),n.flyOverEvent.emit(e,"over",o),!0):!1}};v(cl,"type",cl.register("ESCesiumViewer",oh.type,cl));let zp=cl;const hl=class hl extends Ht{constructor(e,n){super(e,n);v(this,"geoPolyline");v(this,"czmWater");if(!n.viewer){console.warn("viewer is undefined!");return}if(!Yt(n.viewer))return;this.geoPolyline=this.dv(new Ie(n,e.id)),this.czmWater=this.dv(new ho(n,e.id));const{geoPolyline:s,czmWater:a}=this;this.d(l.track([a,"allowPicking"],[e,"allowPicking"])),this.d(l.track([a,"ground"],[e,"fillGround"])),this.d(l.track([s,"allowPicking"],[e,"allowPicking"])),this.d(l.track([s,"color"],[e,"strokeColor"])),this.d(l.track([s,"width"],[e,"strokeWidth"])),this.d(l.track([s,"ground"],[e,"strokeGround"]));{const c=this.dv(l.createNextAnimateFrameEvent(e.waterColorChanged,e.waterImageChanged,e.frequencyChanged,e.waveVelocityChanged,e.amplitudeChanged,e.specularIntensityChanged,e.waterTypeChanged,e.flowDirectionChanged,e.flowSpeedChanged)),d=()=>{if(e.waterType==="custom")this.updateWater({waterColor:e.waterColor??w.ESGeoWater.defaults.waterColor,frequency:(e.frequency??w.ESGeoWater.defaults.frequency)/10,waveVelocity:(e.waveVelocity??w.ESGeoWater.defaults.waveVelocity)/100,amplitude:(e.amplitude??w.ESGeoWater.defaults.amplitude)*100,specularIntensity:e.specularIntensity??w.ESGeoWater.defaults.specularIntensity,flowDirection:e.flowDirection??w.ESGeoWater.defaults.flowDirection,flowSpeed:e.flowSpeed??w.ESGeoWater.defaults.flowSpeed,waterImage:e.waterImage??w.ESGeoWater.defaults.waterImage});else{const u=Object.assign({},Pd[e.waterType]);u.frequency&&(u.frequency/=10),u.waveVelocity&&(u.waveVelocity/=100),u.amplitude&&(u.amplitude*=100),this.updateWater(u)}};d(),this.d(c.don(d))}{const c=()=>{s.show=!!(e.show&&e.stroked)},d=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(d.don(c)),c()}{const c=()=>{a.show=e.show&&e.filled},d=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.d(d.don(c)),c()}{const c=()=>{e.points&&e.points.length>=3?(s.positions=[...e.points,e.points[0]],a.points=[...e.points]):(s.positions=e.points&&e.points.length>=2?[...e.points,e.points[0]]:[],a.points=[])};c();const d=this.dv(l.createNextAnimateFrameEvent(e.pointsChanged));this.d(d.don(c))}this.ad(e.editingChanged.don(c=>{a.updateBoundingSphere(c)}))}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}updateWater(e){const{czmWater:n}=this;e.waterColor&&n.waterColor!=e.waterColor&&(n.waterColor=e.waterColor),e.specularIntensity!=null&&n.specularIntensity!=e.specularIntensity&&(n.specularIntensity=e.specularIntensity),e.frequency!=null&&n.frequency!=e.frequency&&(n.frequency=e.frequency),e.waveVelocity!=null&&n.animationSpeed!=e.waveVelocity&&(n.animationSpeed=e.waveVelocity),e.amplitude!=null&&n.amplitude!=e.amplitude&&(n.amplitude=e.amplitude),e.flowSpeed!=null&&n.flowSpeed!=e.flowSpeed&&(n.flowSpeed=e.flowSpeed),n.baseWaterImage=e.waterImage,n.stRotation=e.flowDirection}};v(hl,"type",hl.register("ESCesiumViewer",w.ESGeoWater.type,hl));let Lp=hl;const dl=class dl extends Qt{constructor(e,n){super(e,n);v(this,"_czmImagery");if(this._czmImagery=this.dv(new xn(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmImagery;this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([r,"zIndex"],[e,"zIndex"])),this.d(l.track([r,"rectangle"],[e,"rectangle"])),this.d(l.track([r,"alpha"],[e,"opacity"])),this.d(l.track([r,"splitDirection"],[e,"splitDirection"])),this.d(l.track([r,"brightness"],[e,"czmBrightness"])),this.d(l.track([r,"contrast"],[e,"czmContrast"])),this.d(l.track([r,"hue"],[e,"czmHue"])),this.d(l.track([r,"saturation"],[e,"czmSaturation"])),this.d(l.track([r,"gamma"],[e,"czmGamma"]));{const s=this.dv(l.createNextAnimateFrameEvent(e.urlChanged,e.accessTokenChanged,e.maximumLevelChanged,e.minimumLevelChanged,e.tileSizeChanged,e.allowPickingChanged,e.rectangleChanged,e.styleChanged,e.schemeChanged)),a=()=>{r.imageryProvider={type:"MVTImageryProvider",url:e.url,accessToken:e.accessToken,maximumLevel:e.maximumLevel,minimumLevel:e.minimumLevel,tileSize:e.tileSize,enablePickFeatures:e.allowPicking,rectangle:e.rectangle,style:e.style,scheme:e.scheme}};a(),this.d(s.don(a))}}get czmImagery(){return this._czmImagery}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmImagery:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.flyTo(e&&e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(dl,"type",dl.register("ESCesiumViewer",nh.type,dl));let Op=dl;class yD extends l.Destroyable{constructor(i,e){super(),this._czmESPipeFence=i,this._sceneObject=e;const n=this._sceneObject,o=this._czmESPipeFence,r=o.czmCustomPrimitive;if(!n.points||n.points.length<2){this.clear(r);return}const s=n.points.length;let a=[],c=[],d=[],u=[],p=[];for(let S=0;S<s-1;S++){const{outlinePionts:C,customPrimitivePoints:E}=this.divideFourPoints(n.points[S],n.points[S+1]);u.push(...E),p.push(...C),d.push(...this.setIndexs(S))}const[f,g,m]=Mt({originPosition:u[0]},u),y=this.setFaces(f);a.push(...y.flat());const P=this.setTextureCoordinates(n,o);c.push(...P.flat()),o.computeBoundingBox(),this.updateCustomPrimitive(r,g,a,d,c)}divideFourPoints(i,e){const n=w.geoHeading(i,e),o=w.geoDestination(i,this._sceneObject.width/2,90+n),r=w.geoDestination(i,this._sceneObject.width/2,n-90),s=w.geoDestination(e,this._sceneObject.width/2,n-90),a=w.geoDestination(e,this._sceneObject.width/2,90+n),c=[o[0],o[1],o[2]+this._sceneObject.height/2],d=[o[0],o[1],o[2]-this._sceneObject.height/2],u=[r[0],r[1],r[2]+this._sceneObject.height/2],p=[r[0],r[1],r[2]-this._sceneObject.height/2],f=[a[0],a[1],a[2]+this._sceneObject.height/2],g=[a[0],a[1],a[2]-this._sceneObject.height/2],m=[s[0],s[1],s[2]+this._sceneObject.height/2],y=[s[0],s[1],s[2]-this._sceneObject.height/2],P=[[c,u],[c,f],[c,d],[d,g]],S=[[d,p],[u,m],[u,p],[p,y]],C=[[f,g],[f,m],[g,y],[m,y]];return{outlinePionts:[...P,...S,...C],customPrimitivePoints:[d,c,u,p,g,f,m,y]}}setIndexs(i){const e=i*16;return[e+1,e+0,e+3,e+1,e+3,e+2,e+5,e+4,e+7,e+6,e+5,e+7,e+9,e+8,e+11,e+9,e+11,e+10,e+13,e+12,e+15,e+13,e+15,e+14]}setFaces(i){const e=[],n=i.length/8;for(let r=0;r<n;r++){const s=i.slice(8*r,8*(r+1));e.push(s)}return[...e.map(r=>[r[4],r[5],r[1],r[0],r[5],r[6],r[2],r[1],r[6],r[7],r[3],r[2],r[7],r[4],r[0],r[3]]).flat()]}getDistances(i,e){const[n]=Mt({originPosition:i[0]},i),o=n.length,r=n.reduce((c,d,u,p)=>{if(u===0)return c.push(0),c;const f=u-1,g=p[f],m=Math.sqrt((g[0]-d[0])*(g[0]-d[0])+(g[1]-d[1])*(g[1]-d[1]));return c.push(c[f]+m),c},[]),s=r[o-1];return e.distances=s,r.map(c=>c/s)}setTextureCoordinates(i,e){if(!i.points||i.points.length<2)return;const n=this.getDistances(i.points,e),o=[];for(let r=1;r<n.length;r++){let s=[];if(r===n.length-1){const a=[1,0,1,1,n[r-1],1,n[r-1],0];s=[...a,...a,...a,...a]}else{const a=[n[r],0,n[r],1,n[r-1],1,n[r-1],0];s=[...a,...a,...a,...a]}o.push(s)}return o}updateCustomPrimitive(i,e,n,o,r){i.modelMatrix=e,i.indexTypedArray=new Uint16Array(o),i.attributes={position:{typedArray:new Float32Array(n),componentsPerAttribute:3},a_st:{typedArray:new Float32Array(r),componentsPerAttribute:2}}}clear(i){i.indexTypedArray=void 0,i.modelMatrix=void 0,i.attributes=void 0}}const ul=class ul extends vt{constructor(e,n){super(e,n);v(this,"_line",this.dv(new Ie(this.czmViewer,this.sceneObject.id)));v(this,"_czmTexture",this.ad(new Le(this.czmViewer,this.sceneObject.id)));v(this,"_czmCustomPrimitive",this.dv(new ke(this.czmViewer,this.sceneObject.id)));v(this,"_distances",this.dv(l.react(0)));if(!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmTexture,s=this._line;this.d(l.bind([s,"positions"],[e,"points"])),this.d(l.track([this.line,"allowPicking"],[e,"allowPicking"])),this.d(l.track([this.line,"color"],[e,"strokeColor"])),this.d(l.track([this.line,"width"],[e,"strokeWidth"])),this.d(l.track([this.line,"ground"],[e,"strokeGround"]));{const u=this.dv(l.createNextAnimateFrameEvent(this.sceneObject.pointsChanged,this.sceneObject.strokeWidthChanged,this.sceneObject.strokeColorChanged,this.sceneObject.heightChanged,this.sceneObject.widthChanged,this.sceneObject.fillColorChanged));this.dv(new l.ObjResettingWithEvent(u,()=>new yD(this,this.sceneObject)))}{const u=()=>{s.show=e.show&&e.stroked};u();const p=this.dv(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged));this.d(p.don(u))}this.bindCustomPrimitive(e);let a="";const c=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/singleArrow.png"),d=w.ESSceneObject.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/path/multipleArrows.png");{const u=()=>{e.materialMode==="multipleArrows"||e.materialMode==="blue"?a=d:e.materialMode==="color"?a="":a=c,r.uri=a,a==""?(this._czmCustomPrimitive.uniformMap={u_color:e.fillColor},this._czmCustomPrimitive.fragmentShaderSource=` uniform vec4 u_color;
|
|
1746
1746
|
in vec2 v_st;
|
|
1747
1747
|
void main()
|
|
1748
1748
|
{
|
|
@@ -1814,7 +1814,7 @@ ${A0}
|
|
|
1814
1814
|
vec4 imageColor = texture(u_image, st);
|
|
1815
1815
|
out_FragColor = imageColor * u_color;
|
|
1816
1816
|
}
|
|
1817
|
-
`;const L=f.computeLocalAxisedBoundingBoxFromAttribute("position");if(!L)return;const{min:U,max:_}=L;f.setLocalAxisedBoundingBox(U,_)},u=async()=>{if(e.points&&e.points.length>2){const{minPos:f,center:g}=w.getMinMaxCorner(e.points),m=f[2]-e.depth;if(!w.equalsN3(e.points[e.points.length-1],e.points[e.points.length-2])){const T=Mt({originPosition:g},e.points.map((I,b)=>{let x=[...I];return x[2]=m,x}));d(a,g,T[0],"bottom",!0)}const y=this._interpolationAlongPolygon(e.points.map((T,I)=>h.Cartesian3.fromArray(w.lbhToXyz(T))),e.interpolation),P=await n.getHeightsByLonLats(y.map(T=>[T[0],T[1]]));let S=[];for(let T=0;T<y.length;T++){const I=y[T];S.push([I[0],I[1],P[T]??I[2]],[I[0],I[1],m])}const C=Mt({originPosition:g},S);let E=this._isClockwise(e.points,n);d(r,g,C[0],"side",E)}else r.attributes=void 0,a.attributes=void 0};u();const p=this.dv(l.createNextAnimateFrameEvent(e.depthChanged,e.interpolationChanged,e.pointsChanged,e.bottomImageChanged,e.sideImageChanged));this.ad(p.don(u))}{const d=()=>{s.uri=e.sideImage.url,c.uri=e.bottomImage.url,r.uniformMap={u_image:{type:"texture",id:s.id},u_color:[1,1,1,e.opacity]},a.uniformMap={u_image:{type:"texture",id:c.id},u_color:[1,1,1,e.opacity]}};d();const u=this.ad(l.createNextAnimateFrameEvent(e.opacityChanged,e.bottomImageChanged,e.sideImageChanged));this.d(u.don(d))}}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}_interpolationAlongPolygon(e,n){var o=[];for(let c=0;c<e.length;++c){var r=e[c],s=e[(c+1)%e.length],a=this._interpolationAlongLine(r,s,n);o.push(...a)}return o.push(o[0]),o}_interpolationAlongLine(e,n,o){var r=[],s=h.Cartesian3.distance(e,n),a=h.Cartesian3.subtract(n,e,new h.Cartesian3);a.equals(h.Cartesian3.ZERO)||h.Cartesian3.normalize(a,a);for(var c=0;c<s;){var d=new h.Cartesian3(a.x*c,a.y*c,a.z*c),u=h.Cartesian3.add(e,d,new h.Cartesian3);const p=ce(u);p&&r.push(p),c+=o}return r}_isClockwise(e,n){if(n.viewer)for(let o=0;o<e.length;o++){let r=h.Cartesian3.fromDegrees(...e[o]),s=h.Cartesian3.fromDegrees(...e[(o+1)%e.length]),a=h.Cartesian3.fromDegrees(...e[(o+2)%e.length]),c=h.Cartesian3.subtract(s,r,new h.Cartesian3),d=h.Cartesian3.subtract(a,s,new h.Cartesian3);if(c.equals(h.Cartesian3.ZERO)||d.equals(h.Cartesian3.ZERO))return!0;if(h.Cartesian3.normalize(c,c),h.Cartesian3.normalize(d,d),Math.abs(h.Cartesian3.dot(c,d))==1){if(o==e.length-1)return!0;continue}let u=h.Cartesian3.cross(c,d,new h.Cartesian3);return h.Cartesian3.dot(u,n.viewer.camera.directionWC)>0}}_triangleIndices(e){let n=new Uint32Array(e*3);for(let o=0;o<e;++o)n[o*3+0]=o,n[o*3+1]=o%2?(o+2)%e:(o+1)%e,n[o*3+2]=o%2?(o+1)%e:(o+2)%e;return n}_getDistance(e,n){return Math.sqrt(Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2))}};v(gl,"type",gl.register("ESCesiumViewer",w.ESPit.type,gl));let Gp=gl;const ml=class ml extends Ht{constructor(e,n){super(e,n);v(this,"_czmPolygonPrimitive");v(this,"_geoPolylines");if(this._czmPolygonPrimitive=this.disposeVar(new Cn(n,e.id)),console.log(this.czmPolygonPrimitive),this._geoPolylines=this.disposeVar(new ci(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}{const a=()=>{this.geoPolygon&&(this.geoPolygon.show=!1)};a(),this.ad(this.sceneObject.showChanged.don(a))}const r=this._geoPolylines;r.arcType="RHUMB";const s=this._czmPolygonPrimitive;this.dispose(l.track([s,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"color"],[e,"strokeColor"])),this.dispose(l.track([r,"width"],[e,"strokeWidth"]));{s.perPositionHeight=!0;const a=()=>{r.show=e.show&&e.stroked,s.show=e.show&&e.filled,s.material={type:"Color",color:e.fillColor}};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged,e.fillColorChanged));this.dispose(c.don(a))}{const a=()=>{const d={positions:[],holes:[]};if(e.points&&e.points.length>=3){if(r.positions=[[...e.points,e.points[0]]],d.positions=e.points,e.innerRings&&e.innerRings.length>0)for(let u=0;u<e.innerRings.length;u++){const p=e.innerRings[u];d.holes.push({positions:p}),r.positions.push([...p,p[0]])}s.polygonHierarchy=d}else s.polygonHierarchy=d};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.innerRingsChanged));this.dispose(c.disposableOn(()=>a()))}}get czmPolygonPrimitive(){return this._czmPolygonPrimitive}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmPolygonPrimitive:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmPolygonPrimitive:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(ml,"type",ml.register("ESCesiumViewer",w.ESPolygonWithHole.type,ml));let Hp=ml;var Ft=63710088e-1,CD={centimeters:Ft*100,centimetres:Ft*100,degrees:Ft/111325,feet:Ft*3.28084,inches:Ft*39.37,kilometers:Ft/1e3,kilometres:Ft/1e3,meters:Ft,metres:Ft,miles:Ft/1609.344,millimeters:Ft*1e3,millimetres:Ft*1e3,nauticalmiles:Ft/1852,radians:1,yards:Ft*1.0936};function Ii(t,i,e){e===void 0&&(e={});var n={type:"Feature"};return(e.id===0||e.id)&&(n.id=e.id),e.bbox&&(n.bbox=e.bbox),n.properties=i||{},n.geometry=t,n}function zn(t,i,e){if(e===void 0&&(e={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!T0(t[0])||!T0(t[1]))throw new Error("coordinates must contain numbers");var n={type:"Point",coordinates:t};return Ii(n,i,e)}function _t(t,i,e){e===void 0&&(e={});for(var n=0,o=t;n<o.length;n++){var r=o[n];if(r.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<r[r.length-1].length;s++)if(r[r.length-1][s]!==r[0][s])throw new Error("First and last Position are not equivalent.")}var a={type:"Polygon",coordinates:t};return Ii(a,i,e)}function uh(t,i,e){if(e===void 0&&(e={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");var n={type:"LineString",coordinates:t};return Ii(n,i,e)}function Di(t,i){i===void 0&&(i={});var e={type:"FeatureCollection"};return i.id&&(e.id=i.id),i.bbox&&(e.bbox=i.bbox),e.features=t,e}function _D(t,i,e){e===void 0&&(e={});var n={type:"MultiLineString",coordinates:t};return Ii(n,i,e)}function PD(t,i,e){e===void 0&&(e={});var n={type:"MultiPolygon",coordinates:t};return Ii(n,i,e)}function SD(t,i){i===void 0&&(i="kilometers");var e=CD[i];if(!e)throw new Error(i+" units is invalid");return t*e}function ph(t){var i=t%360;return i*Math.PI/180}function T0(t){return!isNaN(t)&&t!==null&&!Array.isArray(t)}function fh(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if(t.type==="Feature"&&t.geometry!==null&&t.geometry.type==="Point")return t.geometry.coordinates;if(t.type==="Point")return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function bi(t){if(Array.isArray(t))return t;if(t.type==="Feature"){if(t.geometry!==null)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function ED(t,i,e){if(!t)throw new Error("No featureCollection passed");if(!t||t.type!=="FeatureCollection")throw new Error("Invalid input to "+e+", FeatureCollection required");for(var n=0,o=t.features;n<o.length;n++){var r=o[n];if(!r||r.type!=="Feature"||!r.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!r.geometry||r.geometry.type!==i)throw new Error("Invalid input to "+e+": must be a "+i+", given "+r.geometry.type)}}function Ri(t){return t.type==="Feature"?t.geometry:t}function AD(t,i){return t.type==="FeatureCollection"?"FeatureCollection":t.type==="GeometryCollection"?"GeometryCollection":t.type==="Feature"&&t.geometry!==null?t.geometry.type:t.type}function xi(t,i,e){e===void 0&&(e={});var n=fh(t),o=fh(i),r=ph(o[1]-n[1]),s=ph(o[0]-n[0]),a=ph(n[1]),c=ph(o[1]),d=Math.pow(Math.sin(r/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(a)*Math.cos(c);return SD(2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d)),e.units)}function gh(t,i,e){if(t!==null)for(var n,o,r,s,a,c,d,u=0,p=0,f,g=t.type,m=g==="FeatureCollection",y=g==="Feature",P=m?t.features.length:1,S=0;S<P;S++){d=m?t.features[S].geometry:y?t.geometry:t,f=d?d.type==="GeometryCollection":!1,a=f?d.geometries.length:1;for(var C=0;C<a;C++){var E=0,T=0;if(s=f?d.geometries[C]:d,s!==null){c=s.coordinates;var I=s.type;switch(u=e&&(I==="Polygon"||I==="MultiPolygon")?1:0,I){case null:break;case"Point":if(i(c,p,S,E,T)===!1)return!1;p++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(i(c[n],p,S,E,T)===!1)return!1;p++,I==="MultiPoint"&&E++}I==="LineString"&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(o=0;o<c[n].length-u;o++){if(i(c[n][o],p,S,E,T)===!1)return!1;p++}I==="MultiLineString"&&E++,I==="Polygon"&&T++}I==="Polygon"&&E++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(T=0,o=0;o<c[n].length;o++){for(r=0;r<c[n][o].length-u;r++){if(i(c[n][o][r],p,S,E,T)===!1)return!1;p++}T++}E++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(gh(s.geometries[n],i,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function mh(t,i){if(t.type==="Feature")i(t,0);else if(t.type==="FeatureCollection")for(var e=0;e<t.features.length&&i(t.features[e],e)!==!1;e++);}function TD(t,i){var e,n,o,r,s,a,c,d,u,p,f=0,g=t.type==="FeatureCollection",m=t.type==="Feature",y=g?t.features.length:1;for(e=0;e<y;e++){for(a=g?t.features[e].geometry:m?t.geometry:t,d=g?t.features[e].properties:m?t.properties:{},u=g?t.features[e].bbox:m?t.bbox:void 0,p=g?t.features[e].id:m?t.id:void 0,c=a?a.type==="GeometryCollection":!1,s=c?a.geometries.length:1,o=0;o<s;o++){if(r=c?a.geometries[o]:a,r===null){if(i(null,f,d,u,p)===!1)return!1;continue}switch(r.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(i(r,f,d,u,p)===!1)return!1;break}case"GeometryCollection":{for(n=0;n<r.geometries.length;n++)if(i(r.geometries[n],f,d,u,p)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}f++}}function kr(t,i){TD(t,function(e,n,o,r,s){var a=e===null?null:e.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return i(Ii(e,o,{bbox:r,id:s}),n,0)===!1?!1:void 0}var c;switch(a){case"MultiPoint":c="Point";break;case"MultiLineString":c="LineString";break;case"MultiPolygon":c="Polygon";break}for(var d=0;d<e.coordinates.length;d++){var u=e.coordinates[d],p={type:c,coordinates:u};if(i(Ii(p,o),n,d)===!1)return!1}})}function MD(t,i){kr(t,function(e,n,o){var r=0;if(e.geometry){var s=e.geometry.type;if(!(s==="Point"||s==="MultiPoint")){var a,c=0,d=0,u=0;if(gh(e,function(p,f,g,m,y){if(a===void 0||n>c||m>d||y>u){a=p,c=n,d=m,u=y,r=0;return}var P=uh([a,p],e.properties);if(i(P,n,o,y,r)===!1)return!1;r++,a=p})===!1)return!1}}})}function ID(t,i,e){var n=e,o=!1;return MD(t,function(r,s,a,c,d){o===!1&&e===void 0?n=r:n=i(n,r,s,a,c,d),o=!0}),n}function DD(t,i){return i===void 0&&(i={}),ID(t,function(e,n){var o=n.geometry.coordinates;return e+xi(o[0],o[1],i)},0)}function bD(t){var i=uh(t),e=DD(i,{units:"meters"});return e}function*RD(t){t.type==="FeatureCollection"?yield*t.features.map(i=>[i.geometry,i]):t.type==="Feature"&&(yield[t.geometry,t])}function*xD(t){for(const[i,e]of RD(t))if(i.type==="LineString")yield[i.coordinates,e];else if(i.type==="MultiLineString")for(let n of i.coordinates)yield[n,e]}function FD(t,i,e){return[...xD(t)].map(([n,o])=>{if(n.length<2)return;const r=n.map(c=>[c[0],c[1],c[2]??0]),a=bD(r)/e;return{positions:r,repeat:a,width:i,extra:{geojson:{feature:o}}}}).filter(n=>!!n)}const Us=h.ArcType,kD=h.arrayRemoveDuplicates,zD=h.BoundingSphere,Je=h.Cartesian3,kt=h.Color,zr=h.ComponentDatatype,LD=h.Frozen,qt=h.defined,Lr=h.DeveloperError,Fi=h.Ellipsoid,OD=h.Geometry,Or=h.GeometryAttribute,ND=h.GeometryAttributes,VD=h.GeometryType,UD=h.IndexDatatype,M0=h.Math,Ws=h.PolylinePipeline,WD=h.PrimitiveType,Qi=h.VertexFormat;var I0=[];function GD(t,i,e,n,o){var r=I0;r.length=o;var s,a=e.red,c=e.green,d=e.blue,u=e.alpha,p=n.red,f=n.green,g=n.blue,m=n.alpha;if(kt.equals(e,n)){for(s=0;s<o;s++)r[s]=kt.clone(e);return r}var y=(p-a)/o,P=(f-c)/o,S=(g-d)/o,C=(m-u)/o;for(s=0;s<o;s++)r[s]=new kt(a+s*y,c+s*P,d+s*S,u+s*C);return r}function Nr(t){t=t??LD.EMPTY_OBJECT;var i=t.positions,e=t.colors,n=t.width??1,o=t.colorsPerVertex??!1;if(!qt(i)||i.length<2)throw new Lr("At least two positions are required.");if(typeof n!="number")throw new Lr("width must be a number");if(qt(e)&&(o&&e.length<i.length||!o&&e.length<i.length-1))throw new Lr("colors has an invalid length.");this._positions=i,this._colors=e,this._width=n,this._colorsPerVertex=o,this._vertexFormat=Qi.clone(t.vertexFormat??Qi.DEFAULT),this._arcType=t.arcType??Us.GEODESIC,this._granularity=t.granularity??M0.RADIANS_PER_DEGREE,this._ellipsoid=Fi.clone(t.ellipsoid??Fi.WGS84),this._workerName="createPolylineGeometry";var r=1+i.length*Je.packedLength;r+=qt(e)?1+e.length*kt.packedLength:1,this.packedLength=r+Fi.packedLength+Qi.packedLength+4}Nr.pack=function(t,i,e){if(!qt(t))throw new Lr("value is required");if(!qt(i))throw new Lr("array is required");e=e??0;var n,o=t._positions,r=o.length;for(i[e++]=r,n=0;n<r;++n,e+=Je.packedLength)Je.pack(o[n],i,e);var s=t._colors;for(r=qt(s)?s.length:0,i[e++]=r,n=0;n<r;++n,e+=kt.packedLength)kt.pack(s[n],i,e);return Fi.pack(t._ellipsoid,i,e),e+=Fi.packedLength,Qi.pack(t._vertexFormat,i,e),e+=Qi.packedLength,i[e++]=t._width,i[e++]=t._colorsPerVertex?1:0,i[e++]=t._arcType,i[e]=t._granularity,i};var D0=Fi.clone(Fi.UNIT_SPHERE),b0=new Qi,Io={positions:void 0,colors:void 0,ellipsoid:D0,vertexFormat:b0,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};Nr.unpack=function(t,i,e){if(!qt(t))throw new Lr("array is required");i=i??0;var n,o=t[i++],r=new Array(o);for(n=0;n<o;++n,i+=Je.packedLength)r[n]=Je.unpack(t,i);o=t[i++];var s=o>0?new Array(o):void 0;for(n=0;n<o;++n,i+=kt.packedLength)s[n]=kt.unpack(t,i);var a=Fi.unpack(t,i,D0);i+=Fi.packedLength;var c=Qi.unpack(t,i,b0);i+=Qi.packedLength;var d=t[i++],u=t[i++]===1,p=t[i++],f=t[i];return qt(e)?(e._positions=r,e._colors=s,e._ellipsoid=Fi.clone(a,e._ellipsoid),e._vertexFormat=Qi.clone(c,e._vertexFormat),e._width=d,e._colorsPerVertex=u,e._arcType=p,e._granularity=f,e):(Io.positions=r,Io.colors=s,Io.width=d,Io.colorsPerVertex=u,Io.arcType=p,Io.granularity=f,new Nr(Io))};var R0=new Je,x0=new Je,F0=new Je,k0=new Je;Nr.createGeometry=function(t){var i=t._width,e=t._vertexFormat,n=t._colors,o=t._colorsPerVertex,r=t._arcType,s=t._granularity,a=t._ellipsoid,c,d,u,p=kD(t._positions,Je.equalsEpsilon),f=p.length;if(f<2||i<=0)return;if(r===Us.GEODESIC||r===Us.RHUMB){var g,m;r===Us.GEODESIC?(g=M0.chordLength(s,a.maximumRadius),m=Ws.numberOfPoints):(g=s,m=Ws.numberOfPointsRhumbLine);var y=Ws.extractHeights(p,a);if(qt(n)){var P=1;for(c=0;c<f-1;++c)P+=m(p[c],p[c+1],g);var S=new Array(P),C=0;for(c=0;c<f-1;++c){var E=p[c],T=p[c+1],I=n[c],b=m(E,T,g);if(o&&c<P){var x=n[c+1],z=GD(E,T,I,x,b),W=z.length;for(d=0;d<W;++d)S[C++]=z[d]}else for(d=0;d<b;++d)S[C++]=kt.clone(I)}S[C]=kt.clone(n[n.length-1]),n=S,I0.length=0}r===Us.GEODESIC?p=Ws.generateCartesianArc({positions:p,minDistance:g,ellipsoid:a,height:y}):p=Ws.generateCartesianRhumbArc({positions:p,granularity:g,ellipsoid:a,height:y})}f=p.length;var N=f*4-4,L=new Float64Array(N*3),U=new Float64Array(N*3),_=new Float64Array(N*3),M=new Float32Array(N*2),F=e.st?new Float32Array(N*2):void 0,V=qt(n)?new Uint8Array(N*4):void 0,G=0,Z=0,$=0,Y=0,K;let te=[0];{for(c=0;c<f-1;c++){const Ne=h.Cartesian3.distance(p[c],p[c+1]);te.push(te[te.length-1]+Ne)}te=te.map(Ne=>Ne/te[te.length-1])}for(d=0;d<f;++d){d===0?(K=R0,Je.subtract(p[0],p[1],K),Je.add(p[0],K,K)):K=p[d-1],Je.clone(K,F0),Je.clone(p[d],x0),d===f-1?(K=R0,Je.subtract(p[f-1],p[f-2],K),Je.add(p[f-1],K,K)):K=p[d+1],Je.clone(K,k0);var re,ge;qt(V)&&(d!==0&&!o?re=n[d-1]:re=n[d],d!==f-1&&(ge=n[d]));var ye=d===0?2:0,Te=d===f-1?2:4;for(u=ye;u<Te;++u){Je.pack(x0,L,G),Je.pack(F0,U,G),Je.pack(k0,_,G),G+=3;var Oe=u-2<0?-1:1;if(M[Z++]=2*(u%2)-1,M[Z++]=Oe*i,e.st&&(F[$++]=te[d],F[$++]=Math.max(M[Z-2],0)),qt(V)){var We=u<2?re:ge;V[Y++]=kt.floatToByte(We.red),V[Y++]=kt.floatToByte(We.green),V[Y++]=kt.floatToByte(We.blue),V[Y++]=kt.floatToByte(We.alpha)}}}var me=new ND;me.position=new Or({componentDatatype:zr.DOUBLE,componentsPerAttribute:3,values:L}),me.prevPosition=new Or({componentDatatype:zr.DOUBLE,componentsPerAttribute:3,values:U}),me.nextPosition=new Or({componentDatatype:zr.DOUBLE,componentsPerAttribute:3,values:_}),me.expandAndWidth=new Or({componentDatatype:zr.FLOAT,componentsPerAttribute:2,values:M}),e.st&&(me.st=new Or({componentDatatype:zr.FLOAT,componentsPerAttribute:2,values:F})),qt(V)&&(me.color=new Or({componentDatatype:zr.UNSIGNED_BYTE,componentsPerAttribute:4,values:V,normalize:!0}));var ne=UD.createTypedArray(N,f*6-6),he=0,de=0,Me=f-1;for(d=0;d<Me;++d)ne[de++]=he,ne[de++]=he+2,ne[de++]=he+1,ne[de++]=he+1,ne[de++]=he+2,ne[de++]=he+3,he+=4;return new OD({attributes:me,indices:ne,primitiveType:WD.TRIANGLES,boundingSphere:zD.fromPoints(p),geometryType:VD.POLYLINES})};var qp;function HD(){return typeof qp>"u"&&(qp=new h.EllipsoidGeodesic),qp}function qD(t,i){var e=i/3e7;return e=Math.min(1,e),e=1-Math.pow(1-e,2),Math.sin(Math.PI*t)*1e6*e}function $D(t,i,e,n=1){var o=HD(),r=h.Cartesian3.fromDegreesArray([t[0],t[1],i[0],i[1]]),s=[0,0];t.length>=3&&i.length>=3&&(s=[t[2],i[2]]);var a=h.Cartographic.fromDegrees(t[0],t[1]),c=h.Cartographic.fromDegrees(i[0],i[1]);o.setEndPoints(a,c);var d=o.surfaceDistance,u=h.PolylinePipeline.generateCartesianArc({positions:r,height:s,minDistance:d/36}),p=u.length;return u.forEach(function(f,g){var m=g/(p-1),y=qD(m,d*n),P=h.Cartographic.fromCartesian(f);P.height+=y,h.Cartesian3.fromRadians(P.longitude,P.latitude,P.height,h.Ellipsoid.WGS84,u[g])}),u}function XD(t=[.8,.8,0,1],i=!0,e=!0,n){var o;const r=n?{type:"Image",uniforms:{color:new h.Color(...t)}}:{type:"Color",uniforms:{color:new h.Color(...t)}};i?(o=new h.PolylineMaterialAppearance({material:new h.Material({fabric:r,translucent:!1}),translucent:!1}),o.renderState.blending=h.BlendingState.ADDITIVE_BLEND,o.renderState.depthMask=!1,o.renderState.depthTest={enabled:!0},o.getRenderState=function(){const u=h.Appearance.prototype.getRenderState.call(this);return u.depthTest={enabled:e},u.depthMask=!1,u},o.material.type==="Image"&&(o.material._uniforms.image_1=n)):(o=new h.PolylineMaterialAppearance({material:new h.Material({fabric:r,translucent:!0})}),o.getRenderState=function(){const u=h.Appearance.prototype.getRenderState.call(this);return u.depthTest={enabled:e},u.depthMask=!1,u},o.material.type==="Image"&&(o.material._uniforms.image_1=n));var s=h.ShaderSource.replaceMain(o._vertexShaderSource,"czm_twp_main"),a=`out vec4 v_twp;
|
|
1817
|
+
`;const L=f.computeLocalAxisedBoundingBoxFromAttribute("position");if(!L)return;const{min:U,max:_}=L;f.setLocalAxisedBoundingBox(U,_)},u=async()=>{if(e.points&&e.points.length>2){const{minPos:f,center:g}=w.getMinMaxCorner(e.points),m=f[2]-e.depth;if(!w.equalsN3(e.points[e.points.length-1],e.points[e.points.length-2])){const T=Mt({originPosition:g},e.points.map((I,b)=>{let x=[...I];return x[2]=m,x}));d(a,g,T[0],"bottom",!0)}const y=this._interpolationAlongPolygon(e.points.map((T,I)=>h.Cartesian3.fromArray(w.lbhToXyz(T))),e.interpolation),P=await n.getHeightsByLonLats(y.map(T=>[T[0],T[1]]));let S=[];for(let T=0;T<y.length;T++){const I=y[T];S.push([I[0],I[1],P[T]??I[2]],[I[0],I[1],m])}const C=Mt({originPosition:g},S);let E=this._isClockwise(e.points,n);d(r,g,C[0],"side",E)}else r.attributes=void 0,a.attributes=void 0};u();const p=this.dv(l.createNextAnimateFrameEvent(e.depthChanged,e.interpolationChanged,e.pointsChanged,e.bottomImageChanged,e.sideImageChanged));this.ad(p.don(u))}{const d=()=>{s.uri=e.sideImage.url,c.uri=e.bottomImage.url,r.uniformMap={u_image:{type:"texture",id:s.id},u_color:[1,1,1,e.opacity]},a.uniformMap={u_image:{type:"texture",id:c.id},u_color:[1,1,1,e.opacity]}};d();const u=this.ad(l.createNextAnimateFrameEvent(e.opacityChanged,e.bottomImageChanged,e.sideImageChanged));this.d(u.don(d))}}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):o.points?(ae(r,o,n,o.points,e),!0):!1:!1}_interpolationAlongPolygon(e,n){var o=[];for(let c=0;c<e.length;++c){var r=e[c],s=e[(c+1)%e.length],a=this._interpolationAlongLine(r,s,n);o.push(...a)}return o.push(o[0]),o}_interpolationAlongLine(e,n,o){var r=[],s=h.Cartesian3.distance(e,n),a=h.Cartesian3.subtract(n,e,new h.Cartesian3);a.equals(h.Cartesian3.ZERO)||h.Cartesian3.normalize(a,a);for(var c=0;c<s;){var d=new h.Cartesian3(a.x*c,a.y*c,a.z*c),u=h.Cartesian3.add(e,d,new h.Cartesian3);const p=ce(u);p&&r.push(p),c+=o}return r}_isClockwise(e,n){if(n.viewer)for(let o=0;o<e.length;o++){let r=h.Cartesian3.fromDegrees(...e[o]),s=h.Cartesian3.fromDegrees(...e[(o+1)%e.length]),a=h.Cartesian3.fromDegrees(...e[(o+2)%e.length]),c=h.Cartesian3.subtract(s,r,new h.Cartesian3),d=h.Cartesian3.subtract(a,s,new h.Cartesian3);if(c.equals(h.Cartesian3.ZERO)||d.equals(h.Cartesian3.ZERO))return!0;if(h.Cartesian3.normalize(c,c),h.Cartesian3.normalize(d,d),Math.abs(h.Cartesian3.dot(c,d))==1){if(o==e.length-1)return!0;continue}let u=h.Cartesian3.cross(c,d,new h.Cartesian3);return h.Cartesian3.dot(u,n.viewer.camera.directionWC)>0}}_triangleIndices(e){let n=new Uint32Array(e*3);for(let o=0;o<e;++o)n[o*3+0]=o,n[o*3+1]=o%2?(o+2)%e:(o+1)%e,n[o*3+2]=o%2?(o+1)%e:(o+2)%e;return n}_getDistance(e,n){return Math.sqrt(Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2))}};v(gl,"type",gl.register("ESCesiumViewer",w.ESPit.type,gl));let Gp=gl;const ml=class ml extends Ht{constructor(e,n){super(e,n);v(this,"_czmPolygonPrimitive");v(this,"_geoPolylines");if(this._czmPolygonPrimitive=this.disposeVar(new Cn(n,e.id)),console.log(this.czmPolygonPrimitive),this._geoPolylines=this.disposeVar(new ci(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}{const a=()=>{this.geoPolygon&&(this.geoPolygon.show=!1)};a(),this.ad(this.sceneObject.showChanged.don(a))}const r=this._geoPolylines;r.arcType="RHUMB";const s=this._czmPolygonPrimitive;this.dispose(l.track([s,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.track([r,"color"],[e,"strokeColor"])),this.dispose(l.track([r,"width"],[e,"strokeWidth"]));{s.perPositionHeight=!0;const a=()=>{r.show=e.show&&e.stroked,s.show=e.show&&e.filled,s.material={type:"Color",color:e.fillColor}};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.showChanged,e.strokedChanged,e.filledChanged,e.fillColorChanged));this.dispose(c.don(a))}{const a=()=>{const d={positions:[],holes:[]};if(e.points&&e.points.length>=3){if(r.positions=[[...e.points,e.points[0]]],d.positions=e.points,e.innerRings&&e.innerRings.length>0)for(let u=0;u<e.innerRings.length;u++){const p=e.innerRings[u];d.holes.push({positions:p}),r.positions.push([...p,p[0]])}s.polygonHierarchy=d}else s.polygonHierarchy=d};a();const c=this.disposeVar(l.createNextAnimateFrameEvent(e.pointsChanged,e.innerRingsChanged));this.dispose(c.disposableOn(()=>a()))}}get czmPolygonPrimitive(){return this._czmPolygonPrimitive}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmPolygonPrimitive:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmPolygonPrimitive:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(ml,"type",ml.register("ESCesiumViewer",w.ESPolygonWithHole.type,ml));let Hp=ml;var Ft=63710088e-1,CD={centimeters:Ft*100,centimetres:Ft*100,degrees:Ft/111325,feet:Ft*3.28084,inches:Ft*39.37,kilometers:Ft/1e3,kilometres:Ft/1e3,meters:Ft,metres:Ft,miles:Ft/1609.344,millimeters:Ft*1e3,millimetres:Ft*1e3,nauticalmiles:Ft/1852,radians:1,yards:Ft*1.0936};function Ii(t,i,e){e===void 0&&(e={});var n={type:"Feature"};return(e.id===0||e.id)&&(n.id=e.id),e.bbox&&(n.bbox=e.bbox),n.properties=i||{},n.geometry=t,n}function zn(t,i,e){if(e===void 0&&(e={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!T0(t[0])||!T0(t[1]))throw new Error("coordinates must contain numbers");var n={type:"Point",coordinates:t};return Ii(n,i,e)}function Ct(t,i,e){e===void 0&&(e={});for(var n=0,o=t;n<o.length;n++){var r=o[n];if(r.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<r[r.length-1].length;s++)if(r[r.length-1][s]!==r[0][s])throw new Error("First and last Position are not equivalent.")}var a={type:"Polygon",coordinates:t};return Ii(a,i,e)}function uh(t,i,e){if(e===void 0&&(e={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");var n={type:"LineString",coordinates:t};return Ii(n,i,e)}function Di(t,i){i===void 0&&(i={});var e={type:"FeatureCollection"};return i.id&&(e.id=i.id),i.bbox&&(e.bbox=i.bbox),e.features=t,e}function _D(t,i,e){e===void 0&&(e={});var n={type:"MultiLineString",coordinates:t};return Ii(n,i,e)}function PD(t,i,e){e===void 0&&(e={});var n={type:"MultiPolygon",coordinates:t};return Ii(n,i,e)}function SD(t,i){i===void 0&&(i="kilometers");var e=CD[i];if(!e)throw new Error(i+" units is invalid");return t*e}function ph(t){var i=t%360;return i*Math.PI/180}function T0(t){return!isNaN(t)&&t!==null&&!Array.isArray(t)}function fh(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if(t.type==="Feature"&&t.geometry!==null&&t.geometry.type==="Point")return t.geometry.coordinates;if(t.type==="Point")return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function bi(t){if(Array.isArray(t))return t;if(t.type==="Feature"){if(t.geometry!==null)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function ED(t,i,e){if(!t)throw new Error("No featureCollection passed");if(!t||t.type!=="FeatureCollection")throw new Error("Invalid input to "+e+", FeatureCollection required");for(var n=0,o=t.features;n<o.length;n++){var r=o[n];if(!r||r.type!=="Feature"||!r.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!r.geometry||r.geometry.type!==i)throw new Error("Invalid input to "+e+": must be a "+i+", given "+r.geometry.type)}}function Ri(t){return t.type==="Feature"?t.geometry:t}function AD(t,i){return t.type==="FeatureCollection"?"FeatureCollection":t.type==="GeometryCollection"?"GeometryCollection":t.type==="Feature"&&t.geometry!==null?t.geometry.type:t.type}function xi(t,i,e){e===void 0&&(e={});var n=fh(t),o=fh(i),r=ph(o[1]-n[1]),s=ph(o[0]-n[0]),a=ph(n[1]),c=ph(o[1]),d=Math.pow(Math.sin(r/2),2)+Math.pow(Math.sin(s/2),2)*Math.cos(a)*Math.cos(c);return SD(2*Math.atan2(Math.sqrt(d),Math.sqrt(1-d)),e.units)}function gh(t,i,e){if(t!==null)for(var n,o,r,s,a,c,d,u=0,p=0,f,g=t.type,m=g==="FeatureCollection",y=g==="Feature",P=m?t.features.length:1,S=0;S<P;S++){d=m?t.features[S].geometry:y?t.geometry:t,f=d?d.type==="GeometryCollection":!1,a=f?d.geometries.length:1;for(var C=0;C<a;C++){var E=0,T=0;if(s=f?d.geometries[C]:d,s!==null){c=s.coordinates;var I=s.type;switch(u=e&&(I==="Polygon"||I==="MultiPolygon")?1:0,I){case null:break;case"Point":if(i(c,p,S,E,T)===!1)return!1;p++,E++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(i(c[n],p,S,E,T)===!1)return!1;p++,I==="MultiPoint"&&E++}I==="LineString"&&E++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(o=0;o<c[n].length-u;o++){if(i(c[n][o],p,S,E,T)===!1)return!1;p++}I==="MultiLineString"&&E++,I==="Polygon"&&T++}I==="Polygon"&&E++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(T=0,o=0;o<c[n].length;o++){for(r=0;r<c[n][o].length-u;r++){if(i(c[n][o][r],p,S,E,T)===!1)return!1;p++}T++}E++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(gh(s.geometries[n],i,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function mh(t,i){if(t.type==="Feature")i(t,0);else if(t.type==="FeatureCollection")for(var e=0;e<t.features.length&&i(t.features[e],e)!==!1;e++);}function TD(t,i){var e,n,o,r,s,a,c,d,u,p,f=0,g=t.type==="FeatureCollection",m=t.type==="Feature",y=g?t.features.length:1;for(e=0;e<y;e++){for(a=g?t.features[e].geometry:m?t.geometry:t,d=g?t.features[e].properties:m?t.properties:{},u=g?t.features[e].bbox:m?t.bbox:void 0,p=g?t.features[e].id:m?t.id:void 0,c=a?a.type==="GeometryCollection":!1,s=c?a.geometries.length:1,o=0;o<s;o++){if(r=c?a.geometries[o]:a,r===null){if(i(null,f,d,u,p)===!1)return!1;continue}switch(r.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(i(r,f,d,u,p)===!1)return!1;break}case"GeometryCollection":{for(n=0;n<r.geometries.length;n++)if(i(r.geometries[n],f,d,u,p)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}f++}}function kr(t,i){TD(t,function(e,n,o,r,s){var a=e===null?null:e.type;switch(a){case null:case"Point":case"LineString":case"Polygon":return i(Ii(e,o,{bbox:r,id:s}),n,0)===!1?!1:void 0}var c;switch(a){case"MultiPoint":c="Point";break;case"MultiLineString":c="LineString";break;case"MultiPolygon":c="Polygon";break}for(var d=0;d<e.coordinates.length;d++){var u=e.coordinates[d],p={type:c,coordinates:u};if(i(Ii(p,o),n,d)===!1)return!1}})}function MD(t,i){kr(t,function(e,n,o){var r=0;if(e.geometry){var s=e.geometry.type;if(!(s==="Point"||s==="MultiPoint")){var a,c=0,d=0,u=0;if(gh(e,function(p,f,g,m,y){if(a===void 0||n>c||m>d||y>u){a=p,c=n,d=m,u=y,r=0;return}var P=uh([a,p],e.properties);if(i(P,n,o,y,r)===!1)return!1;r++,a=p})===!1)return!1}}})}function ID(t,i,e){var n=e,o=!1;return MD(t,function(r,s,a,c,d){o===!1&&e===void 0?n=r:n=i(n,r,s,a,c,d),o=!0}),n}function DD(t,i){return i===void 0&&(i={}),ID(t,function(e,n){var o=n.geometry.coordinates;return e+xi(o[0],o[1],i)},0)}function bD(t){var i=uh(t),e=DD(i,{units:"meters"});return e}function*RD(t){t.type==="FeatureCollection"?yield*t.features.map(i=>[i.geometry,i]):t.type==="Feature"&&(yield[t.geometry,t])}function*xD(t){for(const[i,e]of RD(t))if(i.type==="LineString")yield[i.coordinates,e];else if(i.type==="MultiLineString")for(let n of i.coordinates)yield[n,e]}function FD(t,i,e){return[...xD(t)].map(([n,o])=>{if(n.length<2)return;const r=n.map(c=>[c[0],c[1],c[2]??0]),a=bD(r)/e;return{positions:r,repeat:a,width:i,extra:{geojson:{feature:o}}}}).filter(n=>!!n)}const Us=h.ArcType,kD=h.arrayRemoveDuplicates,zD=h.BoundingSphere,Je=h.Cartesian3,kt=h.Color,zr=h.ComponentDatatype,LD=h.Frozen,qt=h.defined,Lr=h.DeveloperError,Fi=h.Ellipsoid,OD=h.Geometry,Or=h.GeometryAttribute,ND=h.GeometryAttributes,VD=h.GeometryType,UD=h.IndexDatatype,M0=h.Math,Ws=h.PolylinePipeline,WD=h.PrimitiveType,Qi=h.VertexFormat;var I0=[];function GD(t,i,e,n,o){var r=I0;r.length=o;var s,a=e.red,c=e.green,d=e.blue,u=e.alpha,p=n.red,f=n.green,g=n.blue,m=n.alpha;if(kt.equals(e,n)){for(s=0;s<o;s++)r[s]=kt.clone(e);return r}var y=(p-a)/o,P=(f-c)/o,S=(g-d)/o,C=(m-u)/o;for(s=0;s<o;s++)r[s]=new kt(a+s*y,c+s*P,d+s*S,u+s*C);return r}function Nr(t){t=t??LD.EMPTY_OBJECT;var i=t.positions,e=t.colors,n=t.width??1,o=t.colorsPerVertex??!1;if(!qt(i)||i.length<2)throw new Lr("At least two positions are required.");if(typeof n!="number")throw new Lr("width must be a number");if(qt(e)&&(o&&e.length<i.length||!o&&e.length<i.length-1))throw new Lr("colors has an invalid length.");this._positions=i,this._colors=e,this._width=n,this._colorsPerVertex=o,this._vertexFormat=Qi.clone(t.vertexFormat??Qi.DEFAULT),this._arcType=t.arcType??Us.GEODESIC,this._granularity=t.granularity??M0.RADIANS_PER_DEGREE,this._ellipsoid=Fi.clone(t.ellipsoid??Fi.WGS84),this._workerName="createPolylineGeometry";var r=1+i.length*Je.packedLength;r+=qt(e)?1+e.length*kt.packedLength:1,this.packedLength=r+Fi.packedLength+Qi.packedLength+4}Nr.pack=function(t,i,e){if(!qt(t))throw new Lr("value is required");if(!qt(i))throw new Lr("array is required");e=e??0;var n,o=t._positions,r=o.length;for(i[e++]=r,n=0;n<r;++n,e+=Je.packedLength)Je.pack(o[n],i,e);var s=t._colors;for(r=qt(s)?s.length:0,i[e++]=r,n=0;n<r;++n,e+=kt.packedLength)kt.pack(s[n],i,e);return Fi.pack(t._ellipsoid,i,e),e+=Fi.packedLength,Qi.pack(t._vertexFormat,i,e),e+=Qi.packedLength,i[e++]=t._width,i[e++]=t._colorsPerVertex?1:0,i[e++]=t._arcType,i[e]=t._granularity,i};var D0=Fi.clone(Fi.UNIT_SPHERE),b0=new Qi,Io={positions:void 0,colors:void 0,ellipsoid:D0,vertexFormat:b0,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};Nr.unpack=function(t,i,e){if(!qt(t))throw new Lr("array is required");i=i??0;var n,o=t[i++],r=new Array(o);for(n=0;n<o;++n,i+=Je.packedLength)r[n]=Je.unpack(t,i);o=t[i++];var s=o>0?new Array(o):void 0;for(n=0;n<o;++n,i+=kt.packedLength)s[n]=kt.unpack(t,i);var a=Fi.unpack(t,i,D0);i+=Fi.packedLength;var c=Qi.unpack(t,i,b0);i+=Qi.packedLength;var d=t[i++],u=t[i++]===1,p=t[i++],f=t[i];return qt(e)?(e._positions=r,e._colors=s,e._ellipsoid=Fi.clone(a,e._ellipsoid),e._vertexFormat=Qi.clone(c,e._vertexFormat),e._width=d,e._colorsPerVertex=u,e._arcType=p,e._granularity=f,e):(Io.positions=r,Io.colors=s,Io.width=d,Io.colorsPerVertex=u,Io.arcType=p,Io.granularity=f,new Nr(Io))};var R0=new Je,x0=new Je,F0=new Je,k0=new Je;Nr.createGeometry=function(t){var i=t._width,e=t._vertexFormat,n=t._colors,o=t._colorsPerVertex,r=t._arcType,s=t._granularity,a=t._ellipsoid,c,d,u,p=kD(t._positions,Je.equalsEpsilon),f=p.length;if(f<2||i<=0)return;if(r===Us.GEODESIC||r===Us.RHUMB){var g,m;r===Us.GEODESIC?(g=M0.chordLength(s,a.maximumRadius),m=Ws.numberOfPoints):(g=s,m=Ws.numberOfPointsRhumbLine);var y=Ws.extractHeights(p,a);if(qt(n)){var P=1;for(c=0;c<f-1;++c)P+=m(p[c],p[c+1],g);var S=new Array(P),C=0;for(c=0;c<f-1;++c){var E=p[c],T=p[c+1],I=n[c],b=m(E,T,g);if(o&&c<P){var x=n[c+1],z=GD(E,T,I,x,b),W=z.length;for(d=0;d<W;++d)S[C++]=z[d]}else for(d=0;d<b;++d)S[C++]=kt.clone(I)}S[C]=kt.clone(n[n.length-1]),n=S,I0.length=0}r===Us.GEODESIC?p=Ws.generateCartesianArc({positions:p,minDistance:g,ellipsoid:a,height:y}):p=Ws.generateCartesianRhumbArc({positions:p,granularity:g,ellipsoid:a,height:y})}f=p.length;var N=f*4-4,L=new Float64Array(N*3),U=new Float64Array(N*3),_=new Float64Array(N*3),M=new Float32Array(N*2),F=e.st?new Float32Array(N*2):void 0,V=qt(n)?new Uint8Array(N*4):void 0,G=0,Z=0,$=0,Y=0,K;let te=[0];{for(c=0;c<f-1;c++){const Ne=h.Cartesian3.distance(p[c],p[c+1]);te.push(te[te.length-1]+Ne)}te=te.map(Ne=>Ne/te[te.length-1])}for(d=0;d<f;++d){d===0?(K=R0,Je.subtract(p[0],p[1],K),Je.add(p[0],K,K)):K=p[d-1],Je.clone(K,F0),Je.clone(p[d],x0),d===f-1?(K=R0,Je.subtract(p[f-1],p[f-2],K),Je.add(p[f-1],K,K)):K=p[d+1],Je.clone(K,k0);var re,ge;qt(V)&&(d!==0&&!o?re=n[d-1]:re=n[d],d!==f-1&&(ge=n[d]));var ye=d===0?2:0,Te=d===f-1?2:4;for(u=ye;u<Te;++u){Je.pack(x0,L,G),Je.pack(F0,U,G),Je.pack(k0,_,G),G+=3;var Oe=u-2<0?-1:1;if(M[Z++]=2*(u%2)-1,M[Z++]=Oe*i,e.st&&(F[$++]=te[d],F[$++]=Math.max(M[Z-2],0)),qt(V)){var We=u<2?re:ge;V[Y++]=kt.floatToByte(We.red),V[Y++]=kt.floatToByte(We.green),V[Y++]=kt.floatToByte(We.blue),V[Y++]=kt.floatToByte(We.alpha)}}}var me=new ND;me.position=new Or({componentDatatype:zr.DOUBLE,componentsPerAttribute:3,values:L}),me.prevPosition=new Or({componentDatatype:zr.DOUBLE,componentsPerAttribute:3,values:U}),me.nextPosition=new Or({componentDatatype:zr.DOUBLE,componentsPerAttribute:3,values:_}),me.expandAndWidth=new Or({componentDatatype:zr.FLOAT,componentsPerAttribute:2,values:M}),e.st&&(me.st=new Or({componentDatatype:zr.FLOAT,componentsPerAttribute:2,values:F})),qt(V)&&(me.color=new Or({componentDatatype:zr.UNSIGNED_BYTE,componentsPerAttribute:4,values:V,normalize:!0}));var ne=UD.createTypedArray(N,f*6-6),he=0,de=0,Me=f-1;for(d=0;d<Me;++d)ne[de++]=he,ne[de++]=he+2,ne[de++]=he+1,ne[de++]=he+1,ne[de++]=he+2,ne[de++]=he+3,he+=4;return new OD({attributes:me,indices:ne,primitiveType:WD.TRIANGLES,boundingSphere:zD.fromPoints(p),geometryType:VD.POLYLINES})};var qp;function HD(){return typeof qp>"u"&&(qp=new h.EllipsoidGeodesic),qp}function qD(t,i){var e=i/3e7;return e=Math.min(1,e),e=1-Math.pow(1-e,2),Math.sin(Math.PI*t)*1e6*e}function $D(t,i,e,n=1){var o=HD(),r=h.Cartesian3.fromDegreesArray([t[0],t[1],i[0],i[1]]),s=[0,0];t.length>=3&&i.length>=3&&(s=[t[2],i[2]]);var a=h.Cartographic.fromDegrees(t[0],t[1]),c=h.Cartographic.fromDegrees(i[0],i[1]);o.setEndPoints(a,c);var d=o.surfaceDistance,u=h.PolylinePipeline.generateCartesianArc({positions:r,height:s,minDistance:d/36}),p=u.length;return u.forEach(function(f,g){var m=g/(p-1),y=qD(m,d*n),P=h.Cartographic.fromCartesian(f);P.height+=y,h.Cartesian3.fromRadians(P.longitude,P.latitude,P.height,h.Ellipsoid.WGS84,u[g])}),u}function XD(t=[.8,.8,0,1],i=!0,e=!0,n){var o;const r=n?{type:"Image",uniforms:{color:new h.Color(...t)}}:{type:"Color",uniforms:{color:new h.Color(...t)}};i?(o=new h.PolylineMaterialAppearance({material:new h.Material({fabric:r,translucent:!1}),translucent:!1}),o.renderState.blending=h.BlendingState.ADDITIVE_BLEND,o.renderState.depthMask=!1,o.renderState.depthTest={enabled:!0},o.getRenderState=function(){const u=h.Appearance.prototype.getRenderState.call(this);return u.depthTest={enabled:e},u.depthMask=!1,u},o.material.type==="Image"&&(o.material._uniforms.image_1=n)):(o=new h.PolylineMaterialAppearance({material:new h.Material({fabric:r,translucent:!0})}),o.getRenderState=function(){const u=h.Appearance.prototype.getRenderState.call(this);return u.depthTest={enabled:e},u.depthMask=!1,u},o.material.type==="Image"&&(o.material._uniforms.image_1=n));var s=h.ShaderSource.replaceMain(o._vertexShaderSource,"czm_twp_main"),a=`out vec4 v_twp;
|
|
1818
1818
|
out vec4 v_color;
|
|
1819
1819
|
out vec4 v_bgColor;
|
|
1820
1820
|
out float v_expand;
|
|
@@ -1854,7 +1854,7 @@ function (result, this, instanceIndex, frameState) {
|
|
|
1854
1854
|
result.bgColor = [c*.5+.5, (1.0 - c)*.5+.5, 0.5, 0.3];
|
|
1855
1855
|
return result;
|
|
1856
1856
|
}\`\`\`
|
|
1857
|
-
`,Xn=class Xn extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_player");v(this,"_finalImageUrlReact",this.disposeVar(w.ESSceneObject.context.createEnvStrReact([this,"imageUrl"])));v(this,"_routePaths",this.disposeVar(l.react(void 0)));v(this,"routePathCallback");v(this,"_id",this.disposeVar(l.react(l.createGuid())));n&&(this._id.value=n),this._player=this.disposeVar(new w.Player);{const g=Xn.defaults;this.dispose(l.bind([this._player,"loop"],[this,"loop"],m=>m??g.loop,m=>m??g.loop)),this.dispose(l.bind([this._player,"currentTime"],[this,"currentTime"],m=>m??g.currentTime,m=>m??g.currentTime)),this.dispose(l.bind([this._player,"duration"],[this,"duration"],m=>m??g.duration,m=>m??g.duration)),this.dispose(l.bind([this._player,"playing"],[this,"playing"],m=>m??g.playing,m=>m??g.playing)),this.dispose(l.bind([this._player,"speed"],[this,"speed"],m=>m??g.speed,m=>m??g.speed))}const o=this.disposeVar(w.ESSceneObject.context.createEnvStrReact([this,"geoJsonUrl"])),r=this.disposeVar(l.createProcessingFromAsyncFunc(async g=>{this.routePaths=void 0;const m=o.value;if(m)try{const P=await(await fetch(m)).json();this.routePaths=FD(P,this.width,this.repeatLength);return}catch(y){console.error(`geojson加载解析出错!${y}`),console.error(y)}if(this.data){this.routePaths=[...this.data];return}if(this.positionsSet){const y=this.positionsSet;if(y){this.routePaths=y.map(P=>({positions:P,width:this.width}));return}}}));{const g=()=>{r.restart()};g();const m=this.disposeVar(l.createNextAnimateFrameEvent(o.changed,this.positionsSetChanged,this.dataChanged,this.finalImageUrlReact.changed,this.widthChanged,this.repeatLengthChanged,this.arcTypeChanged,this.brighteningChanged,this.depthTestChanged));this.dispose(m.disposableOn(g))}{const g=()=>{const m=gd(this.routePathCallbackStr,["result","this","instanceIndex","frameState"]);m&&(this.routePathCallback=m)};g(),this.dispose(this.routePathCallbackStrChanged.disposableOn(g))}const s=e.viewer;if(!s){console.warn("viewer is undefined!");return}const a=this.finalImageUrlReact,c=this.disposeVar(new Ko),d=this.disposeVar(l.createProcessingFromAsyncFunc(async g=>{if(!a.value)return;const m=sv(s.scene.context).getTextureHandler(a.value);if(m instanceof Ko)c.reset(m);else{const y=await g.promise(m);c.reset(y)}})),u=()=>c.valid?c.raw:s.scene.context.defaultTexture,p=()=>d.restart();p(),this.dispose(a.changed.disposableOn(p));const f=this.ad(l.createNextAnimateFrameEvent(this.routePathsChanged,this.colorChanged,this.bgColorChanged));this.disposeVar(new l.ObjResettingWithEvent(f,()=>this.routePaths?new QD(s,this,a.value&&u||void 0):void 0)),this.dispose(this.flyToEvent.disposableOn(g=>{if(!(!this.routePaths||this.routePaths.length===0)&&this.routePaths.length===1)if(!Object.prototype.hasOwnProperty.call(this.routePaths[0],"positions"))se(s,this.routePaths[0].startPos,s.camera.positionCartographic.height,void 0,g);else{const m=computeBoundingSphere(this.routePaths[0].positions);if(!m)return;const[y,P]=m;se(s,y,P*3,void 0,g)}}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(e){this._player.ratio=e}get ratioChanged(){return this._player.ratioChanged}get finalImageUrlReact(){return this._finalImageUrlReact}get routePaths(){return this._routePaths.value}set routePaths(e){this._routePaths.value=e}get routePathsChanged(){return this._routePaths.changed}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}};v(Xn,"whiteGradientImageBase64",KD),v(Xn,"defaultRoutePathCallback",function(e,n,o){const r=n/50,s=r-Math.floor(r);return e.color=[s*.5+.5,(1-s)*.5+.5,.5,1],e.bgColor=[s*.5+.5,(1-s)*.5+.5,.5,.3],e}),v(Xn,"routePathCallbackStrMd",JD),v(Xn,"defaults",{loop:!0,startTime:0,currentTime:0,duration:3e3,speed:1,playing:!0,transmissionTime:3e3}),v(Xn,"defaultImageUri","${earthsdk3-assets-script-dir}/assets/img/signal.png");let Ki=Xn;(t=>{t.createDefaultProps=()=>({show:!0,imageUrl:void 0,repeat:1,bidirectional:0,startTime:0,transmissionTime:void 0,color:l.reactArray([0,1,0,1]),bgColor:l.reactArray([0,1,0,.2]),width:3,repeatLength:1e4,arcType:"GEODESIC",brightening:!1,depthTest:!0,positionsSet:l.reactPositionsSet(void 0),data:l.reactJson(void 0),geoJsonUrl:"",allowPicking:!1,routePathCallbackStr:"",loop:void 0,currentTime:void 0,duration:void 0,speed:void 0,playing:void 0})})(Ki||(Ki={})),l.extendClassProps(Ki.prototype,Ki.createDefaultProps);class Ji extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_collection");this._collection=this.disposeVar(new Ki(e,n)),this.dispose(l.track([this._collection,"show"],[this,"show"])),this.dispose(l.track([this._collection,"startTime"],[this,"startTime"])),this.dispose(l.track([this._collection,"transmissionTime"],[this,"transmissionTime"])),this.dispose(l.track([this._collection,"color"],[this,"color"])),this.dispose(l.track([this._collection,"bgColor"],[this,"bgColor"])),this.dispose(l.track([this._collection,"width"],[this,"width"])),this.dispose(l.track([this._collection,"arcType"],[this,"arcType"])),this.dispose(l.track([this._collection,"brightening"],[this,"brightening"])),this.dispose(l.track([this._collection,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._collection,"imageUrl"],[this,"imageUrl"])),this.dispose(l.track([this._collection,"repeat"],[this,"repeat"])),this.dispose(l.track([this._collection,"repeatLength"],[this,"repeatLength"])),this.dispose(l.track([this._collection,"bidirectional"],[this,"bidirectional"])),this.dispose(l.track([this._collection,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([this._collection,"playing"],[this,"playing"])),this.dispose(l.track([this._collection,"loop"],[this,"loop"])),this.dispose(l.bind([this._collection,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._collection,"duration"],[this,"duration"])),this.dispose(l.bind([this._collection,"speed"],[this,"speed"]));{const o=()=>{this.color=[this.bgColor[0],this.bgColor[1],this.bgColor[2],1]};o(),this.ad(this.bgColorChanged.don(o))}this.dispose(this.flyToEvent.disposableOn(o=>{this._collection.flyTo(o)}));{const o=()=>{if(!this.positions){this._collection.data=void 0;return}if(this.heightRatio===0){this._collection.data=[{positions:this.positions,width:this.width}];return}if(this.positions.length>=2){this._collection.data=this.positions.map((s,a)=>{var c;if(!(!this.positions||a==((c=this.positions)==null?void 0:c.length)-1))return{startPos:s,endPos:this.positions[a+1],width:this.width,heightRatio:this.heightRatio}}).filter(s=>s!==void 0);return}this._collection.data=void 0};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.heightRatioChanged,this.widthChanged));this.dispose(r.disposableOn(o))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get collection(){return this._collection}get player(){return this.collection.player}get ratio(){return this.player.ratio}set ratio(e){this.player.ratio=e}get ratioChanged(){return this.player.ratioChanged}}v(Ji,"defaults",{loop:!0,currentTime:0,duration:3e3,speed:1,playing:!0,transmissionTime:3e3}),v(Ji,"defaultImageUri","${earthsdk3-assets-script-dir}/assets/img/signal.png"),(t=>{t.createDefaultProps=()=>({show:!0,imageUrl:void 0,repeat:1,bidirectional:0,startTime:0,transmissionTime:void 0,color:l.reactArray([0,1,0,1]),bgColor:l.reactArray([0,1,0,.2]),width:3,repeatLength:1e4,arcType:"GEODESIC",brightening:!1,depthTest:!0,positions:l.reactPositions(void 0),heightRatio:0,allowPicking:!1,loop:void 0,currentTime:void 0,duration:void 0,speed:void 0,playing:void 0})})(Ji||(Ji={})),l.extendClassProps(Ji.prototype,Ji.createDefaultProps);const vl=class vl extends vt{constructor(e,n){super(e,n);v(this,"_czmSignalTransmission");if(this._czmSignalTransmission=this.disposeVar(new Ji(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmSignalTransmission;{const s=()=>{r.show=e.show&&e.stroked};s(),this.ad(e.showChanged.don(s)),this.ad(e.strokedChanged.don(s))}this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"width"],[e,"strokeWidth"])),this.dispose(l.track([r,"bgColor"],[e,"strokeColor"])),this.dispose(l.track([r,"startTime"],[e,"startTime"])),this.dispose(l.track([r,"transmissionTime"],[e,"transmissionTime"])),this.dispose(l.track([r,"heightRatio"],[e,"heightRatio"])),this.dispose(l.track([r,"arcType"],[e,"arcType"])),this.dispose(l.track([r,"brightening"],[e,"brightening"])),this.dispose(l.track([r,"depthTest"],[e,"depthTest"])),this.dispose(l.track([r,"imageUrl"],[e,"imageUrl"])),this.dispose(l.track([r,"repeat"],[e,"repeat"])),this.dispose(l.track([r,"bidirectional"],[e,"bidirectional"])),this.dispose(l.track([r,"loop"],[e,"loop"])),this.dispose(l.track([r,"currentTime"],[e,"currentTime"])),this.dispose(l.track([r,"duration"],[e,"duration"])),this.dispose(l.track([r,"playing"],[e,"playing"])),this.dispose(l.track([r,"speed"],[e,"speed"]))}get czmSignalTransmission(){return this._czmSignalTransmission}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmSignalTransmission:s}=this;return r.actived?o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmSignalTransmission:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(vl,"type",vl.register("ESCesiumViewer",lh.type,vl));let $p=vl;function Do(t){var i=[1/0,1/0,-1/0,-1/0];return gh(t,function(e){i[0]>e[0]&&(i[0]=e[0]),i[1]>e[1]&&(i[1]=e[1]),i[2]<e[0]&&(i[2]=e[0]),i[3]<e[1]&&(i[3]=e[1])}),i}Do.default=Do;var yh={exports:{}},BD=yh.exports,z0;function jD(){return z0||(z0=1,function(t,i){(function(e,n){t.exports=n()})(BD,function(){function e(C,E,T,I,b){(function x(z,W,N,L,U){for(;L>N;){if(L-N>600){var _=L-N+1,M=W-N+1,F=Math.log(_),V=.5*Math.exp(2*F/3),G=.5*Math.sqrt(F*V*(_-V)/_)*(M-_/2<0?-1:1),Z=Math.max(N,Math.floor(W-M*V/_+G)),$=Math.min(L,Math.floor(W+(_-M)*V/_+G));x(z,W,Z,$,U)}var Y=z[W],K=N,te=L;for(n(z,N,W),U(z[L],Y)>0&&n(z,N,L);K<te;){for(n(z,K,te),K++,te--;U(z[K],Y)<0;)K++;for(;U(z[te],Y)>0;)te--}U(z[N],Y)===0?n(z,N,te):n(z,++te,L),te<=W&&(N=te+1),W<=te&&(L=te-1)}})(C,E,T||0,I||C.length-1,b||o)}function n(C,E,T){var I=C[E];C[E]=C[T],C[T]=I}function o(C,E){return C<E?-1:C>E?1:0}var r=function(C){C===void 0&&(C=9),this._maxEntries=Math.max(4,C),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function s(C,E,T){if(!T)return E.indexOf(C);for(var I=0;I<E.length;I++)if(T(C,E[I]))return I;return-1}function a(C,E){c(C,0,C.children.length,E,C)}function c(C,E,T,I,b){b||(b=P(null)),b.minX=1/0,b.minY=1/0,b.maxX=-1/0,b.maxY=-1/0;for(var x=E;x<T;x++){var z=C.children[x];d(b,C.leaf?I(z):z)}return b}function d(C,E){return C.minX=Math.min(C.minX,E.minX),C.minY=Math.min(C.minY,E.minY),C.maxX=Math.max(C.maxX,E.maxX),C.maxY=Math.max(C.maxY,E.maxY),C}function u(C,E){return C.minX-E.minX}function p(C,E){return C.minY-E.minY}function f(C){return(C.maxX-C.minX)*(C.maxY-C.minY)}function g(C){return C.maxX-C.minX+(C.maxY-C.minY)}function m(C,E){return C.minX<=E.minX&&C.minY<=E.minY&&E.maxX<=C.maxX&&E.maxY<=C.maxY}function y(C,E){return E.minX<=C.maxX&&E.minY<=C.maxY&&E.maxX>=C.minX&&E.maxY>=C.minY}function P(C){return{children:C,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function S(C,E,T,I,b){for(var x=[E,T];x.length;)if(!((T=x.pop())-(E=x.pop())<=I)){var z=E+Math.ceil((T-E)/I/2)*I;e(C,z,E,T,b),x.push(E,z,z,T)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(C){var E=this.data,T=[];if(!y(C,E))return T;for(var I=this.toBBox,b=[];E;){for(var x=0;x<E.children.length;x++){var z=E.children[x],W=E.leaf?I(z):z;y(C,W)&&(E.leaf?T.push(z):m(C,W)?this._all(z,T):b.push(z))}E=b.pop()}return T},r.prototype.collides=function(C){var E=this.data;if(!y(C,E))return!1;for(var T=[];E;){for(var I=0;I<E.children.length;I++){var b=E.children[I],x=E.leaf?this.toBBox(b):b;if(y(C,x)){if(E.leaf||m(C,x))return!0;T.push(b)}}E=T.pop()}return!1},r.prototype.load=function(C){if(!C||!C.length)return this;if(C.length<this._minEntries){for(var E=0;E<C.length;E++)this.insert(C[E]);return this}var T=this._build(C.slice(),0,C.length-1,0);if(this.data.children.length)if(this.data.height===T.height)this._splitRoot(this.data,T);else{if(this.data.height<T.height){var I=this.data;this.data=T,T=I}this._insert(T,this.data.height-T.height-1,!0)}else this.data=T;return this},r.prototype.insert=function(C){return C&&this._insert(C,this.data.height-1),this},r.prototype.clear=function(){return this.data=P([]),this},r.prototype.remove=function(C,E){if(!C)return this;for(var T,I,b,x=this.data,z=this.toBBox(C),W=[],N=[];x||W.length;){if(x||(x=W.pop(),I=W[W.length-1],T=N.pop(),b=!0),x.leaf){var L=s(C,x.children,E);if(L!==-1)return x.children.splice(L,1),W.push(x),this._condense(W),this}b||x.leaf||!m(x,z)?I?(T++,x=I.children[T],b=!1):x=null:(W.push(x),N.push(T),T=0,I=x,x=x.children[0])}return this},r.prototype.toBBox=function(C){return C},r.prototype.compareMinX=function(C,E){return C.minX-E.minX},r.prototype.compareMinY=function(C,E){return C.minY-E.minY},r.prototype.toJSON=function(){return this.data},r.prototype.fromJSON=function(C){return this.data=C,this},r.prototype._all=function(C,E){for(var T=[];C;)C.leaf?E.push.apply(E,C.children):T.push.apply(T,C.children),C=T.pop();return E},r.prototype._build=function(C,E,T,I){var b,x=T-E+1,z=this._maxEntries;if(x<=z)return a(b=P(C.slice(E,T+1)),this.toBBox),b;I||(I=Math.ceil(Math.log(x)/Math.log(z)),z=Math.ceil(x/Math.pow(z,I-1))),(b=P([])).leaf=!1,b.height=I;var W=Math.ceil(x/z),N=W*Math.ceil(Math.sqrt(z));S(C,E,T,N,this.compareMinX);for(var L=E;L<=T;L+=N){var U=Math.min(L+N-1,T);S(C,L,U,W,this.compareMinY);for(var _=L;_<=U;_+=W){var M=Math.min(_+W-1,U);b.children.push(this._build(C,_,M,I-1))}}return a(b,this.toBBox),b},r.prototype._chooseSubtree=function(C,E,T,I){for(;I.push(E),!E.leaf&&I.length-1!==T;){for(var b=1/0,x=1/0,z=void 0,W=0;W<E.children.length;W++){var N=E.children[W],L=f(N),U=(_=C,M=N,(Math.max(M.maxX,_.maxX)-Math.min(M.minX,_.minX))*(Math.max(M.maxY,_.maxY)-Math.min(M.minY,_.minY))-L);U<x?(x=U,b=L<b?L:b,z=N):U===x&&L<b&&(b=L,z=N)}E=z||E.children[0]}var _,M;return E},r.prototype._insert=function(C,E,T){var I=T?C:this.toBBox(C),b=[],x=this._chooseSubtree(I,this.data,E,b);for(x.children.push(C),d(x,I);E>=0&&b[E].children.length>this._maxEntries;)this._split(b,E),E--;this._adjustParentBBoxes(I,b,E)},r.prototype._split=function(C,E){var T=C[E],I=T.children.length,b=this._minEntries;this._chooseSplitAxis(T,b,I);var x=this._chooseSplitIndex(T,b,I),z=P(T.children.splice(x,T.children.length-x));z.height=T.height,z.leaf=T.leaf,a(T,this.toBBox),a(z,this.toBBox),E?C[E-1].children.push(z):this._splitRoot(T,z)},r.prototype._splitRoot=function(C,E){this.data=P([C,E]),this.data.height=C.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(C,E,T){for(var I,b,x,z,W,N,L,U=1/0,_=1/0,M=E;M<=T-E;M++){var F=c(C,0,M,this.toBBox),V=c(C,M,T,this.toBBox),G=(b=F,x=V,z=void 0,W=void 0,N=void 0,L=void 0,z=Math.max(b.minX,x.minX),W=Math.max(b.minY,x.minY),N=Math.min(b.maxX,x.maxX),L=Math.min(b.maxY,x.maxY),Math.max(0,N-z)*Math.max(0,L-W)),Z=f(F)+f(V);G<U?(U=G,I=M,_=Z<_?Z:_):G===U&&Z<_&&(_=Z,I=M)}return I||T-E},r.prototype._chooseSplitAxis=function(C,E,T){var I=C.leaf?this.compareMinX:u,b=C.leaf?this.compareMinY:p;this._allDistMargin(C,E,T,I)<this._allDistMargin(C,E,T,b)&&C.children.sort(I)},r.prototype._allDistMargin=function(C,E,T,I){C.children.sort(I);for(var b=this.toBBox,x=c(C,0,E,b),z=c(C,T-E,T,b),W=g(x)+g(z),N=E;N<T-E;N++){var L=C.children[N];d(x,C.leaf?b(L):L),W+=g(x)}for(var U=T-E-1;U>=E;U--){var _=C.children[U];d(z,C.leaf?b(_):_),W+=g(z)}return W},r.prototype._adjustParentBBoxes=function(C,E,T){for(var I=T;I>=0;I--)d(E[I],C)},r.prototype._condense=function(C){for(var E=C.length-1,T=void 0;E>=0;E--)C[E].children.length===0?E>0?(T=C[E-1].children).splice(T.indexOf(C[E]),1):this.clear():a(C[E],this.toBBox)},r})}(yh)),yh.exports}function Pt(t,i,e){if(e===void 0&&(e={}),!t)throw new Error("point is required");if(!i)throw new Error("polygon is required");var n=fh(t),o=Ri(i),r=o.type,s=i.bbox,a=o.coordinates;if(s&&eb(n,s)===!1)return!1;r==="Polygon"&&(a=[a]);for(var c=!1,d=0;d<a.length&&!c;d++)if(L0(n,a[d][0],e.ignoreBoundary)){for(var u=!1,p=1;p<a[d].length&&!u;)L0(n,a[d][p],!e.ignoreBoundary)&&(u=!0),p++;u||(c=!0)}return c}function L0(t,i,e){var n=!1;i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1]&&(i=i.slice(0,i.length-1));for(var o=0,r=i.length-1;o<i.length;r=o++){var s=i[o][0],a=i[o][1],c=i[r][0],d=i[r][1],u=t[1]*(s-c)+a*(c-t[0])+d*(t[0]-s)===0&&(s-t[0])*(c-t[0])<=0&&(a-t[1])*(d-t[1])<=0;if(u)return!e;var p=a>t[1]!=d>t[1]&&t[0]<(c-s)*(t[1]-a)/(d-a)+s;p&&(n=!n)}return n}function eb(t,i){return i[0]<=t[0]&&i[1]<=t[1]&&i[2]>=t[0]&&i[3]>=t[1]}function tb(t){if(!t)throw new Error("geojson is required");switch(t.type){case"Feature":return O0(t);case"FeatureCollection":return ib(t);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return Xp(t);default:throw new Error("unknown GeoJSON type")}}function O0(t){var i={type:"Feature"};return Object.keys(t).forEach(function(e){switch(e){case"type":case"properties":case"geometry":return;default:i[e]=t[e]}}),i.properties=N0(t.properties),i.geometry=Xp(t.geometry),i}function N0(t){var i={};return t&&Object.keys(t).forEach(function(e){var n=t[e];typeof n=="object"?n===null?i[e]=null:Array.isArray(n)?i[e]=n.map(function(o){return o}):i[e]=N0(n):i[e]=n}),i}function ib(t){var i={type:"FeatureCollection"};return Object.keys(t).forEach(function(e){switch(e){case"type":case"features":return;default:i[e]=t[e]}}),i.features=t.features.map(function(e){return O0(e)}),i}function Xp(t){var i={type:t.type};return t.bbox&&(i.bbox=t.bbox),t.type==="GeometryCollection"?(i.geometries=t.geometries.map(function(e){return Xp(e)}),i):(i.coordinates=V0(t.coordinates),i)}function V0(t){var i=t;return typeof i[0]!="object"?i.slice():i.map(function(e){return V0(e)})}function U0(t,i){i===void 0&&(i={});var e=typeof i=="object"?i.mutate:i;if(!t)throw new Error("geojson is required");var n=AD(t),o=[];switch(n){case"LineString":o=Yp(t);break;case"MultiLineString":case"Polygon":bi(t).forEach(function(s){o.push(Yp(s))});break;case"MultiPolygon":bi(t).forEach(function(s){var a=[];s.forEach(function(c){a.push(Yp(c))}),o.push(a)});break;case"Point":return t;case"MultiPoint":var r={};bi(t).forEach(function(s){var a=s.join("-");Object.prototype.hasOwnProperty.call(r,a)||(o.push(s),r[a]=!0)});break;default:throw new Error(n+" geometry not supported")}return t.coordinates?e===!0?(t.coordinates=o,t):{type:n,coordinates:o}:e===!0?(t.geometry.coordinates=o,t):Ii({type:n,coordinates:o},t.properties,{bbox:t.bbox,id:t.id})}function Yp(t){var i=bi(t);if(i.length===2&&!W0(i[0],i[1]))return i;var e=[],n=i.length-1,o=e.length;e.push(i[0]);for(var r=1;r<n;r++){var s=e[e.length-1];i[r][0]===s[0]&&i[r][1]===s[1]||(e.push(i[r]),o=e.length,o>2&&G0(e[o-3],e[o-1],e[o-2])&&e.splice(e.length-2,1))}if(e.push(i[i.length-1]),o=e.length,W0(i[0],i[i.length-1])&&o<4)throw new Error("invalid polygon");return G0(e[o-3],e[o-1],e[o-2])&&e.splice(e.length-2,1),e}function W0(t,i){return t[0]===i[0]&&t[1]===i[1]}function G0(t,i,e){var n=e[0],o=e[1],r=t[0],s=t[1],a=i[0],c=i[1],d=n-r,u=o-s,p=a-r,f=c-s,g=d*f-u*p;return g!==0?!1:Math.abs(p)>=Math.abs(f)?p>0?r<=n&&n<=a:a<=n&&n<=r:f>0?s<=o&&o<=c:c<=o&&o<=s}function nb(t,i){i===void 0&&(i={});var e=0,n=0,o=0;return gh(t,function(r){e+=r[0],n+=r[1],o++},!0),zn([e/o,n/o],i.properties)}function H0(t){if(!t)throw new Error("geojson is required");var i=[];return kr(t,function(e){ob(e,i)}),Di(i)}function ob(t,i){var e=[],n=t.geometry;if(n!==null){switch(n.type){case"Polygon":e=bi(n);break;case"LineString":e=[bi(n)]}e.forEach(function(o){var r=rb(o,t.properties);r.forEach(function(s){s.id=i.length,i.push(s)})})}}function rb(t,i){var e=[];return t.reduce(function(n,o){var r=uh([n,o],i);return r.bbox=sb(n,o),e.push(r),o}),e}function sb(t,i){var e=t[0],n=t[1],o=i[0],r=i[1],s=e<o?e:o,a=n<r?n:r,c=e>o?e:o,d=n>r?n:r;return[s,a,c,d]}var wh={exports:{}},Zp={},q0;function $0(){return q0||(q0=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.earthRadius=63710088e-1,t.factors={centimeters:t.earthRadius*100,centimetres:t.earthRadius*100,degrees:t.earthRadius/111325,feet:t.earthRadius*3.28084,inches:t.earthRadius*39.37,kilometers:t.earthRadius/1e3,kilometres:t.earthRadius/1e3,meters:t.earthRadius,metres:t.earthRadius,miles:t.earthRadius/1609.344,millimeters:t.earthRadius*1e3,millimetres:t.earthRadius*1e3,nauticalmiles:t.earthRadius/1852,radians:1,yards:t.earthRadius*1.0936},t.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/t.earthRadius,yards:1.0936133},t.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function i(L,U,_){_===void 0&&(_={});var M={type:"Feature"};return(_.id===0||_.id)&&(M.id=_.id),_.bbox&&(M.bbox=_.bbox),M.properties=U||{},M.geometry=L,M}t.feature=i;function e(L,U,_){switch(L){case"Point":return n(U).geometry;case"LineString":return a(U).geometry;case"Polygon":return r(U).geometry;case"MultiPoint":return p(U).geometry;case"MultiLineString":return u(U).geometry;case"MultiPolygon":return f(U).geometry;default:throw new Error(L+" is invalid")}}t.geometry=e;function n(L,U,_){if(_===void 0&&(_={}),!L)throw new Error("coordinates is required");if(!Array.isArray(L))throw new Error("coordinates must be an Array");if(L.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!x(L[0])||!x(L[1]))throw new Error("coordinates must contain numbers");var M={type:"Point",coordinates:L};return i(M,U,_)}t.point=n;function o(L,U,_){return _===void 0&&(_={}),d(L.map(function(M){return n(M,U)}),_)}t.points=o;function r(L,U,_){_===void 0&&(_={});for(var M=0,F=L;M<F.length;M++){var V=F[M];if(V.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var G=0;G<V[V.length-1].length;G++)if(V[V.length-1][G]!==V[0][G])throw new Error("First and last Position are not equivalent.")}var Z={type:"Polygon",coordinates:L};return i(Z,U,_)}t.polygon=r;function s(L,U,_){return _===void 0&&(_={}),d(L.map(function(M){return r(M,U)}),_)}t.polygons=s;function a(L,U,_){if(_===void 0&&(_={}),L.length<2)throw new Error("coordinates must be an array of two or more positions");var M={type:"LineString",coordinates:L};return i(M,U,_)}t.lineString=a;function c(L,U,_){return _===void 0&&(_={}),d(L.map(function(M){return a(M,U)}),_)}t.lineStrings=c;function d(L,U){U===void 0&&(U={});var _={type:"FeatureCollection"};return U.id&&(_.id=U.id),U.bbox&&(_.bbox=U.bbox),_.features=L,_}t.featureCollection=d;function u(L,U,_){_===void 0&&(_={});var M={type:"MultiLineString",coordinates:L};return i(M,U,_)}t.multiLineString=u;function p(L,U,_){_===void 0&&(_={});var M={type:"MultiPoint",coordinates:L};return i(M,U,_)}t.multiPoint=p;function f(L,U,_){_===void 0&&(_={});var M={type:"MultiPolygon",coordinates:L};return i(M,U,_)}t.multiPolygon=f;function g(L,U,_){_===void 0&&(_={});var M={type:"GeometryCollection",geometries:L};return i(M,U,_)}t.geometryCollection=g;function m(L,U){if(U===void 0&&(U=0),U&&!(U>=0))throw new Error("precision must be a positive number");var _=Math.pow(10,U||0);return Math.round(L*_)/_}t.round=m;function y(L,U){U===void 0&&(U="kilometers");var _=t.factors[U];if(!_)throw new Error(U+" units is invalid");return L*_}t.radiansToLength=y;function P(L,U){U===void 0&&(U="kilometers");var _=t.factors[U];if(!_)throw new Error(U+" units is invalid");return L/_}t.lengthToRadians=P;function S(L,U){return E(P(L,U))}t.lengthToDegrees=S;function C(L){var U=L%360;return U<0&&(U+=360),U}t.bearingToAzimuth=C;function E(L){var U=L%(2*Math.PI);return U*180/Math.PI}t.radiansToDegrees=E;function T(L){var U=L%360;return U*Math.PI/180}t.degreesToRadians=T;function I(L,U,_){if(U===void 0&&(U="kilometers"),_===void 0&&(_="kilometers"),!(L>=0))throw new Error("length must be a positive number");return y(P(L,U),_)}t.convertLength=I;function b(L,U,_){if(U===void 0&&(U="meters"),_===void 0&&(_="kilometers"),!(L>=0))throw new Error("area must be a positive number");var M=t.areaFactors[U];if(!M)throw new Error("invalid original units");var F=t.areaFactors[_];if(!F)throw new Error("invalid final units");return L/M*F}t.convertArea=b;function x(L){return!isNaN(L)&&L!==null&&!Array.isArray(L)}t.isNumber=x;function z(L){return!!L&&L.constructor===Object}t.isObject=z;function W(L){if(!L)throw new Error("bbox is required");if(!Array.isArray(L))throw new Error("bbox must be an Array");if(L.length!==4&&L.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");L.forEach(function(U){if(!x(U))throw new Error("bbox must only contain numbers")})}t.validateBBox=W;function N(L){if(!L)throw new Error("id is required");if(["string","number"].indexOf(typeof L)===-1)throw new Error("id must be a number or a string")}t.validateId=N}(Zp)),Zp}var Be={},X0;function Y0(){if(X0)return Be;X0=1,Object.defineProperty(Be,"__esModule",{value:!0});var t=$0();function i(C,E,T){if(C!==null)for(var I,b,x,z,W,N,L,U=0,_=0,M,F=C.type,V=F==="FeatureCollection",G=F==="Feature",Z=V?C.features.length:1,$=0;$<Z;$++){L=V?C.features[$].geometry:G?C.geometry:C,M=L?L.type==="GeometryCollection":!1,W=M?L.geometries.length:1;for(var Y=0;Y<W;Y++){var K=0,te=0;if(z=M?L.geometries[Y]:L,z!==null){N=z.coordinates;var re=z.type;switch(U=T&&(re==="Polygon"||re==="MultiPolygon")?1:0,re){case null:break;case"Point":if(E(N,_,$,K,te)===!1)return!1;_++,K++;break;case"LineString":case"MultiPoint":for(I=0;I<N.length;I++){if(E(N[I],_,$,K,te)===!1)return!1;_++,re==="MultiPoint"&&K++}re==="LineString"&&K++;break;case"Polygon":case"MultiLineString":for(I=0;I<N.length;I++){for(b=0;b<N[I].length-U;b++){if(E(N[I][b],_,$,K,te)===!1)return!1;_++}re==="MultiLineString"&&K++,re==="Polygon"&&te++}re==="Polygon"&&K++;break;case"MultiPolygon":for(I=0;I<N.length;I++){for(te=0,b=0;b<N[I].length;b++){for(x=0;x<N[I][b].length-U;x++){if(E(N[I][b][x],_,$,K,te)===!1)return!1;_++}te++}K++}break;case"GeometryCollection":for(I=0;I<z.geometries.length;I++)if(i(z.geometries[I],E,T)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(C,E,T,I){var b=T;return i(C,function(x,z,W,N,L){z===0&&T===void 0?b=x:b=E(b,x,z,W,N,L)},I),b}function n(C,E){var T;switch(C.type){case"FeatureCollection":for(T=0;T<C.features.length&&E(C.features[T].properties,T)!==!1;T++);break;case"Feature":E(C.properties,0);break}}function o(C,E,T){var I=T;return n(C,function(b,x){x===0&&T===void 0?I=b:I=E(I,b,x)}),I}function r(C,E){if(C.type==="Feature")E(C,0);else if(C.type==="FeatureCollection")for(var T=0;T<C.features.length&&E(C.features[T],T)!==!1;T++);}function s(C,E,T){var I=T;return r(C,function(b,x){x===0&&T===void 0?I=b:I=E(I,b,x)}),I}function a(C){var E=[];return i(C,function(T){E.push(T)}),E}function c(C,E){var T,I,b,x,z,W,N,L,U,_,M=0,F=C.type==="FeatureCollection",V=C.type==="Feature",G=F?C.features.length:1;for(T=0;T<G;T++){for(W=F?C.features[T].geometry:V?C.geometry:C,L=F?C.features[T].properties:V?C.properties:{},U=F?C.features[T].bbox:V?C.bbox:void 0,_=F?C.features[T].id:V?C.id:void 0,N=W?W.type==="GeometryCollection":!1,z=N?W.geometries.length:1,b=0;b<z;b++){if(x=N?W.geometries[b]:W,x===null){if(E(null,M,L,U,_)===!1)return!1;continue}switch(x.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(E(x,M,L,U,_)===!1)return!1;break}case"GeometryCollection":{for(I=0;I<x.geometries.length;I++)if(E(x.geometries[I],M,L,U,_)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}M++}}function d(C,E,T){var I=T;return c(C,function(b,x,z,W,N){x===0&&T===void 0?I=b:I=E(I,b,x,z,W,N)}),I}function u(C,E){c(C,function(T,I,b,x,z){var W=T===null?null:T.type;switch(W){case null:case"Point":case"LineString":case"Polygon":return E(t.feature(T,b,{bbox:x,id:z}),I,0)===!1?!1:void 0}var N;switch(W){case"MultiPoint":N="Point";break;case"MultiLineString":N="LineString";break;case"MultiPolygon":N="Polygon";break}for(var L=0;L<T.coordinates.length;L++){var U=T.coordinates[L],_={type:N,coordinates:U};if(E(t.feature(_,b),I,L)===!1)return!1}})}function p(C,E,T){var I=T;return u(C,function(b,x,z){x===0&&z===0&&T===void 0?I=b:I=E(I,b,x,z)}),I}function f(C,E){u(C,function(T,I,b){var x=0;if(T.geometry){var z=T.geometry.type;if(!(z==="Point"||z==="MultiPoint")){var W,N=0,L=0,U=0;if(i(T,function(_,M,F,V,G){if(W===void 0||I>N||V>L||G>U){W=_,N=I,L=V,U=G,x=0;return}var Z=t.lineString([W,_],T.properties);if(E(Z,I,b,G,x)===!1)return!1;x++,W=_})===!1)return!1}}})}function g(C,E,T){var I=T,b=!1;return f(C,function(x,z,W,N,L){b===!1&&T===void 0?I=x:I=E(I,x,z,W,N,L),b=!0}),I}function m(C,E){if(!C)throw new Error("geojson is required");u(C,function(T,I,b){if(T.geometry!==null){var x=T.geometry.type,z=T.geometry.coordinates;switch(x){case"LineString":if(E(T,I,b,0,0)===!1)return!1;break;case"Polygon":for(var W=0;W<z.length;W++)if(E(t.lineString(z[W],T.properties),I,b,W)===!1)return!1;break}}})}function y(C,E,T){var I=T;return m(C,function(b,x,z,W){x===0&&T===void 0?I=b:I=E(I,b,x,z,W)}),I}function P(C,E){if(E=E||{},!t.isObject(E))throw new Error("options is invalid");var T=E.featureIndex||0,I=E.multiFeatureIndex||0,b=E.geometryIndex||0,x=E.segmentIndex||0,z=E.properties,W;switch(C.type){case"FeatureCollection":T<0&&(T=C.features.length+T),z=z||C.features[T].properties,W=C.features[T].geometry;break;case"Feature":z=z||C.properties,W=C.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":W=C;break;default:throw new Error("geojson is invalid")}if(W===null)return null;var N=W.coordinates;switch(W.type){case"Point":case"MultiPoint":return null;case"LineString":return x<0&&(x=N.length+x-1),t.lineString([N[x],N[x+1]],z,E);case"Polygon":return b<0&&(b=N.length+b),x<0&&(x=N[b].length+x-1),t.lineString([N[b][x],N[b][x+1]],z,E);case"MultiLineString":return I<0&&(I=N.length+I),x<0&&(x=N[I].length+x-1),t.lineString([N[I][x],N[I][x+1]],z,E);case"MultiPolygon":return I<0&&(I=N.length+I),b<0&&(b=N[I].length+b),x<0&&(x=N[I][b].length-x-1),t.lineString([N[I][b][x],N[I][b][x+1]],z,E)}throw new Error("geojson is invalid")}function S(C,E){if(E=E||{},!t.isObject(E))throw new Error("options is invalid");var T=E.featureIndex||0,I=E.multiFeatureIndex||0,b=E.geometryIndex||0,x=E.coordIndex||0,z=E.properties,W;switch(C.type){case"FeatureCollection":T<0&&(T=C.features.length+T),z=z||C.features[T].properties,W=C.features[T].geometry;break;case"Feature":z=z||C.properties,W=C.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":W=C;break;default:throw new Error("geojson is invalid")}if(W===null)return null;var N=W.coordinates;switch(W.type){case"Point":return t.point(N,z,E);case"MultiPoint":return I<0&&(I=N.length+I),t.point(N[I],z,E);case"LineString":return x<0&&(x=N.length+x),t.point(N[x],z,E);case"Polygon":return b<0&&(b=N.length+b),x<0&&(x=N[b].length+x),t.point(N[b][x],z,E);case"MultiLineString":return I<0&&(I=N.length+I),x<0&&(x=N[I].length+x),t.point(N[I][x],z,E);case"MultiPolygon":return I<0&&(I=N.length+I),b<0&&(b=N[I].length+b),x<0&&(x=N[I][b].length-x),t.point(N[I][b][x],z,E)}throw new Error("geojson is invalid")}return Be.coordAll=a,Be.coordEach=i,Be.coordReduce=e,Be.featureEach=r,Be.featureReduce=s,Be.findPoint=S,Be.findSegment=P,Be.flattenEach=u,Be.flattenReduce=p,Be.geomEach=c,Be.geomReduce=d,Be.lineEach=m,Be.lineReduce=y,Be.propEach=n,Be.propReduce=o,Be.segmentEach=f,Be.segmentReduce=g,Be}var Ch={},Z0;function ab(){if(Z0)return Ch;Z0=1,Object.defineProperty(Ch,"__esModule",{value:!0});var t=Y0();function i(e){var n=[1/0,1/0,-1/0,-1/0];return t.coordEach(e,function(o){n[0]>o[0]&&(n[0]=o[0]),n[1]>o[1]&&(n[1]=o[1]),n[2]<o[0]&&(n[2]=o[0]),n[3]<o[1]&&(n[3]=o[1])}),n}return i.default=i,Ch.default=i,Ch}var Q0;function lb(){if(Q0)return wh.exports;Q0=1;var t=jD(),i=$0(),e=Y0(),n=ab().default,o=e.featureEach;e.coordEach,i.polygon;var r=i.featureCollection;function s(a){var c=new t(a);return c.insert=function(d){if(d.type!=="Feature")throw new Error("invalid feature");return d.bbox=d.bbox?d.bbox:n(d),t.prototype.insert.call(this,d)},c.load=function(d){var u=[];return Array.isArray(d)?d.forEach(function(p){if(p.type!=="Feature")throw new Error("invalid features");p.bbox=p.bbox?p.bbox:n(p),u.push(p)}):o(d,function(p){if(p.type!=="Feature")throw new Error("invalid features");p.bbox=p.bbox?p.bbox:n(p),u.push(p)}),t.prototype.load.call(this,u)},c.remove=function(d,u){if(d.type!=="Feature")throw new Error("invalid feature");return d.bbox=d.bbox?d.bbox:n(d),t.prototype.remove.call(this,d,u)},c.clear=function(){return t.prototype.clear.call(this)},c.search=function(d){var u=t.prototype.search.call(this,this.toBBox(d));return r(u)},c.collides=function(d){return t.prototype.collides.call(this,this.toBBox(d))},c.all=function(){var d=t.prototype.all.call(this);return r(d)},c.toJSON=function(){return t.prototype.toJSON.call(this)},c.fromJSON=function(d){return t.prototype.fromJSON.call(this,d)},c.toBBox=function(d){var u;if(d.bbox)u=d.bbox;else if(Array.isArray(d)&&d.length===4)u=d;else if(Array.isArray(d)&&d.length===6)u=[d[0],d[1],d[3],d[4]];else if(d.type==="Feature")u=n(d);else if(d.type==="FeatureCollection")u=n(d);else throw new Error("invalid geojson");return{minX:u[0],minY:u[1],maxX:u[2],maxY:u[3]}},c}return wh.exports=s,wh.exports.default=s,wh.exports}var cb=lb();const hb=mc(cb);function Qp(t,i){var e={},n=[];if(t.type==="LineString"&&(t=Ii(t)),i.type==="LineString"&&(i=Ii(i)),t.type==="Feature"&&i.type==="Feature"&&t.geometry!==null&&i.geometry!==null&&t.geometry.type==="LineString"&&i.geometry.type==="LineString"&&t.geometry.coordinates.length===2&&i.geometry.coordinates.length===2){var o=K0(t,i);return o&&n.push(o),Di(n)}var r=hb();return r.load(H0(i)),mh(H0(t),function(s){mh(r.search(s),function(a){var c=K0(s,a);if(c){var d=bi(c).join(",");e[d]||(e[d]=!0,n.push(c))}})}),Di(n)}function K0(t,i){var e=bi(t),n=bi(i);if(e.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(n.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var o=e[0][0],r=e[0][1],s=e[1][0],a=e[1][1],c=n[0][0],d=n[0][1],u=n[1][0],p=n[1][1],f=(p-d)*(s-o)-(u-c)*(a-r),g=(u-c)*(r-d)-(p-d)*(o-c),m=(s-o)*(r-d)-(a-r)*(o-c);if(f===0)return null;var y=g/f,P=m/f;if(y>=0&&y<=1&&P>=0&&P<=1){var S=o+y*(s-o),C=r+y*(a-r);return zn([S,C])}return null}function _h(t,i,e){e===void 0&&(e={});for(var n=fh(t),o=bi(i),r=0;r<o.length-1;r++){var s=!1;if(e.ignoreEndVertices&&(r===0&&(s="start"),r===o.length-2&&(s="end"),r===0&&r+1===o.length-1&&(s="both")),db(o[r],o[r+1],n,s,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function db(t,i,e,n,o){var r=e[0],s=e[1],a=t[0],c=t[1],d=i[0],u=i[1],p=e[0]-a,f=e[1]-c,g=d-a,m=u-c,y=p*m-f*g;if(o!==null){if(Math.abs(y)>o)return!1}else if(y!==0)return!1;if(n){if(n==="start")return Math.abs(g)>=Math.abs(m)?g>0?a<r&&r<=d:d<=r&&r<a:m>0?c<s&&s<=u:u<=s&&s<c;if(n==="end")return Math.abs(g)>=Math.abs(m)?g>0?a<=r&&r<d:d<r&&r<=a:m>0?c<=s&&s<u:u<s&&s<=c;if(n==="both")return Math.abs(g)>=Math.abs(m)?g>0?a<r&&r<d:d<r&&r<a:m>0?c<s&&s<u:u<s&&s<c}else return Math.abs(g)>=Math.abs(m)?g>0?a<=r&&r<=d:d<=r&&r<=a:m>0?c<=s&&s<=u:u<=s&&s<=c;return!1}function ub(t,i){var e=Ri(t),n=Ri(i),o=e.type,r=n.type;switch(o){case"Point":switch(r){case"MultiPoint":return pb(e,n);case"LineString":return _h(e,n,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Pt(e,n,{ignoreBoundary:!0});default:throw new Error("feature2 "+r+" geometry not supported")}case"MultiPoint":switch(r){case"MultiPoint":return fb(e,n);case"LineString":return gb(e,n);case"Polygon":case"MultiPolygon":return mb(e,n);default:throw new Error("feature2 "+r+" geometry not supported")}case"LineString":switch(r){case"LineString":return vb(e,n);case"Polygon":case"MultiPolygon":return yb(e,n);default:throw new Error("feature2 "+r+" geometry not supported")}case"Polygon":switch(r){case"Polygon":case"MultiPolygon":return wb(e,n);default:throw new Error("feature2 "+r+" geometry not supported")}default:throw new Error("feature1 "+o+" geometry not supported")}}function pb(t,i){var e,n=!1;for(e=0;e<i.coordinates.length;e++)if(B0(i.coordinates[e],t.coordinates)){n=!0;break}return n}function fb(t,i){for(var e=0;e<t.coordinates.length;e++){for(var n=!1,o=0;o<i.coordinates.length;o++)B0(t.coordinates[e],i.coordinates[o])&&(n=!0);if(!n)return!1}return!0}function gb(t,i){for(var e=!1,n=0;n<t.coordinates.length;n++){if(!_h(t.coordinates[n],i))return!1;e||(e=_h(t.coordinates[n],i,{ignoreEndVertices:!0}))}return e}function mb(t,i){for(var e=!0,n=!1,o=0;o<t.coordinates.length;o++){if(n=Pt(t.coordinates[1],i),!n){e=!1;break}n=Pt(t.coordinates[1],i,{ignoreBoundary:!0})}return e&&n}function vb(t,i){for(var e=0;e<t.coordinates.length;e++)if(!_h(t.coordinates[e],i))return!1;return!0}function yb(t,i){var e=Do(i),n=Do(t);if(!J0(e,n))return!1;for(var o=!1,r=0;r<t.coordinates.length-1;r++){if(!Pt(t.coordinates[r],i))return!1;if(o||(o=Pt(t.coordinates[r],i,{ignoreBoundary:!0})),!o){var s=Cb(t.coordinates[r],t.coordinates[r+1]);o=Pt(s,i,{ignoreBoundary:!0})}}return o}function wb(t,i){var e=Do(t),n=Do(i);if(!J0(n,e))return!1;for(var o=0;o<t.coordinates[0].length;o++)if(!Pt(t.coordinates[0][o],i))return!1;return!0}function J0(t,i){return!(t[0]>i[0]||t[2]<i[2]||t[1]>i[1]||t[3]<i[3])}function B0(t,i){return t[0]===i[0]&&t[1]===i[1]}function Cb(t,i){return[(t[0]+i[0])/2,(t[1]+i[1])/2]}function j0(t,i,e){e===void 0&&(e={}),e.mask&&!e.units&&(e.units="kilometers");for(var n=[],o=t[0],r=t[1],s=t[2],a=t[3],c=i/xi([o,r],[s,r],e),d=c*(s-o),u=i/xi([o,r],[o,a],e),p=u*(a-r),f=s-o,g=a-r,m=Math.floor(f/d),y=Math.floor(g/p),P=(f-m*d)/2,S=(g-y*p)/2,C=o+P;C<=s;){for(var E=r+S;E<=a;){var T=zn([C,E],e.properties);e.mask?ub(T,e.mask)&&n.push(T):n.push(T),E+=p}C+=d}return Di(n)}function Kp(t,i){i===void 0&&(i={});var e=Ri(t);switch(!i.properties&&t.type==="Feature"&&(i.properties=t.properties),e.type){case"Polygon":return _b(e,i);case"MultiPolygon":return Pb(e,i);default:throw new Error("invalid poly")}}function _b(t,i){i===void 0&&(i={});var e=Ri(t),n=e.coordinates,o=i.properties?i.properties:t.type==="Feature"?t.properties:{};return ew(n,o)}function Pb(t,i){i===void 0&&(i={});var e=Ri(t),n=e.coordinates,o=i.properties?i.properties:t.type==="Feature"?t.properties:{},r=[];return n.forEach(function(s){r.push(ew(s,o))}),Di(r)}function ew(t,i){return t.length>1?_D(t,i):uh(t[0],i)}var Jp,tw;function iw(){if(tw)return Jp;tw=1;var t=Object.prototype.toString;return Jp=function(e){var n=t.call(e),o=n==="[object Arguments]";return o||(o=n!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&t.call(e.callee)==="[object Function]"),o},Jp}var Bp,nw;function Sb(){if(nw)return Bp;nw=1;var t;if(!Object.keys){var i=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=iw(),o=Object.prototype.propertyIsEnumerable,r=!o.call({toString:null},"toString"),s=o.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(f){var g=f.constructor;return g&&g.prototype===f},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},u=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!d["$"+f]&&i.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{c(window[f])}catch{return!0}}catch{return!0}return!1}(),p=function(f){if(typeof window>"u"||!u)return c(f);try{return c(f)}catch{return!1}};t=function(g){var m=g!==null&&typeof g=="object",y=e.call(g)==="[object Function]",P=n(g),S=m&&e.call(g)==="[object String]",C=[];if(!m&&!y&&!P)throw new TypeError("Object.keys called on a non-object");var E=s&&y;if(S&&g.length>0&&!i.call(g,0))for(var T=0;T<g.length;++T)C.push(String(T));if(P&&g.length>0)for(var I=0;I<g.length;++I)C.push(String(I));else for(var b in g)!(E&&b==="prototype")&&i.call(g,b)&&C.push(String(b));if(r)for(var x=p(g),z=0;z<a.length;++z)!(x&&a[z]==="constructor")&&i.call(g,a[z])&&C.push(a[z]);return C}}return Bp=t,Bp}var jp,ow;function rw(){if(ow)return jp;ow=1;var t=Array.prototype.slice,i=iw(),e=Object.keys,n=e?function(s){return e(s)}:Sb(),o=Object.keys;return n.shim=function(){if(Object.keys){var s=function(){var a=Object.keys(arguments);return a&&a.length===arguments.length}(1,2);s||(Object.keys=function(c){return i(c)?o(t.call(c)):o(c)})}else Object.keys=n;return Object.keys||n},jp=n,jp}var ef,sw;function aw(){return sw||(sw=1,ef=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var i={},e=Symbol("test"),n=Object(e);if(typeof e=="string"||Object.prototype.toString.call(e)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;i[e]=o;for(var r in i)return!1;if(typeof Object.keys=="function"&&Object.keys(i).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(i).length!==0)return!1;var s=Object.getOwnPropertySymbols(i);if(s.length!==1||s[0]!==e||!Object.prototype.propertyIsEnumerable.call(i,e))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(i,e);if(a.value!==o||a.enumerable!==!0)return!1}return!0}),ef}var tf,lw;function nf(){if(lw)return tf;lw=1;var t=aw();return tf=function(){return t()&&!!Symbol.toStringTag},tf}var of,cw;function hw(){return cw||(cw=1,of=Object),of}var rf,dw;function uw(){return dw||(dw=1,rf=Error),rf}var sf,pw;function Eb(){return pw||(pw=1,sf=EvalError),sf}var af,fw;function Ab(){return fw||(fw=1,af=RangeError),af}var lf,gw;function Tb(){return gw||(gw=1,lf=ReferenceError),lf}var cf,mw;function vw(){return mw||(mw=1,cf=SyntaxError),cf}var hf,yw;function Vr(){return yw||(yw=1,hf=TypeError),hf}var df,ww;function Mb(){return ww||(ww=1,df=URIError),df}var uf,Cw;function Ib(){return Cw||(Cw=1,uf=Math.abs),uf}var pf,_w;function Db(){return _w||(_w=1,pf=Math.floor),pf}var ff,Pw;function bb(){return Pw||(Pw=1,ff=Math.max),ff}var gf,Sw;function Rb(){return Sw||(Sw=1,gf=Math.min),gf}var mf,Ew;function xb(){return Ew||(Ew=1,mf=Math.pow),mf}var vf,Aw;function Fb(){return Aw||(Aw=1,vf=Math.round),vf}var yf,Tw;function kb(){return Tw||(Tw=1,yf=Number.isNaN||function(i){return i!==i}),yf}var wf,Mw;function zb(){if(Mw)return wf;Mw=1;var t=kb();return wf=function(e){return t(e)||e===0?e:e<0?-1:1},wf}var Cf,Iw;function Lb(){return Iw||(Iw=1,Cf=Object.getOwnPropertyDescriptor),Cf}var _f,Dw;function Ur(){if(Dw)return _f;Dw=1;var t=Lb();if(t)try{t([],"length")}catch{t=null}return _f=t,_f}var Pf,bw;function Ph(){if(bw)return Pf;bw=1;var t=Object.defineProperty||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return Pf=t,Pf}var Sf,Rw;function Ob(){if(Rw)return Sf;Rw=1;var t=typeof Symbol<"u"&&Symbol,i=aw();return Sf=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:i()},Sf}var Ef,xw;function Fw(){return xw||(xw=1,Ef=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),Ef}var Af,kw;function zw(){if(kw)return Af;kw=1;var t=hw();return Af=t.getPrototypeOf||null,Af}var Tf,Lw;function Nb(){if(Lw)return Tf;Lw=1;var t="Function.prototype.bind called on incompatible ",i=Object.prototype.toString,e=Math.max,n="[object Function]",o=function(c,d){for(var u=[],p=0;p<c.length;p+=1)u[p]=c[p];for(var f=0;f<d.length;f+=1)u[f+c.length]=d[f];return u},r=function(c,d){for(var u=[],p=d,f=0;p<c.length;p+=1,f+=1)u[f]=c[p];return u},s=function(a,c){for(var d="",u=0;u<a.length;u+=1)d+=a[u],u+1<a.length&&(d+=c);return d};return Tf=function(c){var d=this;if(typeof d!="function"||i.apply(d)!==n)throw new TypeError(t+d);for(var u=r(arguments,1),p,f=function(){if(this instanceof p){var S=d.apply(this,o(u,arguments));return Object(S)===S?S:this}return d.apply(c,o(u,arguments))},g=e(0,d.length-u.length),m=[],y=0;y<g;y++)m[y]="$"+y;if(p=Function("binder","return function ("+s(m,",")+"){ return binder.apply(this,arguments); }")(f),d.prototype){var P=function(){};P.prototype=d.prototype,p.prototype=new P,P.prototype=null}return p},Tf}var Mf,Ow;function Hs(){if(Ow)return Mf;Ow=1;var t=Nb();return Mf=Function.prototype.bind||t,Mf}var If,Nw;function Df(){return Nw||(Nw=1,If=Function.prototype.call),If}var bf,Vw;function Rf(){return Vw||(Vw=1,bf=Function.prototype.apply),bf}var xf,Uw;function Vb(){return Uw||(Uw=1,xf=typeof Reflect<"u"&&Reflect&&Reflect.apply),xf}var Ff,Ww;function Gw(){if(Ww)return Ff;Ww=1;var t=Hs(),i=Rf(),e=Df(),n=Vb();return Ff=n||t.call(e,i),Ff}var kf,Hw;function zf(){if(Hw)return kf;Hw=1;var t=Hs(),i=Vr(),e=Df(),n=Gw();return kf=function(r){if(r.length<1||typeof r[0]!="function")throw new i("a function is required");return n(t,e,r)},kf}var Lf,qw;function Ub(){if(qw)return Lf;qw=1;var t=zf(),i=Ur(),e;try{e=[].__proto__===Array.prototype}catch(s){if(!s||typeof s!="object"||!("code"in s)||s.code!=="ERR_PROTO_ACCESS")throw s}var n=!!e&&i&&i(Object.prototype,"__proto__"),o=Object,r=o.getPrototypeOf;return Lf=n&&typeof n.get=="function"?t([n.get]):typeof r=="function"?function(a){return r(a==null?a:o(a))}:!1,Lf}var Of,$w;function Xw(){if($w)return Of;$w=1;var t=Fw(),i=zw(),e=Ub();return Of=t?function(o){return t(o)}:i?function(o){if(!o||typeof o!="object"&&typeof o!="function")throw new TypeError("getProto: not an object");return i(o)}:e?function(o){return e(o)}:null,Of}var Nf,Yw;function Zw(){if(Yw)return Nf;Yw=1;var t=Function.prototype.call,i=Object.prototype.hasOwnProperty,e=Hs();return Nf=e.call(t,i),Nf}var Vf,Qw;function Kw(){if(Qw)return Vf;Qw=1;var t,i=hw(),e=uw(),n=Eb(),o=Ab(),r=Tb(),s=vw(),a=Vr(),c=Mb(),d=Ib(),u=Db(),p=bb(),f=Rb(),g=xb(),m=Fb(),y=zb(),P=Function,S=function(me){try{return P('"use strict"; return ('+me+").constructor;")()}catch{}},C=Ur(),E=Ph(),T=function(){throw new a},I=C?function(){try{return arguments.callee,T}catch{try{return C(arguments,"callee").get}catch{return T}}}():T,b=Ob()(),x=Xw(),z=zw(),W=Fw(),N=Rf(),L=Df(),U={},_=typeof Uint8Array>"u"||!x?t:x(Uint8Array),M={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":b&&x?x([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":U,"%AsyncGenerator%":U,"%AsyncGeneratorFunction%":U,"%AsyncIteratorPrototype%":U,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?t:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?t:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":e,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?t:Float16Array,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":P,"%GeneratorFunction%":U,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":b&&x?x(x([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!b||!x?t:x(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":i,"%Object.getOwnPropertyDescriptor%":C,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":o,"%ReferenceError%":r,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!b||!x?t:x(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":b&&x?x(""[Symbol.iterator]()):t,"%Symbol%":b?Symbol:t,"%SyntaxError%":s,"%ThrowTypeError%":I,"%TypedArray%":_,"%TypeError%":a,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet,"%Function.prototype.call%":L,"%Function.prototype.apply%":N,"%Object.defineProperty%":E,"%Object.getPrototypeOf%":z,"%Math.abs%":d,"%Math.floor%":u,"%Math.max%":p,"%Math.min%":f,"%Math.pow%":g,"%Math.round%":m,"%Math.sign%":y,"%Reflect.getPrototypeOf%":W};if(x)try{null.error}catch(me){var F=x(x(me));M["%Error.prototype%"]=F}var V=function me(ne){var he;if(ne==="%AsyncFunction%")he=S("async function () {}");else if(ne==="%GeneratorFunction%")he=S("function* () {}");else if(ne==="%AsyncGeneratorFunction%")he=S("async function* () {}");else if(ne==="%AsyncGenerator%"){var de=me("%AsyncGeneratorFunction%");de&&(he=de.prototype)}else if(ne==="%AsyncIteratorPrototype%"){var Me=me("%AsyncGenerator%");Me&&x&&(he=x(Me.prototype))}return M[ne]=he,he},G={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Z=Hs(),$=Zw(),Y=Z.call(L,Array.prototype.concat),K=Z.call(N,Array.prototype.splice),te=Z.call(L,String.prototype.replace),re=Z.call(L,String.prototype.slice),ge=Z.call(L,RegExp.prototype.exec),ye=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Te=/\\(\\)?/g,Oe=function(ne){var he=re(ne,0,1),de=re(ne,-1);if(he==="%"&&de!=="%")throw new s("invalid intrinsic syntax, expected closing `%`");if(de==="%"&&he!=="%")throw new s("invalid intrinsic syntax, expected opening `%`");var Me=[];return te(ne,ye,function(Ne,Ot,st,Uh){Me[Me.length]=st?te(Uh,Te,"$1"):Ot||Ne}),Me},We=function(ne,he){var de=ne,Me;if($(G,de)&&(Me=G[de],de="%"+Me[0]+"%"),$(M,de)){var Ne=M[de];if(Ne===U&&(Ne=V(de)),typeof Ne>"u"&&!he)throw new a("intrinsic "+ne+" exists, but is not available. Please file an issue!");return{alias:Me,name:de,value:Ne}}throw new s("intrinsic "+ne+" does not exist!")};return Vf=function(ne,he){if(typeof ne!="string"||ne.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof he!="boolean")throw new a('"allowMissing" argument must be a boolean');if(ge(/^%?[^%]*%?$/,ne)===null)throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var de=Oe(ne),Me=de.length>0?de[0]:"",Ne=We("%"+Me+"%",he),Ot=Ne.name,st=Ne.value,Uh=!1,dm=Ne.alias;dm&&(Me=dm[0],K(de,Y([0,1],dm)));for(var Wh=1,Ql=!0;Wh<de.length;Wh+=1){var ln=de[Wh],Gh=re(ln,0,1),Hh=re(ln,-1);if((Gh==='"'||Gh==="'"||Gh==="`"||Hh==='"'||Hh==="'"||Hh==="`")&&Gh!==Hh)throw new s("property names with quotes must have matching quotes");if((ln==="constructor"||!Ql)&&(Uh=!0),Me+="."+ln,Ot="%"+Me+"%",$(M,Ot))st=M[Ot];else if(st!=null){if(!(ln in st)){if(!he)throw new a("base intrinsic for "+ne+" exists, but the property is not available.");return}if(C&&Wh+1>=de.length){var qh=C(st,ln);Ql=!!qh,Ql&&"get"in qh&&!("originalValue"in qh.get)?st=qh.get:st=st[ln]}else Ql=$(st,ln),st=st[ln];Ql&&!Uh&&(M[Ot]=st)}}return st},Vf}var Uf,Jw;function Wf(){if(Jw)return Uf;Jw=1;var t=Kw(),i=zf(),e=i([t("%String.prototype.indexOf%")]);return Uf=function(o,r){var s=t(o,!!r);return typeof s=="function"&&e(o,".prototype.")>-1?i([s]):s},Uf}var Gf,Bw;function Wb(){if(Bw)return Gf;Bw=1;var t=nf()(),i=Wf(),e=i("Object.prototype.toString"),n=function(a){return t&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:e(a)==="[object Arguments]"},o=function(a){return n(a)?!0:a!==null&&typeof a=="object"&&"length"in a&&typeof a.length=="number"&&a.length>=0&&e(a)!=="[object Array]"&&"callee"in a&&e(a.callee)==="[object Function]"},r=function(){return n(arguments)}();return n.isLegacyArguments=o,Gf=r?n:o,Gf}var Hf,jw;function qf(){if(jw)return Hf;jw=1;var t=Ph(),i=vw(),e=Vr(),n=Ur();return Hf=function(r,s,a){if(!r||typeof r!="object"&&typeof r!="function")throw new e("`obj` must be an object or a function`");if(typeof s!="string"&&typeof s!="symbol")throw new e("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new e("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new e("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new e("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new e("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,d=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,p=arguments.length>6?arguments[6]:!1,f=!!n&&n(r,s);if(t)t(r,s,{configurable:u===null&&f?f.configurable:!u,enumerable:c===null&&f?f.enumerable:!c,value:a,writable:d===null&&f?f.writable:!d});else if(p||!c&&!d&&!u)r[s]=a;else throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Hf}var $f,eC;function Xf(){if(eC)return $f;eC=1;var t=Ph(),i=function(){return!!t};return i.hasArrayLengthDefineBug=function(){if(!t)return null;try{return t([],"length",{value:1}).length!==1}catch{return!0}},$f=i,$f}var Yf,tC;function qs(){if(tC)return Yf;tC=1;var t=rw(),i=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",e=Object.prototype.toString,n=Array.prototype.concat,o=qf(),r=function(d){return typeof d=="function"&&e.call(d)==="[object Function]"},s=Xf()(),a=function(d,u,p,f){if(u in d){if(f===!0){if(d[u]===p)return}else if(!r(f)||!f())return}s?o(d,u,p,!0):o(d,u,p)},c=function(d,u){var p=arguments.length>2?arguments[2]:{},f=t(u);i&&(f=n.call(f,Object.getOwnPropertySymbols(u)));for(var g=0;g<f.length;g+=1)a(d,f[g],u[f[g]],p[f[g]])};return c.supportsDescriptors=!!s,Yf=c,Yf}var Zf={exports:{}},Qf,iC;function Gb(){if(iC)return Qf;iC=1;var t=Kw(),i=qf(),e=Xf()(),n=Ur(),o=Vr(),r=t("%Math.floor%");return Qf=function(a,c){if(typeof a!="function")throw new o("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||r(c)!==c)throw new o("`length` must be a positive 32-bit integer");var d=arguments.length>2&&!!arguments[2],u=!0,p=!0;if("length"in a&&n){var f=n(a,"length");f&&!f.configurable&&(u=!1),f&&!f.writable&&(p=!1)}return(u||p||!d)&&(e?i(a,"length",c,!0,!0):i(a,"length",c)),a},Qf}var Kf,nC;function Hb(){if(nC)return Kf;nC=1;var t=Hs(),i=Rf(),e=Gw();return Kf=function(){return e(t,i,arguments)},Kf}var oC;function rC(){return oC||(oC=1,function(t){var i=Gb(),e=Ph(),n=zf(),o=Hb();t.exports=function(s){var a=n(arguments),c=s.length-(arguments.length-1);return i(a,1+(c>0?c:0),!0)},e?e(t.exports,"apply",{value:o}):t.exports.apply=o}(Zf)),Zf.exports}var Jf,sC;function aC(){if(sC)return Jf;sC=1;var t=function(i){return i!==i};return Jf=function(e,n){return e===0&&n===0?1/e===1/n:!!(e===n||t(e)&&t(n))},Jf}var Bf,lC;function cC(){if(lC)return Bf;lC=1;var t=aC();return Bf=function(){return typeof Object.is=="function"?Object.is:t},Bf}var jf,hC;function qb(){if(hC)return jf;hC=1;var t=cC(),i=qs();return jf=function(){var n=t();return i(Object,{is:n},{is:function(){return Object.is!==n}}),n},jf}var eg,dC;function $b(){if(dC)return eg;dC=1;var t=qs(),i=rC(),e=aC(),n=cC(),o=qb(),r=i(n(),Object);return t(r,{getPolyfill:n,implementation:e,shim:o}),eg=r,eg}var tg,uC;function Xb(){if(uC)return tg;uC=1;var t=Wf(),i=nf()(),e=Zw(),n=Ur(),o;if(i){var r=t("RegExp.prototype.exec"),s={},a=function(){throw s},c={toString:a,valueOf:a};typeof Symbol.toPrimitive=="symbol"&&(c[Symbol.toPrimitive]=a),o=function(f){if(!f||typeof f!="object")return!1;var g=n(f,"lastIndex"),m=g&&e(g,"value");if(!m)return!1;try{r(f,c)}catch(y){return y===s}}}else{var d=t("Object.prototype.toString"),u="[object RegExp]";o=function(f){return!f||typeof f!="object"&&typeof f!="function"?!1:d(f)===u}}return tg=o,tg}var ig,pC;function Yb(){if(pC)return ig;pC=1;var t=function(){return typeof(function(){}).name=="string"},i=Object.getOwnPropertyDescriptor;if(i)try{i([],"length")}catch{i=null}t.functionsHaveConfigurableNames=function(){if(!t()||!i)return!1;var o=i(function(){},"name");return!!o&&!!o.configurable};var e=Function.prototype.bind;return t.boundFunctionsHaveNames=function(){return t()&&typeof e=="function"&&(function(){}).bind().name!==""},ig=t,ig}var ng,fC;function Zb(){if(fC)return ng;fC=1;var t=qf(),i=Xf()(),e=Yb().functionsHaveConfigurableNames(),n=Vr();return ng=function(r,s){if(typeof r!="function")throw new n("`fn` is not a function");var a=arguments.length>2&&!!arguments[2];return(!a||e)&&(i?t(r,"name",s,!0,!0):t(r,"name",s)),r},ng}var og,gC;function mC(){if(gC)return og;gC=1;var t=Zb(),i=Vr(),e=Object;return og=t(function(){if(this==null||this!==e(this))throw new i("RegExp.prototype.flags getter called on non-object");var o="";return this.hasIndices&&(o+="d"),this.global&&(o+="g"),this.ignoreCase&&(o+="i"),this.multiline&&(o+="m"),this.dotAll&&(o+="s"),this.unicode&&(o+="u"),this.unicodeSets&&(o+="v"),this.sticky&&(o+="y"),o},"get flags",!0),og}var rg,vC;function yC(){if(vC)return rg;vC=1;var t=mC(),i=qs().supportsDescriptors,e=Object.getOwnPropertyDescriptor;return rg=function(){if(i&&/a/mig.flags==="gim"){var o=e(RegExp.prototype,"flags");if(o&&typeof o.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var r="",s={};if(Object.defineProperty(s,"hasIndices",{get:function(){r+="d"}}),Object.defineProperty(s,"sticky",{get:function(){r+="y"}}),o.get.call(s),r==="dy")return o.get}}return t},rg}var sg,wC;function Qb(){if(wC)return sg;wC=1;var t=qs().supportsDescriptors,i=yC(),e=Ur(),n=Object.defineProperty,o=uw(),r=Xw(),s=/a/;return sg=function(){if(!t||!r)throw new o("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var c=i(),d=r(s),u=e(d,"flags");return(!u||u.get!==c)&&n(d,"flags",{configurable:!0,enumerable:!1,get:c}),c},sg}var ag,CC;function Kb(){if(CC)return ag;CC=1;var t=qs(),i=rC(),e=mC(),n=yC(),o=Qb(),r=i(n());return t(r,{getPolyfill:n,implementation:e,shim:o}),ag=r,ag}var lg,_C;function Jb(){if(_C)return lg;_C=1;var t=Wf(),i=t("Date.prototype.getDay"),e=function(a){try{return i(a),!0}catch{return!1}},n=t("Object.prototype.toString"),o="[object Date]",r=nf()();return lg=function(a){return typeof a!="object"||a===null?!1:r?e(a):n(a)===o},lg}var cg,PC;function Bb(){if(PC)return cg;PC=1;var t=rw(),i=Wb(),e=$b(),n=Xb(),o=Kb(),r=Jb(),s=Date.prototype.getTime;function a(p,f,g){var m=g||{};return(m.strict?e(p,f):p===f)?!0:!p||!f||typeof p!="object"&&typeof f!="object"?m.strict?e(p,f):p==f:u(p,f,m)}function c(p){return p==null}function d(p){return!(!p||typeof p!="object"||typeof p.length!="number"||typeof p.copy!="function"||typeof p.slice!="function"||p.length>0&&typeof p[0]!="number")}function u(p,f,g){var m,y;if(typeof p!=typeof f||c(p)||c(f)||p.prototype!==f.prototype||i(p)!==i(f))return!1;var P=n(p),S=n(f);if(P!==S)return!1;if(P||S)return p.source===f.source&&o(p)===o(f);if(r(p)&&r(f))return s.call(p)===s.call(f);var C=d(p),E=d(f);if(C!==E)return!1;if(C||E){if(p.length!==f.length)return!1;for(m=0;m<p.length;m++)if(p[m]!==f[m])return!1;return!0}if(typeof p!=typeof f)return!1;try{var T=t(p),I=t(f)}catch{return!1}if(T.length!==I.length)return!1;for(T.sort(),I.sort(),m=T.length-1;m>=0;m--)if(T[m]!=I[m])return!1;for(m=T.length-1;m>=0;m--)if(y=T[m],!a(p[y],f[y],g))return!1;return!0}return cg=a,cg}function jb(t,i){var e=!0;return kr(t,function(n){kr(i,function(o){if(e===!1)return!1;e=eR(n.geometry,o.geometry)})}),e}function eR(t,i){switch(t.type){case"Point":switch(i.type){case"Point":return!oR(t.coordinates,i.coordinates);case"LineString":return!SC(i,t);case"Polygon":return!Pt(t,i)}break;case"LineString":switch(i.type){case"Point":return!SC(t,i);case"LineString":return!tR(t,i);case"Polygon":return!EC(i,t)}break;case"Polygon":switch(i.type){case"Point":return!Pt(i,t);case"LineString":return!EC(t,i);case"Polygon":return!iR(i,t)}}return!1}function SC(t,i){for(var e=0;e<t.coordinates.length-1;e++)if(nR(t.coordinates[e],t.coordinates[e+1],i.coordinates))return!0;return!1}function tR(t,i){var e=Qp(t,i);return e.features.length>0}function EC(t,i){for(var e=0,n=i.coordinates;e<n.length;e++){var o=n[e];if(Pt(o,t))return!0}var r=Qp(i,Kp(t));return r.features.length>0}function iR(t,i){for(var e=0,n=t.coordinates[0];e<n.length;e++){var o=n[e];if(Pt(o,i))return!0}for(var r=0,s=i.coordinates[0];r<s.length;r++){var a=s[r];if(Pt(a,t))return!0}var c=Qp(Kp(t),Kp(i));return c.features.length>0}function nR(t,i,e){var n=e[0]-t[0],o=e[1]-t[1],r=i[0]-t[0],s=i[1]-t[1],a=n*s-o*r;return a!==0?!1:Math.abs(r)>=Math.abs(s)?r>0?t[0]<=e[0]&&e[0]<=i[0]:i[0]<=e[0]&&e[0]<=t[0]:s>0?t[1]<=e[1]&&e[1]<=i[1]:i[1]<=e[1]&&e[1]<=t[1]}function oR(t,i){return t[0]===i[0]&&t[1]===i[1]}var hg,AC;function rR(){if(AC)return hg;AC=1;var t=Bb(),i=function(r){this.precision=r&&r.precision?r.precision:17,this.direction=r&&r.direction?r.direction:!1,this.pseudoNode=r&&r.pseudoNode?r.pseudoNode:!1,this.objectComparator=r&&r.objectComparator?r.objectComparator:o};i.prototype.compare=function(r,s){if(r.type!==s.type||!n(r,s))return!1;switch(r.type){case"Point":return this.compareCoord(r.coordinates,s.coordinates);case"LineString":return this.compareLine(r.coordinates,s.coordinates,0,!1);case"Polygon":return this.comparePolygon(r,s);case"Feature":return this.compareFeature(r,s);default:if(r.type.indexOf("Multi")===0){var a=this,c=e(r),d=e(s);return c.every(function(u){return this.some(function(p){return a.compare(u,p)})},d)}}return!1};function e(r){return r.coordinates.map(function(s){return{type:r.type.replace("Multi",""),coordinates:s}})}function n(r,s){return r.hasOwnProperty("coordinates")?r.coordinates.length===s.coordinates.length:r.length===s.length}i.prototype.compareCoord=function(r,s){if(r.length!==s.length)return!1;for(var a=0;a<r.length;a++)if(r[a].toFixed(this.precision)!==s[a].toFixed(this.precision))return!1;return!0},i.prototype.compareLine=function(r,s,a,c){if(!n(r,s))return!1;var d=this.pseudoNode?r:this.removePseudo(r),u=this.pseudoNode?s:this.removePseudo(s);if(!(c&&!this.compareCoord(d[0],u[0])&&(u=this.fixStartIndex(u,d),!u))){var p=this.compareCoord(d[a],u[a]);return this.direction||p?this.comparePath(d,u):this.compareCoord(d[a],u[u.length-(1+a)])?this.comparePath(d.slice().reverse(),u):!1}},i.prototype.fixStartIndex=function(r,s){for(var a,c=-1,d=0;d<r.length;d++)if(this.compareCoord(r[d],s[0])){c=d;break}return c>=0&&(a=[].concat(r.slice(c,r.length),r.slice(1,c+1))),a},i.prototype.comparePath=function(r,s){var a=this;return r.every(function(c,d){return a.compareCoord(c,this[d])},s)},i.prototype.comparePolygon=function(r,s){if(this.compareLine(r.coordinates[0],s.coordinates[0],1,!0)){var a=r.coordinates.slice(1,r.coordinates.length),c=s.coordinates.slice(1,s.coordinates.length),d=this;return a.every(function(u){return this.some(function(p){return d.compareLine(u,p,1,!0)})},c)}else return!1},i.prototype.compareFeature=function(r,s){return r.id!==s.id||!this.objectComparator(r.properties,s.properties)||!this.compareBBox(r,s)?!1:this.compare(r.geometry,s.geometry)},i.prototype.compareBBox=function(r,s){return!!(!r.bbox&&!s.bbox||r.bbox&&s.bbox&&this.compareCoord(r.bbox,s.bbox))},i.prototype.removePseudo=function(r){return r};function o(r,s){return t(r,s,{strict:!0})}return hg=i,hg}var sR=rR();const aR=mc(sR);function lR(t,i){var e=Ri(t).type,n=Ri(i).type;if(e!==n)return!1;var o=new aR({precision:6});return o.compare(U0(t),U0(i))}function cR(t,i){var e=!1;return kr(t,function(n){kr(i,function(o){if(e===!0)return!0;e=!jb(n.geometry,o.geometry)})}),e}/**
|
|
1857
|
+
`,Xn=class Xn extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_player");v(this,"_finalImageUrlReact",this.disposeVar(w.ESSceneObject.context.createEnvStrReact([this,"imageUrl"])));v(this,"_routePaths",this.disposeVar(l.react(void 0)));v(this,"routePathCallback");v(this,"_id",this.disposeVar(l.react(l.createGuid())));n&&(this._id.value=n),this._player=this.disposeVar(new w.Player);{const g=Xn.defaults;this.dispose(l.bind([this._player,"loop"],[this,"loop"],m=>m??g.loop,m=>m??g.loop)),this.dispose(l.bind([this._player,"currentTime"],[this,"currentTime"],m=>m??g.currentTime,m=>m??g.currentTime)),this.dispose(l.bind([this._player,"duration"],[this,"duration"],m=>m??g.duration,m=>m??g.duration)),this.dispose(l.bind([this._player,"playing"],[this,"playing"],m=>m??g.playing,m=>m??g.playing)),this.dispose(l.bind([this._player,"speed"],[this,"speed"],m=>m??g.speed,m=>m??g.speed))}const o=this.disposeVar(w.ESSceneObject.context.createEnvStrReact([this,"geoJsonUrl"])),r=this.disposeVar(l.createProcessingFromAsyncFunc(async g=>{this.routePaths=void 0;const m=o.value;if(m)try{const P=await(await fetch(m)).json();this.routePaths=FD(P,this.width,this.repeatLength);return}catch(y){console.error(`geojson加载解析出错!${y}`),console.error(y)}if(this.data){this.routePaths=[...this.data];return}if(this.positionsSet){const y=this.positionsSet;if(y){this.routePaths=y.map(P=>({positions:P,width:this.width}));return}}}));{const g=()=>{r.restart()};g();const m=this.disposeVar(l.createNextAnimateFrameEvent(o.changed,this.positionsSetChanged,this.dataChanged,this.finalImageUrlReact.changed,this.widthChanged,this.repeatLengthChanged,this.arcTypeChanged,this.brighteningChanged,this.depthTestChanged));this.dispose(m.disposableOn(g))}{const g=()=>{const m=gd(this.routePathCallbackStr,["result","this","instanceIndex","frameState"]);m&&(this.routePathCallback=m)};g(),this.dispose(this.routePathCallbackStrChanged.disposableOn(g))}const s=e.viewer;if(!s){console.warn("viewer is undefined!");return}const a=this.finalImageUrlReact,c=this.disposeVar(new Ko),d=this.disposeVar(l.createProcessingFromAsyncFunc(async g=>{if(!a.value)return;const m=sv(s.scene.context).getTextureHandler(a.value);if(m instanceof Ko)c.reset(m);else{const y=await g.promise(m);c.reset(y)}})),u=()=>c.valid?c.raw:s.scene.context.defaultTexture,p=()=>d.restart();p(),this.dispose(a.changed.disposableOn(p));const f=this.ad(l.createNextAnimateFrameEvent(this.routePathsChanged,this.colorChanged,this.bgColorChanged));this.disposeVar(new l.ObjResettingWithEvent(f,()=>this.routePaths?new QD(s,this,a.value&&u||void 0):void 0)),this.dispose(this.flyToEvent.disposableOn(g=>{if(!(!this.routePaths||this.routePaths.length===0)&&this.routePaths.length===1)if(!Object.prototype.hasOwnProperty.call(this.routePaths[0],"positions"))se(s,this.routePaths[0].startPos,s.camera.positionCartographic.height,void 0,g);else{const m=computeBoundingSphere(this.routePaths[0].positions);if(!m)return;const[y,P]=m;se(s,y,P*3,void 0,g)}}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get player(){return this._player}get ratio(){return this._player.ratio}set ratio(e){this._player.ratio=e}get ratioChanged(){return this._player.ratioChanged}get finalImageUrlReact(){return this._finalImageUrlReact}get routePaths(){return this._routePaths.value}set routePaths(e){this._routePaths.value=e}get routePathsChanged(){return this._routePaths.changed}get id(){return this._id.value}set id(e){this._id.value=e}get idChanged(){return this._id.changed}};v(Xn,"whiteGradientImageBase64",KD),v(Xn,"defaultRoutePathCallback",function(e,n,o){const r=n/50,s=r-Math.floor(r);return e.color=[s*.5+.5,(1-s)*.5+.5,.5,1],e.bgColor=[s*.5+.5,(1-s)*.5+.5,.5,.3],e}),v(Xn,"routePathCallbackStrMd",JD),v(Xn,"defaults",{loop:!0,startTime:0,currentTime:0,duration:3e3,speed:1,playing:!0,transmissionTime:3e3}),v(Xn,"defaultImageUri","${earthsdk3-assets-script-dir}/assets/img/signal.png");let Ki=Xn;(t=>{t.createDefaultProps=()=>({show:!0,imageUrl:void 0,repeat:1,bidirectional:0,startTime:0,transmissionTime:void 0,color:l.reactArray([0,1,0,1]),bgColor:l.reactArray([0,1,0,.2]),width:3,repeatLength:1e4,arcType:"GEODESIC",brightening:!1,depthTest:!0,positionsSet:l.reactPositionsSet(void 0),data:l.reactJson(void 0),geoJsonUrl:"",allowPicking:!1,routePathCallbackStr:"",loop:void 0,currentTime:void 0,duration:void 0,speed:void 0,playing:void 0})})(Ki||(Ki={})),l.extendClassProps(Ki.prototype,Ki.createDefaultProps);class Ji extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_collection");this._collection=this.disposeVar(new Ki(e,n)),this.dispose(l.track([this._collection,"show"],[this,"show"])),this.dispose(l.track([this._collection,"startTime"],[this,"startTime"])),this.dispose(l.track([this._collection,"transmissionTime"],[this,"transmissionTime"])),this.dispose(l.track([this._collection,"color"],[this,"color"])),this.dispose(l.track([this._collection,"bgColor"],[this,"bgColor"])),this.dispose(l.track([this._collection,"width"],[this,"width"])),this.dispose(l.track([this._collection,"arcType"],[this,"arcType"])),this.dispose(l.track([this._collection,"brightening"],[this,"brightening"])),this.dispose(l.track([this._collection,"depthTest"],[this,"depthTest"])),this.dispose(l.track([this._collection,"imageUrl"],[this,"imageUrl"])),this.dispose(l.track([this._collection,"repeat"],[this,"repeat"])),this.dispose(l.track([this._collection,"repeatLength"],[this,"repeatLength"])),this.dispose(l.track([this._collection,"bidirectional"],[this,"bidirectional"])),this.dispose(l.track([this._collection,"allowPicking"],[this,"allowPicking"])),this.dispose(l.bind([this._collection,"playing"],[this,"playing"])),this.dispose(l.track([this._collection,"loop"],[this,"loop"])),this.dispose(l.bind([this._collection,"currentTime"],[this,"currentTime"])),this.dispose(l.bind([this._collection,"duration"],[this,"duration"])),this.dispose(l.bind([this._collection,"speed"],[this,"speed"]));{const o=()=>{this.color=[this.bgColor[0],this.bgColor[1],this.bgColor[2],1]};o(),this.ad(this.bgColorChanged.don(o))}this.dispose(this.flyToEvent.disposableOn(o=>{this._collection.flyTo(o)}));{const o=()=>{if(!this.positions){this._collection.data=void 0;return}if(this.heightRatio===0){this._collection.data=[{positions:this.positions,width:this.width}];return}if(this.positions.length>=2){this._collection.data=this.positions.map((s,a)=>{var c;if(!(!this.positions||a==((c=this.positions)==null?void 0:c.length)-1))return{startPos:s,endPos:this.positions[a+1],width:this.width,heightRatio:this.heightRatio}}).filter(s=>s!==void 0);return}this._collection.data=void 0};o();const r=this.disposeVar(l.createNextAnimateFrameEvent(this.positionsChanged,this.heightRatioChanged,this.widthChanged));this.dispose(r.disposableOn(o))}}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get collection(){return this._collection}get player(){return this.collection.player}get ratio(){return this.player.ratio}set ratio(e){this.player.ratio=e}get ratioChanged(){return this.player.ratioChanged}}v(Ji,"defaults",{loop:!0,currentTime:0,duration:3e3,speed:1,playing:!0,transmissionTime:3e3}),v(Ji,"defaultImageUri","${earthsdk3-assets-script-dir}/assets/img/signal.png"),(t=>{t.createDefaultProps=()=>({show:!0,imageUrl:void 0,repeat:1,bidirectional:0,startTime:0,transmissionTime:void 0,color:l.reactArray([0,1,0,1]),bgColor:l.reactArray([0,1,0,.2]),width:3,repeatLength:1e4,arcType:"GEODESIC",brightening:!1,depthTest:!0,positions:l.reactPositions(void 0),heightRatio:0,allowPicking:!1,loop:void 0,currentTime:void 0,duration:void 0,speed:void 0,playing:void 0})})(Ji||(Ji={})),l.extendClassProps(Ji.prototype,Ji.createDefaultProps);const vl=class vl extends vt{constructor(e,n){super(e,n);v(this,"_czmSignalTransmission");if(this._czmSignalTransmission=this.disposeVar(new Ji(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmSignalTransmission;{const s=()=>{r.show=e.show&&e.stroked};s(),this.ad(e.showChanged.don(s)),this.ad(e.strokedChanged.don(s))}this.dispose(l.track([r,"allowPicking"],[e,"allowPicking"])),this.dispose(l.bind([r,"positions"],[e,"points"])),this.dispose(l.track([r,"width"],[e,"strokeWidth"])),this.dispose(l.track([r,"bgColor"],[e,"strokeColor"])),this.dispose(l.track([r,"startTime"],[e,"startTime"])),this.dispose(l.track([r,"transmissionTime"],[e,"transmissionTime"])),this.dispose(l.track([r,"heightRatio"],[e,"heightRatio"])),this.dispose(l.track([r,"arcType"],[e,"arcType"])),this.dispose(l.track([r,"brightening"],[e,"brightening"])),this.dispose(l.track([r,"depthTest"],[e,"depthTest"])),this.dispose(l.track([r,"imageUrl"],[e,"imageUrl"])),this.dispose(l.track([r,"repeat"],[e,"repeat"])),this.dispose(l.track([r,"bidirectional"],[e,"bidirectional"])),this.dispose(l.track([r,"loop"],[e,"loop"])),this.dispose(l.track([r,"currentTime"],[e,"currentTime"])),this.dispose(l.track([r,"duration"],[e,"duration"])),this.dispose(l.track([r,"playing"],[e,"playing"])),this.dispose(l.track([r,"speed"],[e,"speed"]))}get czmSignalTransmission(){return this._czmSignalTransmission}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmSignalTransmission:s}=this;return r.actived?o.flyToParam||o.flyInParam?(super.flyTo(e,n),!0):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmSignalTransmission:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(vl,"type",vl.register("ESCesiumViewer",lh.type,vl));let $p=vl;function Do(t){var i=[1/0,1/0,-1/0,-1/0];return gh(t,function(e){i[0]>e[0]&&(i[0]=e[0]),i[1]>e[1]&&(i[1]=e[1]),i[2]<e[0]&&(i[2]=e[0]),i[3]<e[1]&&(i[3]=e[1])}),i}Do.default=Do;var yh={exports:{}},BD=yh.exports,z0;function jD(){return z0||(z0=1,function(t,i){(function(e,n){t.exports=n()})(BD,function(){function e(C,E,T,I,b){(function x(z,W,N,L,U){for(;L>N;){if(L-N>600){var _=L-N+1,M=W-N+1,F=Math.log(_),V=.5*Math.exp(2*F/3),G=.5*Math.sqrt(F*V*(_-V)/_)*(M-_/2<0?-1:1),Z=Math.max(N,Math.floor(W-M*V/_+G)),$=Math.min(L,Math.floor(W+(_-M)*V/_+G));x(z,W,Z,$,U)}var Y=z[W],K=N,te=L;for(n(z,N,W),U(z[L],Y)>0&&n(z,N,L);K<te;){for(n(z,K,te),K++,te--;U(z[K],Y)<0;)K++;for(;U(z[te],Y)>0;)te--}U(z[N],Y)===0?n(z,N,te):n(z,++te,L),te<=W&&(N=te+1),W<=te&&(L=te-1)}})(C,E,T||0,I||C.length-1,b||o)}function n(C,E,T){var I=C[E];C[E]=C[T],C[T]=I}function o(C,E){return C<E?-1:C>E?1:0}var r=function(C){C===void 0&&(C=9),this._maxEntries=Math.max(4,C),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function s(C,E,T){if(!T)return E.indexOf(C);for(var I=0;I<E.length;I++)if(T(C,E[I]))return I;return-1}function a(C,E){c(C,0,C.children.length,E,C)}function c(C,E,T,I,b){b||(b=P(null)),b.minX=1/0,b.minY=1/0,b.maxX=-1/0,b.maxY=-1/0;for(var x=E;x<T;x++){var z=C.children[x];d(b,C.leaf?I(z):z)}return b}function d(C,E){return C.minX=Math.min(C.minX,E.minX),C.minY=Math.min(C.minY,E.minY),C.maxX=Math.max(C.maxX,E.maxX),C.maxY=Math.max(C.maxY,E.maxY),C}function u(C,E){return C.minX-E.minX}function p(C,E){return C.minY-E.minY}function f(C){return(C.maxX-C.minX)*(C.maxY-C.minY)}function g(C){return C.maxX-C.minX+(C.maxY-C.minY)}function m(C,E){return C.minX<=E.minX&&C.minY<=E.minY&&E.maxX<=C.maxX&&E.maxY<=C.maxY}function y(C,E){return E.minX<=C.maxX&&E.minY<=C.maxY&&E.maxX>=C.minX&&E.maxY>=C.minY}function P(C){return{children:C,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function S(C,E,T,I,b){for(var x=[E,T];x.length;)if(!((T=x.pop())-(E=x.pop())<=I)){var z=E+Math.ceil((T-E)/I/2)*I;e(C,z,E,T,b),x.push(E,z,z,T)}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(C){var E=this.data,T=[];if(!y(C,E))return T;for(var I=this.toBBox,b=[];E;){for(var x=0;x<E.children.length;x++){var z=E.children[x],W=E.leaf?I(z):z;y(C,W)&&(E.leaf?T.push(z):m(C,W)?this._all(z,T):b.push(z))}E=b.pop()}return T},r.prototype.collides=function(C){var E=this.data;if(!y(C,E))return!1;for(var T=[];E;){for(var I=0;I<E.children.length;I++){var b=E.children[I],x=E.leaf?this.toBBox(b):b;if(y(C,x)){if(E.leaf||m(C,x))return!0;T.push(b)}}E=T.pop()}return!1},r.prototype.load=function(C){if(!C||!C.length)return this;if(C.length<this._minEntries){for(var E=0;E<C.length;E++)this.insert(C[E]);return this}var T=this._build(C.slice(),0,C.length-1,0);if(this.data.children.length)if(this.data.height===T.height)this._splitRoot(this.data,T);else{if(this.data.height<T.height){var I=this.data;this.data=T,T=I}this._insert(T,this.data.height-T.height-1,!0)}else this.data=T;return this},r.prototype.insert=function(C){return C&&this._insert(C,this.data.height-1),this},r.prototype.clear=function(){return this.data=P([]),this},r.prototype.remove=function(C,E){if(!C)return this;for(var T,I,b,x=this.data,z=this.toBBox(C),W=[],N=[];x||W.length;){if(x||(x=W.pop(),I=W[W.length-1],T=N.pop(),b=!0),x.leaf){var L=s(C,x.children,E);if(L!==-1)return x.children.splice(L,1),W.push(x),this._condense(W),this}b||x.leaf||!m(x,z)?I?(T++,x=I.children[T],b=!1):x=null:(W.push(x),N.push(T),T=0,I=x,x=x.children[0])}return this},r.prototype.toBBox=function(C){return C},r.prototype.compareMinX=function(C,E){return C.minX-E.minX},r.prototype.compareMinY=function(C,E){return C.minY-E.minY},r.prototype.toJSON=function(){return this.data},r.prototype.fromJSON=function(C){return this.data=C,this},r.prototype._all=function(C,E){for(var T=[];C;)C.leaf?E.push.apply(E,C.children):T.push.apply(T,C.children),C=T.pop();return E},r.prototype._build=function(C,E,T,I){var b,x=T-E+1,z=this._maxEntries;if(x<=z)return a(b=P(C.slice(E,T+1)),this.toBBox),b;I||(I=Math.ceil(Math.log(x)/Math.log(z)),z=Math.ceil(x/Math.pow(z,I-1))),(b=P([])).leaf=!1,b.height=I;var W=Math.ceil(x/z),N=W*Math.ceil(Math.sqrt(z));S(C,E,T,N,this.compareMinX);for(var L=E;L<=T;L+=N){var U=Math.min(L+N-1,T);S(C,L,U,W,this.compareMinY);for(var _=L;_<=U;_+=W){var M=Math.min(_+W-1,U);b.children.push(this._build(C,_,M,I-1))}}return a(b,this.toBBox),b},r.prototype._chooseSubtree=function(C,E,T,I){for(;I.push(E),!E.leaf&&I.length-1!==T;){for(var b=1/0,x=1/0,z=void 0,W=0;W<E.children.length;W++){var N=E.children[W],L=f(N),U=(_=C,M=N,(Math.max(M.maxX,_.maxX)-Math.min(M.minX,_.minX))*(Math.max(M.maxY,_.maxY)-Math.min(M.minY,_.minY))-L);U<x?(x=U,b=L<b?L:b,z=N):U===x&&L<b&&(b=L,z=N)}E=z||E.children[0]}var _,M;return E},r.prototype._insert=function(C,E,T){var I=T?C:this.toBBox(C),b=[],x=this._chooseSubtree(I,this.data,E,b);for(x.children.push(C),d(x,I);E>=0&&b[E].children.length>this._maxEntries;)this._split(b,E),E--;this._adjustParentBBoxes(I,b,E)},r.prototype._split=function(C,E){var T=C[E],I=T.children.length,b=this._minEntries;this._chooseSplitAxis(T,b,I);var x=this._chooseSplitIndex(T,b,I),z=P(T.children.splice(x,T.children.length-x));z.height=T.height,z.leaf=T.leaf,a(T,this.toBBox),a(z,this.toBBox),E?C[E-1].children.push(z):this._splitRoot(T,z)},r.prototype._splitRoot=function(C,E){this.data=P([C,E]),this.data.height=C.height+1,this.data.leaf=!1,a(this.data,this.toBBox)},r.prototype._chooseSplitIndex=function(C,E,T){for(var I,b,x,z,W,N,L,U=1/0,_=1/0,M=E;M<=T-E;M++){var F=c(C,0,M,this.toBBox),V=c(C,M,T,this.toBBox),G=(b=F,x=V,z=void 0,W=void 0,N=void 0,L=void 0,z=Math.max(b.minX,x.minX),W=Math.max(b.minY,x.minY),N=Math.min(b.maxX,x.maxX),L=Math.min(b.maxY,x.maxY),Math.max(0,N-z)*Math.max(0,L-W)),Z=f(F)+f(V);G<U?(U=G,I=M,_=Z<_?Z:_):G===U&&Z<_&&(_=Z,I=M)}return I||T-E},r.prototype._chooseSplitAxis=function(C,E,T){var I=C.leaf?this.compareMinX:u,b=C.leaf?this.compareMinY:p;this._allDistMargin(C,E,T,I)<this._allDistMargin(C,E,T,b)&&C.children.sort(I)},r.prototype._allDistMargin=function(C,E,T,I){C.children.sort(I);for(var b=this.toBBox,x=c(C,0,E,b),z=c(C,T-E,T,b),W=g(x)+g(z),N=E;N<T-E;N++){var L=C.children[N];d(x,C.leaf?b(L):L),W+=g(x)}for(var U=T-E-1;U>=E;U--){var _=C.children[U];d(z,C.leaf?b(_):_),W+=g(z)}return W},r.prototype._adjustParentBBoxes=function(C,E,T){for(var I=T;I>=0;I--)d(E[I],C)},r.prototype._condense=function(C){for(var E=C.length-1,T=void 0;E>=0;E--)C[E].children.length===0?E>0?(T=C[E-1].children).splice(T.indexOf(C[E]),1):this.clear():a(C[E],this.toBBox)},r})}(yh)),yh.exports}function _t(t,i,e){if(e===void 0&&(e={}),!t)throw new Error("point is required");if(!i)throw new Error("polygon is required");var n=fh(t),o=Ri(i),r=o.type,s=i.bbox,a=o.coordinates;if(s&&eb(n,s)===!1)return!1;r==="Polygon"&&(a=[a]);for(var c=!1,d=0;d<a.length&&!c;d++)if(L0(n,a[d][0],e.ignoreBoundary)){for(var u=!1,p=1;p<a[d].length&&!u;)L0(n,a[d][p],!e.ignoreBoundary)&&(u=!0),p++;u||(c=!0)}return c}function L0(t,i,e){var n=!1;i[0][0]===i[i.length-1][0]&&i[0][1]===i[i.length-1][1]&&(i=i.slice(0,i.length-1));for(var o=0,r=i.length-1;o<i.length;r=o++){var s=i[o][0],a=i[o][1],c=i[r][0],d=i[r][1],u=t[1]*(s-c)+a*(c-t[0])+d*(t[0]-s)===0&&(s-t[0])*(c-t[0])<=0&&(a-t[1])*(d-t[1])<=0;if(u)return!e;var p=a>t[1]!=d>t[1]&&t[0]<(c-s)*(t[1]-a)/(d-a)+s;p&&(n=!n)}return n}function eb(t,i){return i[0]<=t[0]&&i[1]<=t[1]&&i[2]>=t[0]&&i[3]>=t[1]}function tb(t){if(!t)throw new Error("geojson is required");switch(t.type){case"Feature":return O0(t);case"FeatureCollection":return ib(t);case"Point":case"LineString":case"Polygon":case"MultiPoint":case"MultiLineString":case"MultiPolygon":case"GeometryCollection":return Xp(t);default:throw new Error("unknown GeoJSON type")}}function O0(t){var i={type:"Feature"};return Object.keys(t).forEach(function(e){switch(e){case"type":case"properties":case"geometry":return;default:i[e]=t[e]}}),i.properties=N0(t.properties),i.geometry=Xp(t.geometry),i}function N0(t){var i={};return t&&Object.keys(t).forEach(function(e){var n=t[e];typeof n=="object"?n===null?i[e]=null:Array.isArray(n)?i[e]=n.map(function(o){return o}):i[e]=N0(n):i[e]=n}),i}function ib(t){var i={type:"FeatureCollection"};return Object.keys(t).forEach(function(e){switch(e){case"type":case"features":return;default:i[e]=t[e]}}),i.features=t.features.map(function(e){return O0(e)}),i}function Xp(t){var i={type:t.type};return t.bbox&&(i.bbox=t.bbox),t.type==="GeometryCollection"?(i.geometries=t.geometries.map(function(e){return Xp(e)}),i):(i.coordinates=V0(t.coordinates),i)}function V0(t){var i=t;return typeof i[0]!="object"?i.slice():i.map(function(e){return V0(e)})}function U0(t,i){i===void 0&&(i={});var e=typeof i=="object"?i.mutate:i;if(!t)throw new Error("geojson is required");var n=AD(t),o=[];switch(n){case"LineString":o=Yp(t);break;case"MultiLineString":case"Polygon":bi(t).forEach(function(s){o.push(Yp(s))});break;case"MultiPolygon":bi(t).forEach(function(s){var a=[];s.forEach(function(c){a.push(Yp(c))}),o.push(a)});break;case"Point":return t;case"MultiPoint":var r={};bi(t).forEach(function(s){var a=s.join("-");Object.prototype.hasOwnProperty.call(r,a)||(o.push(s),r[a]=!0)});break;default:throw new Error(n+" geometry not supported")}return t.coordinates?e===!0?(t.coordinates=o,t):{type:n,coordinates:o}:e===!0?(t.geometry.coordinates=o,t):Ii({type:n,coordinates:o},t.properties,{bbox:t.bbox,id:t.id})}function Yp(t){var i=bi(t);if(i.length===2&&!W0(i[0],i[1]))return i;var e=[],n=i.length-1,o=e.length;e.push(i[0]);for(var r=1;r<n;r++){var s=e[e.length-1];i[r][0]===s[0]&&i[r][1]===s[1]||(e.push(i[r]),o=e.length,o>2&&G0(e[o-3],e[o-1],e[o-2])&&e.splice(e.length-2,1))}if(e.push(i[i.length-1]),o=e.length,W0(i[0],i[i.length-1])&&o<4)throw new Error("invalid polygon");return G0(e[o-3],e[o-1],e[o-2])&&e.splice(e.length-2,1),e}function W0(t,i){return t[0]===i[0]&&t[1]===i[1]}function G0(t,i,e){var n=e[0],o=e[1],r=t[0],s=t[1],a=i[0],c=i[1],d=n-r,u=o-s,p=a-r,f=c-s,g=d*f-u*p;return g!==0?!1:Math.abs(p)>=Math.abs(f)?p>0?r<=n&&n<=a:a<=n&&n<=r:f>0?s<=o&&o<=c:c<=o&&o<=s}function nb(t,i){i===void 0&&(i={});var e=0,n=0,o=0;return gh(t,function(r){e+=r[0],n+=r[1],o++},!0),zn([e/o,n/o],i.properties)}function H0(t){if(!t)throw new Error("geojson is required");var i=[];return kr(t,function(e){ob(e,i)}),Di(i)}function ob(t,i){var e=[],n=t.geometry;if(n!==null){switch(n.type){case"Polygon":e=bi(n);break;case"LineString":e=[bi(n)]}e.forEach(function(o){var r=rb(o,t.properties);r.forEach(function(s){s.id=i.length,i.push(s)})})}}function rb(t,i){var e=[];return t.reduce(function(n,o){var r=uh([n,o],i);return r.bbox=sb(n,o),e.push(r),o}),e}function sb(t,i){var e=t[0],n=t[1],o=i[0],r=i[1],s=e<o?e:o,a=n<r?n:r,c=e>o?e:o,d=n>r?n:r;return[s,a,c,d]}var wh={exports:{}},Zp={},q0;function $0(){return q0||(q0=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.earthRadius=63710088e-1,t.factors={centimeters:t.earthRadius*100,centimetres:t.earthRadius*100,degrees:t.earthRadius/111325,feet:t.earthRadius*3.28084,inches:t.earthRadius*39.37,kilometers:t.earthRadius/1e3,kilometres:t.earthRadius/1e3,meters:t.earthRadius,metres:t.earthRadius,miles:t.earthRadius/1609.344,millimeters:t.earthRadius*1e3,millimetres:t.earthRadius*1e3,nauticalmiles:t.earthRadius/1852,radians:1,yards:t.earthRadius*1.0936},t.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:1/1e3,kilometres:1/1e3,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/t.earthRadius,yards:1.0936133},t.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function i(L,U,_){_===void 0&&(_={});var M={type:"Feature"};return(_.id===0||_.id)&&(M.id=_.id),_.bbox&&(M.bbox=_.bbox),M.properties=U||{},M.geometry=L,M}t.feature=i;function e(L,U,_){switch(L){case"Point":return n(U).geometry;case"LineString":return a(U).geometry;case"Polygon":return r(U).geometry;case"MultiPoint":return p(U).geometry;case"MultiLineString":return u(U).geometry;case"MultiPolygon":return f(U).geometry;default:throw new Error(L+" is invalid")}}t.geometry=e;function n(L,U,_){if(_===void 0&&(_={}),!L)throw new Error("coordinates is required");if(!Array.isArray(L))throw new Error("coordinates must be an Array");if(L.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!x(L[0])||!x(L[1]))throw new Error("coordinates must contain numbers");var M={type:"Point",coordinates:L};return i(M,U,_)}t.point=n;function o(L,U,_){return _===void 0&&(_={}),d(L.map(function(M){return n(M,U)}),_)}t.points=o;function r(L,U,_){_===void 0&&(_={});for(var M=0,F=L;M<F.length;M++){var V=F[M];if(V.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var G=0;G<V[V.length-1].length;G++)if(V[V.length-1][G]!==V[0][G])throw new Error("First and last Position are not equivalent.")}var Z={type:"Polygon",coordinates:L};return i(Z,U,_)}t.polygon=r;function s(L,U,_){return _===void 0&&(_={}),d(L.map(function(M){return r(M,U)}),_)}t.polygons=s;function a(L,U,_){if(_===void 0&&(_={}),L.length<2)throw new Error("coordinates must be an array of two or more positions");var M={type:"LineString",coordinates:L};return i(M,U,_)}t.lineString=a;function c(L,U,_){return _===void 0&&(_={}),d(L.map(function(M){return a(M,U)}),_)}t.lineStrings=c;function d(L,U){U===void 0&&(U={});var _={type:"FeatureCollection"};return U.id&&(_.id=U.id),U.bbox&&(_.bbox=U.bbox),_.features=L,_}t.featureCollection=d;function u(L,U,_){_===void 0&&(_={});var M={type:"MultiLineString",coordinates:L};return i(M,U,_)}t.multiLineString=u;function p(L,U,_){_===void 0&&(_={});var M={type:"MultiPoint",coordinates:L};return i(M,U,_)}t.multiPoint=p;function f(L,U,_){_===void 0&&(_={});var M={type:"MultiPolygon",coordinates:L};return i(M,U,_)}t.multiPolygon=f;function g(L,U,_){_===void 0&&(_={});var M={type:"GeometryCollection",geometries:L};return i(M,U,_)}t.geometryCollection=g;function m(L,U){if(U===void 0&&(U=0),U&&!(U>=0))throw new Error("precision must be a positive number");var _=Math.pow(10,U||0);return Math.round(L*_)/_}t.round=m;function y(L,U){U===void 0&&(U="kilometers");var _=t.factors[U];if(!_)throw new Error(U+" units is invalid");return L*_}t.radiansToLength=y;function P(L,U){U===void 0&&(U="kilometers");var _=t.factors[U];if(!_)throw new Error(U+" units is invalid");return L/_}t.lengthToRadians=P;function S(L,U){return E(P(L,U))}t.lengthToDegrees=S;function C(L){var U=L%360;return U<0&&(U+=360),U}t.bearingToAzimuth=C;function E(L){var U=L%(2*Math.PI);return U*180/Math.PI}t.radiansToDegrees=E;function T(L){var U=L%360;return U*Math.PI/180}t.degreesToRadians=T;function I(L,U,_){if(U===void 0&&(U="kilometers"),_===void 0&&(_="kilometers"),!(L>=0))throw new Error("length must be a positive number");return y(P(L,U),_)}t.convertLength=I;function b(L,U,_){if(U===void 0&&(U="meters"),_===void 0&&(_="kilometers"),!(L>=0))throw new Error("area must be a positive number");var M=t.areaFactors[U];if(!M)throw new Error("invalid original units");var F=t.areaFactors[_];if(!F)throw new Error("invalid final units");return L/M*F}t.convertArea=b;function x(L){return!isNaN(L)&&L!==null&&!Array.isArray(L)}t.isNumber=x;function z(L){return!!L&&L.constructor===Object}t.isObject=z;function W(L){if(!L)throw new Error("bbox is required");if(!Array.isArray(L))throw new Error("bbox must be an Array");if(L.length!==4&&L.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");L.forEach(function(U){if(!x(U))throw new Error("bbox must only contain numbers")})}t.validateBBox=W;function N(L){if(!L)throw new Error("id is required");if(["string","number"].indexOf(typeof L)===-1)throw new Error("id must be a number or a string")}t.validateId=N}(Zp)),Zp}var Be={},X0;function Y0(){if(X0)return Be;X0=1,Object.defineProperty(Be,"__esModule",{value:!0});var t=$0();function i(C,E,T){if(C!==null)for(var I,b,x,z,W,N,L,U=0,_=0,M,F=C.type,V=F==="FeatureCollection",G=F==="Feature",Z=V?C.features.length:1,$=0;$<Z;$++){L=V?C.features[$].geometry:G?C.geometry:C,M=L?L.type==="GeometryCollection":!1,W=M?L.geometries.length:1;for(var Y=0;Y<W;Y++){var K=0,te=0;if(z=M?L.geometries[Y]:L,z!==null){N=z.coordinates;var re=z.type;switch(U=T&&(re==="Polygon"||re==="MultiPolygon")?1:0,re){case null:break;case"Point":if(E(N,_,$,K,te)===!1)return!1;_++,K++;break;case"LineString":case"MultiPoint":for(I=0;I<N.length;I++){if(E(N[I],_,$,K,te)===!1)return!1;_++,re==="MultiPoint"&&K++}re==="LineString"&&K++;break;case"Polygon":case"MultiLineString":for(I=0;I<N.length;I++){for(b=0;b<N[I].length-U;b++){if(E(N[I][b],_,$,K,te)===!1)return!1;_++}re==="MultiLineString"&&K++,re==="Polygon"&&te++}re==="Polygon"&&K++;break;case"MultiPolygon":for(I=0;I<N.length;I++){for(te=0,b=0;b<N[I].length;b++){for(x=0;x<N[I][b].length-U;x++){if(E(N[I][b][x],_,$,K,te)===!1)return!1;_++}te++}K++}break;case"GeometryCollection":for(I=0;I<z.geometries.length;I++)if(i(z.geometries[I],E,T)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(C,E,T,I){var b=T;return i(C,function(x,z,W,N,L){z===0&&T===void 0?b=x:b=E(b,x,z,W,N,L)},I),b}function n(C,E){var T;switch(C.type){case"FeatureCollection":for(T=0;T<C.features.length&&E(C.features[T].properties,T)!==!1;T++);break;case"Feature":E(C.properties,0);break}}function o(C,E,T){var I=T;return n(C,function(b,x){x===0&&T===void 0?I=b:I=E(I,b,x)}),I}function r(C,E){if(C.type==="Feature")E(C,0);else if(C.type==="FeatureCollection")for(var T=0;T<C.features.length&&E(C.features[T],T)!==!1;T++);}function s(C,E,T){var I=T;return r(C,function(b,x){x===0&&T===void 0?I=b:I=E(I,b,x)}),I}function a(C){var E=[];return i(C,function(T){E.push(T)}),E}function c(C,E){var T,I,b,x,z,W,N,L,U,_,M=0,F=C.type==="FeatureCollection",V=C.type==="Feature",G=F?C.features.length:1;for(T=0;T<G;T++){for(W=F?C.features[T].geometry:V?C.geometry:C,L=F?C.features[T].properties:V?C.properties:{},U=F?C.features[T].bbox:V?C.bbox:void 0,_=F?C.features[T].id:V?C.id:void 0,N=W?W.type==="GeometryCollection":!1,z=N?W.geometries.length:1,b=0;b<z;b++){if(x=N?W.geometries[b]:W,x===null){if(E(null,M,L,U,_)===!1)return!1;continue}switch(x.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(E(x,M,L,U,_)===!1)return!1;break}case"GeometryCollection":{for(I=0;I<x.geometries.length;I++)if(E(x.geometries[I],M,L,U,_)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}M++}}function d(C,E,T){var I=T;return c(C,function(b,x,z,W,N){x===0&&T===void 0?I=b:I=E(I,b,x,z,W,N)}),I}function u(C,E){c(C,function(T,I,b,x,z){var W=T===null?null:T.type;switch(W){case null:case"Point":case"LineString":case"Polygon":return E(t.feature(T,b,{bbox:x,id:z}),I,0)===!1?!1:void 0}var N;switch(W){case"MultiPoint":N="Point";break;case"MultiLineString":N="LineString";break;case"MultiPolygon":N="Polygon";break}for(var L=0;L<T.coordinates.length;L++){var U=T.coordinates[L],_={type:N,coordinates:U};if(E(t.feature(_,b),I,L)===!1)return!1}})}function p(C,E,T){var I=T;return u(C,function(b,x,z){x===0&&z===0&&T===void 0?I=b:I=E(I,b,x,z)}),I}function f(C,E){u(C,function(T,I,b){var x=0;if(T.geometry){var z=T.geometry.type;if(!(z==="Point"||z==="MultiPoint")){var W,N=0,L=0,U=0;if(i(T,function(_,M,F,V,G){if(W===void 0||I>N||V>L||G>U){W=_,N=I,L=V,U=G,x=0;return}var Z=t.lineString([W,_],T.properties);if(E(Z,I,b,G,x)===!1)return!1;x++,W=_})===!1)return!1}}})}function g(C,E,T){var I=T,b=!1;return f(C,function(x,z,W,N,L){b===!1&&T===void 0?I=x:I=E(I,x,z,W,N,L),b=!0}),I}function m(C,E){if(!C)throw new Error("geojson is required");u(C,function(T,I,b){if(T.geometry!==null){var x=T.geometry.type,z=T.geometry.coordinates;switch(x){case"LineString":if(E(T,I,b,0,0)===!1)return!1;break;case"Polygon":for(var W=0;W<z.length;W++)if(E(t.lineString(z[W],T.properties),I,b,W)===!1)return!1;break}}})}function y(C,E,T){var I=T;return m(C,function(b,x,z,W){x===0&&T===void 0?I=b:I=E(I,b,x,z,W)}),I}function P(C,E){if(E=E||{},!t.isObject(E))throw new Error("options is invalid");var T=E.featureIndex||0,I=E.multiFeatureIndex||0,b=E.geometryIndex||0,x=E.segmentIndex||0,z=E.properties,W;switch(C.type){case"FeatureCollection":T<0&&(T=C.features.length+T),z=z||C.features[T].properties,W=C.features[T].geometry;break;case"Feature":z=z||C.properties,W=C.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":W=C;break;default:throw new Error("geojson is invalid")}if(W===null)return null;var N=W.coordinates;switch(W.type){case"Point":case"MultiPoint":return null;case"LineString":return x<0&&(x=N.length+x-1),t.lineString([N[x],N[x+1]],z,E);case"Polygon":return b<0&&(b=N.length+b),x<0&&(x=N[b].length+x-1),t.lineString([N[b][x],N[b][x+1]],z,E);case"MultiLineString":return I<0&&(I=N.length+I),x<0&&(x=N[I].length+x-1),t.lineString([N[I][x],N[I][x+1]],z,E);case"MultiPolygon":return I<0&&(I=N.length+I),b<0&&(b=N[I].length+b),x<0&&(x=N[I][b].length-x-1),t.lineString([N[I][b][x],N[I][b][x+1]],z,E)}throw new Error("geojson is invalid")}function S(C,E){if(E=E||{},!t.isObject(E))throw new Error("options is invalid");var T=E.featureIndex||0,I=E.multiFeatureIndex||0,b=E.geometryIndex||0,x=E.coordIndex||0,z=E.properties,W;switch(C.type){case"FeatureCollection":T<0&&(T=C.features.length+T),z=z||C.features[T].properties,W=C.features[T].geometry;break;case"Feature":z=z||C.properties,W=C.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":W=C;break;default:throw new Error("geojson is invalid")}if(W===null)return null;var N=W.coordinates;switch(W.type){case"Point":return t.point(N,z,E);case"MultiPoint":return I<0&&(I=N.length+I),t.point(N[I],z,E);case"LineString":return x<0&&(x=N.length+x),t.point(N[x],z,E);case"Polygon":return b<0&&(b=N.length+b),x<0&&(x=N[b].length+x),t.point(N[b][x],z,E);case"MultiLineString":return I<0&&(I=N.length+I),x<0&&(x=N[I].length+x),t.point(N[I][x],z,E);case"MultiPolygon":return I<0&&(I=N.length+I),b<0&&(b=N[I].length+b),x<0&&(x=N[I][b].length-x),t.point(N[I][b][x],z,E)}throw new Error("geojson is invalid")}return Be.coordAll=a,Be.coordEach=i,Be.coordReduce=e,Be.featureEach=r,Be.featureReduce=s,Be.findPoint=S,Be.findSegment=P,Be.flattenEach=u,Be.flattenReduce=p,Be.geomEach=c,Be.geomReduce=d,Be.lineEach=m,Be.lineReduce=y,Be.propEach=n,Be.propReduce=o,Be.segmentEach=f,Be.segmentReduce=g,Be}var Ch={},Z0;function ab(){if(Z0)return Ch;Z0=1,Object.defineProperty(Ch,"__esModule",{value:!0});var t=Y0();function i(e){var n=[1/0,1/0,-1/0,-1/0];return t.coordEach(e,function(o){n[0]>o[0]&&(n[0]=o[0]),n[1]>o[1]&&(n[1]=o[1]),n[2]<o[0]&&(n[2]=o[0]),n[3]<o[1]&&(n[3]=o[1])}),n}return i.default=i,Ch.default=i,Ch}var Q0;function lb(){if(Q0)return wh.exports;Q0=1;var t=jD(),i=$0(),e=Y0(),n=ab().default,o=e.featureEach;e.coordEach,i.polygon;var r=i.featureCollection;function s(a){var c=new t(a);return c.insert=function(d){if(d.type!=="Feature")throw new Error("invalid feature");return d.bbox=d.bbox?d.bbox:n(d),t.prototype.insert.call(this,d)},c.load=function(d){var u=[];return Array.isArray(d)?d.forEach(function(p){if(p.type!=="Feature")throw new Error("invalid features");p.bbox=p.bbox?p.bbox:n(p),u.push(p)}):o(d,function(p){if(p.type!=="Feature")throw new Error("invalid features");p.bbox=p.bbox?p.bbox:n(p),u.push(p)}),t.prototype.load.call(this,u)},c.remove=function(d,u){if(d.type!=="Feature")throw new Error("invalid feature");return d.bbox=d.bbox?d.bbox:n(d),t.prototype.remove.call(this,d,u)},c.clear=function(){return t.prototype.clear.call(this)},c.search=function(d){var u=t.prototype.search.call(this,this.toBBox(d));return r(u)},c.collides=function(d){return t.prototype.collides.call(this,this.toBBox(d))},c.all=function(){var d=t.prototype.all.call(this);return r(d)},c.toJSON=function(){return t.prototype.toJSON.call(this)},c.fromJSON=function(d){return t.prototype.fromJSON.call(this,d)},c.toBBox=function(d){var u;if(d.bbox)u=d.bbox;else if(Array.isArray(d)&&d.length===4)u=d;else if(Array.isArray(d)&&d.length===6)u=[d[0],d[1],d[3],d[4]];else if(d.type==="Feature")u=n(d);else if(d.type==="FeatureCollection")u=n(d);else throw new Error("invalid geojson");return{minX:u[0],minY:u[1],maxX:u[2],maxY:u[3]}},c}return wh.exports=s,wh.exports.default=s,wh.exports}var cb=lb();const hb=mc(cb);function Qp(t,i){var e={},n=[];if(t.type==="LineString"&&(t=Ii(t)),i.type==="LineString"&&(i=Ii(i)),t.type==="Feature"&&i.type==="Feature"&&t.geometry!==null&&i.geometry!==null&&t.geometry.type==="LineString"&&i.geometry.type==="LineString"&&t.geometry.coordinates.length===2&&i.geometry.coordinates.length===2){var o=K0(t,i);return o&&n.push(o),Di(n)}var r=hb();return r.load(H0(i)),mh(H0(t),function(s){mh(r.search(s),function(a){var c=K0(s,a);if(c){var d=bi(c).join(",");e[d]||(e[d]=!0,n.push(c))}})}),Di(n)}function K0(t,i){var e=bi(t),n=bi(i);if(e.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(n.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var o=e[0][0],r=e[0][1],s=e[1][0],a=e[1][1],c=n[0][0],d=n[0][1],u=n[1][0],p=n[1][1],f=(p-d)*(s-o)-(u-c)*(a-r),g=(u-c)*(r-d)-(p-d)*(o-c),m=(s-o)*(r-d)-(a-r)*(o-c);if(f===0)return null;var y=g/f,P=m/f;if(y>=0&&y<=1&&P>=0&&P<=1){var S=o+y*(s-o),C=r+y*(a-r);return zn([S,C])}return null}function _h(t,i,e){e===void 0&&(e={});for(var n=fh(t),o=bi(i),r=0;r<o.length-1;r++){var s=!1;if(e.ignoreEndVertices&&(r===0&&(s="start"),r===o.length-2&&(s="end"),r===0&&r+1===o.length-1&&(s="both")),db(o[r],o[r+1],n,s,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function db(t,i,e,n,o){var r=e[0],s=e[1],a=t[0],c=t[1],d=i[0],u=i[1],p=e[0]-a,f=e[1]-c,g=d-a,m=u-c,y=p*m-f*g;if(o!==null){if(Math.abs(y)>o)return!1}else if(y!==0)return!1;if(n){if(n==="start")return Math.abs(g)>=Math.abs(m)?g>0?a<r&&r<=d:d<=r&&r<a:m>0?c<s&&s<=u:u<=s&&s<c;if(n==="end")return Math.abs(g)>=Math.abs(m)?g>0?a<=r&&r<d:d<r&&r<=a:m>0?c<=s&&s<u:u<s&&s<=c;if(n==="both")return Math.abs(g)>=Math.abs(m)?g>0?a<r&&r<d:d<r&&r<a:m>0?c<s&&s<u:u<s&&s<c}else return Math.abs(g)>=Math.abs(m)?g>0?a<=r&&r<=d:d<=r&&r<=a:m>0?c<=s&&s<=u:u<=s&&s<=c;return!1}function ub(t,i){var e=Ri(t),n=Ri(i),o=e.type,r=n.type;switch(o){case"Point":switch(r){case"MultiPoint":return pb(e,n);case"LineString":return _h(e,n,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return _t(e,n,{ignoreBoundary:!0});default:throw new Error("feature2 "+r+" geometry not supported")}case"MultiPoint":switch(r){case"MultiPoint":return fb(e,n);case"LineString":return gb(e,n);case"Polygon":case"MultiPolygon":return mb(e,n);default:throw new Error("feature2 "+r+" geometry not supported")}case"LineString":switch(r){case"LineString":return vb(e,n);case"Polygon":case"MultiPolygon":return yb(e,n);default:throw new Error("feature2 "+r+" geometry not supported")}case"Polygon":switch(r){case"Polygon":case"MultiPolygon":return wb(e,n);default:throw new Error("feature2 "+r+" geometry not supported")}default:throw new Error("feature1 "+o+" geometry not supported")}}function pb(t,i){var e,n=!1;for(e=0;e<i.coordinates.length;e++)if(B0(i.coordinates[e],t.coordinates)){n=!0;break}return n}function fb(t,i){for(var e=0;e<t.coordinates.length;e++){for(var n=!1,o=0;o<i.coordinates.length;o++)B0(t.coordinates[e],i.coordinates[o])&&(n=!0);if(!n)return!1}return!0}function gb(t,i){for(var e=!1,n=0;n<t.coordinates.length;n++){if(!_h(t.coordinates[n],i))return!1;e||(e=_h(t.coordinates[n],i,{ignoreEndVertices:!0}))}return e}function mb(t,i){for(var e=!0,n=!1,o=0;o<t.coordinates.length;o++){if(n=_t(t.coordinates[1],i),!n){e=!1;break}n=_t(t.coordinates[1],i,{ignoreBoundary:!0})}return e&&n}function vb(t,i){for(var e=0;e<t.coordinates.length;e++)if(!_h(t.coordinates[e],i))return!1;return!0}function yb(t,i){var e=Do(i),n=Do(t);if(!J0(e,n))return!1;for(var o=!1,r=0;r<t.coordinates.length-1;r++){if(!_t(t.coordinates[r],i))return!1;if(o||(o=_t(t.coordinates[r],i,{ignoreBoundary:!0})),!o){var s=Cb(t.coordinates[r],t.coordinates[r+1]);o=_t(s,i,{ignoreBoundary:!0})}}return o}function wb(t,i){var e=Do(t),n=Do(i);if(!J0(n,e))return!1;for(var o=0;o<t.coordinates[0].length;o++)if(!_t(t.coordinates[0][o],i))return!1;return!0}function J0(t,i){return!(t[0]>i[0]||t[2]<i[2]||t[1]>i[1]||t[3]<i[3])}function B0(t,i){return t[0]===i[0]&&t[1]===i[1]}function Cb(t,i){return[(t[0]+i[0])/2,(t[1]+i[1])/2]}function j0(t,i,e){e===void 0&&(e={}),e.mask&&!e.units&&(e.units="kilometers");for(var n=[],o=t[0],r=t[1],s=t[2],a=t[3],c=i/xi([o,r],[s,r],e),d=c*(s-o),u=i/xi([o,r],[o,a],e),p=u*(a-r),f=s-o,g=a-r,m=Math.floor(f/d),y=Math.floor(g/p),P=(f-m*d)/2,S=(g-y*p)/2,C=o+P;C<=s;){for(var E=r+S;E<=a;){var T=zn([C,E],e.properties);e.mask?ub(T,e.mask)&&n.push(T):n.push(T),E+=p}C+=d}return Di(n)}function Kp(t,i){i===void 0&&(i={});var e=Ri(t);switch(!i.properties&&t.type==="Feature"&&(i.properties=t.properties),e.type){case"Polygon":return _b(e,i);case"MultiPolygon":return Pb(e,i);default:throw new Error("invalid poly")}}function _b(t,i){i===void 0&&(i={});var e=Ri(t),n=e.coordinates,o=i.properties?i.properties:t.type==="Feature"?t.properties:{};return ew(n,o)}function Pb(t,i){i===void 0&&(i={});var e=Ri(t),n=e.coordinates,o=i.properties?i.properties:t.type==="Feature"?t.properties:{},r=[];return n.forEach(function(s){r.push(ew(s,o))}),Di(r)}function ew(t,i){return t.length>1?_D(t,i):uh(t[0],i)}var Jp,tw;function iw(){if(tw)return Jp;tw=1;var t=Object.prototype.toString;return Jp=function(e){var n=t.call(e),o=n==="[object Arguments]";return o||(o=n!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&t.call(e.callee)==="[object Function]"),o},Jp}var Bp,nw;function Sb(){if(nw)return Bp;nw=1;var t;if(!Object.keys){var i=Object.prototype.hasOwnProperty,e=Object.prototype.toString,n=iw(),o=Object.prototype.propertyIsEnumerable,r=!o.call({toString:null},"toString"),s=o.call(function(){},"prototype"),a=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(f){var g=f.constructor;return g&&g.prototype===f},d={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},u=function(){if(typeof window>"u")return!1;for(var f in window)try{if(!d["$"+f]&&i.call(window,f)&&window[f]!==null&&typeof window[f]=="object")try{c(window[f])}catch{return!0}}catch{return!0}return!1}(),p=function(f){if(typeof window>"u"||!u)return c(f);try{return c(f)}catch{return!1}};t=function(g){var m=g!==null&&typeof g=="object",y=e.call(g)==="[object Function]",P=n(g),S=m&&e.call(g)==="[object String]",C=[];if(!m&&!y&&!P)throw new TypeError("Object.keys called on a non-object");var E=s&&y;if(S&&g.length>0&&!i.call(g,0))for(var T=0;T<g.length;++T)C.push(String(T));if(P&&g.length>0)for(var I=0;I<g.length;++I)C.push(String(I));else for(var b in g)!(E&&b==="prototype")&&i.call(g,b)&&C.push(String(b));if(r)for(var x=p(g),z=0;z<a.length;++z)!(x&&a[z]==="constructor")&&i.call(g,a[z])&&C.push(a[z]);return C}}return Bp=t,Bp}var jp,ow;function rw(){if(ow)return jp;ow=1;var t=Array.prototype.slice,i=iw(),e=Object.keys,n=e?function(s){return e(s)}:Sb(),o=Object.keys;return n.shim=function(){if(Object.keys){var s=function(){var a=Object.keys(arguments);return a&&a.length===arguments.length}(1,2);s||(Object.keys=function(c){return i(c)?o(t.call(c)):o(c)})}else Object.keys=n;return Object.keys||n},jp=n,jp}var ef,sw;function aw(){return sw||(sw=1,ef=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var i={},e=Symbol("test"),n=Object(e);if(typeof e=="string"||Object.prototype.toString.call(e)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;i[e]=o;for(var r in i)return!1;if(typeof Object.keys=="function"&&Object.keys(i).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(i).length!==0)return!1;var s=Object.getOwnPropertySymbols(i);if(s.length!==1||s[0]!==e||!Object.prototype.propertyIsEnumerable.call(i,e))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var a=Object.getOwnPropertyDescriptor(i,e);if(a.value!==o||a.enumerable!==!0)return!1}return!0}),ef}var tf,lw;function nf(){if(lw)return tf;lw=1;var t=aw();return tf=function(){return t()&&!!Symbol.toStringTag},tf}var of,cw;function hw(){return cw||(cw=1,of=Object),of}var rf,dw;function uw(){return dw||(dw=1,rf=Error),rf}var sf,pw;function Eb(){return pw||(pw=1,sf=EvalError),sf}var af,fw;function Ab(){return fw||(fw=1,af=RangeError),af}var lf,gw;function Tb(){return gw||(gw=1,lf=ReferenceError),lf}var cf,mw;function vw(){return mw||(mw=1,cf=SyntaxError),cf}var hf,yw;function Vr(){return yw||(yw=1,hf=TypeError),hf}var df,ww;function Mb(){return ww||(ww=1,df=URIError),df}var uf,Cw;function Ib(){return Cw||(Cw=1,uf=Math.abs),uf}var pf,_w;function Db(){return _w||(_w=1,pf=Math.floor),pf}var ff,Pw;function bb(){return Pw||(Pw=1,ff=Math.max),ff}var gf,Sw;function Rb(){return Sw||(Sw=1,gf=Math.min),gf}var mf,Ew;function xb(){return Ew||(Ew=1,mf=Math.pow),mf}var vf,Aw;function Fb(){return Aw||(Aw=1,vf=Math.round),vf}var yf,Tw;function kb(){return Tw||(Tw=1,yf=Number.isNaN||function(i){return i!==i}),yf}var wf,Mw;function zb(){if(Mw)return wf;Mw=1;var t=kb();return wf=function(e){return t(e)||e===0?e:e<0?-1:1},wf}var Cf,Iw;function Lb(){return Iw||(Iw=1,Cf=Object.getOwnPropertyDescriptor),Cf}var _f,Dw;function Ur(){if(Dw)return _f;Dw=1;var t=Lb();if(t)try{t([],"length")}catch{t=null}return _f=t,_f}var Pf,bw;function Ph(){if(bw)return Pf;bw=1;var t=Object.defineProperty||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return Pf=t,Pf}var Sf,Rw;function Ob(){if(Rw)return Sf;Rw=1;var t=typeof Symbol<"u"&&Symbol,i=aw();return Sf=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:i()},Sf}var Ef,xw;function Fw(){return xw||(xw=1,Ef=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),Ef}var Af,kw;function zw(){if(kw)return Af;kw=1;var t=hw();return Af=t.getPrototypeOf||null,Af}var Tf,Lw;function Nb(){if(Lw)return Tf;Lw=1;var t="Function.prototype.bind called on incompatible ",i=Object.prototype.toString,e=Math.max,n="[object Function]",o=function(c,d){for(var u=[],p=0;p<c.length;p+=1)u[p]=c[p];for(var f=0;f<d.length;f+=1)u[f+c.length]=d[f];return u},r=function(c,d){for(var u=[],p=d,f=0;p<c.length;p+=1,f+=1)u[f]=c[p];return u},s=function(a,c){for(var d="",u=0;u<a.length;u+=1)d+=a[u],u+1<a.length&&(d+=c);return d};return Tf=function(c){var d=this;if(typeof d!="function"||i.apply(d)!==n)throw new TypeError(t+d);for(var u=r(arguments,1),p,f=function(){if(this instanceof p){var S=d.apply(this,o(u,arguments));return Object(S)===S?S:this}return d.apply(c,o(u,arguments))},g=e(0,d.length-u.length),m=[],y=0;y<g;y++)m[y]="$"+y;if(p=Function("binder","return function ("+s(m,",")+"){ return binder.apply(this,arguments); }")(f),d.prototype){var P=function(){};P.prototype=d.prototype,p.prototype=new P,P.prototype=null}return p},Tf}var Mf,Ow;function Hs(){if(Ow)return Mf;Ow=1;var t=Nb();return Mf=Function.prototype.bind||t,Mf}var If,Nw;function Df(){return Nw||(Nw=1,If=Function.prototype.call),If}var bf,Vw;function Rf(){return Vw||(Vw=1,bf=Function.prototype.apply),bf}var xf,Uw;function Vb(){return Uw||(Uw=1,xf=typeof Reflect<"u"&&Reflect&&Reflect.apply),xf}var Ff,Ww;function Gw(){if(Ww)return Ff;Ww=1;var t=Hs(),i=Rf(),e=Df(),n=Vb();return Ff=n||t.call(e,i),Ff}var kf,Hw;function zf(){if(Hw)return kf;Hw=1;var t=Hs(),i=Vr(),e=Df(),n=Gw();return kf=function(r){if(r.length<1||typeof r[0]!="function")throw new i("a function is required");return n(t,e,r)},kf}var Lf,qw;function Ub(){if(qw)return Lf;qw=1;var t=zf(),i=Ur(),e;try{e=[].__proto__===Array.prototype}catch(s){if(!s||typeof s!="object"||!("code"in s)||s.code!=="ERR_PROTO_ACCESS")throw s}var n=!!e&&i&&i(Object.prototype,"__proto__"),o=Object,r=o.getPrototypeOf;return Lf=n&&typeof n.get=="function"?t([n.get]):typeof r=="function"?function(a){return r(a==null?a:o(a))}:!1,Lf}var Of,$w;function Xw(){if($w)return Of;$w=1;var t=Fw(),i=zw(),e=Ub();return Of=t?function(o){return t(o)}:i?function(o){if(!o||typeof o!="object"&&typeof o!="function")throw new TypeError("getProto: not an object");return i(o)}:e?function(o){return e(o)}:null,Of}var Nf,Yw;function Zw(){if(Yw)return Nf;Yw=1;var t=Function.prototype.call,i=Object.prototype.hasOwnProperty,e=Hs();return Nf=e.call(t,i),Nf}var Vf,Qw;function Kw(){if(Qw)return Vf;Qw=1;var t,i=hw(),e=uw(),n=Eb(),o=Ab(),r=Tb(),s=vw(),a=Vr(),c=Mb(),d=Ib(),u=Db(),p=bb(),f=Rb(),g=xb(),m=Fb(),y=zb(),P=Function,S=function(me){try{return P('"use strict"; return ('+me+").constructor;")()}catch{}},C=Ur(),E=Ph(),T=function(){throw new a},I=C?function(){try{return arguments.callee,T}catch{try{return C(arguments,"callee").get}catch{return T}}}():T,b=Ob()(),x=Xw(),z=zw(),W=Fw(),N=Rf(),L=Df(),U={},_=typeof Uint8Array>"u"||!x?t:x(Uint8Array),M={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":b&&x?x([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":U,"%AsyncGenerator%":U,"%AsyncGeneratorFunction%":U,"%AsyncIteratorPrototype%":U,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?t:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?t:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":e,"%eval%":eval,"%EvalError%":n,"%Float16Array%":typeof Float16Array>"u"?t:Float16Array,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":P,"%GeneratorFunction%":U,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":b&&x?x(x([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!b||!x?t:x(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":i,"%Object.getOwnPropertyDescriptor%":C,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":o,"%ReferenceError%":r,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!b||!x?t:x(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":b&&x?x(""[Symbol.iterator]()):t,"%Symbol%":b?Symbol:t,"%SyntaxError%":s,"%ThrowTypeError%":I,"%TypedArray%":_,"%TypeError%":a,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet,"%Function.prototype.call%":L,"%Function.prototype.apply%":N,"%Object.defineProperty%":E,"%Object.getPrototypeOf%":z,"%Math.abs%":d,"%Math.floor%":u,"%Math.max%":p,"%Math.min%":f,"%Math.pow%":g,"%Math.round%":m,"%Math.sign%":y,"%Reflect.getPrototypeOf%":W};if(x)try{null.error}catch(me){var F=x(x(me));M["%Error.prototype%"]=F}var V=function me(ne){var he;if(ne==="%AsyncFunction%")he=S("async function () {}");else if(ne==="%GeneratorFunction%")he=S("function* () {}");else if(ne==="%AsyncGeneratorFunction%")he=S("async function* () {}");else if(ne==="%AsyncGenerator%"){var de=me("%AsyncGeneratorFunction%");de&&(he=de.prototype)}else if(ne==="%AsyncIteratorPrototype%"){var Me=me("%AsyncGenerator%");Me&&x&&(he=x(Me.prototype))}return M[ne]=he,he},G={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Z=Hs(),$=Zw(),Y=Z.call(L,Array.prototype.concat),K=Z.call(N,Array.prototype.splice),te=Z.call(L,String.prototype.replace),re=Z.call(L,String.prototype.slice),ge=Z.call(L,RegExp.prototype.exec),ye=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Te=/\\(\\)?/g,Oe=function(ne){var he=re(ne,0,1),de=re(ne,-1);if(he==="%"&&de!=="%")throw new s("invalid intrinsic syntax, expected closing `%`");if(de==="%"&&he!=="%")throw new s("invalid intrinsic syntax, expected opening `%`");var Me=[];return te(ne,ye,function(Ne,Ot,st,Uh){Me[Me.length]=st?te(Uh,Te,"$1"):Ot||Ne}),Me},We=function(ne,he){var de=ne,Me;if($(G,de)&&(Me=G[de],de="%"+Me[0]+"%"),$(M,de)){var Ne=M[de];if(Ne===U&&(Ne=V(de)),typeof Ne>"u"&&!he)throw new a("intrinsic "+ne+" exists, but is not available. Please file an issue!");return{alias:Me,name:de,value:Ne}}throw new s("intrinsic "+ne+" does not exist!")};return Vf=function(ne,he){if(typeof ne!="string"||ne.length===0)throw new a("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof he!="boolean")throw new a('"allowMissing" argument must be a boolean');if(ge(/^%?[^%]*%?$/,ne)===null)throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var de=Oe(ne),Me=de.length>0?de[0]:"",Ne=We("%"+Me+"%",he),Ot=Ne.name,st=Ne.value,Uh=!1,dm=Ne.alias;dm&&(Me=dm[0],K(de,Y([0,1],dm)));for(var Wh=1,Ql=!0;Wh<de.length;Wh+=1){var ln=de[Wh],Gh=re(ln,0,1),Hh=re(ln,-1);if((Gh==='"'||Gh==="'"||Gh==="`"||Hh==='"'||Hh==="'"||Hh==="`")&&Gh!==Hh)throw new s("property names with quotes must have matching quotes");if((ln==="constructor"||!Ql)&&(Uh=!0),Me+="."+ln,Ot="%"+Me+"%",$(M,Ot))st=M[Ot];else if(st!=null){if(!(ln in st)){if(!he)throw new a("base intrinsic for "+ne+" exists, but the property is not available.");return}if(C&&Wh+1>=de.length){var qh=C(st,ln);Ql=!!qh,Ql&&"get"in qh&&!("originalValue"in qh.get)?st=qh.get:st=st[ln]}else Ql=$(st,ln),st=st[ln];Ql&&!Uh&&(M[Ot]=st)}}return st},Vf}var Uf,Jw;function Wf(){if(Jw)return Uf;Jw=1;var t=Kw(),i=zf(),e=i([t("%String.prototype.indexOf%")]);return Uf=function(o,r){var s=t(o,!!r);return typeof s=="function"&&e(o,".prototype.")>-1?i([s]):s},Uf}var Gf,Bw;function Wb(){if(Bw)return Gf;Bw=1;var t=nf()(),i=Wf(),e=i("Object.prototype.toString"),n=function(a){return t&&a&&typeof a=="object"&&Symbol.toStringTag in a?!1:e(a)==="[object Arguments]"},o=function(a){return n(a)?!0:a!==null&&typeof a=="object"&&"length"in a&&typeof a.length=="number"&&a.length>=0&&e(a)!=="[object Array]"&&"callee"in a&&e(a.callee)==="[object Function]"},r=function(){return n(arguments)}();return n.isLegacyArguments=o,Gf=r?n:o,Gf}var Hf,jw;function qf(){if(jw)return Hf;jw=1;var t=Ph(),i=vw(),e=Vr(),n=Ur();return Hf=function(r,s,a){if(!r||typeof r!="object"&&typeof r!="function")throw new e("`obj` must be an object or a function`");if(typeof s!="string"&&typeof s!="symbol")throw new e("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new e("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new e("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new e("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new e("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,d=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,p=arguments.length>6?arguments[6]:!1,f=!!n&&n(r,s);if(t)t(r,s,{configurable:u===null&&f?f.configurable:!u,enumerable:c===null&&f?f.enumerable:!c,value:a,writable:d===null&&f?f.writable:!d});else if(p||!c&&!d&&!u)r[s]=a;else throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Hf}var $f,eC;function Xf(){if(eC)return $f;eC=1;var t=Ph(),i=function(){return!!t};return i.hasArrayLengthDefineBug=function(){if(!t)return null;try{return t([],"length",{value:1}).length!==1}catch{return!0}},$f=i,$f}var Yf,tC;function qs(){if(tC)return Yf;tC=1;var t=rw(),i=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",e=Object.prototype.toString,n=Array.prototype.concat,o=qf(),r=function(d){return typeof d=="function"&&e.call(d)==="[object Function]"},s=Xf()(),a=function(d,u,p,f){if(u in d){if(f===!0){if(d[u]===p)return}else if(!r(f)||!f())return}s?o(d,u,p,!0):o(d,u,p)},c=function(d,u){var p=arguments.length>2?arguments[2]:{},f=t(u);i&&(f=n.call(f,Object.getOwnPropertySymbols(u)));for(var g=0;g<f.length;g+=1)a(d,f[g],u[f[g]],p[f[g]])};return c.supportsDescriptors=!!s,Yf=c,Yf}var Zf={exports:{}},Qf,iC;function Gb(){if(iC)return Qf;iC=1;var t=Kw(),i=qf(),e=Xf()(),n=Ur(),o=Vr(),r=t("%Math.floor%");return Qf=function(a,c){if(typeof a!="function")throw new o("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||r(c)!==c)throw new o("`length` must be a positive 32-bit integer");var d=arguments.length>2&&!!arguments[2],u=!0,p=!0;if("length"in a&&n){var f=n(a,"length");f&&!f.configurable&&(u=!1),f&&!f.writable&&(p=!1)}return(u||p||!d)&&(e?i(a,"length",c,!0,!0):i(a,"length",c)),a},Qf}var Kf,nC;function Hb(){if(nC)return Kf;nC=1;var t=Hs(),i=Rf(),e=Gw();return Kf=function(){return e(t,i,arguments)},Kf}var oC;function rC(){return oC||(oC=1,function(t){var i=Gb(),e=Ph(),n=zf(),o=Hb();t.exports=function(s){var a=n(arguments),c=s.length-(arguments.length-1);return i(a,1+(c>0?c:0),!0)},e?e(t.exports,"apply",{value:o}):t.exports.apply=o}(Zf)),Zf.exports}var Jf,sC;function aC(){if(sC)return Jf;sC=1;var t=function(i){return i!==i};return Jf=function(e,n){return e===0&&n===0?1/e===1/n:!!(e===n||t(e)&&t(n))},Jf}var Bf,lC;function cC(){if(lC)return Bf;lC=1;var t=aC();return Bf=function(){return typeof Object.is=="function"?Object.is:t},Bf}var jf,hC;function qb(){if(hC)return jf;hC=1;var t=cC(),i=qs();return jf=function(){var n=t();return i(Object,{is:n},{is:function(){return Object.is!==n}}),n},jf}var eg,dC;function $b(){if(dC)return eg;dC=1;var t=qs(),i=rC(),e=aC(),n=cC(),o=qb(),r=i(n(),Object);return t(r,{getPolyfill:n,implementation:e,shim:o}),eg=r,eg}var tg,uC;function Xb(){if(uC)return tg;uC=1;var t=Wf(),i=nf()(),e=Zw(),n=Ur(),o;if(i){var r=t("RegExp.prototype.exec"),s={},a=function(){throw s},c={toString:a,valueOf:a};typeof Symbol.toPrimitive=="symbol"&&(c[Symbol.toPrimitive]=a),o=function(f){if(!f||typeof f!="object")return!1;var g=n(f,"lastIndex"),m=g&&e(g,"value");if(!m)return!1;try{r(f,c)}catch(y){return y===s}}}else{var d=t("Object.prototype.toString"),u="[object RegExp]";o=function(f){return!f||typeof f!="object"&&typeof f!="function"?!1:d(f)===u}}return tg=o,tg}var ig,pC;function Yb(){if(pC)return ig;pC=1;var t=function(){return typeof(function(){}).name=="string"},i=Object.getOwnPropertyDescriptor;if(i)try{i([],"length")}catch{i=null}t.functionsHaveConfigurableNames=function(){if(!t()||!i)return!1;var o=i(function(){},"name");return!!o&&!!o.configurable};var e=Function.prototype.bind;return t.boundFunctionsHaveNames=function(){return t()&&typeof e=="function"&&(function(){}).bind().name!==""},ig=t,ig}var ng,fC;function Zb(){if(fC)return ng;fC=1;var t=qf(),i=Xf()(),e=Yb().functionsHaveConfigurableNames(),n=Vr();return ng=function(r,s){if(typeof r!="function")throw new n("`fn` is not a function");var a=arguments.length>2&&!!arguments[2];return(!a||e)&&(i?t(r,"name",s,!0,!0):t(r,"name",s)),r},ng}var og,gC;function mC(){if(gC)return og;gC=1;var t=Zb(),i=Vr(),e=Object;return og=t(function(){if(this==null||this!==e(this))throw new i("RegExp.prototype.flags getter called on non-object");var o="";return this.hasIndices&&(o+="d"),this.global&&(o+="g"),this.ignoreCase&&(o+="i"),this.multiline&&(o+="m"),this.dotAll&&(o+="s"),this.unicode&&(o+="u"),this.unicodeSets&&(o+="v"),this.sticky&&(o+="y"),o},"get flags",!0),og}var rg,vC;function yC(){if(vC)return rg;vC=1;var t=mC(),i=qs().supportsDescriptors,e=Object.getOwnPropertyDescriptor;return rg=function(){if(i&&/a/mig.flags==="gim"){var o=e(RegExp.prototype,"flags");if(o&&typeof o.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var r="",s={};if(Object.defineProperty(s,"hasIndices",{get:function(){r+="d"}}),Object.defineProperty(s,"sticky",{get:function(){r+="y"}}),o.get.call(s),r==="dy")return o.get}}return t},rg}var sg,wC;function Qb(){if(wC)return sg;wC=1;var t=qs().supportsDescriptors,i=yC(),e=Ur(),n=Object.defineProperty,o=uw(),r=Xw(),s=/a/;return sg=function(){if(!t||!r)throw new o("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var c=i(),d=r(s),u=e(d,"flags");return(!u||u.get!==c)&&n(d,"flags",{configurable:!0,enumerable:!1,get:c}),c},sg}var ag,CC;function Kb(){if(CC)return ag;CC=1;var t=qs(),i=rC(),e=mC(),n=yC(),o=Qb(),r=i(n());return t(r,{getPolyfill:n,implementation:e,shim:o}),ag=r,ag}var lg,_C;function Jb(){if(_C)return lg;_C=1;var t=Wf(),i=t("Date.prototype.getDay"),e=function(a){try{return i(a),!0}catch{return!1}},n=t("Object.prototype.toString"),o="[object Date]",r=nf()();return lg=function(a){return typeof a!="object"||a===null?!1:r?e(a):n(a)===o},lg}var cg,PC;function Bb(){if(PC)return cg;PC=1;var t=rw(),i=Wb(),e=$b(),n=Xb(),o=Kb(),r=Jb(),s=Date.prototype.getTime;function a(p,f,g){var m=g||{};return(m.strict?e(p,f):p===f)?!0:!p||!f||typeof p!="object"&&typeof f!="object"?m.strict?e(p,f):p==f:u(p,f,m)}function c(p){return p==null}function d(p){return!(!p||typeof p!="object"||typeof p.length!="number"||typeof p.copy!="function"||typeof p.slice!="function"||p.length>0&&typeof p[0]!="number")}function u(p,f,g){var m,y;if(typeof p!=typeof f||c(p)||c(f)||p.prototype!==f.prototype||i(p)!==i(f))return!1;var P=n(p),S=n(f);if(P!==S)return!1;if(P||S)return p.source===f.source&&o(p)===o(f);if(r(p)&&r(f))return s.call(p)===s.call(f);var C=d(p),E=d(f);if(C!==E)return!1;if(C||E){if(p.length!==f.length)return!1;for(m=0;m<p.length;m++)if(p[m]!==f[m])return!1;return!0}if(typeof p!=typeof f)return!1;try{var T=t(p),I=t(f)}catch{return!1}if(T.length!==I.length)return!1;for(T.sort(),I.sort(),m=T.length-1;m>=0;m--)if(T[m]!=I[m])return!1;for(m=T.length-1;m>=0;m--)if(y=T[m],!a(p[y],f[y],g))return!1;return!0}return cg=a,cg}function jb(t,i){var e=!0;return kr(t,function(n){kr(i,function(o){if(e===!1)return!1;e=eR(n.geometry,o.geometry)})}),e}function eR(t,i){switch(t.type){case"Point":switch(i.type){case"Point":return!oR(t.coordinates,i.coordinates);case"LineString":return!SC(i,t);case"Polygon":return!_t(t,i)}break;case"LineString":switch(i.type){case"Point":return!SC(t,i);case"LineString":return!tR(t,i);case"Polygon":return!EC(i,t)}break;case"Polygon":switch(i.type){case"Point":return!_t(i,t);case"LineString":return!EC(t,i);case"Polygon":return!iR(i,t)}}return!1}function SC(t,i){for(var e=0;e<t.coordinates.length-1;e++)if(nR(t.coordinates[e],t.coordinates[e+1],i.coordinates))return!0;return!1}function tR(t,i){var e=Qp(t,i);return e.features.length>0}function EC(t,i){for(var e=0,n=i.coordinates;e<n.length;e++){var o=n[e];if(_t(o,t))return!0}var r=Qp(i,Kp(t));return r.features.length>0}function iR(t,i){for(var e=0,n=t.coordinates[0];e<n.length;e++){var o=n[e];if(_t(o,i))return!0}for(var r=0,s=i.coordinates[0];r<s.length;r++){var a=s[r];if(_t(a,t))return!0}var c=Qp(Kp(t),Kp(i));return c.features.length>0}function nR(t,i,e){var n=e[0]-t[0],o=e[1]-t[1],r=i[0]-t[0],s=i[1]-t[1],a=n*s-o*r;return a!==0?!1:Math.abs(r)>=Math.abs(s)?r>0?t[0]<=e[0]&&e[0]<=i[0]:i[0]<=e[0]&&e[0]<=t[0]:s>0?t[1]<=e[1]&&e[1]<=i[1]:i[1]<=e[1]&&e[1]<=t[1]}function oR(t,i){return t[0]===i[0]&&t[1]===i[1]}var hg,AC;function rR(){if(AC)return hg;AC=1;var t=Bb(),i=function(r){this.precision=r&&r.precision?r.precision:17,this.direction=r&&r.direction?r.direction:!1,this.pseudoNode=r&&r.pseudoNode?r.pseudoNode:!1,this.objectComparator=r&&r.objectComparator?r.objectComparator:o};i.prototype.compare=function(r,s){if(r.type!==s.type||!n(r,s))return!1;switch(r.type){case"Point":return this.compareCoord(r.coordinates,s.coordinates);case"LineString":return this.compareLine(r.coordinates,s.coordinates,0,!1);case"Polygon":return this.comparePolygon(r,s);case"Feature":return this.compareFeature(r,s);default:if(r.type.indexOf("Multi")===0){var a=this,c=e(r),d=e(s);return c.every(function(u){return this.some(function(p){return a.compare(u,p)})},d)}}return!1};function e(r){return r.coordinates.map(function(s){return{type:r.type.replace("Multi",""),coordinates:s}})}function n(r,s){return r.hasOwnProperty("coordinates")?r.coordinates.length===s.coordinates.length:r.length===s.length}i.prototype.compareCoord=function(r,s){if(r.length!==s.length)return!1;for(var a=0;a<r.length;a++)if(r[a].toFixed(this.precision)!==s[a].toFixed(this.precision))return!1;return!0},i.prototype.compareLine=function(r,s,a,c){if(!n(r,s))return!1;var d=this.pseudoNode?r:this.removePseudo(r),u=this.pseudoNode?s:this.removePseudo(s);if(!(c&&!this.compareCoord(d[0],u[0])&&(u=this.fixStartIndex(u,d),!u))){var p=this.compareCoord(d[a],u[a]);return this.direction||p?this.comparePath(d,u):this.compareCoord(d[a],u[u.length-(1+a)])?this.comparePath(d.slice().reverse(),u):!1}},i.prototype.fixStartIndex=function(r,s){for(var a,c=-1,d=0;d<r.length;d++)if(this.compareCoord(r[d],s[0])){c=d;break}return c>=0&&(a=[].concat(r.slice(c,r.length),r.slice(1,c+1))),a},i.prototype.comparePath=function(r,s){var a=this;return r.every(function(c,d){return a.compareCoord(c,this[d])},s)},i.prototype.comparePolygon=function(r,s){if(this.compareLine(r.coordinates[0],s.coordinates[0],1,!0)){var a=r.coordinates.slice(1,r.coordinates.length),c=s.coordinates.slice(1,s.coordinates.length),d=this;return a.every(function(u){return this.some(function(p){return d.compareLine(u,p,1,!0)})},c)}else return!1},i.prototype.compareFeature=function(r,s){return r.id!==s.id||!this.objectComparator(r.properties,s.properties)||!this.compareBBox(r,s)?!1:this.compare(r.geometry,s.geometry)},i.prototype.compareBBox=function(r,s){return!!(!r.bbox&&!s.bbox||r.bbox&&s.bbox&&this.compareCoord(r.bbox,s.bbox))},i.prototype.removePseudo=function(r){return r};function o(r,s){return t(r,s,{strict:!0})}return hg=i,hg}var sR=rR();const aR=mc(sR);function lR(t,i){var e=Ri(t).type,n=Ri(i).type;if(e!==n)return!1;var o=new aR({precision:6});return o.compare(U0(t),U0(i))}function cR(t,i){var e=!1;return kr(t,function(n){kr(i,function(o){if(e===!0)return!0;e=!jb(n.geometry,o.geometry)})}),e}/**
|
|
1858
1858
|
* splaytree v3.1.2
|
|
1859
1859
|
* Fast Splay tree for Node and browser
|
|
1860
1860
|
*
|
|
@@ -1875,7 +1875,7 @@ function (result, this, instanceIndex, frameState) {
|
|
|
1875
1875
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
1876
1876
|
and limitations under the License.
|
|
1877
1877
|
***************************************************************************** */function hR(t,i){var e={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(d){return function(u){return c([d,u])}}function c(d){if(n)throw new TypeError("Generator is already executing.");for(;e;)try{if(n=1,o&&(r=d[0]&2?o.return:d[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,d[1])).done)return r;switch(o=0,r&&(d=[d[0]&2,r.value]),d[0]){case 0:case 1:r=d;break;case 4:return e.label++,{value:d[1],done:!1};case 5:e.label++,o=d[1],d=[0];continue;case 7:d=e.ops.pop(),e.trys.pop();continue;default:if(r=e.trys,!(r=r.length>0&&r[r.length-1])&&(d[0]===6||d[0]===2)){e=0;continue}if(d[0]===3&&(!r||d[1]>r[0]&&d[1]<r[3])){e.label=d[1];break}if(d[0]===6&&e.label<r[1]){e.label=r[1],r=d;break}if(r&&e.label<r[2]){e.label=r[2],e.ops.push(d);break}r[2]&&e.ops.pop(),e.trys.pop();continue}d=i.call(t,e)}catch(u){d=[6,u],o=0}finally{n=r=0}if(d[0]&5)throw d[1];return{value:d[0]?d[1]:void 0,done:!0}}}var Ln=function(){function t(i,e){this.next=null,this.key=i,this.data=e,this.left=null,this.right=null}return t}();function dR(t,i){return t>i?1:t<i?-1:0}function On(t,i,e){for(var n=new Ln(null,null),o=n,r=n;;){var s=e(t,i.key);if(s<0){if(i.left===null)break;if(e(t,i.left.key)<0){var a=i.left;if(i.left=a.right,a.right=i,i=a,i.left===null)break}r.left=i,r=i,i=i.left}else if(s>0){if(i.right===null)break;if(e(t,i.right.key)>0){var a=i.right;if(i.right=a.left,a.left=i,i=a,i.right===null)break}o.right=i,o=i,i=i.right}else break}return o.right=i.left,r.left=i.right,i.left=n.right,i.right=n.left,i}function dg(t,i,e,n){var o=new Ln(t,i);if(e===null)return o.left=o.right=null,o;e=On(t,e,n);var r=n(t,e.key);return r<0?(o.left=e.left,o.right=e,e.left=null):r>=0&&(o.right=e.right,o.left=e,e.right=null),o}function TC(t,i,e){var n=null,o=null;if(i){i=On(t,i,e);var r=e(i.key,t);r===0?(n=i.left,o=i.right):r<0?(o=i.right,i.right=null,n=i):(n=i.left,i.left=null,o=i)}return{left:n,right:o}}function uR(t,i,e){return i===null?t:(t===null||(i=On(t.key,i,e),i.left=t),i)}function ug(t,i,e,n,o){if(t){n(""+i+(e?"└── ":"├── ")+o(t)+`
|
|
1878
|
-
`);var r=i+(e?" ":"│ ");t.left&&ug(t.left,r,!1,n,o),t.right&&ug(t.right,r,!0,n,o)}}var pg=function(){function t(i){i===void 0&&(i=dR),this._root=null,this._size=0,this._comparator=i}return t.prototype.insert=function(i,e){return this._size++,this._root=dg(i,e,this._root,this._comparator)},t.prototype.add=function(i,e){var n=new Ln(i,e);this._root===null&&(n.left=n.right=null,this._size++,this._root=n);var o=this._comparator,r=On(i,this._root,o),s=o(i,r.key);return s===0?this._root=r:(s<0?(n.left=r.left,n.right=r,r.left=null):s>0&&(n.right=r.right,n.left=r,r.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(i){this._root=this._remove(i,this._root,this._comparator)},t.prototype._remove=function(i,e,n){var o;if(e===null)return null;e=On(i,e,n);var r=n(i,e.key);return r===0?(e.left===null?o=e.right:(o=On(i,e.left,n),o.right=e.right),this._size--,o):e},t.prototype.pop=function(){var i=this._root;if(i){for(;i.left;)i=i.left;return this._root=On(i.key,this._root,this._comparator),this._root=this._remove(i.key,this._root,this._comparator),{key:i.key,data:i.data}}return null},t.prototype.findStatic=function(i){for(var e=this._root,n=this._comparator;e;){var o=n(i,e.key);if(o===0)return e;o<0?e=e.left:e=e.right}return null},t.prototype.find=function(i){return this._root&&(this._root=On(i,this._root,this._comparator),this._comparator(i,this._root.key)!==0)?null:this._root},t.prototype.contains=function(i){for(var e=this._root,n=this._comparator;e;){var o=n(i,e.key);if(o===0)return!0;o<0?e=e.left:e=e.right}return!1},t.prototype.forEach=function(i,e){for(var n=this._root,o=[],r=!1;!r;)n!==null?(o.push(n),n=n.left):o.length!==0?(n=o.pop(),i.call(e,n),n=n.right):r=!0;return this},t.prototype.range=function(i,e,n,o){for(var r=[],s=this._comparator,a=this._root,c;r.length!==0||a;)if(a)r.push(a),a=a.left;else{if(a=r.pop(),c=s(a.key,e),c>0)break;if(s(a.key,i)>=0&&n.call(o,a))return this;a=a.right}return this},t.prototype.keys=function(){var i=[];return this.forEach(function(e){var n=e.key;return i.push(n)}),i},t.prototype.values=function(){var i=[];return this.forEach(function(e){var n=e.data;return i.push(n)}),i},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(i){if(i===void 0&&(i=this._root),i)for(;i.left;)i=i.left;return i},t.prototype.maxNode=function(i){if(i===void 0&&(i=this._root),i)for(;i.right;)i=i.right;return i},t.prototype.at=function(i){for(var e=this._root,n=!1,o=0,r=[];!n;)if(e)r.push(e),e=e.left;else if(r.length>0){if(e=r.pop(),o===i)return e;o++,e=e.right}else n=!0;return null},t.prototype.next=function(i){var e=this._root,n=null;if(i.right){for(n=i.right;n.left;)n=n.left;return n}for(var o=this._comparator;e;){var r=o(i.key,e.key);if(r===0)break;r<0?(n=e,e=e.left):e=e.right}return n},t.prototype.prev=function(i){var e=this._root,n=null;if(i.left!==null){for(n=i.left;n.right;)n=n.right;return n}for(var o=this._comparator;e;){var r=o(i.key,e.key);if(r===0)break;r<0?e=e.left:(n=e,e=e.right)}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return fR(this._root)},t.prototype.load=function(i,e,n){e===void 0&&(e=[]),n===void 0&&(n=!1);var o=i.length,r=this._comparator;if(n&&mg(i,e,0,o-1,r),this._root===null)this._root=fg(i,e,0,o),this._size=o;else{var s=gR(this.toList(),pR(i,e),r);o=this._size+o,this._root=gg({head:s},0,o)}return this},t.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),t.prototype.toString=function(i){i===void 0&&(i=function(n){return String(n.key)});var e=[];return ug(this._root,"",!0,function(n){return e.push(n)},i),e.join("")},t.prototype.update=function(i,e,n){var o=this._comparator,r=TC(i,this._root,o),s=r.left,a=r.right;o(i,e)<0?a=dg(e,n,a,o):s=dg(e,n,s,o),this._root=uR(s,a,o)},t.prototype.split=function(i){return TC(i,this._root,this._comparator)},t.prototype[Symbol.iterator]=function(){var i,e,n;return hR(this,function(o){switch(o.label){case 0:i=this._root,e=[],n=!1,o.label=1;case 1:return n?[3,6]:i===null?[3,2]:(e.push(i),i=i.left,[3,5]);case 2:return e.length===0?[3,4]:(i=e.pop(),[4,i]);case 3:return o.sent(),i=i.right,[3,5];case 4:n=!0,o.label=5;case 5:return[3,1];case 6:return[2]}})},t}();function fg(t,i,e,n){var o=n-e;if(o>0){var r=e+Math.floor(o/2),s=t[r],a=i[r],c=new Ln(s,a);return c.left=fg(t,i,e,r),c.right=fg(t,i,r+1,n),c}return null}function pR(t,i){for(var e=new Ln(null,null),n=e,o=0;o<t.length;o++)n=n.next=new Ln(t[o],i[o]);return n.next=null,e.next}function fR(t){for(var i=t,e=[],n=!1,o=new Ln(null,null),r=o;!n;)i?(e.push(i),i=i.left):e.length>0?(i=r=r.next=e.pop(),i=i.right):n=!0;return r.next=null,o.next}function gg(t,i,e){var n=e-i;if(n>0){var o=i+Math.floor(n/2),r=gg(t,i,o),s=t.head;return s.left=r,t.head=t.head.next,s.right=gg(t,o+1,e),s}return null}function gR(t,i,e){for(var n=new Ln(null,null),o=n,r=t,s=i;r!==null&&s!==null;)e(r.key,s.key)<0?(o.next=r,r=r.next):(o.next=s,s=s.next),o=o.next;return r!==null?o.next=r:s!==null&&(o.next=s),n.next}function mg(t,i,e,n,o){if(!(e>=n)){for(var r=t[e+n>>1],s=e-1,a=n+1;;){do s++;while(o(t[s],r)<0);do a--;while(o(t[a],r)>0);if(s>=a)break;var c=t[s];t[s]=t[a],t[a]=c,c=i[s],i[s]=i[a],i[a]=c}mg(t,i,e,a,o),mg(t,i,a+1,n,o)}}const Bi=11102230246251565e-32,yt=134217729,mR=(3+8*Bi)*Bi;function vg(t,i,e,n,o){let r,s,a,c,d=i[0],u=n[0],p=0,f=0;u>d==u>-d?(r=d,d=i[++p]):(r=u,u=n[++f]);let g=0;if(p<t&&f<e)for(u>d==u>-d?(s=d+r,a=r-(s-d),d=i[++p]):(s=u+r,a=r-(s-u),u=n[++f]),r=s,a!==0&&(o[g++]=a);p<t&&f<e;)u>d==u>-d?(s=r+d,c=s-r,a=r-(s-c)+(d-c),d=i[++p]):(s=r+u,c=s-r,a=r-(s-c)+(u-c),u=n[++f]),r=s,a!==0&&(o[g++]=a);for(;p<t;)s=r+d,c=s-r,a=r-(s-c)+(d-c),d=i[++p],r=s,a!==0&&(o[g++]=a);for(;f<e;)s=r+u,c=s-r,a=r-(s-c)+(u-c),u=n[++f],r=s,a!==0&&(o[g++]=a);return(r!==0||g===0)&&(o[g++]=r),g}function vR(t,i){let e=i[0];for(let n=1;n<t;n++)e+=i[n];return e}function $s(t){return new Float64Array(t)}const yR=(3+16*Bi)*Bi,wR=(2+12*Bi)*Bi,CR=(9+64*Bi)*Bi*Bi,Wr=$s(4),MC=$s(8),IC=$s(12),DC=$s(16),St=$s(4);function _R(t,i,e,n,o,r,s){let a,c,d,u,p,f,g,m,y,P,S,C,E,T,I,b,x,z;const W=t-o,N=e-o,L=i-r,U=n-r;T=W*U,f=yt*W,g=f-(f-W),m=W-g,f=yt*U,y=f-(f-U),P=U-y,I=m*P-(T-g*y-m*y-g*P),b=L*N,f=yt*L,g=f-(f-L),m=L-g,f=yt*N,y=f-(f-N),P=N-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,Wr[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,Wr[1]=E-(S+p)+(p-b),z=C+S,p=z-C,Wr[2]=C-(z-p)+(S-p),Wr[3]=z;let _=vR(4,Wr),M=wR*s;if(_>=M||-_>=M||(p=t-W,a=t-(W+p)+(p-o),p=e-N,d=e-(N+p)+(p-o),p=i-L,c=i-(L+p)+(p-r),p=n-U,u=n-(U+p)+(p-r),a===0&&c===0&&d===0&&u===0)||(M=CR*s+mR*Math.abs(_),_+=W*u+U*a-(L*d+N*c),_>=M||-_>=M))return _;T=a*U,f=yt*a,g=f-(f-a),m=a-g,f=yt*U,y=f-(f-U),P=U-y,I=m*P-(T-g*y-m*y-g*P),b=c*N,f=yt*c,g=f-(f-c),m=c-g,f=yt*N,y=f-(f-N),P=N-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,St[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,St[1]=E-(S+p)+(p-b),z=C+S,p=z-C,St[2]=C-(z-p)+(S-p),St[3]=z;const F=vg(4,Wr,4,St,MC);T=W*u,f=yt*W,g=f-(f-W),m=W-g,f=yt*u,y=f-(f-u),P=u-y,I=m*P-(T-g*y-m*y-g*P),b=L*d,f=yt*L,g=f-(f-L),m=L-g,f=yt*d,y=f-(f-d),P=d-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,St[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,St[1]=E-(S+p)+(p-b),z=C+S,p=z-C,St[2]=C-(z-p)+(S-p),St[3]=z;const V=vg(F,MC,4,St,IC);T=a*u,f=yt*a,g=f-(f-a),m=a-g,f=yt*u,y=f-(f-u),P=u-y,I=m*P-(T-g*y-m*y-g*P),b=c*d,f=yt*c,g=f-(f-c),m=c-g,f=yt*d,y=f-(f-d),P=d-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,St[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,St[1]=E-(S+p)+(p-b),z=C+S,p=z-C,St[2]=C-(z-p)+(S-p),St[3]=z;const G=vg(V,IC,4,St,DC);return DC[G-1]}function PR(t,i,e,n,o,r){const s=(i-r)*(e-o),a=(t-o)*(n-r),c=s-a,d=Math.abs(s+a);return Math.abs(c)>=yR*d?c:-_R(t,i,e,n,o,r,d)}const Xs=(t,i)=>t.ll.x<=i.x&&i.x<=t.ur.x&&t.ll.y<=i.y&&i.y<=t.ur.y,yg=(t,i)=>{if(i.ur.x<t.ll.x||t.ur.x<i.ll.x||i.ur.y<t.ll.y||t.ur.y<i.ll.y)return null;const e=t.ll.x<i.ll.x?i.ll.x:t.ll.x,n=t.ur.x<i.ur.x?t.ur.x:i.ur.x,o=t.ll.y<i.ll.y?i.ll.y:t.ll.y,r=t.ur.y<i.ur.y?t.ur.y:i.ur.y;return{ll:{x:e,y:o},ur:{x:n,y:r}}};let Nn=Number.EPSILON;Nn===void 0&&(Nn=Math.pow(2,-52));const SR=Nn*Nn,bC=(t,i)=>{if(-Nn<t&&t<Nn&&-Nn<i&&i<Nn)return 0;const e=t-i;return e*e<SR*t*i?0:t<i?-1:1};class ER{constructor(){this.reset()}reset(){this.xRounder=new RC,this.yRounder=new RC}round(i,e){return{x:this.xRounder.round(i),y:this.yRounder.round(e)}}}class RC{constructor(){this.tree=new pg,this.round(0)}round(i){const e=this.tree.add(i),n=this.tree.prev(e);if(n!==null&&bC(e.key,n.key)===0)return this.tree.remove(i),n.key;const o=this.tree.next(e);return o!==null&&bC(e.key,o.key)===0?(this.tree.remove(i),o.key):i}}const Ys=new ER,Sh=(t,i)=>t.x*i.y-t.y*i.x,xC=(t,i)=>t.x*i.x+t.y*i.y,FC=(t,i,e)=>{const n=PR(t.x,t.y,i.x,i.y,e.x,e.y);return n>0?-1:n<0?1:0},Eh=t=>Math.sqrt(xC(t,t)),AR=(t,i,e)=>{const n={x:i.x-t.x,y:i.y-t.y},o={x:e.x-t.x,y:e.y-t.y};return Sh(o,n)/Eh(o)/Eh(n)},TR=(t,i,e)=>{const n={x:i.x-t.x,y:i.y-t.y},o={x:e.x-t.x,y:e.y-t.y};return xC(o,n)/Eh(o)/Eh(n)},kC=(t,i,e)=>i.y===0?null:{x:t.x+i.x/i.y*(e-t.y),y:e},zC=(t,i,e)=>i.x===0?null:{x:e,y:t.y+i.y/i.x*(e-t.x)},MR=(t,i,e,n)=>{if(i.x===0)return zC(e,n,t.x);if(n.x===0)return zC(t,i,e.x);if(i.y===0)return kC(e,n,t.y);if(n.y===0)return kC(t,i,e.y);const o=Sh(i,n);if(o==0)return null;const r={x:e.x-t.x,y:e.y-t.y},s=Sh(r,i)/o,a=Sh(r,n)/o,c=t.x+a*i.x,d=e.x+s*n.x,u=t.y+a*i.y,p=e.y+s*n.y,f=(c+d)/2,g=(u+p)/2;return{x:f,y:g}};class ti{static compare(i,e){const n=ti.comparePoints(i.point,e.point);return n!==0?n:(i.point!==e.point&&i.link(e),i.isLeft!==e.isLeft?i.isLeft?1:-1:Vn.compare(i.segment,e.segment))}static comparePoints(i,e){return i.x<e.x?-1:i.x>e.x?1:i.y<e.y?-1:i.y>e.y?1:0}constructor(i,e){i.events===void 0?i.events=[this]:i.events.push(this),this.point=i,this.isLeft=e}link(i){if(i.point===this.point)throw new Error("Tried to link already linked events");const e=i.point.events;for(let n=0,o=e.length;n<o;n++){const r=e[n];this.point.events.push(r),r.point=this.point}this.checkForConsuming()}checkForConsuming(){const i=this.point.events.length;for(let e=0;e<i;e++){const n=this.point.events[e];if(n.segment.consumedBy===void 0)for(let o=e+1;o<i;o++){const r=this.point.events[o];r.consumedBy===void 0&&n.otherSE.point.events===r.otherSE.point.events&&n.segment.consume(r.segment)}}}getAvailableLinkedEvents(){const i=[];for(let e=0,n=this.point.events.length;e<n;e++){const o=this.point.events[e];o!==this&&!o.segment.ringOut&&o.segment.isInResult()&&i.push(o)}return i}getLeftmostComparator(i){const e=new Map,n=o=>{const r=o.otherSE;e.set(o,{sine:AR(this.point,i.point,r.point),cosine:TR(this.point,i.point,r.point)})};return(o,r)=>{e.has(o)||n(o),e.has(r)||n(r);const{sine:s,cosine:a}=e.get(o),{sine:c,cosine:d}=e.get(r);return s>=0&&c>=0?a<d?1:a>d?-1:0:s<0&&c<0?a<d?-1:a>d?1:0:c<s?-1:c>s?1:0}}}let IR=0;class Vn{static compare(i,e){const n=i.leftSE.point.x,o=e.leftSE.point.x,r=i.rightSE.point.x,s=e.rightSE.point.x;if(s<n)return 1;if(r<o)return-1;const a=i.leftSE.point.y,c=e.leftSE.point.y,d=i.rightSE.point.y,u=e.rightSE.point.y;if(n<o){if(c<a&&c<d)return 1;if(c>a&&c>d)return-1;const p=i.comparePoint(e.leftSE.point);if(p<0)return 1;if(p>0)return-1;const f=e.comparePoint(i.rightSE.point);return f!==0?f:-1}if(n>o){if(a<c&&a<u)return-1;if(a>c&&a>u)return 1;const p=e.comparePoint(i.leftSE.point);if(p!==0)return p;const f=i.comparePoint(e.rightSE.point);return f<0?1:f>0?-1:1}if(a<c)return-1;if(a>c)return 1;if(r<s){const p=e.comparePoint(i.rightSE.point);if(p!==0)return p}if(r>s){const p=i.comparePoint(e.rightSE.point);if(p<0)return 1;if(p>0)return-1}if(r!==s){const p=d-a,f=r-n,g=u-c,m=s-o;if(p>f&&g<m)return 1;if(p<f&&g>m)return-1}return r>s?1:r<s||d<u?-1:d>u?1:i.id<e.id?-1:i.id>e.id?1:0}constructor(i,e,n,o){this.id=++IR,this.leftSE=i,i.segment=this,i.otherSE=e,this.rightSE=e,e.segment=this,e.otherSE=i,this.rings=n,this.windings=o}static fromRing(i,e,n){let o,r,s;const a=ti.comparePoints(i,e);if(a<0)o=i,r=e,s=1;else if(a>0)o=e,r=i,s=-1;else throw new Error(`Tried to create degenerate segment at [${i.x}, ${i.y}]`);const c=new ti(o,!0),d=new ti(r,!1);return new Vn(c,d,[n],[s])}replaceRightSE(i){this.rightSE=i,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const i=this.leftSE.point.y,e=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:i<e?i:e},ur:{x:this.rightSE.point.x,y:i>e?i:e}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(i){return i.x===this.leftSE.point.x&&i.y===this.leftSE.point.y||i.x===this.rightSE.point.x&&i.y===this.rightSE.point.y}comparePoint(i){if(this.isAnEndpoint(i))return 0;const e=this.leftSE.point,n=this.rightSE.point,o=this.vector();if(e.x===n.x)return i.x===e.x?0:i.x<e.x?1:-1;const r=(i.y-e.y)/o.y,s=e.x+r*o.x;if(i.x===s)return 0;const a=(i.x-e.x)/o.x,c=e.y+a*o.y;return i.y===c?0:i.y<c?-1:1}getIntersection(i){const e=this.bbox(),n=i.bbox(),o=yg(e,n);if(o===null)return null;const r=this.leftSE.point,s=this.rightSE.point,a=i.leftSE.point,c=i.rightSE.point,d=Xs(e,a)&&this.comparePoint(a)===0,u=Xs(n,r)&&i.comparePoint(r)===0,p=Xs(e,c)&&this.comparePoint(c)===0,f=Xs(n,s)&&i.comparePoint(s)===0;if(u&&d)return f&&!p?s:!f&&p?c:null;if(u)return p&&r.x===c.x&&r.y===c.y?null:r;if(d)return f&&s.x===a.x&&s.y===a.y?null:a;if(f&&p)return null;if(f)return s;if(p)return c;const g=MR(r,this.vector(),a,i.vector());return g===null||!Xs(o,g)?null:Ys.round(g.x,g.y)}split(i){const e=[],n=i.events!==void 0,o=new ti(i,!0),r=new ti(i,!1),s=this.rightSE;this.replaceRightSE(r),e.push(r),e.push(o);const a=new Vn(o,s,this.rings.slice(),this.windings.slice());return ti.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),ti.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),n&&(o.checkForConsuming(),r.checkForConsuming()),e}swapEvents(){const i=this.rightSE;this.rightSE=this.leftSE,this.leftSE=i,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let e=0,n=this.windings.length;e<n;e++)this.windings[e]*=-1}consume(i){let e=this,n=i;for(;e.consumedBy;)e=e.consumedBy;for(;n.consumedBy;)n=n.consumedBy;const o=Vn.compare(e,n);if(o!==0){if(o>0){const r=e;e=n,n=r}if(e.prev===n){const r=e;e=n,n=r}for(let r=0,s=n.rings.length;r<s;r++){const a=n.rings[r],c=n.windings[r],d=e.rings.indexOf(a);d===-1?(e.rings.push(a),e.windings.push(c)):e.windings[d]+=c}n.rings=null,n.windings=null,n.consumedBy=e,n.leftSE.consumedBy=e.leftSE,n.rightSE.consumedBy=e.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const i=this.prev.consumedBy||this.prev;this._beforeState=i.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const i=this.beforeState();this._afterState={rings:i.rings.slice(0),windings:i.windings.slice(0),multiPolys:[]};const e=this._afterState.rings,n=this._afterState.windings,o=this._afterState.multiPolys;for(let a=0,c=this.rings.length;a<c;a++){const d=this.rings[a],u=this.windings[a],p=e.indexOf(d);p===-1?(e.push(d),n.push(u)):n[p]+=u}const r=[],s=[];for(let a=0,c=e.length;a<c;a++){if(n[a]===0)continue;const d=e[a],u=d.poly;if(s.indexOf(u)===-1)if(d.isExterior)r.push(u);else{s.indexOf(u)===-1&&s.push(u);const p=r.indexOf(d.poly);p!==-1&&r.splice(p,1)}}for(let a=0,c=r.length;a<c;a++){const d=r[a].multiPoly;o.indexOf(d)===-1&&o.push(d)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const i=this.beforeState().multiPolys,e=this.afterState().multiPolys;switch(pi.type){case"union":{const n=i.length===0,o=e.length===0;this._isInResult=n!==o;break}case"intersection":{let n,o;i.length<e.length?(n=i.length,o=e.length):(n=e.length,o=i.length),this._isInResult=o===pi.numMultiPolys&&n<o;break}case"xor":{const n=Math.abs(i.length-e.length);this._isInResult=n%2===1;break}case"difference":{const n=o=>o.length===1&&o[0].isSubject;this._isInResult=n(i)!==n(e);break}default:throw new Error(`Unrecognized operation type found ${pi.type}`)}return this._isInResult}}class LC{constructor(i,e,n){if(!Array.isArray(i)||i.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=n,this.segments=[],typeof i[0][0]!="number"||typeof i[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const o=Ys.round(i[0][0],i[0][1]);this.bbox={ll:{x:o.x,y:o.y},ur:{x:o.x,y:o.y}};let r=o;for(let s=1,a=i.length;s<a;s++){if(typeof i[s][0]!="number"||typeof i[s][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let c=Ys.round(i[s][0],i[s][1]);c.x===r.x&&c.y===r.y||(this.segments.push(Vn.fromRing(r,c,this)),c.x<this.bbox.ll.x&&(this.bbox.ll.x=c.x),c.y<this.bbox.ll.y&&(this.bbox.ll.y=c.y),c.x>this.bbox.ur.x&&(this.bbox.ur.x=c.x),c.y>this.bbox.ur.y&&(this.bbox.ur.y=c.y),r=c)}(o.x!==r.x||o.y!==r.y)&&this.segments.push(Vn.fromRing(r,o,this))}getSweepEvents(){const i=[];for(let e=0,n=this.segments.length;e<n;e++){const o=this.segments[e];i.push(o.leftSE),i.push(o.rightSE)}return i}}class DR{constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new LC(i[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let n=1,o=i.length;n<o;n++){const r=new LC(i[n],this,!1);r.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.interiorRings.push(r)}this.multiPoly=e}getSweepEvents(){const i=this.exteriorRing.getSweepEvents();for(let e=0,n=this.interiorRings.length;e<n;e++){const o=this.interiorRings[e].getSweepEvents();for(let r=0,s=o.length;r<s;r++)i.push(o[r])}return i}}class OC{constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof i[0][0][0]=="number"&&(i=[i])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let n=0,o=i.length;n<o;n++){const r=new DR(i[n],this);r.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.polys.push(r)}this.isSubject=e}getSweepEvents(){const i=[];for(let e=0,n=this.polys.length;e<n;e++){const o=this.polys[e].getSweepEvents();for(let r=0,s=o.length;r<s;r++)i.push(o[r])}return i}}class Ah{static factory(i){const e=[];for(let n=0,o=i.length;n<o;n++){const r=i[n];if(!r.isInResult()||r.ringOut)continue;let s=null,a=r.leftSE,c=r.rightSE;const d=[a],u=a.point,p=[];for(;s=a,a=c,d.push(a),a.point!==u;)for(;;){const f=a.getAvailableLinkedEvents();if(f.length===0){const y=d[0].point,P=d[d.length-1].point;throw new Error(`Unable to complete output ring starting at [${y.x}, ${y.y}]. Last matching segment found ends at [${P.x}, ${P.y}].`)}if(f.length===1){c=f[0].otherSE;break}let g=null;for(let y=0,P=p.length;y<P;y++)if(p[y].point===a.point){g=y;break}if(g!==null){const y=p.splice(g)[0],P=d.splice(y.index);P.unshift(P[0].otherSE),e.push(new Ah(P.reverse()));continue}p.push({index:d.length,point:a.point});const m=a.getLeftmostComparator(s);c=f.sort(m)[0].otherSE;break}e.push(new Ah(d))}return e}constructor(i){this.events=i;for(let e=0,n=i.length;e<n;e++)i[e].segment.ringOut=this;this.poly=null}getGeom(){let i=this.events[0].point;const e=[i];for(let d=1,u=this.events.length-1;d<u;d++){const p=this.events[d].point,f=this.events[d+1].point;FC(p,i,f)!==0&&(e.push(p),i=p)}if(e.length===1)return null;const n=e[0],o=e[1];FC(n,i,o)===0&&e.shift(),e.push(e[0]);const r=this.isExteriorRing()?1:-1,s=this.isExteriorRing()?0:e.length-1,a=this.isExteriorRing()?e.length:-1,c=[];for(let d=s;d!=a;d+=r)c.push([e[d].x,e[d].y]);return c}isExteriorRing(){if(this._isExteriorRing===void 0){const i=this.enclosingRing();this._isExteriorRing=i?!i.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let i=this.events[0];for(let o=1,r=this.events.length;o<r;o++){const s=this.events[o];ti.compare(i,s)>0&&(i=s)}let e=i.segment.prevInResult(),n=e?e.prevInResult():null;for(;;){if(!e)return null;if(!n)return e.ringOut;if(n.ringOut!==e.ringOut)return n.ringOut.enclosingRing()!==e.ringOut?e.ringOut:e.ringOut.enclosingRing();e=n.prevInResult(),n=e?e.prevInResult():null}}}class NC{constructor(i){this.exteriorRing=i,i.poly=this,this.interiorRings=[]}addInterior(i){this.interiorRings.push(i),i.poly=this}getGeom(){const i=[this.exteriorRing.getGeom()];if(i[0]===null)return null;for(let e=0,n=this.interiorRings.length;e<n;e++){const o=this.interiorRings[e].getGeom();o!==null&&i.push(o)}return i}}class bR{constructor(i){this.rings=i,this.polys=this._composePolys(i)}getGeom(){const i=[];for(let e=0,n=this.polys.length;e<n;e++){const o=this.polys[e].getGeom();o!==null&&i.push(o)}return i}_composePolys(i){const e=[];for(let n=0,o=i.length;n<o;n++){const r=i[n];if(!r.poly)if(r.isExteriorRing())e.push(new NC(r));else{const s=r.enclosingRing();s.poly||e.push(new NC(s)),s.poly.addInterior(r)}}return e}}class RR{constructor(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Vn.compare;this.queue=i,this.tree=new pg(e),this.segments=[]}process(i){const e=i.segment,n=[];if(i.consumedBy)return i.isLeft?this.queue.remove(i.otherSE):this.tree.remove(e),n;const o=i.isLeft?this.tree.add(e):this.tree.find(e);if(!o)throw new Error(`Unable to find segment #${e.id} [${e.leftSE.point.x}, ${e.leftSE.point.y}] -> [${e.rightSE.point.x}, ${e.rightSE.point.y}] in SweepLine tree.`);let r=o,s=o,a,c;for(;a===void 0;)r=this.tree.prev(r),r===null?a=null:r.key.consumedBy===void 0&&(a=r.key);for(;c===void 0;)s=this.tree.next(s),s===null?c=null:s.key.consumedBy===void 0&&(c=s.key);if(i.isLeft){let d=null;if(a){const p=a.getIntersection(e);if(p!==null&&(e.isAnEndpoint(p)||(d=p),!a.isAnEndpoint(p))){const f=this._splitSafely(a,p);for(let g=0,m=f.length;g<m;g++)n.push(f[g])}}let u=null;if(c){const p=c.getIntersection(e);if(p!==null&&(e.isAnEndpoint(p)||(u=p),!c.isAnEndpoint(p))){const f=this._splitSafely(c,p);for(let g=0,m=f.length;g<m;g++)n.push(f[g])}}if(d!==null||u!==null){let p=null;d===null?p=u:u===null?p=d:p=ti.comparePoints(d,u)<=0?d:u,this.queue.remove(e.rightSE),n.push(e.rightSE);const f=e.split(p);for(let g=0,m=f.length;g<m;g++)n.push(f[g])}n.length>0?(this.tree.remove(e),n.push(i)):(this.segments.push(e),e.prev=a)}else{if(a&&c){const d=a.getIntersection(c);if(d!==null){if(!a.isAnEndpoint(d)){const u=this._splitSafely(a,d);for(let p=0,f=u.length;p<f;p++)n.push(u[p])}if(!c.isAnEndpoint(d)){const u=this._splitSafely(c,d);for(let p=0,f=u.length;p<f;p++)n.push(u[p])}}}this.tree.remove(e)}return n}_splitSafely(i,e){this.tree.remove(i);const n=i.rightSE;this.queue.remove(n);const o=i.split(e);return o.push(n),i.consumedBy===void 0&&this.tree.add(i),o}}const VC=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,xR=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class FR{run(i,e,n){pi.type=i,Ys.reset();const o=[new OC(e,!0)];for(let p=0,f=n.length;p<f;p++)o.push(new OC(n[p],!1));if(pi.numMultiPolys=o.length,pi.type==="difference"){const p=o[0];let f=1;for(;f<o.length;)yg(o[f].bbox,p.bbox)!==null?f++:o.splice(f,1)}if(pi.type==="intersection")for(let p=0,f=o.length;p<f;p++){const g=o[p];for(let m=p+1,y=o.length;m<y;m++)if(yg(g.bbox,o[m].bbox)===null)return[]}const r=new pg(ti.compare);for(let p=0,f=o.length;p<f;p++){const g=o[p].getSweepEvents();for(let m=0,y=g.length;m<y;m++)if(r.insert(g[m]),r.size>VC)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const s=new RR(r);let a=r.size,c=r.pop();for(;c;){const p=c.key;if(r.size===a){const g=p.segment;throw new Error(`Unable to pop() ${p.isLeft?"left":"right"} SweepEvent [${p.point.x}, ${p.point.y}] from segment #${g.id} [${g.leftSE.point.x}, ${g.leftSE.point.y}] -> [${g.rightSE.point.x}, ${g.rightSE.point.y}] from queue.`)}if(r.size>VC)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(s.segments.length>xR)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const f=s.process(p);for(let g=0,m=f.length;g<m;g++){const y=f[g];y.consumedBy===void 0&&r.insert(y)}a=r.size,c=r.pop()}Ys.reset();const d=Ah.factory(s.segments);return new bR(d).getGeom()}}const pi=new FR;var kR={union:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("union",t,e)},intersection:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("intersection",t,e)},xor:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("xor",t,e)},difference:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("difference",t,e)}};function Th(t,i,e){e===void 0&&(e={});var n=Ri(t),o=Ri(i),r=kR.intersection(n.coordinates,o.coordinates);return r.length===0?null:r.length===1?_t(r[0],e.properties):PD(r,e.properties)}function zR(t,i,e){e===void 0&&(e={});var n=JSON.stringify(e.properties||{}),o=t[0],r=t[1],s=t[2],a=t[3],c=(r+a)/2,d=(o+s)/2,u=i*2/xi([o,c],[s,c],e),p=u*(s-o),f=i*2/xi([d,r],[d,a],e),g=f*(a-r),m=p/2,y=m*2,P=Math.sqrt(3)/2*g,S=s-o,C=a-r,E=3/4*y,T=P,I=(S-y)/(y-m/2),b=Math.floor(I),x=(b*E-m/2-S)/2-m/2+E/2,z=Math.floor((C-P)/P),W=(C-z*P)/2,N=z*P-C>P/2;N&&(W-=P/4);for(var L=[],U=[],_=0;_<6;_++){var M=2*Math.PI/6*_;L.push(Math.cos(M)),U.push(Math.sin(M))}for(var F=[],V=0;V<=b;V++)for(var G=0;G<=z;G++){var Z=V%2===1;if(!(G===0&&Z)&&!(G===0&&N)){var $=V*E+o-x,Y=G*T+r+W;if(Z&&(Y-=P/2),e.triangles===!0)OR([$,Y],p/2,g/2,JSON.parse(n),L,U).forEach(function(te){e.mask?Th(e.mask,te)&&F.push(te):F.push(te)});else{var K=LR([$,Y],p/2,g/2,JSON.parse(n),L,U);e.mask?Th(e.mask,K)&&F.push(K):F.push(K)}}}return Di(F)}function LR(t,i,e,n,o,r){for(var s=[],a=0;a<6;a++){var c=t[0]+i*o[a],d=t[1]+e*r[a];s.push([c,d])}return s.push(s[0].slice()),_t([s],n)}function OR(t,i,e,n,o,r){for(var s=[],a=0;a<6;a++){var c=[];c.push(t),c.push([t[0]+i*o[a],t[1]+e*r[a]]),c.push([t[0]+i*o[(a+1)%6],t[1]+e*r[(a+1)%6]]),c.push(t),s.push(_t([c],n))}return s}function NR(t,i,e,n){n===void 0&&(n={});for(var o=[],r=t[0],s=t[1],a=t[2],c=t[3],d=i/xi([r,s],[a,s],n),u=d*(a-r),p=e/xi([r,s],[r,c],n),f=p*(c-s),g=a-r,m=c-s,y=Math.floor(g/u),P=Math.floor(m/f),S=(g-y*u)/2,C=(m-P*f)/2,E=r+S,T=0;T<y;T++){for(var I=s+C,b=0;b<P;b++){var x=_t([[[E,I],[E,I+f],[E+u,I+f],[E+u,I],[E,I]]],n.properties);n.mask?cR(n.mask,x)&&o.push(x):o.push(x),I+=f}E+=u}return Di(o)}function VR(t,i,e){return e===void 0&&(e={}),NR(t,i,i,e)}function UR(t,i,e){e===void 0&&(e={});for(var n=[],o=i/xi([t[0],t[1]],[t[2],t[1]],e),r=o*(t[2]-t[0]),s=i/xi([t[0],t[1]],[t[0],t[3]],e),a=s*(t[3]-t[1]),c=0,d=t[0];d<=t[2];){for(var u=0,p=t[1];p<=t[3];){var f=null,g=null;c%2===0&&u%2===0?(f=_t([[[d,p],[d,p+a],[d+r,p],[d,p]]],e.properties),g=_t([[[d,p+a],[d+r,p+a],[d+r,p],[d,p+a]]],e.properties)):c%2===0&&u%2===1?(f=_t([[[d,p],[d+r,p+a],[d+r,p],[d,p]]],e.properties),g=_t([[[d,p],[d,p+a],[d+r,p+a],[d,p]]],e.properties)):u%2===0&&c%2===1?(f=_t([[[d,p],[d,p+a],[d+r,p+a],[d,p]]],e.properties),g=_t([[[d,p],[d+r,p+a],[d+r,p],[d,p]]],e.properties)):u%2===1&&c%2===1&&(f=_t([[[d,p],[d,p+a],[d+r,p],[d,p]]],e.properties),g=_t([[[d,p+a],[d+r,p+a],[d+r,p],[d,p+a]]],e.properties)),e.mask?(Th(e.mask,f)&&n.push(f),Th(e.mask,g)&&n.push(g)):(n.push(f),n.push(g)),p+=a,u++}c++,d+=r}return Di(n)}function WR(t,i,e){if(e=e||{},typeof e!="object")throw new Error("options is invalid");var n=e.gridType,o=e.property,r=e.weight;if(!t)throw new Error("points is required");if(ED(t,"Point","input must contain Points"),!i)throw new Error("cellSize is required");if(r!==void 0&&typeof r!="number")throw new Error("weight must be a number");o=o||"elevation",n=n||"square",r=r||1;var s=Do(t),a;switch(n){case"point":case"points":a=j0(s,i,e);break;case"square":case"squares":a=VR(s,i,e);break;case"hex":case"hexes":a=zR(s,i,e);break;case"triangle":case"triangles":a=UR(s,i,e);break;default:throw new Error("invalid gridType")}var c=[];return mh(a,function(d){var u=0,p=0;mh(t,function(g){var m=n==="point"?d:nb(d),y=xi(m,g,e),P;if(o!==void 0&&(P=g.properties[o]),P===void 0&&(P=g.geometry.coordinates[2]),P===void 0)throw new Error("zValue is missing");y===0&&(u=P);var S=1/Math.pow(y,r);p+=S,u+=S*P});var f=tb(d);f.properties[o]=u/p,c.push(f)}),Di(c)}function GR(t,i,e){const n=h.Cartesian3.fromDegrees(t[0],t[1],t[2]),o=h.Cartesian3.fromDegrees(i[0],i[1],i[2]),r=h.Cartesian3.subtract(o,n,new h.Cartesian3);h.Cartesian3.normalize(r,r);const s=new h.Ray(n,r),a=e.pickFromRay(s);return!!(e.globe.pick(s,e)||a)}const UC=(t=0)=>new Promise(i=>setTimeout(i,t));function HR(t,i){const e=Di(t.map(c=>zn(c))),n=_t([t]);return WR(e,i,{gridType:"point",units:"meters"}).features.map(c=>c.geometry.coordinates).filter(c=>Pt(zn(c),n))}function qR(t){const i=h.JulianDate.fromDate(t),e=h.Simon1994PlanetaryPositions.computeSunPositionInEarthInertialFrame(i);return rs(e)}function $R(t,i,e){const n=t[0]+(i[0]-t[0])*e,o=t[1]+(i[1]-t[1])*e,r=t[2]+(i[2]-t[2])*e,s=t[3]+(i[3]-t[3])*e;return[n,o,r,s]}const yl=class yl extends Ht{constructor(e,n){super(e,n);v(this,"czmPointPrimitiveCollection");v(this,"_stopRun",!1);const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this.dv(new uo(n,e.id));this.czmPointPrimitiveCollection=r,this.d(l.track([r,"show"],[e,"show"]));{const s=async()=>{if(!(e.points&&e.points.length>=3)||e.endTime<e.startTime){r.pointPrimitiveOptions=void 0;return}const c=[...e.points,e.points[0]],d=e.sampleDistance,u=HR(c,d).map(E=>[...E,e.height]),p=Math.floor(e.extrudedHeight/d);if(p>0){const E=[...u];for(let T=1;T<=p;T++)u.push(...E.map(I=>[I[0],I[1],e.height+T*d]))}const{startTime:f,endTime:g,spanTime:m}=e,y=m*36e5,P=Math.floor((g-f)/y),S=Array(u.length).fill(0);e:for(let E=0;E<P;E++){if(await UC(),this._stopRun)break e;const T=new Date(f+E*y),I=qR(T);t:for(let b=0;b<u.length;b++){if(await UC(),this._stopRun)break t;GR(u[b],I,o.scene)||(S[b]=(S[b]*P+1)/P)}!this._stopRun&&(e.progress=Number(((E+1)/P*100).toFixed(2)))}const C=u.map((E,T)=>({position:[...E],color:$R(e.startColor,e.endColor,S[T]),pixelSize:10}));r.pointPrimitiveOptions=C},a=this.dv(l.createProcessingFromAsyncFunc(async c=>{await c.promise(s())}));this.d(e.startEvent.don(()=>{this._stopRun=!1,r.pointPrimitiveOptions=void 0,e.progress=0,a.restart()})),this.d(e.stopEvent.don(()=>{this._stopRun=!0,r.pointPrimitiveOptions=void 0,e.progress=0,a.isRunning&&a.cancel()}))}}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoPolygon:s}=this;if(!s||!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);if(s.positions){const a=[...s.positions];return s.positions.forEach(c=>{a.push([c[0],c[1],o.extrudedHeight],[c[0],c[1],o.height])}),ae(r,o,n,a,e),!0}return!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoPolygon:s}=this;if(!s||!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,n);if(s.positions){const a=[...s.positions];return s.positions.forEach(c=>{a.push([c[0],c[1],o.extrudedHeight],[c[0],c[1],o.height])}),ae(r,o,n,a,e),!0}return!1}};v(yl,"type",yl.register("ESCesiumViewer",w.ESSunshineAnalysis.type,yl));let wg=yl;const WC=(t=0)=>new Promise(i=>setTimeout(i,t)),Vo=class Vo extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_startEvent",this.disposeVar(new l.Event));v(this,"_stopEvent",this.dv(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_geoPolyline");v(this,"_customPrimitive");v(this,"_geoDivPoi");v(this,"_starting",!1);const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}this._geoPolyline=this.disposeVar(new Ie(e,n)),this._customPrimitive=this.disposeVar(new ke(e,n)),this._geoDivPoi=this.disposeVar(new $e(e,n)),this.ad(this._geoDivPoi.pickedEvent.don(r=>{Wi(r)===0&&this.pickedEvent.emit(r)})),this._geoPolyline.loop=!0,this.d(this.flyToEvent.don(r=>{this._geoPolyline&&this._geoPolyline.flyTo(r)})),this._customPrimitive.primitiveType="LINES",this._customPrimitive.renderState={depthTest:{enabled:!1},cull:{enabled:!1,face:1029},depthMask:!1,blending:{enabled:!1,equationRgb:32774,equationAlpha:32774,functionSourceRgb:770,functionSourceAlpha:1,functionDestinationRgb:771,functionDestinationAlpha:771}},this._customPrimitive.fragmentShaderSource=`
|
|
1878
|
+
`);var r=i+(e?" ":"│ ");t.left&&ug(t.left,r,!1,n,o),t.right&&ug(t.right,r,!0,n,o)}}var pg=function(){function t(i){i===void 0&&(i=dR),this._root=null,this._size=0,this._comparator=i}return t.prototype.insert=function(i,e){return this._size++,this._root=dg(i,e,this._root,this._comparator)},t.prototype.add=function(i,e){var n=new Ln(i,e);this._root===null&&(n.left=n.right=null,this._size++,this._root=n);var o=this._comparator,r=On(i,this._root,o),s=o(i,r.key);return s===0?this._root=r:(s<0?(n.left=r.left,n.right=r,r.left=null):s>0&&(n.right=r.right,n.left=r,r.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(i){this._root=this._remove(i,this._root,this._comparator)},t.prototype._remove=function(i,e,n){var o;if(e===null)return null;e=On(i,e,n);var r=n(i,e.key);return r===0?(e.left===null?o=e.right:(o=On(i,e.left,n),o.right=e.right),this._size--,o):e},t.prototype.pop=function(){var i=this._root;if(i){for(;i.left;)i=i.left;return this._root=On(i.key,this._root,this._comparator),this._root=this._remove(i.key,this._root,this._comparator),{key:i.key,data:i.data}}return null},t.prototype.findStatic=function(i){for(var e=this._root,n=this._comparator;e;){var o=n(i,e.key);if(o===0)return e;o<0?e=e.left:e=e.right}return null},t.prototype.find=function(i){return this._root&&(this._root=On(i,this._root,this._comparator),this._comparator(i,this._root.key)!==0)?null:this._root},t.prototype.contains=function(i){for(var e=this._root,n=this._comparator;e;){var o=n(i,e.key);if(o===0)return!0;o<0?e=e.left:e=e.right}return!1},t.prototype.forEach=function(i,e){for(var n=this._root,o=[],r=!1;!r;)n!==null?(o.push(n),n=n.left):o.length!==0?(n=o.pop(),i.call(e,n),n=n.right):r=!0;return this},t.prototype.range=function(i,e,n,o){for(var r=[],s=this._comparator,a=this._root,c;r.length!==0||a;)if(a)r.push(a),a=a.left;else{if(a=r.pop(),c=s(a.key,e),c>0)break;if(s(a.key,i)>=0&&n.call(o,a))return this;a=a.right}return this},t.prototype.keys=function(){var i=[];return this.forEach(function(e){var n=e.key;return i.push(n)}),i},t.prototype.values=function(){var i=[];return this.forEach(function(e){var n=e.data;return i.push(n)}),i},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(i){if(i===void 0&&(i=this._root),i)for(;i.left;)i=i.left;return i},t.prototype.maxNode=function(i){if(i===void 0&&(i=this._root),i)for(;i.right;)i=i.right;return i},t.prototype.at=function(i){for(var e=this._root,n=!1,o=0,r=[];!n;)if(e)r.push(e),e=e.left;else if(r.length>0){if(e=r.pop(),o===i)return e;o++,e=e.right}else n=!0;return null},t.prototype.next=function(i){var e=this._root,n=null;if(i.right){for(n=i.right;n.left;)n=n.left;return n}for(var o=this._comparator;e;){var r=o(i.key,e.key);if(r===0)break;r<0?(n=e,e=e.left):e=e.right}return n},t.prototype.prev=function(i){var e=this._root,n=null;if(i.left!==null){for(n=i.left;n.right;)n=n.right;return n}for(var o=this._comparator;e;){var r=o(i.key,e.key);if(r===0)break;r<0?e=e.left:(n=e,e=e.right)}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return fR(this._root)},t.prototype.load=function(i,e,n){e===void 0&&(e=[]),n===void 0&&(n=!1);var o=i.length,r=this._comparator;if(n&&mg(i,e,0,o-1,r),this._root===null)this._root=fg(i,e,0,o),this._size=o;else{var s=gR(this.toList(),pR(i,e),r);o=this._size+o,this._root=gg({head:s},0,o)}return this},t.prototype.isEmpty=function(){return this._root===null},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._root},enumerable:!0,configurable:!0}),t.prototype.toString=function(i){i===void 0&&(i=function(n){return String(n.key)});var e=[];return ug(this._root,"",!0,function(n){return e.push(n)},i),e.join("")},t.prototype.update=function(i,e,n){var o=this._comparator,r=TC(i,this._root,o),s=r.left,a=r.right;o(i,e)<0?a=dg(e,n,a,o):s=dg(e,n,s,o),this._root=uR(s,a,o)},t.prototype.split=function(i){return TC(i,this._root,this._comparator)},t.prototype[Symbol.iterator]=function(){var i,e,n;return hR(this,function(o){switch(o.label){case 0:i=this._root,e=[],n=!1,o.label=1;case 1:return n?[3,6]:i===null?[3,2]:(e.push(i),i=i.left,[3,5]);case 2:return e.length===0?[3,4]:(i=e.pop(),[4,i]);case 3:return o.sent(),i=i.right,[3,5];case 4:n=!0,o.label=5;case 5:return[3,1];case 6:return[2]}})},t}();function fg(t,i,e,n){var o=n-e;if(o>0){var r=e+Math.floor(o/2),s=t[r],a=i[r],c=new Ln(s,a);return c.left=fg(t,i,e,r),c.right=fg(t,i,r+1,n),c}return null}function pR(t,i){for(var e=new Ln(null,null),n=e,o=0;o<t.length;o++)n=n.next=new Ln(t[o],i[o]);return n.next=null,e.next}function fR(t){for(var i=t,e=[],n=!1,o=new Ln(null,null),r=o;!n;)i?(e.push(i),i=i.left):e.length>0?(i=r=r.next=e.pop(),i=i.right):n=!0;return r.next=null,o.next}function gg(t,i,e){var n=e-i;if(n>0){var o=i+Math.floor(n/2),r=gg(t,i,o),s=t.head;return s.left=r,t.head=t.head.next,s.right=gg(t,o+1,e),s}return null}function gR(t,i,e){for(var n=new Ln(null,null),o=n,r=t,s=i;r!==null&&s!==null;)e(r.key,s.key)<0?(o.next=r,r=r.next):(o.next=s,s=s.next),o=o.next;return r!==null?o.next=r:s!==null&&(o.next=s),n.next}function mg(t,i,e,n,o){if(!(e>=n)){for(var r=t[e+n>>1],s=e-1,a=n+1;;){do s++;while(o(t[s],r)<0);do a--;while(o(t[a],r)>0);if(s>=a)break;var c=t[s];t[s]=t[a],t[a]=c,c=i[s],i[s]=i[a],i[a]=c}mg(t,i,e,a,o),mg(t,i,a+1,n,o)}}const Bi=11102230246251565e-32,yt=134217729,mR=(3+8*Bi)*Bi;function vg(t,i,e,n,o){let r,s,a,c,d=i[0],u=n[0],p=0,f=0;u>d==u>-d?(r=d,d=i[++p]):(r=u,u=n[++f]);let g=0;if(p<t&&f<e)for(u>d==u>-d?(s=d+r,a=r-(s-d),d=i[++p]):(s=u+r,a=r-(s-u),u=n[++f]),r=s,a!==0&&(o[g++]=a);p<t&&f<e;)u>d==u>-d?(s=r+d,c=s-r,a=r-(s-c)+(d-c),d=i[++p]):(s=r+u,c=s-r,a=r-(s-c)+(u-c),u=n[++f]),r=s,a!==0&&(o[g++]=a);for(;p<t;)s=r+d,c=s-r,a=r-(s-c)+(d-c),d=i[++p],r=s,a!==0&&(o[g++]=a);for(;f<e;)s=r+u,c=s-r,a=r-(s-c)+(u-c),u=n[++f],r=s,a!==0&&(o[g++]=a);return(r!==0||g===0)&&(o[g++]=r),g}function vR(t,i){let e=i[0];for(let n=1;n<t;n++)e+=i[n];return e}function $s(t){return new Float64Array(t)}const yR=(3+16*Bi)*Bi,wR=(2+12*Bi)*Bi,CR=(9+64*Bi)*Bi*Bi,Wr=$s(4),MC=$s(8),IC=$s(12),DC=$s(16),Pt=$s(4);function _R(t,i,e,n,o,r,s){let a,c,d,u,p,f,g,m,y,P,S,C,E,T,I,b,x,z;const W=t-o,N=e-o,L=i-r,U=n-r;T=W*U,f=yt*W,g=f-(f-W),m=W-g,f=yt*U,y=f-(f-U),P=U-y,I=m*P-(T-g*y-m*y-g*P),b=L*N,f=yt*L,g=f-(f-L),m=L-g,f=yt*N,y=f-(f-N),P=N-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,Wr[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,Wr[1]=E-(S+p)+(p-b),z=C+S,p=z-C,Wr[2]=C-(z-p)+(S-p),Wr[3]=z;let _=vR(4,Wr),M=wR*s;if(_>=M||-_>=M||(p=t-W,a=t-(W+p)+(p-o),p=e-N,d=e-(N+p)+(p-o),p=i-L,c=i-(L+p)+(p-r),p=n-U,u=n-(U+p)+(p-r),a===0&&c===0&&d===0&&u===0)||(M=CR*s+mR*Math.abs(_),_+=W*u+U*a-(L*d+N*c),_>=M||-_>=M))return _;T=a*U,f=yt*a,g=f-(f-a),m=a-g,f=yt*U,y=f-(f-U),P=U-y,I=m*P-(T-g*y-m*y-g*P),b=c*N,f=yt*c,g=f-(f-c),m=c-g,f=yt*N,y=f-(f-N),P=N-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,Pt[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,Pt[1]=E-(S+p)+(p-b),z=C+S,p=z-C,Pt[2]=C-(z-p)+(S-p),Pt[3]=z;const F=vg(4,Wr,4,Pt,MC);T=W*u,f=yt*W,g=f-(f-W),m=W-g,f=yt*u,y=f-(f-u),P=u-y,I=m*P-(T-g*y-m*y-g*P),b=L*d,f=yt*L,g=f-(f-L),m=L-g,f=yt*d,y=f-(f-d),P=d-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,Pt[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,Pt[1]=E-(S+p)+(p-b),z=C+S,p=z-C,Pt[2]=C-(z-p)+(S-p),Pt[3]=z;const V=vg(F,MC,4,Pt,IC);T=a*u,f=yt*a,g=f-(f-a),m=a-g,f=yt*u,y=f-(f-u),P=u-y,I=m*P-(T-g*y-m*y-g*P),b=c*d,f=yt*c,g=f-(f-c),m=c-g,f=yt*d,y=f-(f-d),P=d-y,x=m*P-(b-g*y-m*y-g*P),S=I-x,p=I-S,Pt[0]=I-(S+p)+(p-x),C=T+S,p=C-T,E=T-(C-p)+(S-p),S=E-b,p=E-S,Pt[1]=E-(S+p)+(p-b),z=C+S,p=z-C,Pt[2]=C-(z-p)+(S-p),Pt[3]=z;const G=vg(V,IC,4,Pt,DC);return DC[G-1]}function PR(t,i,e,n,o,r){const s=(i-r)*(e-o),a=(t-o)*(n-r),c=s-a,d=Math.abs(s+a);return Math.abs(c)>=yR*d?c:-_R(t,i,e,n,o,r,d)}const Xs=(t,i)=>t.ll.x<=i.x&&i.x<=t.ur.x&&t.ll.y<=i.y&&i.y<=t.ur.y,yg=(t,i)=>{if(i.ur.x<t.ll.x||t.ur.x<i.ll.x||i.ur.y<t.ll.y||t.ur.y<i.ll.y)return null;const e=t.ll.x<i.ll.x?i.ll.x:t.ll.x,n=t.ur.x<i.ur.x?t.ur.x:i.ur.x,o=t.ll.y<i.ll.y?i.ll.y:t.ll.y,r=t.ur.y<i.ur.y?t.ur.y:i.ur.y;return{ll:{x:e,y:o},ur:{x:n,y:r}}};let Nn=Number.EPSILON;Nn===void 0&&(Nn=Math.pow(2,-52));const SR=Nn*Nn,bC=(t,i)=>{if(-Nn<t&&t<Nn&&-Nn<i&&i<Nn)return 0;const e=t-i;return e*e<SR*t*i?0:t<i?-1:1};class ER{constructor(){this.reset()}reset(){this.xRounder=new RC,this.yRounder=new RC}round(i,e){return{x:this.xRounder.round(i),y:this.yRounder.round(e)}}}class RC{constructor(){this.tree=new pg,this.round(0)}round(i){const e=this.tree.add(i),n=this.tree.prev(e);if(n!==null&&bC(e.key,n.key)===0)return this.tree.remove(i),n.key;const o=this.tree.next(e);return o!==null&&bC(e.key,o.key)===0?(this.tree.remove(i),o.key):i}}const Ys=new ER,Sh=(t,i)=>t.x*i.y-t.y*i.x,xC=(t,i)=>t.x*i.x+t.y*i.y,FC=(t,i,e)=>{const n=PR(t.x,t.y,i.x,i.y,e.x,e.y);return n>0?-1:n<0?1:0},Eh=t=>Math.sqrt(xC(t,t)),AR=(t,i,e)=>{const n={x:i.x-t.x,y:i.y-t.y},o={x:e.x-t.x,y:e.y-t.y};return Sh(o,n)/Eh(o)/Eh(n)},TR=(t,i,e)=>{const n={x:i.x-t.x,y:i.y-t.y},o={x:e.x-t.x,y:e.y-t.y};return xC(o,n)/Eh(o)/Eh(n)},kC=(t,i,e)=>i.y===0?null:{x:t.x+i.x/i.y*(e-t.y),y:e},zC=(t,i,e)=>i.x===0?null:{x:e,y:t.y+i.y/i.x*(e-t.x)},MR=(t,i,e,n)=>{if(i.x===0)return zC(e,n,t.x);if(n.x===0)return zC(t,i,e.x);if(i.y===0)return kC(e,n,t.y);if(n.y===0)return kC(t,i,e.y);const o=Sh(i,n);if(o==0)return null;const r={x:e.x-t.x,y:e.y-t.y},s=Sh(r,i)/o,a=Sh(r,n)/o,c=t.x+a*i.x,d=e.x+s*n.x,u=t.y+a*i.y,p=e.y+s*n.y,f=(c+d)/2,g=(u+p)/2;return{x:f,y:g}};class ti{static compare(i,e){const n=ti.comparePoints(i.point,e.point);return n!==0?n:(i.point!==e.point&&i.link(e),i.isLeft!==e.isLeft?i.isLeft?1:-1:Vn.compare(i.segment,e.segment))}static comparePoints(i,e){return i.x<e.x?-1:i.x>e.x?1:i.y<e.y?-1:i.y>e.y?1:0}constructor(i,e){i.events===void 0?i.events=[this]:i.events.push(this),this.point=i,this.isLeft=e}link(i){if(i.point===this.point)throw new Error("Tried to link already linked events");const e=i.point.events;for(let n=0,o=e.length;n<o;n++){const r=e[n];this.point.events.push(r),r.point=this.point}this.checkForConsuming()}checkForConsuming(){const i=this.point.events.length;for(let e=0;e<i;e++){const n=this.point.events[e];if(n.segment.consumedBy===void 0)for(let o=e+1;o<i;o++){const r=this.point.events[o];r.consumedBy===void 0&&n.otherSE.point.events===r.otherSE.point.events&&n.segment.consume(r.segment)}}}getAvailableLinkedEvents(){const i=[];for(let e=0,n=this.point.events.length;e<n;e++){const o=this.point.events[e];o!==this&&!o.segment.ringOut&&o.segment.isInResult()&&i.push(o)}return i}getLeftmostComparator(i){const e=new Map,n=o=>{const r=o.otherSE;e.set(o,{sine:AR(this.point,i.point,r.point),cosine:TR(this.point,i.point,r.point)})};return(o,r)=>{e.has(o)||n(o),e.has(r)||n(r);const{sine:s,cosine:a}=e.get(o),{sine:c,cosine:d}=e.get(r);return s>=0&&c>=0?a<d?1:a>d?-1:0:s<0&&c<0?a<d?-1:a>d?1:0:c<s?-1:c>s?1:0}}}let IR=0;class Vn{static compare(i,e){const n=i.leftSE.point.x,o=e.leftSE.point.x,r=i.rightSE.point.x,s=e.rightSE.point.x;if(s<n)return 1;if(r<o)return-1;const a=i.leftSE.point.y,c=e.leftSE.point.y,d=i.rightSE.point.y,u=e.rightSE.point.y;if(n<o){if(c<a&&c<d)return 1;if(c>a&&c>d)return-1;const p=i.comparePoint(e.leftSE.point);if(p<0)return 1;if(p>0)return-1;const f=e.comparePoint(i.rightSE.point);return f!==0?f:-1}if(n>o){if(a<c&&a<u)return-1;if(a>c&&a>u)return 1;const p=e.comparePoint(i.leftSE.point);if(p!==0)return p;const f=i.comparePoint(e.rightSE.point);return f<0?1:f>0?-1:1}if(a<c)return-1;if(a>c)return 1;if(r<s){const p=e.comparePoint(i.rightSE.point);if(p!==0)return p}if(r>s){const p=i.comparePoint(e.rightSE.point);if(p<0)return 1;if(p>0)return-1}if(r!==s){const p=d-a,f=r-n,g=u-c,m=s-o;if(p>f&&g<m)return 1;if(p<f&&g>m)return-1}return r>s?1:r<s||d<u?-1:d>u?1:i.id<e.id?-1:i.id>e.id?1:0}constructor(i,e,n,o){this.id=++IR,this.leftSE=i,i.segment=this,i.otherSE=e,this.rightSE=e,e.segment=this,e.otherSE=i,this.rings=n,this.windings=o}static fromRing(i,e,n){let o,r,s;const a=ti.comparePoints(i,e);if(a<0)o=i,r=e,s=1;else if(a>0)o=e,r=i,s=-1;else throw new Error(`Tried to create degenerate segment at [${i.x}, ${i.y}]`);const c=new ti(o,!0),d=new ti(r,!1);return new Vn(c,d,[n],[s])}replaceRightSE(i){this.rightSE=i,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const i=this.leftSE.point.y,e=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:i<e?i:e},ur:{x:this.rightSE.point.x,y:i>e?i:e}}}vector(){return{x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}isAnEndpoint(i){return i.x===this.leftSE.point.x&&i.y===this.leftSE.point.y||i.x===this.rightSE.point.x&&i.y===this.rightSE.point.y}comparePoint(i){if(this.isAnEndpoint(i))return 0;const e=this.leftSE.point,n=this.rightSE.point,o=this.vector();if(e.x===n.x)return i.x===e.x?0:i.x<e.x?1:-1;const r=(i.y-e.y)/o.y,s=e.x+r*o.x;if(i.x===s)return 0;const a=(i.x-e.x)/o.x,c=e.y+a*o.y;return i.y===c?0:i.y<c?-1:1}getIntersection(i){const e=this.bbox(),n=i.bbox(),o=yg(e,n);if(o===null)return null;const r=this.leftSE.point,s=this.rightSE.point,a=i.leftSE.point,c=i.rightSE.point,d=Xs(e,a)&&this.comparePoint(a)===0,u=Xs(n,r)&&i.comparePoint(r)===0,p=Xs(e,c)&&this.comparePoint(c)===0,f=Xs(n,s)&&i.comparePoint(s)===0;if(u&&d)return f&&!p?s:!f&&p?c:null;if(u)return p&&r.x===c.x&&r.y===c.y?null:r;if(d)return f&&s.x===a.x&&s.y===a.y?null:a;if(f&&p)return null;if(f)return s;if(p)return c;const g=MR(r,this.vector(),a,i.vector());return g===null||!Xs(o,g)?null:Ys.round(g.x,g.y)}split(i){const e=[],n=i.events!==void 0,o=new ti(i,!0),r=new ti(i,!1),s=this.rightSE;this.replaceRightSE(r),e.push(r),e.push(o);const a=new Vn(o,s,this.rings.slice(),this.windings.slice());return ti.comparePoints(a.leftSE.point,a.rightSE.point)>0&&a.swapEvents(),ti.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),n&&(o.checkForConsuming(),r.checkForConsuming()),e}swapEvents(){const i=this.rightSE;this.rightSE=this.leftSE,this.leftSE=i,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let e=0,n=this.windings.length;e<n;e++)this.windings[e]*=-1}consume(i){let e=this,n=i;for(;e.consumedBy;)e=e.consumedBy;for(;n.consumedBy;)n=n.consumedBy;const o=Vn.compare(e,n);if(o!==0){if(o>0){const r=e;e=n,n=r}if(e.prev===n){const r=e;e=n,n=r}for(let r=0,s=n.rings.length;r<s;r++){const a=n.rings[r],c=n.windings[r],d=e.rings.indexOf(a);d===-1?(e.rings.push(a),e.windings.push(c)):e.windings[d]+=c}n.rings=null,n.windings=null,n.consumedBy=e,n.leftSE.consumedBy=e.leftSE,n.rightSE.consumedBy=e.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const i=this.prev.consumedBy||this.prev;this._beforeState=i.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const i=this.beforeState();this._afterState={rings:i.rings.slice(0),windings:i.windings.slice(0),multiPolys:[]};const e=this._afterState.rings,n=this._afterState.windings,o=this._afterState.multiPolys;for(let a=0,c=this.rings.length;a<c;a++){const d=this.rings[a],u=this.windings[a],p=e.indexOf(d);p===-1?(e.push(d),n.push(u)):n[p]+=u}const r=[],s=[];for(let a=0,c=e.length;a<c;a++){if(n[a]===0)continue;const d=e[a],u=d.poly;if(s.indexOf(u)===-1)if(d.isExterior)r.push(u);else{s.indexOf(u)===-1&&s.push(u);const p=r.indexOf(d.poly);p!==-1&&r.splice(p,1)}}for(let a=0,c=r.length;a<c;a++){const d=r[a].multiPoly;o.indexOf(d)===-1&&o.push(d)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const i=this.beforeState().multiPolys,e=this.afterState().multiPolys;switch(pi.type){case"union":{const n=i.length===0,o=e.length===0;this._isInResult=n!==o;break}case"intersection":{let n,o;i.length<e.length?(n=i.length,o=e.length):(n=e.length,o=i.length),this._isInResult=o===pi.numMultiPolys&&n<o;break}case"xor":{const n=Math.abs(i.length-e.length);this._isInResult=n%2===1;break}case"difference":{const n=o=>o.length===1&&o[0].isSubject;this._isInResult=n(i)!==n(e);break}default:throw new Error(`Unrecognized operation type found ${pi.type}`)}return this._isInResult}}class LC{constructor(i,e,n){if(!Array.isArray(i)||i.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=n,this.segments=[],typeof i[0][0]!="number"||typeof i[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const o=Ys.round(i[0][0],i[0][1]);this.bbox={ll:{x:o.x,y:o.y},ur:{x:o.x,y:o.y}};let r=o;for(let s=1,a=i.length;s<a;s++){if(typeof i[s][0]!="number"||typeof i[s][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");let c=Ys.round(i[s][0],i[s][1]);c.x===r.x&&c.y===r.y||(this.segments.push(Vn.fromRing(r,c,this)),c.x<this.bbox.ll.x&&(this.bbox.ll.x=c.x),c.y<this.bbox.ll.y&&(this.bbox.ll.y=c.y),c.x>this.bbox.ur.x&&(this.bbox.ur.x=c.x),c.y>this.bbox.ur.y&&(this.bbox.ur.y=c.y),r=c)}(o.x!==r.x||o.y!==r.y)&&this.segments.push(Vn.fromRing(r,o,this))}getSweepEvents(){const i=[];for(let e=0,n=this.segments.length;e<n;e++){const o=this.segments[e];i.push(o.leftSE),i.push(o.rightSE)}return i}}class DR{constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new LC(i[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let n=1,o=i.length;n<o;n++){const r=new LC(i[n],this,!1);r.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.interiorRings.push(r)}this.multiPoly=e}getSweepEvents(){const i=this.exteriorRing.getSweepEvents();for(let e=0,n=this.interiorRings.length;e<n;e++){const o=this.interiorRings[e].getSweepEvents();for(let r=0,s=o.length;r<s;r++)i.push(o[r])}return i}}class OC{constructor(i,e){if(!Array.isArray(i))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof i[0][0][0]=="number"&&(i=[i])}catch{}this.polys=[],this.bbox={ll:{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY},ur:{x:Number.NEGATIVE_INFINITY,y:Number.NEGATIVE_INFINITY}};for(let n=0,o=i.length;n<o;n++){const r=new DR(i[n],this);r.bbox.ll.x<this.bbox.ll.x&&(this.bbox.ll.x=r.bbox.ll.x),r.bbox.ll.y<this.bbox.ll.y&&(this.bbox.ll.y=r.bbox.ll.y),r.bbox.ur.x>this.bbox.ur.x&&(this.bbox.ur.x=r.bbox.ur.x),r.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=r.bbox.ur.y),this.polys.push(r)}this.isSubject=e}getSweepEvents(){const i=[];for(let e=0,n=this.polys.length;e<n;e++){const o=this.polys[e].getSweepEvents();for(let r=0,s=o.length;r<s;r++)i.push(o[r])}return i}}class Ah{static factory(i){const e=[];for(let n=0,o=i.length;n<o;n++){const r=i[n];if(!r.isInResult()||r.ringOut)continue;let s=null,a=r.leftSE,c=r.rightSE;const d=[a],u=a.point,p=[];for(;s=a,a=c,d.push(a),a.point!==u;)for(;;){const f=a.getAvailableLinkedEvents();if(f.length===0){const y=d[0].point,P=d[d.length-1].point;throw new Error(`Unable to complete output ring starting at [${y.x}, ${y.y}]. Last matching segment found ends at [${P.x}, ${P.y}].`)}if(f.length===1){c=f[0].otherSE;break}let g=null;for(let y=0,P=p.length;y<P;y++)if(p[y].point===a.point){g=y;break}if(g!==null){const y=p.splice(g)[0],P=d.splice(y.index);P.unshift(P[0].otherSE),e.push(new Ah(P.reverse()));continue}p.push({index:d.length,point:a.point});const m=a.getLeftmostComparator(s);c=f.sort(m)[0].otherSE;break}e.push(new Ah(d))}return e}constructor(i){this.events=i;for(let e=0,n=i.length;e<n;e++)i[e].segment.ringOut=this;this.poly=null}getGeom(){let i=this.events[0].point;const e=[i];for(let d=1,u=this.events.length-1;d<u;d++){const p=this.events[d].point,f=this.events[d+1].point;FC(p,i,f)!==0&&(e.push(p),i=p)}if(e.length===1)return null;const n=e[0],o=e[1];FC(n,i,o)===0&&e.shift(),e.push(e[0]);const r=this.isExteriorRing()?1:-1,s=this.isExteriorRing()?0:e.length-1,a=this.isExteriorRing()?e.length:-1,c=[];for(let d=s;d!=a;d+=r)c.push([e[d].x,e[d].y]);return c}isExteriorRing(){if(this._isExteriorRing===void 0){const i=this.enclosingRing();this._isExteriorRing=i?!i.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let i=this.events[0];for(let o=1,r=this.events.length;o<r;o++){const s=this.events[o];ti.compare(i,s)>0&&(i=s)}let e=i.segment.prevInResult(),n=e?e.prevInResult():null;for(;;){if(!e)return null;if(!n)return e.ringOut;if(n.ringOut!==e.ringOut)return n.ringOut.enclosingRing()!==e.ringOut?e.ringOut:e.ringOut.enclosingRing();e=n.prevInResult(),n=e?e.prevInResult():null}}}class NC{constructor(i){this.exteriorRing=i,i.poly=this,this.interiorRings=[]}addInterior(i){this.interiorRings.push(i),i.poly=this}getGeom(){const i=[this.exteriorRing.getGeom()];if(i[0]===null)return null;for(let e=0,n=this.interiorRings.length;e<n;e++){const o=this.interiorRings[e].getGeom();o!==null&&i.push(o)}return i}}class bR{constructor(i){this.rings=i,this.polys=this._composePolys(i)}getGeom(){const i=[];for(let e=0,n=this.polys.length;e<n;e++){const o=this.polys[e].getGeom();o!==null&&i.push(o)}return i}_composePolys(i){const e=[];for(let n=0,o=i.length;n<o;n++){const r=i[n];if(!r.poly)if(r.isExteriorRing())e.push(new NC(r));else{const s=r.enclosingRing();s.poly||e.push(new NC(s)),s.poly.addInterior(r)}}return e}}class RR{constructor(i){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Vn.compare;this.queue=i,this.tree=new pg(e),this.segments=[]}process(i){const e=i.segment,n=[];if(i.consumedBy)return i.isLeft?this.queue.remove(i.otherSE):this.tree.remove(e),n;const o=i.isLeft?this.tree.add(e):this.tree.find(e);if(!o)throw new Error(`Unable to find segment #${e.id} [${e.leftSE.point.x}, ${e.leftSE.point.y}] -> [${e.rightSE.point.x}, ${e.rightSE.point.y}] in SweepLine tree.`);let r=o,s=o,a,c;for(;a===void 0;)r=this.tree.prev(r),r===null?a=null:r.key.consumedBy===void 0&&(a=r.key);for(;c===void 0;)s=this.tree.next(s),s===null?c=null:s.key.consumedBy===void 0&&(c=s.key);if(i.isLeft){let d=null;if(a){const p=a.getIntersection(e);if(p!==null&&(e.isAnEndpoint(p)||(d=p),!a.isAnEndpoint(p))){const f=this._splitSafely(a,p);for(let g=0,m=f.length;g<m;g++)n.push(f[g])}}let u=null;if(c){const p=c.getIntersection(e);if(p!==null&&(e.isAnEndpoint(p)||(u=p),!c.isAnEndpoint(p))){const f=this._splitSafely(c,p);for(let g=0,m=f.length;g<m;g++)n.push(f[g])}}if(d!==null||u!==null){let p=null;d===null?p=u:u===null?p=d:p=ti.comparePoints(d,u)<=0?d:u,this.queue.remove(e.rightSE),n.push(e.rightSE);const f=e.split(p);for(let g=0,m=f.length;g<m;g++)n.push(f[g])}n.length>0?(this.tree.remove(e),n.push(i)):(this.segments.push(e),e.prev=a)}else{if(a&&c){const d=a.getIntersection(c);if(d!==null){if(!a.isAnEndpoint(d)){const u=this._splitSafely(a,d);for(let p=0,f=u.length;p<f;p++)n.push(u[p])}if(!c.isAnEndpoint(d)){const u=this._splitSafely(c,d);for(let p=0,f=u.length;p<f;p++)n.push(u[p])}}}this.tree.remove(e)}return n}_splitSafely(i,e){this.tree.remove(i);const n=i.rightSE;this.queue.remove(n);const o=i.split(e);return o.push(n),i.consumedBy===void 0&&this.tree.add(i),o}}const VC=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE||1e6,xR=typeof process<"u"&&process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS||1e6;class FR{run(i,e,n){pi.type=i,Ys.reset();const o=[new OC(e,!0)];for(let p=0,f=n.length;p<f;p++)o.push(new OC(n[p],!1));if(pi.numMultiPolys=o.length,pi.type==="difference"){const p=o[0];let f=1;for(;f<o.length;)yg(o[f].bbox,p.bbox)!==null?f++:o.splice(f,1)}if(pi.type==="intersection")for(let p=0,f=o.length;p<f;p++){const g=o[p];for(let m=p+1,y=o.length;m<y;m++)if(yg(g.bbox,o[m].bbox)===null)return[]}const r=new pg(ti.compare);for(let p=0,f=o.length;p<f;p++){const g=o[p].getSweepEvents();for(let m=0,y=g.length;m<y;m++)if(r.insert(g[m]),r.size>VC)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big).")}const s=new RR(r);let a=r.size,c=r.pop();for(;c;){const p=c.key;if(r.size===a){const g=p.segment;throw new Error(`Unable to pop() ${p.isLeft?"left":"right"} SweepEvent [${p.point.x}, ${p.point.y}] from segment #${g.id} [${g.leftSE.point.x}, ${g.leftSE.point.y}] -> [${g.rightSE.point.x}, ${g.rightSE.point.y}] from queue.`)}if(r.size>VC)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big).");if(s.segments.length>xR)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments).");const f=s.process(p);for(let g=0,m=f.length;g<m;g++){const y=f[g];y.consumedBy===void 0&&r.insert(y)}a=r.size,c=r.pop()}Ys.reset();const d=Ah.factory(s.segments);return new bR(d).getGeom()}}const pi=new FR;var kR={union:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("union",t,e)},intersection:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("intersection",t,e)},xor:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("xor",t,e)},difference:function(t){for(var i=arguments.length,e=new Array(i>1?i-1:0),n=1;n<i;n++)e[n-1]=arguments[n];return pi.run("difference",t,e)}};function Th(t,i,e){e===void 0&&(e={});var n=Ri(t),o=Ri(i),r=kR.intersection(n.coordinates,o.coordinates);return r.length===0?null:r.length===1?Ct(r[0],e.properties):PD(r,e.properties)}function zR(t,i,e){e===void 0&&(e={});var n=JSON.stringify(e.properties||{}),o=t[0],r=t[1],s=t[2],a=t[3],c=(r+a)/2,d=(o+s)/2,u=i*2/xi([o,c],[s,c],e),p=u*(s-o),f=i*2/xi([d,r],[d,a],e),g=f*(a-r),m=p/2,y=m*2,P=Math.sqrt(3)/2*g,S=s-o,C=a-r,E=3/4*y,T=P,I=(S-y)/(y-m/2),b=Math.floor(I),x=(b*E-m/2-S)/2-m/2+E/2,z=Math.floor((C-P)/P),W=(C-z*P)/2,N=z*P-C>P/2;N&&(W-=P/4);for(var L=[],U=[],_=0;_<6;_++){var M=2*Math.PI/6*_;L.push(Math.cos(M)),U.push(Math.sin(M))}for(var F=[],V=0;V<=b;V++)for(var G=0;G<=z;G++){var Z=V%2===1;if(!(G===0&&Z)&&!(G===0&&N)){var $=V*E+o-x,Y=G*T+r+W;if(Z&&(Y-=P/2),e.triangles===!0)OR([$,Y],p/2,g/2,JSON.parse(n),L,U).forEach(function(te){e.mask?Th(e.mask,te)&&F.push(te):F.push(te)});else{var K=LR([$,Y],p/2,g/2,JSON.parse(n),L,U);e.mask?Th(e.mask,K)&&F.push(K):F.push(K)}}}return Di(F)}function LR(t,i,e,n,o,r){for(var s=[],a=0;a<6;a++){var c=t[0]+i*o[a],d=t[1]+e*r[a];s.push([c,d])}return s.push(s[0].slice()),Ct([s],n)}function OR(t,i,e,n,o,r){for(var s=[],a=0;a<6;a++){var c=[];c.push(t),c.push([t[0]+i*o[a],t[1]+e*r[a]]),c.push([t[0]+i*o[(a+1)%6],t[1]+e*r[(a+1)%6]]),c.push(t),s.push(Ct([c],n))}return s}function NR(t,i,e,n){n===void 0&&(n={});for(var o=[],r=t[0],s=t[1],a=t[2],c=t[3],d=i/xi([r,s],[a,s],n),u=d*(a-r),p=e/xi([r,s],[r,c],n),f=p*(c-s),g=a-r,m=c-s,y=Math.floor(g/u),P=Math.floor(m/f),S=(g-y*u)/2,C=(m-P*f)/2,E=r+S,T=0;T<y;T++){for(var I=s+C,b=0;b<P;b++){var x=Ct([[[E,I],[E,I+f],[E+u,I+f],[E+u,I],[E,I]]],n.properties);n.mask?cR(n.mask,x)&&o.push(x):o.push(x),I+=f}E+=u}return Di(o)}function VR(t,i,e){return e===void 0&&(e={}),NR(t,i,i,e)}function UR(t,i,e){e===void 0&&(e={});for(var n=[],o=i/xi([t[0],t[1]],[t[2],t[1]],e),r=o*(t[2]-t[0]),s=i/xi([t[0],t[1]],[t[0],t[3]],e),a=s*(t[3]-t[1]),c=0,d=t[0];d<=t[2];){for(var u=0,p=t[1];p<=t[3];){var f=null,g=null;c%2===0&&u%2===0?(f=Ct([[[d,p],[d,p+a],[d+r,p],[d,p]]],e.properties),g=Ct([[[d,p+a],[d+r,p+a],[d+r,p],[d,p+a]]],e.properties)):c%2===0&&u%2===1?(f=Ct([[[d,p],[d+r,p+a],[d+r,p],[d,p]]],e.properties),g=Ct([[[d,p],[d,p+a],[d+r,p+a],[d,p]]],e.properties)):u%2===0&&c%2===1?(f=Ct([[[d,p],[d,p+a],[d+r,p+a],[d,p]]],e.properties),g=Ct([[[d,p],[d+r,p+a],[d+r,p],[d,p]]],e.properties)):u%2===1&&c%2===1&&(f=Ct([[[d,p],[d,p+a],[d+r,p],[d,p]]],e.properties),g=Ct([[[d,p+a],[d+r,p+a],[d+r,p],[d,p+a]]],e.properties)),e.mask?(Th(e.mask,f)&&n.push(f),Th(e.mask,g)&&n.push(g)):(n.push(f),n.push(g)),p+=a,u++}c++,d+=r}return Di(n)}function WR(t,i,e){if(e=e||{},typeof e!="object")throw new Error("options is invalid");var n=e.gridType,o=e.property,r=e.weight;if(!t)throw new Error("points is required");if(ED(t,"Point","input must contain Points"),!i)throw new Error("cellSize is required");if(r!==void 0&&typeof r!="number")throw new Error("weight must be a number");o=o||"elevation",n=n||"square",r=r||1;var s=Do(t),a;switch(n){case"point":case"points":a=j0(s,i,e);break;case"square":case"squares":a=VR(s,i,e);break;case"hex":case"hexes":a=zR(s,i,e);break;case"triangle":case"triangles":a=UR(s,i,e);break;default:throw new Error("invalid gridType")}var c=[];return mh(a,function(d){var u=0,p=0;mh(t,function(g){var m=n==="point"?d:nb(d),y=xi(m,g,e),P;if(o!==void 0&&(P=g.properties[o]),P===void 0&&(P=g.geometry.coordinates[2]),P===void 0)throw new Error("zValue is missing");y===0&&(u=P);var S=1/Math.pow(y,r);p+=S,u+=S*P});var f=tb(d);f.properties[o]=u/p,c.push(f)}),Di(c)}function GR(t,i,e){const n=h.Cartesian3.fromDegrees(t[0],t[1],t[2]),o=h.Cartesian3.fromDegrees(i[0],i[1],i[2]),r=h.Cartesian3.subtract(o,n,new h.Cartesian3);h.Cartesian3.normalize(r,r);const s=new h.Ray(n,r),a=e.pickFromRay(s);return!!(e.globe.pick(s,e)||a)}const UC=(t=0)=>new Promise(i=>setTimeout(i,t));function HR(t,i){const e=Di(t.map(c=>zn(c))),n=Ct([t]);return WR(e,i,{gridType:"point",units:"meters"}).features.map(c=>c.geometry.coordinates).filter(c=>_t(zn(c),n))}function qR(t){const i=h.JulianDate.fromDate(t),e=h.Simon1994PlanetaryPositions.computeSunPositionInEarthInertialFrame(i);return rs(e)}function $R(t,i,e){const n=t[0]+(i[0]-t[0])*e,o=t[1]+(i[1]-t[1])*e,r=t[2]+(i[2]-t[2])*e,s=t[3]+(i[3]-t[3])*e;return[n,o,r,s]}const yl=class yl extends Ht{constructor(e,n){super(e,n);v(this,"czmPointPrimitiveCollection");v(this,"_stopRun",!1);const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this.dv(new uo(n,e.id));this.czmPointPrimitiveCollection=r,this.d(l.track([r,"show"],[e,"show"]));{const s=async()=>{if(!(e.points&&e.points.length>=3)||e.endTime<e.startTime){r.pointPrimitiveOptions=void 0;return}const c=[...e.points,e.points[0]],d=e.sampleDistance,u=HR(c,d).map(E=>[...E,e.height]),p=Math.floor(e.extrudedHeight/d);if(p>0){const E=[...u];for(let T=1;T<=p;T++)u.push(...E.map(I=>[I[0],I[1],e.height+T*d]))}const{startTime:f,endTime:g,spanTime:m}=e,y=m*36e5,P=Math.floor((g-f)/y),S=Array(u.length).fill(0);e:for(let E=0;E<P;E++){if(await UC(),this._stopRun)break e;const T=new Date(f+E*y),I=qR(T);t:for(let b=0;b<u.length;b++){if(await UC(),this._stopRun)break t;GR(u[b],I,o.scene)||(S[b]=(S[b]*P+1)/P)}!this._stopRun&&(e.progress=Number(((E+1)/P*100).toFixed(2)))}const C=u.map((E,T)=>({position:[...E],color:$R(e.startColor,e.endColor,S[T]),pixelSize:10}));r.pointPrimitiveOptions=C},a=this.dv(l.createProcessingFromAsyncFunc(async c=>{await c.promise(s())}));this.d(e.startEvent.don(()=>{this._stopRun=!1,r.pointPrimitiveOptions=void 0,e.progress=0,a.restart()})),this.d(e.stopEvent.don(()=>{this._stopRun=!0,r.pointPrimitiveOptions=void 0,e.progress=0,a.isRunning&&a.cancel()}))}}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoPolygon:s}=this;if(!s||!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);if(s.positions){const a=[...s.positions];return s.positions.forEach(c=>{a.push([c[0],c[1],o.extrudedHeight],[c[0],c[1],o.height])}),ae(r,o,n,a,e),!0}return!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,geoPolygon:s}=this;if(!s||!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,n);if(s.positions){const a=[...s.positions];return s.positions.forEach(c=>{a.push([c[0],c[1],o.extrudedHeight],[c[0],c[1],o.height])}),ae(r,o,n,a,e),!0}return!1}};v(yl,"type",yl.register("ESCesiumViewer",w.ESSunshineAnalysis.type,yl));let wg=yl;const WC=(t=0)=>new Promise(i=>setTimeout(i,t)),Vo=class Vo extends l.Destroyable{constructor(e,n){super();v(this,"_pickedEvent",this.disposeVar(new l.Event));v(this,"_startEvent",this.disposeVar(new l.Event));v(this,"_stopEvent",this.dv(new l.Event));v(this,"_flyToEvent",this.disposeVar(new l.Event));v(this,"_geoPolyline");v(this,"_customPrimitive");v(this,"_geoDivPoi");v(this,"_starting",!1);const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}this._geoPolyline=this.disposeVar(new Ie(e,n)),this._customPrimitive=this.disposeVar(new ke(e,n)),this._geoDivPoi=this.disposeVar(new $e(e,n)),this.ad(this._geoDivPoi.pickedEvent.don(r=>{Wi(r)===0&&this.pickedEvent.emit(r)})),this._geoPolyline.loop=!0,this.d(this.flyToEvent.don(r=>{this._geoPolyline&&this._geoPolyline.flyTo(r)})),this._customPrimitive.primitiveType="LINES",this._customPrimitive.renderState={depthTest:{enabled:!1},cull:{enabled:!1,face:1029},depthMask:!1,blending:{enabled:!1,equationRgb:32774,equationAlpha:32774,functionSourceRgb:770,functionSourceAlpha:1,functionDestinationRgb:771,functionDestinationAlpha:771}},this._customPrimitive.fragmentShaderSource=`
|
|
1879
1879
|
uniform vec4 u_color;
|
|
1880
1880
|
void main()
|
|
1881
1881
|
{
|
|
@@ -1887,7 +1887,7 @@ void main()
|
|
|
1887
1887
|
gl_Position = czm_modelViewProjection * vec4(position, 1.0);
|
|
1888
1888
|
}
|
|
1889
1889
|
`,this._customPrimitive.uniformMap={u_color:[1,1,0,1]},this.d(l.track([this._customPrimitive,"show"],[this,"show"])),this.d(l.track([this._geoPolyline,"show"],[this,"show"])),this.d(l.bind([this._geoPolyline,"positions"],[this,"positions"])),this.d(l.bind([this._geoPolyline,"width"],[this,"outlineWidth"])),this.d(l.bind([this._geoPolyline,"color"],[this,"outlineColor"]));{let r=function(d,u){const p=[];for(const f of u)switch(f){case"SquareMeter_SquareKilometer":d>=1e6?p.push(`面积:${(d/1e6).toFixed(2)} km²`):p.push(`面积:${d.toFixed(2)} m²`);break;case"MU_Hectare":const g=d*(1/666.7);if(g>=15){const m=g/15;p.push(`面积:${m.toFixed(2)} 公顷`)}else p.push(`面积:${g.toFixed(2)} 亩`);break}return p};const s=()=>{let d=[];this.totalArea?this._starting?d=["分析计算中..."]:d=[...r(this.totalArea,this.units)]:this._starting?d=["分析计算中..."]:d=["暂无分析结果"],this._geoDivPoi&&(this._geoDivPoi.innerHTML=oo([...d].join(`
|
|
1890
|
-
`),24))};s(),this.d(this.totalAreaChanged.don(s)),this.d(this.unitsChanged.don(s)),this.d(l.track([this._geoDivPoi,"show"],[this,"show"])),this.d(this.positionsChanged.don(()=>{this._geoDivPoi&&(this.positions&&this.positions.length>=3?this._geoDivPoi.position=e0(this.positions):this._geoDivPoi.position=void 0)}));const a=async()=>{if((!this.positions||this.positions.length<3)&&this.customPrimitive){this.totalArea=0,this.customPrimitive.position=void 0,this.customPrimitive.attributes=void 0,this.customPrimitive.indexTypedArray=void 0,this.customPrimitive.show=!1;return}const d=this.interpolationDistance??Vo.defaults.interpolationDistance,u=this.interpolation??Vo.defaults.interpolation,p=this.offsetHeight??Vo.defaults.offsetHeight,f=this.drillDepth??Vo.defaults.drillDepth,g=[];if(this.positions)for(let $=0;$<this.positions.length;++$){const Y=h.Cartesian3.fromDegrees(this.positions[$][0],this.positions[$][1],this.positions[$][2]);g.push(Y)}var m=YR(g);if(isNaN(m.x)||isNaN(m.y)||isNaN(m.z)){console.warn("法向量计算错误!");return}var y=ZR(g),P=h.Cartesian3.normalize(y,new h.Cartesian3),S=h.Cartesian3.dot(P,m);S<0&&(m=GC(m),g.reverse());let C=h.Transforms.eastNorthUpToFixedFrame(y),E=h.Matrix4.inverseTransformation(C,new h.Matrix4);if(Math.abs(S)<.999){const $=QR(m,P);var T=GC(y),I=h.Matrix4.fromTranslation(T,new h.Matrix4);E=h.Matrix4.multiply($,I,I),C=h.Matrix4.inverse(E,new h.Matrix4)}var b=Gr(g,E),x=[],z=[],W=JR(b);if(u&&d>0){var N=KR(b);const $=Math.max(N.maxy-N.miny,N.maxx-N.minx);var L=t2(W,N,d);const Y=await Cg(L,C,E,m,o.scene,p,f,$);var U=i2(b,d);const K=await Cg(U,C,E,m,o.scene,p,f,$);z.push(...Y.world_cartesian),x.push(...Y.local),z.push(...K.world_cartesian),x.push(...K.local);for(let te=0;te<b.length;++te){const re=b[te];var _=await Cg([re],C,E,m,o.scene,p,f,$);if(_.local.length>0)x.push(..._.local),z.push(..._.world_cartesian);else{const ge=[re.x,re.y,re.z+p];x.push(ge);var M=Gr([h.Cartesian3.fromArray(ge)],C);for(let ye=0;ye<M.length;++ye)z.push(M[ye])}}}else{const $=b.map(Y=>h.Cartesian3.fromArray([Y.x,Y.y,Y.z+$]));x=$,z=Gr($,C)}var F=BR(x,W);const V=jR(z,F);this.totalArea=V;const G=[];x.forEach($=>{const Y=[$.x,$.y,$.z];Y&&G.push(...Y)});const Z={position:{typedArray:new Float32Array(G),componentsPerAttribute:3}};if(this.customPrimitive){this.customPrimitive.modelMatrix=h.Matrix4.toArray(C),this.customPrimitive.attributes=Z;const $=await XR([...F]);this.customPrimitive.indexTypedArray=new Uint32Array($),this.customPrimitive.show=!0;const Y=this.customPrimitive.computeLocalAxisedBoundingBoxFromAttribute("position");if(!Y)return;const{min:K,max:te}=Y;this.customPrimitive.setLocalAxisedBoundingBox(K,te)}},c=this.dv(l.createProcessingFromAsyncFunc(async d=>{await d.promise(a()),this._starting=!1,s()}));this.d(this.startEvent.don(()=>{if(this._starting){console.log("正在计算中...");return}this._starting=!0,s(),c.restart()})),this.d(this.stopEvent.don(()=>{c.cancel(),this._starting=!1,this.totalArea=0,this.customPrimitive.position=void 0,this.customPrimitive.attributes=void 0,this.customPrimitive.indexTypedArray=void 0,this.customPrimitive.show=!1,s()}))}}get pickedEvent(){return this._pickedEvent}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolyline(){return this._geoPolyline}get customPrimitive(){return this._customPrimitive}get geoDivPoi(){return this._geoDivPoi}};v(Vo,"defaults",{positions:[],totalArea:0,interpolation:!0,interpolationDistance:.5,offsetHeight:0,drillDepth:3,outlineWidth:2,outlineColor:[1,1,1,1]});let bo=Vo;(t=>{t.createDefaultProps=()=>({positions:l.reactArrayWithUndefined(void 0),show:void 0,totalArea:void 0,interpolationDistance:void 0,interpolation:void 0,offsetHeight:void 0,drillDepth:void 0,outlineWidth:void 0,outlineColor:l.reactArray([1,1,1,1]),units:l.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"])})})(bo||(bo={})),l.extendClassProps(bo.prototype,bo.createDefaultProps);async function XR(t){t.length%3!==0&&console.warn("当前传入的索引不是3的倍数,可能不是三角片的索引!");const i=t.length/3|0,e=new Array(i*6);for(let n=0;n<i;++n)await WC(),e[n*6+0]=t[n*3+0],e[n*6+1]=t[n*3+1],e[n*6+2]=t[n*3+2],e[n*6+3]=t[n*3+1],e[n*6+4]=t[n*3+2],e[n*6+5]=t[n*3+0];return e}function YR(t){var i=new h.Cartesian3(0,0,0),e=new h.Cartesian3(0,0,0),n=new h.Cartesian3(0,0,0),o=new h.Cartesian3(0,0,0);t[0].equals(t[t.length-1])&&t.pop();var r=t.length;for(let d=0;d<r;++d){var s=t[d],a;d==0?a=t[t.length-1]:a=t[d-1];var c;d==t.length-1?c=t[0]:c=t[d+1],i=h.Cartesian3.subtract(s,a,i),e=h.Cartesian3.subtract(s,c,e),n=h.Cartesian3.cross(i,e,n),!n.equalsEpsilon(h.Cartesian3.ZERO,h.Math.EPSILON6)&&(n=h.Cartesian3.normalize(n,n),o=h.Cartesian3.add(o,n,o))}return n.x=o.x/r,n.y=o.y/r,n.z=o.z/r,n}function ZR(t){var i=new h.Cartesian3(0,0,0),e=t.length;for(let o=0;o<e;++o){var n=t[o];i=h.Cartesian3.add(i,n,i)}return i.x=i.x/e,i.y=i.y/e,i.z=i.z/e,i}function GC(t){return new h.Cartesian3(-1*t.x,-1*t.y,-1*t.z)}function QR(t,i){var e=h.Cartesian3.cross(t,i,new h.Cartesian3);e=h.Cartesian3.normalize(e,e);var n=h.Cartesian3.cross(t,e,new h.Cartesian3);n=h.Cartesian3.normalize(n,n);var o=t,r=new h.Matrix4(e.x,e.y,e.z,0,n.x,n.y,n.z,0,o.x,o.y,o.z,0,0,0,0,1);return r}function Gr(t,i){var e=[];for(let r=0;r<t.length;++r){var n=t[r],o=h.Matrix4.multiplyByPoint(i,n,new h.Cartesian3);e.push(o)}return e}function KR(t){var i=t[0].x,e=t[0].y,n=t[0].x,o=t[0].y;return t.forEach(r=>{i=Math.min(i,r.x),e=Math.min(e,r.y),n=Math.max(n,r.x),o=Math.max(o,r.y)}),{minx:i,miny:e,maxx:n,maxy:o}}function JR(t){var i=[];return t.forEach(e=>{i.push([e.x,e.y])}),i.push(i[0]),i}function BR(t,i){var e=[];t.forEach(s=>{const a=[s.x,s.y];e.push(a)});var n=H_.from(e).triangles;const o=[],r=_t([i]);for(let s=0;s<n.length;s+=3){const a=n[s],c=n[s+1],d=n[s+2],u=(t[a].x+t[c].x+t[d].x)/3,p=(t[a].y+t[c].y+t[d].y)/3;Pt([u,p],r)&&o.push(a,c,d)}return new Uint32Array(o.reverse())}function jR(t,i){for(var e=0,n=0;n<i.length;n+=3){const o=[t[i[n]],t[i[n+1]],t[i[n+2]]];e+=e2(o)}return e}function e2(t){var i=h.Cartesian3.distance(t[0],t[1]),e=h.Cartesian3.distance(t[1],t[2]),n=h.Cartesian3.distance(t[2],t[0]),o=(i+e+n)/2,r=Math.sqrt(o*(o-i)*(o-e)*(o-n));return r||0}function t2(t,i,e){for(var n=[],o=i.minx;o<i.maxx;o+=e)for(var r=i.miny;r<i.maxy;r+=e)o2([o,r],t)&&n.push(new h.Cartesian3(o,r,0));return n}function i2(t,i){var e=[];for(let s=0;s<t.length;++s){var n=t[s],o;s==t.length-1?o=t[0]:o=t[s+1];var r=n2(n,o,i);e.push(...r)}return e}function n2(t,i,e){var n=[],o=h.Cartesian3.distance(t,i),r=h.Cartesian3.subtract(i,t,new h.Cartesian3);if(r.equalsEpsilon(h.Cartesian3.ZERO,h.Math.EPSILON6))return[];r=h.Cartesian3.normalize(r,r);for(var s=e;s<o;){var a=new h.Cartesian3(r.x*s,r.y*s,r.z*s),c=h.Cartesian3.add(t,a,new h.Cartesian3);n.push(c),s+=e}return n}function o2(t,i){var e=zn(t);if(!lR(zn(i[0]),zn(i[i.length-1])))return!1;var n=[];n.push(i);var o=_t(n);return Pt(e,o)}async function Cg(t,i,e,n,o,r,s,a){var c=[];t.forEach(E=>{var T=E.clone();T.z=a,c.push(T)});var d=Gr(c,i),u=new h.Cartesian3(-1*n.x,-1*n.y,-1*n.z),p=[],f=[],g=[];for(let E=0;E<d.length;++E){await WC();var m=d[E],y=new h.Ray(m,u),P=void 0;try{P=o.pickFromRay(y)}catch{}if(!P){y=new h.Ray(m,n);try{P=o.pickFromRay(y)}catch{}}if(P){var S=P.position;if(!(!S||!S.x||isNaN(S.x))){var C=Gr([S],e);C.forEach(T=>{T.z+=r}),S=Gr(C,i)[0],g.push(S),S=h.Cartographic.fromCartesian(S),p.push([S.longitude,S.latitude,S.height]),f.push(C[0])}}}return{local:f,world:p,world_cartesian:g}}const wl=class wl extends Ht{constructor(e,n){super(e,n);v(this,"_czmAreaMeasurement");if(this._czmAreaMeasurement=this.disposeVar(new bo(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmAreaMeasurement;this.ad(l.track([e,"surfaceArea"],[r,"totalArea"])),this.ad(l.track([r,"units"],[e,"units"])),this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([r,"positions"],[e,"points"])),this.d(l.track([r,"interpolationDistance"],[e,"interpolation"])),this.d(l.track([r,"offsetHeight"],[e,"offsetHeight"]));{const s=()=>{if(this.geoPolygon&&(this.geoPolygon.outline=!1),e.stroked)r.outlineWidth=e.strokeWidth;else{r.outlineWidth=0;return}r.outlineWidth=e.strokeWidth,r.outlineColor=e.strokeColor};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.d(a.disposableOn(s))}this.d(e.startEvent.don(()=>{this._czmAreaMeasurement.start()})),this.d(e.stopEvent.don(()=>{this._czmAreaMeasurement.stop()}))}get czmAreaMeasurement(){return this._czmAreaMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmAreaMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.positions&&ae(r,o,n,s.positions,e),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmAreaMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.positions&&ae(r,o,n,s.positions,e),!0):!1}};v(wl,"type",wl.register("ESCesiumViewer",w.ESSurfaceAreaMeasurement.type,wl));let _g=wl;async function r2(t){navigator.clipboard.writeText(t).then(function(){console.log("复制成功")},function(i){console.log("复制失败")})}const Cl=class Cl extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){if(super(),this._subContainer=a,!d||!(d instanceof Re))return;d.extensions.cursorPositionInfo.enabled=!0;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u)),u.style.width="100%",u.style.position="absolute",u.style.height=`${w.ESViewerStatusBar.defaults.height}px`,u.style.left="0",u.style.bottom="0",u.style.color="#fff",u.style.padding="0 20px 0 0",u.style.boxSizing="border-box",u.style.lineHeight=`${w.ESViewerStatusBar.defaults.height}px`,u.style.zIndex="100",u.style.alignContent="center",u.style.justifyContent="space-between";const p=document.createElement("span");u.appendChild(p),this.dispose(()=>u.removeChild(p));const f=document.createElement("span");p.appendChild(f),this.dispose(()=>p.removeChild(f));const g=document.createElement("span");p.appendChild(g),g.addEventListener("dblclick",function(){let y=g.innerHTML;y.startsWith("鼠标位置")&&(y=y.slice(5)),r2(y)}),g.style.cursor="pointer",this.dispose(()=>p.removeChild(g));const m=document.createElement("span");u.appendChild(m),this.dispose(()=>u.removeChild(m));{const y=()=>{u.style.height=(e.height??w.ESViewerStatusBar.defaults.height)+"px",u.style.lineHeight=(e.height??w.ESViewerStatusBar.defaults.height)+"px"};this.dispose(e.heightChanged.disposableOn(y)),y()}{const y=()=>{u.style.fontSize=(e.fontSize??w.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(e.fontSizeChanged.disposableOn(y)),y()}{const y=()=>{e.bgColor?u.style.background=`rgba(${e.bgColor[0]*255},${e.bgColor[1]*255},${e.bgColor[2]*255},${e.bgColor[3]})`:u.style.background=`rgba(${w.ESViewerStatusBar.defaults.bgColor[0]},${w.ESViewerStatusBar.defaults.bgColor[1]},${w.ESViewerStatusBar.defaults.bgColor[2]},${w.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(e.bgColorChanged.disposableOn(y)),y()}{m.innerText=`Cesium 版本 : ${h.VERSION} `;let y;const P=()=>{e.show?(u.style.display="flex",y=this.disposeVar(l.createAnimateFrameWithStartValues(()=>{var I;let S="",C="";const E=d.getCameraInfo();if(E){const b=(z,W)=>E.position[z].toFixed(W),x=(z,W)=>E.rotation[z].toFixed(W);S=`帧率:${d.getFPS()}FPS 经度: ${b(0,5)}° 纬度: ${b(1,5)}° 高度: ${b(2,2)}米 偏航角: ${x(0,2)}° 俯仰角: ${x(1,2)}° 翻滚角:${x(2,2)}° `}f.innerText=S;const T=(I=d.extensions)==null?void 0:I.cursorPositionInfo.cursorPosition;if(T){const b=(x,z)=>T[x].toFixed(z);C=`鼠标位置:${b(0,5)}° ${b(1,5)}° ${b(2,2)}m`}else C="暂时无法获取鼠标位置...";g.innerText=C})),y.start()):(u.style.display="none",y.destroy())};this.dispose(e.showChanged.disposableOn(P)),P()}}}}get customDiv(){return this._customDiv}};v(Cl,"type",Cl.register("ESCesiumViewer",w.ESViewerStatusBar.type,Cl));let Pg=Cl;const _l=class _l extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),this.dispose(l.track([r,"show"],[e,"show"])),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){if(super(),this._subContainer=a,!d||!(d instanceof Re))return;d.extensions.cursorPositionInfo.enabled=!0;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u));const p=document.createElement("div");u.appendChild(p),p.style.width="100%",p.className="ESViewerStatusBarScale",p.style.position="absolute",p.style.display="flex",p.style.height=`${w.ESViewerStatusBarScale.defaults.height}px`,p.style.left="0",p.style.bottom="0",p.style.color="#fff",p.style.padding="0 20px 0 0",p.style.boxSizing="border-box",p.style.lineHeight=`${w.ESViewerStatusBarScale.defaults.height}px`,p.style.zIndex="100",p.style.alignContent="center",p.style.justifyContent="space-between";const f=document.createElement("div");p.appendChild(f);const g=document.createElement("div");f.appendChild(g);const m=document.createElement("div");f.appendChild(m);const y=document.createElement("div");p.appendChild(y);const P=document.createElement("div");y.appendChild(P);const S=document.createElement("div");P.appendChild(S);const C=document.createElement("div");P.appendChild(C);const E=document.createElement("span");y.appendChild(E);{const z=()=>{p.style.height=(e.height??w.ESViewerStatusBarScale.defaults.height)+"px",p.style.lineHeight=(e.height??w.ESViewerStatusBarScale.defaults.height)+"px"};this.dispose(e.heightChanged.disposableOn(z)),z()}{const z=()=>{p.style.fontSize=(e.fontSize??w.ESViewerStatusBarScale.defaults.fontSize)+"px"};this.dispose(e.fontSizeChanged.disposableOn(z)),z()}{const z=()=>{e.bgColor?p.style.background=`rgba(${e.bgColor[0]*255},${e.bgColor[1]*255},${e.bgColor[2]*255},${e.bgColor[3]})`:p.style.background=`rgba(${w.ESViewerStatusBarScale.defaults.bgColor[0]},${w.ESViewerStatusBarScale.defaults.bgColor[1]},${w.ESViewerStatusBarScale.defaults.bgColor[2]},${w.ESViewerStatusBarScale.defaults.bgColor[3]})`};this.dispose(e.bgColorChanged.disposableOn(z)),z()}f.style.display="flex",g.style.fontWeight="bold",g.style.padding="0 0 0 25px";let T="EarthSDK";g.innerText=T,m.style.fontWeight="";let I="——免费开源地球可视化开发包";m.innerText=I,y.style.width="550px",P.style.position="fixed",P.style.width="125px",P.style.height="30px",P.style.padding="0 5px",P.style.display="flex",P.style.justifyContent="flex-end",P.style.pointerEvents="auto",P.style.zIndex="101",S.style.width="125px",S.style.display="inline-block",S.style.textAlign="center",S.style.fontSize="14px",S.style.fontWeight="lighter",S.style.lineHeight="30px",S.style.color="#fff",S.innerHTML="1000km",C.style.borderRight="1px solid #fff",C.style.borderLeft="1px solid #fff",C.style.borderBottom="1px solid #fff",C.style.position="absolute",C.style.height="10px",C.style.top="15px",C.style.width="75px",C.style.right=`${60/2}px`,E.style.display="flex",E.style.zIndex="101",E.style.justifyContent="flex-end",E.style.right="0";const b=()=>{const z=n.viewerLegend.legend.computedLengthInMeters;if(e.show===!1||z&&z>1e6)P.style.display="none";else{P.style.display="block";const W=n.viewerLegend.legend.computedLengthInStr;W&&(S.innerHTML=W);const N=n.viewerLegend.legend.computedLengthInPixels;if(N){C.style.width=`${N}px`;const L=(135-N)/2;C.style.left=`${L}px`}}};b();const x=setInterval(()=>{b()},200);this.dispose(()=>clearInterval(x));{let z;const W=()=>{e.show?(u.style.display="block",z=this.disposeVar(l.createAnimateFrameWithStartValues(()=>{var _;let N="";const L=d.getCameraInfo();if(L){const M=(F,V)=>L.position[F].toFixed(V);N+=`帧率:${d.getFPS()}FPS 相机: ${M(2,2)}米 `}const U=(_=d.extensions)==null?void 0:_.cursorPositionInfo.cursorPosition;if(U){const M=(F,V)=>U[F].toFixed(V);N+=`位置:${M(0,5)}° ${M(1,5)}° ${M(2,2)}米`}else N+="暂时无法获取鼠标位置...";E.innerText=N})),z.start()):(u.style.display="none",z.destroy())};this.dispose(e.showChanged.disposableOn(W)),W()}}}}get customDiv(){return this._customDiv}};v(_l,"type",_l.register("ESCesiumViewer",w.ESViewerStatusBarScale.type,_l));let Sg=_l;const HC=h.Math.toDegrees,s2=new h.Cartographic;function qC(t,i,e){const n=h.Cartesian3.fromDegrees(t[0],t[1],t[2]),o=h.Cartesian3.fromDegrees(i[0],i[1],i[2]),r=h.Cartesian3.subtract(o,n,new h.Cartesian3);h.Cartesian3.normalize(r,r);const s=new h.Ray(n,r),a=e.pickFromRay(s),c=e.globe.pick(s,e);var d;if(a&&a.position&&c){const m=h.Cartesian3.distance(n,a.position),y=h.Cartesian3.distance(n,c);d=m<y?a.position:c}else a&&a.position?d=a.position:c&&(d=c);if(!d)return;const u=h.Cartesian3.distance(n,o),f=h.Cartesian3.distance(n,d)>u?o:d,g=h.Cartographic.fromCartesian(f,void 0,s2);return[HC(g.longitude),HC(g.latitude),g.height]}const Pl=class Pl extends vt{constructor(e,n){super(e,n);v(this,"_hideGeoPolylines",this.disposeVar(new Gt(this.czmViewer,this.sceneObject.id)));v(this,"_visibleGeoPolylines",this.disposeVar(new Gt(this.czmViewer,this.sceneObject.id)));const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this._hideGeoPolylines,s=this._visibleGeoPolylines;this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([s,"show"],[e,"show"])),this.d(l.track([s,"color"],[e,"visibleColor"])),this.d(l.track([r,"color"],[e,"invisibleColor"]));{const a=()=>{const d=e.points,u=e.heightOffset;if(!d||d.length<2||d[0].toString()===d[1].toString()){r.positions=void 0,s.positions=void 0;return}const p=[],f=[],[g,m,y]=d[0],P=[g,m,y+u];try{d.forEach((S,C)=>{if(C===0)return;const E=qC(P,S,o.scene);E?(p.push([S,E]),f.push([P,E])):f.push([P,S])}),r.positions=p,s.positions=f}catch(S){console.warn(S)}};a();const c=this.dv(l.createNextAnimateFrameEvent(e.pointsChanged,e.heightOffsetChanged));this.d(c.don(a))}}get hideGeoPolylines(){return this._hideGeoPolylines}get visibleGeoPolylines(){return this._visibleGeoPolylines}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);{let s=[];return this.visibleGeoPolylines.positions&&(s=[...this.visibleGeoPolylines.positions.flat()]),this.hideGeoPolylines.positions&&(s=[...s,...this.hideGeoPolylines.positions.flat()]),ae(r,o,n,s,e),!0}}flyIn(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,n);{let s=[];return this.visibleGeoPolylines.positions&&(s=[...this.visibleGeoPolylines.positions.flat()]),this.hideGeoPolylines.positions&&(s=[...s,...this.hideGeoPolylines.positions.flat()]),ae(r,o,n,s,e),!0}}};v(Pl,"type",Pl.register("ESCesiumViewer",w.ESVisibilityAnalysis.type,Pl));let Eg=Pl;class Zs extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.dv(new l.Event));v(this,"_enableEvent",this.dv(new l.Event));v(this,"_clearEvent",this.dv(new l.Event));v(this,"_gridPoints",this.dv(l.reactJson([])));v(this,"excavationPolylines");v(this,"fillPolylines");const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this.dv(new Gt(e,n)),s=this.dv(new Gt(e,n));this.excavationPolylines=r,this.fillPolylines=s;const a=r;a.color=[1,1,0,1],this.d(l.track([a,"show"],[this,"show"])),a.show=!1,a.depthTest=!0;const c=s;c.color=[0,0,1,1],this.d(l.track([c,"show"],[this,"show"])),c.show=!1;{const g=this.ad(new Mi(e,n));this.d(l.track([g,"show"],[this,"show"])),this.d(l.bind([g,"allowPicking"],[this,"allowPicking"])),this.d(l.bind([g,"positions"],[this,"positions"])),this.d(l.bind([g,"depthTest"],[this,"depthTest"])),this.d(l.bind([g,"outlineWidth"],[this,"outlineWidth"])),this.d(l.bind([g,"outlineColor"],[this,"outlineColor"])),this.d(l.bind([g,"outline"],[this,"outline"])),this.d(l.bind([g,"color"],[this,"fillColor"])),this.d(l.bind([g,"fill"],[this,"filled"])),this.d(l.bind([g,"strokeGround"],[this,"strokeGround"])),this.d(l.bind([g,"ground"],[this,"fillGround"])),this.d(this.flyToEvent.don(P=>{g.flyTo(P)}));const m=()=>{g.positions=this.positions};m();const y=this.dv(l.createNextAnimateFrameEvent(this.positionsChanged));this.d(y.don(m))}const d=()=>{if(!this.positions||!this.positions.length)return;const{minPos:g,maxPos:m}=w.getMinMaxCorner(this.positions),y=g[0],P=g[1],S=m[0],C=m[1],T={type:"Polygon",coordinates:[[...this.positions.map(U=>[U[0],U[1]])]]},I=[y,P,S,C],b=this.gridWidth,W=j0(I,b,{units:"meters",mask:T}).features.map(U=>U.geometry.coordinates),N=h.Math.toRadians;return W.map(U=>new h.Cartographic(N(U[0]),N(U[1])))},u=()=>{a.positions=[],c.positions=[],this.area=0,this.cutVolume=0,this.fillVolume=0,this.cutAndFillVolume=0,a.depthTest=!0},p=this.dv(l.createProcessingFromAsyncFunc(async g=>{const m=d();let y=0,P=300;const S=Math.ceil(m.length/P),C=[];do{let E=[];y===S-1?E=m.slice(y*P):E=m.slice(y*P,(y+1)*P);const T=o.scene.sampleHeightMostDetailed(E),I=await g.promise(T);if(y===S-1?this.progress=Math.round(this.progress+100/S):this.progress+=100/S,I&&I.length){const b=h.Math.toDegrees,x=I.filter(z=>z!=null).map(z=>[b(z.longitude),b(z.latitude),z.height]);C.push(...x)}y++}while(y<S);!C||!C.length||(this.gridPoints=C)}));let f=null;{const g=()=>{if(!this.positions||!this.positions.length||!this.gridPoints)return;let m=0;const y=[];let P=0;const S=[];this.gridPoints.forEach(C=>{const E=this.positions;C[2]>E[0][2]?(m+=this.gridWidth*this.gridWidth*(C[2]-E[0][2]),y.push([C,[C[0],C[1],E[0][2]]])):(P+=this.gridWidth*this.gridWidth*(E[0][2]-C[2]),S.push([C,[C[0],C[1],E[0][2]]]))}),a.positions=y,c.positions=S,a.show=!0,c.show=!0,this.area=jy(this.positions),this.cutVolume=m,this.fillVolume=P,this.cutAndFillVolume=P-m,f&&clearTimeout(f),f=setTimeout(()=>{a.depthTest=!1},200)};g(),this.d(this.gridPointsChanged.don(g)),this.d(()=>clearTimeout(f))}{const g=()=>{if(!this.positions||!this.positions.length){this.planeHeight=void 0;return}this.planeHeight=this.positions[0][2]};g(),this.d(this.positionsChanged.don(g))}{const g=()=>{if(!this.planeHeight||!this.positions||!this.positions.length)return;const m=JSON.parse(JSON.stringify(this.positions.slice(1)));m.unshift([this.positions[0][0],this.positions[0][1],this.planeHeight]),this.positions=m};g(),this.d(this.planeHeightChanged.don(g))}this.d(this.enableEvent.don(()=>{u(),this.gridPoints=[],this.progress=0,p.restart()})),this.d(this.clearEvent.don(()=>{u()}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get enableEvent(){return this._enableEvent}enableEmit(){this._enableEvent.emit()}get clearEvent(){return this._clearEvent}clearEmit(){this._clearEvent.emit()}get gridPoints(){return this._gridPoints.value}set gridPoints(e){this._gridPoints.value=e}get gridPointsChanged(){return this._gridPoints.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),planeHeight:l.react(void 0),gridWidth:1,area:0,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,outlineWidth:2,outlineColor:[1,1,1,1],outline:!0,filled:!1,fillColor:[1,1,1,1],fillGround:!1,strokeGround:!1})})(Zs||(Zs={})),l.extendClassProps(Zs.prototype,Zs.createDefaultProps);const Sl=class Sl extends Ht{constructor(e,n){super(e,n);v(this,"_geoVolumeMeasurement");if(this._geoVolumeMeasurement=this.dv(new Zs(this.czmViewer,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._geoVolumeMeasurement;this.d(l.track([r,"show"],[e,"show"])),this.d(l.bind([r,"positions"],[e,"points"])),this.d(l.track([r,"allowPicking"],[e,"allowPicking"])),this.d(l.bind([r,"planeHeight"],[e,"planeHeight"])),this.d(l.track([r,"gridWidth"],[e,"gridWidth"])),this.d(l.track([e,"cutVolume"],[r,"cutVolume"])),this.d(l.track([e,"fillVolume"],[r,"fillVolume"])),this.d(l.track([e,"cutAndFillVolume"],[r,"cutAndFillVolume"])),this.d(l.bind([e,"progress"],[r,"progress"])),this.d(l.track([r,"depthTest"],[e,"depthTest"])),this.d(l.track([r,"outline"],[e,"stroked"])),this.d(l.track([r,"outlineWidth"],[e,"strokeWidth"])),this.d(l.track([r,"outlineColor"],[e,"strokeColor"])),this.d(l.track([r,"filled"],[e,"filled"])),this.d(l.track([r,"fillColor"],[e,"fillColor"])),this.d(l.track([r,"fillGround"],[e,"fillGround"])),this.d(l.track([r,"strokeGround"],[e,"strokeGround"])),this.ad(l.track([e,"volume"],[e,"cutAndFillVolume"])),this.d(e.startEvent.don(()=>{r.enableEmit()})),this.d(e.clearEvent.don(()=>{r.clearEmit()}))}get geoVolumeMeasurement(){return this._geoVolumeMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoVolumeMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Sl,"type",Sl.register("ESCesiumViewer",w.ESVolumeMeasurement.type,Sl));let Ag=Sl;const El=class El extends Ht{constructor(e,n){super(e,n);v(this,"czmEntity");v(this,"czmPolyline",this.ad(new w.ESGeoLineString));const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this.czmPolyline;n.add(r),this.ad(()=>n.delete(r)),this.ad(l.bind([r,"show"],[e,"show"])),this.ad(l.bind([r,"allowPicking"],[e,"allowPicking"])),this.ad(l.bind([r,"stroked"],[e,"stroked"])),this.ad(l.bind([r,"strokeColor"],[e,"strokeColor"])),this.ad(l.bind([r,"strokeWidth"],[e,"strokeWidth"])),this.ad(l.bind([r,"strokeGround"],[e,"strokeGround"]));{const d=()=>{if(!e.points||e.points.length<2)r.points=e.points;else{const p=structuredClone(e.points);p.push(p[0]),e.perPositionHeight?r.points=p:r.points=p.map(f=>(f[2]=e.height??w.ESGeoExtrudedPolygon.defaults.height,f))}};d();const u=this.ad(l.createNextAnimateFrameEvent(e.pointsChanged,e.heightChanged,e.perPositionHeightChanged));this.ad(u.don(d))}const s=this.czmEntity=o.entities.add({polygon:{}});h.Entity.prototype&&(s.ESSceneObjectID=e.id),this.dispose(()=>o.entities.remove(s));let a=new h.PolygonHierarchy;s.polygon&&(s.polygon.hierarchy=new h.CallbackProperty(()=>a,!1));const c=()=>{const d=dt(e.points??[]);if(d.length<2){a=new h.PolygonHierarchy;return}a=new h.PolygonHierarchy(d)};c(),this.dispose(e.pointsChanged.disposableOn(c));{const d=()=>{s.show=e.show&&e.filled,this.geoPolygon&&(this.geoPolygon.show=e.show&&!s.show&&e.filled)};d();const u=this.ad(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.ad(u.don(d))}{const d=()=>{s.polygon&&(s.polygon.perPositionHeight=new h.ConstantProperty(e.perPositionHeight),c())};d(),this.ad(e.perPositionHeightChanged.don(d))}{const d=()=>{s.polygon&&(s.polygon.height=new h.ConstantProperty(e.height??w.ESGeoExtrudedPolygon.defaults.height))};d(),this.dispose(e.heightChanged.disposableOn(d))}{const d=()=>{s.polygon&&(s.polygon.extrudedHeight=new h.ConstantProperty(e.extrudedHeight??w.ESGeoExtrudedPolygon.defaults.extrudedHeight))};d(),this.dispose(e.extrudedHeightChanged.disposableOn(d))}{const d=()=>{const u=h.Color.fromCartesian4(h.Cartesian4.fromArray(e.fillColor));s.polygon&&(s.polygon.material=u)};d(),this.dispose(e.fillColorChanged.disposableOn(d))}this.disposeVar(new l.ObjResettingWithEvent(e.allowPickingChanged,()=>{if(!e.allowPicking)return new Re.ObjectsToExcludeWrapper(n,s)}))}getMinAndMaxheight(){const{sceneObject:e}=this;if(e.points){const{minPos:n,maxPos:o}=w.getMinMaxCorner(e.points);return[n[2],o[2]]}return[0,0]}};v(El,"type",El.register("ESCesiumViewer",w.ESGeoExtrudedPolygon.type,El));let Tg=El;const Al=class Al extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const{human:o,poi:r}=i;this.dispose(l.bind([o,"position"],[i,"position"])),this.dispose(l.bind([o,"rotation"],[i,"rotation"])),this.ad(l.bind([o,"scale"],[i,"scale"])),this.ad(l.track([r,"scale"],[i,"scale"])),this.dispose(l.track([r,"rotation"],[i,"rotation"]));const s=()=>{const c=i.position;r.position=[c[0],c[1],c[2]+i.poiOffsetHeight]};s();const a=this.dv(l.createNextAnimateFrameEvent(i.positionChanged,i.poiOffsetHeightChanged));this.d(a.don(s)),this.ad(r.pickedEvent.don(c=>{c.assign({sceneObject:i}),i.pickedEvent.emit(c)}))}};v(Al,"type",Al.register("ESCesiumViewer",w.ESHumanPoi.type,Al));let Mg=Al;const Tl=class Tl extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(i.highlightInner3DtilesetEvent.don(o=>{o.strokeFeature([]);const r=o.d(o.tilesetReady.donce(c=>{c.allTilesLoaded.addEventListener(()=>{var u,p,f,g;const d=(g=(f=(p=(u=c==null?void 0:c._root)==null?void 0:u._content)==null?void 0:p._model)==null?void 0:f._featureTables[0])==null?void 0:g._features[0];d?o.strokeFeature([d],h.Color.LIME.toBytes().map(m=>m/255)):console.warn("tileset?._root?._content?._model?._featureTables[0]?._features[0] is undefined !",c),r()})})),s=o.url,a=Date.now();s.includes("?reload=")?o.url=s.replace(/\?reload=\d+/,`?reload=${a}`):o.url=s+`?reload=${a}`})),this.d(i.removeHighlightInner3DtilesetEvent.don(o=>{o.strokeFeature([])})),this.d(i.es3DTileset.tilesetReady.don(o=>{const r=()=>{const a=i.layerConfig;if(!a){o.style=void 0;return}const c=i.colorBlendMode,d=(f,g)=>{try{if(f.getPropertyIds().includes("materialName"))return h.Color.clone(h.Color.WHITE,g);const m=f.getProperty("layer"),y=f.getProperty("dataset"),P=m.toString(),S=y.toString(),C=a.find(T=>T.dataset.toString()===S&&T.layer.toString()===P);if(C&&C.value.color){const T=C.value.color;return h.Color.fromCssColorString(T,g)}const E=a.filter(T=>T.dataset.toString()===S);if(E.length==1&&E[0].value.color){const T=E[0].value.color;return h.Color.fromCssColorString(T,g)}else return h.Color.clone(h.Color.WHITE,g)}catch(m){return console.warn(m),h.Color.clone(h.Color.WHITE,g)}},u=f=>{try{if(f.getPropertyIds().includes("id")){const E=Object.entries(i.visJson);for(let T=0;T<E.length;T++){const I=E[T];if(f.getProperty("id").toString()===I[0])return I[1]}}if(f.getPropertyIds().includes("materialName"))return!0;const g=f.getProperty("layer"),m=f.getProperty("dataset"),y=g.toString(),P=m.toString(),S=a.find(E=>E.dataset.toString()===P&&E.layer.toString()===y);if(S&&S.value.visible===!1)return!1;if(S&&S.value.visible===!0)return!0;const C=a.filter(E=>E.dataset.toString()===P);return!(C.length==1&&C[0].value.visible===!1)}catch(g){return console.warn(g),!0}};let p;c!=="HIGHLIGHT"?p=new h.Cesium3DTileStyle({color:{evaluateColor:function(f,g){return d(f,g)}},show:{evaluate:function(f){return u(f)}}}):p=new h.Cesium3DTileStyle({show:{evaluate:function(f){return u(f)}}}),console.log("style",p),o.style=p};r();const s=this.dv(l.createNextAnimateFrameEvent(i.layerConfigChanged,i.colorBlendModeChanged,i.visJsonChanged));this.d(s.don(()=>{r()}))}))}};v(Tl,"type",Tl.register("ESCesiumViewer",w.ESRtsTileset.type,Tl));let Ig=Tl;const Ml=class Ml extends Ar{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}};v(Ml,"type",Ml.register("ESCesiumViewer",w.ESRtsFeatureEditing.type,Ml));let Dg=Ml;const Il=class Il extends Ar{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}};v(Il,"type",Il.register("ESCesiumViewer",w.ESMsTileset.type,Il));let bg=Il;const Dl=class Dl extends Ce{constructor(e,n){super(e,n);v(this,"_czmGeoPoint");if(this._czmGeoPoint=this.disposeVar(new Bt(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoPoint;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"]))}get czmGeoPoint(){return this._czmGeoPoint}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoPoint:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(Dl,"type",Dl.register("ESCesiumViewer",w.ESStaticMesh.type,Dl));let Rg=Dl;const bl=class bl extends vt{constructor(i,e){super(i,e);const n=e.viewer;if(!n){console.warn("viewer is undefined!");return}const o=this.ad(new Ym(n));this.ad(i.startEvent.don(async()=>{const r=await o.getDepthsFromScreen(),s=Number.isFinite(i.radius)?i.radius:w.ESSkylineAnalysis.defaults.radius,{depths:a,windowPositions:c,positions:d}=o.getSkylineDepthsAndPositions(r,n.scene.canvas.width,n.scene.canvas.height,s),u=ce(n.camera.position);d.push(u),i.depths=a,i.windowPositions=c,i.points=d}))}flyTo(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyToParam||n.flyInParam?super.flyTo(i,e):n.points?(ae(o,n,e,n.points,i),!0):!1:!1}flyIn(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyInParam?super.flyIn(i,e):n.points?(ae(o,n,e,n.points,i),!0):!1:!1}};v(bl,"type",bl.register("ESCesiumViewer",w.ESSkylineAnalysis.type,bl));let xg=bl;class a2 extends l.Destroyable{constructor(e,n){super();v(this,"_rectangle");v(this,"_updateHeatMapEvent",this.disposeVar(new l.Event));const o=e.sceneObject;this._rectangle=this.ad(new Ci(n,o.id)),this._rectangle.ground=!0,this._rectangle.outline=!1,this.ad(l.bind([this.rectangle,"show"],[o,"show"])),this.ad(l.bind([this.rectangle,"allowPicking"],[o,"allowPicking"])),this.ad(this.updateHeatMapEvent.don(r=>{this.rectangle.rectangle=e.rectangle,this.rectangle.material={type:"Image",image:r}}))}get rectangle(){return this._rectangle}get updateHeatMapEvent(){return this._updateHeatMapEvent}updateHeatMap(e){this._updateHeatMapEvent.emit(e)}}class l2 extends l.Destroyable{constructor(e,n){super();v(this,"_primitive");v(this,"_updateHeatMapEvent",this.disposeVar(new l.Event));v(this,"czmViewer");v(this,"czmESHeatMap");const o=this.czmViewer=n,r=this.czmESHeatMap=e,s=r.sceneObject,a=o.viewer;if(!a)return;let c,d;const u=this.ad(new l.Event),p=()=>{f(),!(!c||!d)&&(this._primitive=a.scene.primitives.add(new h.Primitive({geometryInstances:c,appearance:d,asynchronous:!1,allowPicking:s.allowPicking})))},f=()=>{this.primitive&&a.scene.primitives.remove(this.primitive)};this.ad(f);{const g=()=>{this.primitive&&(this.primitive.show=s.show)};g(),this.ad(s.showChanged.don(g))}{const g=this.ad(l.createNextAnimateFrameEvent(s.allowPickingChanged,u));this.ad(g.don(p))}{const g=()=>{r.rectangle&&(c=new h.GeometryInstance({geometry:this.createHeatmapGeometry(Number.parseFloat(r.div.style.width),Number.parseFloat(r.div.style.height))}),this.primitive&&(this._primitive._state=3,this._primitive._appearance=void 0,this._primitive.geometryInstances=c,this._primitive._recomputeBoundingSpheres=!0))};this.ad(this.updateHeatMapEvent.don(m=>{if(!r.rectangle)return;const y=r.rectangle[1]+(r.rectangle[3]-r.rectangle[1])*.5,P=w.getDistancesFromPositions([[r.rectangle[0],y,0],[r.rectangle[2],y,0]],"GEODESIC")[0]/5;d=new h.MaterialAppearance({material:new h.Material({fabric:{type:"Image",uniforms:{image:m}},translucent:!0}),vertexShaderSource:this.getVertexShaderSource(P),flat:!0}),this.primitive&&r.rectangle&&(this.primitive.appearance.material.uniforms.image=m,this.primitive.appearance._vertexShaderSource=this.getVertexShaderSource(P)),g(),this.primitive||u.emit()}))}}get primitive(){return this._primitive}get updateHeatMapEvent(){return this._updateHeatMapEvent}updateHeatMap(e){this._updateHeatMapEvent.emit(e)}getVertexShaderSource(e){return`
|
|
1890
|
+
`),24))};s(),this.d(this.totalAreaChanged.don(s)),this.d(this.unitsChanged.don(s)),this.d(l.track([this._geoDivPoi,"show"],[this,"show"])),this.d(this.positionsChanged.don(()=>{this._geoDivPoi&&(this.positions&&this.positions.length>=3?this._geoDivPoi.position=e0(this.positions):this._geoDivPoi.position=void 0)}));const a=async()=>{if((!this.positions||this.positions.length<3)&&this.customPrimitive){this.totalArea=0,this.customPrimitive.position=void 0,this.customPrimitive.attributes=void 0,this.customPrimitive.indexTypedArray=void 0,this.customPrimitive.show=!1;return}const d=this.interpolationDistance??Vo.defaults.interpolationDistance,u=this.interpolation??Vo.defaults.interpolation,p=this.offsetHeight??Vo.defaults.offsetHeight,f=this.drillDepth??Vo.defaults.drillDepth,g=[];if(this.positions)for(let $=0;$<this.positions.length;++$){const Y=h.Cartesian3.fromDegrees(this.positions[$][0],this.positions[$][1],this.positions[$][2]);g.push(Y)}var m=YR(g);if(isNaN(m.x)||isNaN(m.y)||isNaN(m.z)){console.warn("法向量计算错误!");return}var y=ZR(g),P=h.Cartesian3.normalize(y,new h.Cartesian3),S=h.Cartesian3.dot(P,m);S<0&&(m=GC(m),g.reverse());let C=h.Transforms.eastNorthUpToFixedFrame(y),E=h.Matrix4.inverseTransformation(C,new h.Matrix4);if(Math.abs(S)<.999){const $=QR(m,P);var T=GC(y),I=h.Matrix4.fromTranslation(T,new h.Matrix4);E=h.Matrix4.multiply($,I,I),C=h.Matrix4.inverse(E,new h.Matrix4)}var b=Gr(g,E),x=[],z=[],W=JR(b);if(u&&d>0){var N=KR(b);const $=Math.max(N.maxy-N.miny,N.maxx-N.minx);var L=t2(W,N,d);const Y=await Cg(L,C,E,m,o.scene,p,f,$);var U=i2(b,d);const K=await Cg(U,C,E,m,o.scene,p,f,$);z.push(...Y.world_cartesian),x.push(...Y.local),z.push(...K.world_cartesian),x.push(...K.local);for(let te=0;te<b.length;++te){const re=b[te];var _=await Cg([re],C,E,m,o.scene,p,f,$);if(_.local.length>0)x.push(..._.local),z.push(..._.world_cartesian);else{const ge=[re.x,re.y,re.z+p];x.push(ge);var M=Gr([h.Cartesian3.fromArray(ge)],C);for(let ye=0;ye<M.length;++ye)z.push(M[ye])}}}else{const $=b.map(Y=>h.Cartesian3.fromArray([Y.x,Y.y,Y.z+$]));x=$,z=Gr($,C)}var F=BR(x,W);const V=jR(z,F);this.totalArea=V;const G=[];x.forEach($=>{const Y=[$.x,$.y,$.z];Y&&G.push(...Y)});const Z={position:{typedArray:new Float32Array(G),componentsPerAttribute:3}};if(this.customPrimitive){this.customPrimitive.modelMatrix=h.Matrix4.toArray(C),this.customPrimitive.attributes=Z;const $=await XR([...F]);this.customPrimitive.indexTypedArray=new Uint32Array($),this.customPrimitive.show=!0;const Y=this.customPrimitive.computeLocalAxisedBoundingBoxFromAttribute("position");if(!Y)return;const{min:K,max:te}=Y;this.customPrimitive.setLocalAxisedBoundingBox(K,te)}},c=this.dv(l.createProcessingFromAsyncFunc(async d=>{await d.promise(a()),this._starting=!1,s()}));this.d(this.startEvent.don(()=>{if(this._starting){console.log("正在计算中...");return}this._starting=!0,s(),c.restart()})),this.d(this.stopEvent.don(()=>{c.cancel(),this._starting=!1,this.totalArea=0,this.customPrimitive.position=void 0,this.customPrimitive.attributes=void 0,this.customPrimitive.indexTypedArray=void 0,this.customPrimitive.show=!1,s()}))}}get pickedEvent(){return this._pickedEvent}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get stopEvent(){return this._stopEvent}stop(){this._stopEvent.emit()}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get geoPolyline(){return this._geoPolyline}get customPrimitive(){return this._customPrimitive}get geoDivPoi(){return this._geoDivPoi}};v(Vo,"defaults",{positions:[],totalArea:0,interpolation:!0,interpolationDistance:.5,offsetHeight:0,drillDepth:3,outlineWidth:2,outlineColor:[1,1,1,1]});let bo=Vo;(t=>{t.createDefaultProps=()=>({positions:l.reactArrayWithUndefined(void 0),show:void 0,totalArea:void 0,interpolationDistance:void 0,interpolation:void 0,offsetHeight:void 0,drillDepth:void 0,outlineWidth:void 0,outlineColor:l.reactArray([1,1,1,1]),units:l.reactArray(["SquareMeter_SquareKilometer","MU_Hectare"])})})(bo||(bo={})),l.extendClassProps(bo.prototype,bo.createDefaultProps);async function XR(t){t.length%3!==0&&console.warn("当前传入的索引不是3的倍数,可能不是三角片的索引!");const i=t.length/3|0,e=new Array(i*6);for(let n=0;n<i;++n)await WC(),e[n*6+0]=t[n*3+0],e[n*6+1]=t[n*3+1],e[n*6+2]=t[n*3+2],e[n*6+3]=t[n*3+1],e[n*6+4]=t[n*3+2],e[n*6+5]=t[n*3+0];return e}function YR(t){var i=new h.Cartesian3(0,0,0),e=new h.Cartesian3(0,0,0),n=new h.Cartesian3(0,0,0),o=new h.Cartesian3(0,0,0);t[0].equals(t[t.length-1])&&t.pop();var r=t.length;for(let d=0;d<r;++d){var s=t[d],a;d==0?a=t[t.length-1]:a=t[d-1];var c;d==t.length-1?c=t[0]:c=t[d+1],i=h.Cartesian3.subtract(s,a,i),e=h.Cartesian3.subtract(s,c,e),n=h.Cartesian3.cross(i,e,n),!n.equalsEpsilon(h.Cartesian3.ZERO,h.Math.EPSILON6)&&(n=h.Cartesian3.normalize(n,n),o=h.Cartesian3.add(o,n,o))}return n.x=o.x/r,n.y=o.y/r,n.z=o.z/r,n}function ZR(t){var i=new h.Cartesian3(0,0,0),e=t.length;for(let o=0;o<e;++o){var n=t[o];i=h.Cartesian3.add(i,n,i)}return i.x=i.x/e,i.y=i.y/e,i.z=i.z/e,i}function GC(t){return new h.Cartesian3(-1*t.x,-1*t.y,-1*t.z)}function QR(t,i){var e=h.Cartesian3.cross(t,i,new h.Cartesian3);e=h.Cartesian3.normalize(e,e);var n=h.Cartesian3.cross(t,e,new h.Cartesian3);n=h.Cartesian3.normalize(n,n);var o=t,r=new h.Matrix4(e.x,e.y,e.z,0,n.x,n.y,n.z,0,o.x,o.y,o.z,0,0,0,0,1);return r}function Gr(t,i){var e=[];for(let r=0;r<t.length;++r){var n=t[r],o=h.Matrix4.multiplyByPoint(i,n,new h.Cartesian3);e.push(o)}return e}function KR(t){var i=t[0].x,e=t[0].y,n=t[0].x,o=t[0].y;return t.forEach(r=>{i=Math.min(i,r.x),e=Math.min(e,r.y),n=Math.max(n,r.x),o=Math.max(o,r.y)}),{minx:i,miny:e,maxx:n,maxy:o}}function JR(t){var i=[];return t.forEach(e=>{i.push([e.x,e.y])}),i.push(i[0]),i}function BR(t,i){var e=[];t.forEach(s=>{const a=[s.x,s.y];e.push(a)});var n=H_.from(e).triangles;const o=[],r=Ct([i]);for(let s=0;s<n.length;s+=3){const a=n[s],c=n[s+1],d=n[s+2],u=(t[a].x+t[c].x+t[d].x)/3,p=(t[a].y+t[c].y+t[d].y)/3;_t([u,p],r)&&o.push(a,c,d)}return new Uint32Array(o.reverse())}function jR(t,i){for(var e=0,n=0;n<i.length;n+=3){const o=[t[i[n]],t[i[n+1]],t[i[n+2]]];e+=e2(o)}return e}function e2(t){var i=h.Cartesian3.distance(t[0],t[1]),e=h.Cartesian3.distance(t[1],t[2]),n=h.Cartesian3.distance(t[2],t[0]),o=(i+e+n)/2,r=Math.sqrt(o*(o-i)*(o-e)*(o-n));return r||0}function t2(t,i,e){for(var n=[],o=i.minx;o<i.maxx;o+=e)for(var r=i.miny;r<i.maxy;r+=e)o2([o,r],t)&&n.push(new h.Cartesian3(o,r,0));return n}function i2(t,i){var e=[];for(let s=0;s<t.length;++s){var n=t[s],o;s==t.length-1?o=t[0]:o=t[s+1];var r=n2(n,o,i);e.push(...r)}return e}function n2(t,i,e){var n=[],o=h.Cartesian3.distance(t,i),r=h.Cartesian3.subtract(i,t,new h.Cartesian3);if(r.equalsEpsilon(h.Cartesian3.ZERO,h.Math.EPSILON6))return[];r=h.Cartesian3.normalize(r,r);for(var s=e;s<o;){var a=new h.Cartesian3(r.x*s,r.y*s,r.z*s),c=h.Cartesian3.add(t,a,new h.Cartesian3);n.push(c),s+=e}return n}function o2(t,i){var e=zn(t);if(!lR(zn(i[0]),zn(i[i.length-1])))return!1;var n=[];n.push(i);var o=Ct(n);return _t(e,o)}async function Cg(t,i,e,n,o,r,s,a){var c=[];t.forEach(E=>{var T=E.clone();T.z=a,c.push(T)});var d=Gr(c,i),u=new h.Cartesian3(-1*n.x,-1*n.y,-1*n.z),p=[],f=[],g=[];for(let E=0;E<d.length;++E){await WC();var m=d[E],y=new h.Ray(m,u),P=void 0;try{P=o.pickFromRay(y)}catch{}if(!P){y=new h.Ray(m,n);try{P=o.pickFromRay(y)}catch{}}if(P){var S=P.position;if(!(!S||!S.x||isNaN(S.x))){var C=Gr([S],e);C.forEach(T=>{T.z+=r}),S=Gr(C,i)[0],g.push(S),S=h.Cartographic.fromCartesian(S),p.push([S.longitude,S.latitude,S.height]),f.push(C[0])}}}return{local:f,world:p,world_cartesian:g}}const wl=class wl extends Ht{constructor(e,n){super(e,n);v(this,"_czmAreaMeasurement");if(this._czmAreaMeasurement=this.disposeVar(new bo(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmAreaMeasurement;this.ad(l.track([e,"surfaceArea"],[r,"totalArea"])),this.ad(l.track([r,"units"],[e,"units"])),this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([r,"positions"],[e,"points"])),this.d(l.track([r,"interpolationDistance"],[e,"interpolation"])),this.d(l.track([r,"offsetHeight"],[e,"offsetHeight"]));{const s=()=>{if(this.geoPolygon&&(this.geoPolygon.outline=!1),e.stroked)r.outlineWidth=e.strokeWidth;else{r.outlineWidth=0;return}r.outlineWidth=e.strokeWidth,r.outlineColor=e.strokeColor};s();const a=this.disposeVar(l.createNextAnimateFrameEvent(e.strokeStyleChanged,e.strokedChanged));this.d(a.disposableOn(s))}this.d(e.startEvent.don(()=>{this._czmAreaMeasurement.start()})),this.d(e.stopEvent.don(()=>{this._czmAreaMeasurement.stop()}))}get czmAreaMeasurement(){return this._czmAreaMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmAreaMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.positions&&ae(r,o,n,s.positions,e),!0):!1}flyIn(e,n){const{sceneObject:o,czmViewer:r,czmAreaMeasurement:s}=this;return r.actived?o.flyInParam?super.flyIn(e,n):(s.positions&&ae(r,o,n,s.positions,e),!0):!1}};v(wl,"type",wl.register("ESCesiumViewer",w.ESSurfaceAreaMeasurement.type,wl));let _g=wl;async function r2(t){navigator.clipboard.writeText(t).then(function(){console.log("复制成功")},function(i){console.log("复制失败")})}const Cl=class Cl extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){if(super(),this._subContainer=a,!d||!(d instanceof Re))return;d.extensions.cursorPositionInfo.enabled=!0;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u)),u.style.width="100%",u.style.position="absolute",u.style.height=`${w.ESViewerStatusBar.defaults.height}px`,u.style.left="0",u.style.bottom="0",u.style.color="#fff",u.style.padding="0 20px 0 0",u.style.boxSizing="border-box",u.style.lineHeight=`${w.ESViewerStatusBar.defaults.height}px`,u.style.zIndex="100",u.style.alignContent="center",u.style.justifyContent="space-between";const p=document.createElement("span");u.appendChild(p),this.dispose(()=>u.removeChild(p));const f=document.createElement("span");p.appendChild(f),this.dispose(()=>p.removeChild(f));const g=document.createElement("span");p.appendChild(g),g.addEventListener("dblclick",function(){let y=g.innerHTML;y.startsWith("鼠标位置")&&(y=y.slice(5)),r2(y)}),g.style.cursor="pointer",this.dispose(()=>p.removeChild(g));const m=document.createElement("span");u.appendChild(m),this.dispose(()=>u.removeChild(m));{const y=()=>{u.style.height=(e.height??w.ESViewerStatusBar.defaults.height)+"px",u.style.lineHeight=(e.height??w.ESViewerStatusBar.defaults.height)+"px"};this.dispose(e.heightChanged.disposableOn(y)),y()}{const y=()=>{u.style.fontSize=(e.fontSize??w.ESViewerStatusBar.defaults.fontSize)+"px"};this.dispose(e.fontSizeChanged.disposableOn(y)),y()}{const y=()=>{e.bgColor?u.style.background=`rgba(${e.bgColor[0]*255},${e.bgColor[1]*255},${e.bgColor[2]*255},${e.bgColor[3]})`:u.style.background=`rgba(${w.ESViewerStatusBar.defaults.bgColor[0]},${w.ESViewerStatusBar.defaults.bgColor[1]},${w.ESViewerStatusBar.defaults.bgColor[2]},${w.ESViewerStatusBar.defaults.bgColor[3]})`};this.dispose(e.bgColorChanged.disposableOn(y)),y()}{m.innerText=`Cesium 版本 : ${h.VERSION} `;let y;const P=()=>{e.show?(u.style.display="flex",y=this.disposeVar(l.createAnimateFrameWithStartValues(()=>{var I;let S="",C="";const E=d.getCameraInfo();if(E){const b=(z,W)=>E.position[z].toFixed(W),x=(z,W)=>E.rotation[z].toFixed(W);S=`帧率:${d.getFPS()}FPS 经度: ${b(0,5)}° 纬度: ${b(1,5)}° 高度: ${b(2,2)}米 偏航角: ${x(0,2)}° 俯仰角: ${x(1,2)}° 翻滚角:${x(2,2)}° `}f.innerText=S;const T=(I=d.extensions)==null?void 0:I.cursorPositionInfo.cursorPosition;if(T){const b=(x,z)=>T[x].toFixed(z);C=`鼠标位置:${b(0,5)}° ${b(1,5)}° ${b(2,2)}m`}else C="暂时无法获取鼠标位置...";g.innerText=C})),y.start()):(u.style.display="none",y.destroy())};this.dispose(e.showChanged.disposableOn(P)),P()}}}}get customDiv(){return this._customDiv}};v(Cl,"type",Cl.register("ESCesiumViewer",w.ESViewerStatusBar.type,Cl));let Pg=Cl;const _l=class _l extends w.EngineObject{constructor(e,n){super(e,n);v(this,"_customDiv");if(this._customDiv=this.disposeVar(new w.ESCustomDiv(e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._customDiv;n.add(r),this.dispose(()=>n.delete(r)),this.dispose(l.track([r,"show"],[e,"show"])),r.instanceClass=class extends l.Destroyable{constructor(a,c,d){if(super(),this._subContainer=a,!d||!(d instanceof Re))return;d.extensions.cursorPositionInfo.enabled=!0;const u=document.createElement("div");this._subContainer.appendChild(u),this.dispose(()=>this._subContainer.removeChild(u));const p=document.createElement("div");u.appendChild(p),p.style.width="100%",p.className="ESViewerStatusBarScale",p.style.position="absolute",p.style.display="flex",p.style.height=`${w.ESViewerStatusBarScale.defaults.height}px`,p.style.left="0",p.style.bottom="0",p.style.color="#fff",p.style.padding="0 20px 0 0",p.style.boxSizing="border-box",p.style.lineHeight=`${w.ESViewerStatusBarScale.defaults.height}px`,p.style.zIndex="100",p.style.alignContent="center",p.style.justifyContent="space-between";const f=document.createElement("div");p.appendChild(f);const g=document.createElement("div");f.appendChild(g);const m=document.createElement("div");f.appendChild(m);const y=document.createElement("div");p.appendChild(y);const P=document.createElement("div");y.appendChild(P);const S=document.createElement("div");P.appendChild(S);const C=document.createElement("div");P.appendChild(C);const E=document.createElement("span");y.appendChild(E);{const z=()=>{p.style.height=(e.height??w.ESViewerStatusBarScale.defaults.height)+"px",p.style.lineHeight=(e.height??w.ESViewerStatusBarScale.defaults.height)+"px"};this.dispose(e.heightChanged.disposableOn(z)),z()}{const z=()=>{p.style.fontSize=(e.fontSize??w.ESViewerStatusBarScale.defaults.fontSize)+"px"};this.dispose(e.fontSizeChanged.disposableOn(z)),z()}{const z=()=>{e.bgColor?p.style.background=`rgba(${e.bgColor[0]*255},${e.bgColor[1]*255},${e.bgColor[2]*255},${e.bgColor[3]})`:p.style.background=`rgba(${w.ESViewerStatusBarScale.defaults.bgColor[0]},${w.ESViewerStatusBarScale.defaults.bgColor[1]},${w.ESViewerStatusBarScale.defaults.bgColor[2]},${w.ESViewerStatusBarScale.defaults.bgColor[3]})`};this.dispose(e.bgColorChanged.disposableOn(z)),z()}f.style.display="flex",g.style.fontWeight="bold",g.style.padding="0 0 0 25px";let T="EarthSDK";g.innerText=T,m.style.fontWeight="";let I="——免费开源地球可视化开发包";m.innerText=I,y.style.width="550px",P.style.position="fixed",P.style.width="125px",P.style.height="30px",P.style.padding="0 5px",P.style.display="flex",P.style.justifyContent="flex-end",P.style.pointerEvents="auto",P.style.zIndex="101",S.style.width="125px",S.style.display="inline-block",S.style.textAlign="center",S.style.fontSize="14px",S.style.fontWeight="lighter",S.style.lineHeight="30px",S.style.color="#fff",S.innerHTML="1000km",C.style.borderRight="1px solid #fff",C.style.borderLeft="1px solid #fff",C.style.borderBottom="1px solid #fff",C.style.position="absolute",C.style.height="10px",C.style.top="15px",C.style.width="75px",C.style.right=`${60/2}px`,E.style.display="flex",E.style.zIndex="101",E.style.justifyContent="flex-end",E.style.right="0";const b=()=>{const z=n.viewerLegend.legend.computedLengthInMeters;if(e.show===!1||z&&z>1e6)P.style.display="none";else{P.style.display="block";const W=n.viewerLegend.legend.computedLengthInStr;W&&(S.innerHTML=W);const N=n.viewerLegend.legend.computedLengthInPixels;if(N){C.style.width=`${N}px`;const L=(135-N)/2;C.style.left=`${L}px`}}};b();const x=setInterval(()=>{b()},200);this.dispose(()=>clearInterval(x));{let z;const W=()=>{e.show?(u.style.display="block",z=this.disposeVar(l.createAnimateFrameWithStartValues(()=>{var _;let N="";const L=d.getCameraInfo();if(L){const M=(F,V)=>L.position[F].toFixed(V);N+=`帧率:${d.getFPS()}FPS 相机: ${M(2,2)}米 `}const U=(_=d.extensions)==null?void 0:_.cursorPositionInfo.cursorPosition;if(U){const M=(F,V)=>U[F].toFixed(V);N+=`位置:${M(0,5)}° ${M(1,5)}° ${M(2,2)}米`}else N+="暂时无法获取鼠标位置...";E.innerText=N})),z.start()):(u.style.display="none",z.destroy())};this.dispose(e.showChanged.disposableOn(W)),W()}}}}get customDiv(){return this._customDiv}};v(_l,"type",_l.register("ESCesiumViewer",w.ESViewerStatusBarScale.type,_l));let Sg=_l;const HC=h.Math.toDegrees,s2=new h.Cartographic;function qC(t,i,e){const n=h.Cartesian3.fromDegrees(t[0],t[1],t[2]),o=h.Cartesian3.fromDegrees(i[0],i[1],i[2]),r=h.Cartesian3.subtract(o,n,new h.Cartesian3);h.Cartesian3.normalize(r,r);const s=new h.Ray(n,r),a=e.pickFromRay(s),c=e.globe.pick(s,e);var d;if(a&&a.position&&c){const m=h.Cartesian3.distance(n,a.position),y=h.Cartesian3.distance(n,c);d=m<y?a.position:c}else a&&a.position?d=a.position:c&&(d=c);if(!d)return;const u=h.Cartesian3.distance(n,o),f=h.Cartesian3.distance(n,d)>u?o:d,g=h.Cartographic.fromCartesian(f,void 0,s2);return[HC(g.longitude),HC(g.latitude),g.height]}const Pl=class Pl extends vt{constructor(e,n){super(e,n);v(this,"_hideGeoPolylines",this.disposeVar(new Gt(this.czmViewer,this.sceneObject.id)));v(this,"_visibleGeoPolylines",this.disposeVar(new Gt(this.czmViewer,this.sceneObject.id)));const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this._hideGeoPolylines,s=this._visibleGeoPolylines;this.d(l.track([r,"show"],[e,"show"])),this.d(l.track([s,"show"],[e,"show"])),this.d(l.track([s,"color"],[e,"visibleColor"])),this.d(l.track([r,"color"],[e,"invisibleColor"]));{const a=()=>{const d=e.points,u=e.heightOffset;if(!d||d.length<2||d[0].toString()===d[1].toString()){r.positions=void 0,s.positions=void 0;return}const p=[],f=[],[g,m,y]=d[0],P=[g,m,y+u];try{d.forEach((S,C)=>{if(C===0)return;const E=qC(P,S,o.scene);E?(p.push([S,E]),f.push([P,E])):f.push([P,S])}),r.positions=p,s.positions=f}catch(S){console.warn(S)}};a();const c=this.dv(l.createNextAnimateFrameEvent(e.pointsChanged,e.heightOffsetChanged));this.d(c.don(a))}}get hideGeoPolylines(){return this._hideGeoPolylines}get visibleGeoPolylines(){return this._visibleGeoPolylines}flyTo(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyToParam||o.flyInParam)return super.flyTo(e,n);{let s=[];return this.visibleGeoPolylines.positions&&(s=[...this.visibleGeoPolylines.positions.flat()]),this.hideGeoPolylines.positions&&(s=[...s,...this.hideGeoPolylines.positions.flat()]),ae(r,o,n,s,e),!0}}flyIn(e,n){const{sceneObject:o,czmViewer:r}=this;if(!r.actived)return!1;if(o.flyInParam)return super.flyIn(e,n);{let s=[];return this.visibleGeoPolylines.positions&&(s=[...this.visibleGeoPolylines.positions.flat()]),this.hideGeoPolylines.positions&&(s=[...s,...this.hideGeoPolylines.positions.flat()]),ae(r,o,n,s,e),!0}}};v(Pl,"type",Pl.register("ESCesiumViewer",w.ESVisibilityAnalysis.type,Pl));let Eg=Pl;class Zs extends l.Destroyable{constructor(e,n){super();v(this,"_flyToEvent",this.dv(new l.Event));v(this,"_enableEvent",this.dv(new l.Event));v(this,"_clearEvent",this.dv(new l.Event));v(this,"_gridPoints",this.dv(l.reactJson([])));v(this,"excavationPolylines");v(this,"fillPolylines");const o=e.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this.dv(new Gt(e,n)),s=this.dv(new Gt(e,n));this.excavationPolylines=r,this.fillPolylines=s;const a=r;a.color=[1,1,0,1],this.d(l.track([a,"show"],[this,"show"])),a.show=!1,a.depthTest=!0;const c=s;c.color=[0,0,1,1],this.d(l.track([c,"show"],[this,"show"])),c.show=!1;{const g=this.ad(new Mi(e,n));this.d(l.track([g,"show"],[this,"show"])),this.d(l.bind([g,"allowPicking"],[this,"allowPicking"])),this.d(l.bind([g,"positions"],[this,"positions"])),this.d(l.bind([g,"depthTest"],[this,"depthTest"])),this.d(l.bind([g,"outlineWidth"],[this,"outlineWidth"])),this.d(l.bind([g,"outlineColor"],[this,"outlineColor"])),this.d(l.bind([g,"outline"],[this,"outline"])),this.d(l.bind([g,"color"],[this,"fillColor"])),this.d(l.bind([g,"fill"],[this,"filled"])),this.d(l.bind([g,"strokeGround"],[this,"strokeGround"])),this.d(l.bind([g,"ground"],[this,"fillGround"])),this.d(this.flyToEvent.don(P=>{g.flyTo(P)}));const m=()=>{g.positions=this.positions};m();const y=this.dv(l.createNextAnimateFrameEvent(this.positionsChanged));this.d(y.don(m))}const d=()=>{if(!this.positions||!this.positions.length)return;const{minPos:g,maxPos:m}=w.getMinMaxCorner(this.positions),y=g[0],P=g[1],S=m[0],C=m[1],T={type:"Polygon",coordinates:[[...this.positions.map(U=>[U[0],U[1]])]]},I=[y,P,S,C],b=this.gridWidth,W=j0(I,b,{units:"meters",mask:T}).features.map(U=>U.geometry.coordinates),N=h.Math.toRadians;return W.map(U=>new h.Cartographic(N(U[0]),N(U[1])))},u=()=>{a.positions=[],c.positions=[],this.area=0,this.cutVolume=0,this.fillVolume=0,this.cutAndFillVolume=0,a.depthTest=!0},p=this.dv(l.createProcessingFromAsyncFunc(async g=>{const m=d();let y=0,P=300;const S=Math.ceil(m.length/P),C=[];do{let E=[];y===S-1?E=m.slice(y*P):E=m.slice(y*P,(y+1)*P);const T=o.scene.sampleHeightMostDetailed(E),I=await g.promise(T);if(y===S-1?this.progress=Math.round(this.progress+100/S):this.progress+=100/S,I&&I.length){const b=h.Math.toDegrees,x=I.filter(z=>z!=null).map(z=>[b(z.longitude),b(z.latitude),z.height]);C.push(...x)}y++}while(y<S);!C||!C.length||(this.gridPoints=C)}));let f=null;{const g=()=>{if(!this.positions||!this.positions.length||!this.gridPoints)return;let m=0;const y=[];let P=0;const S=[];this.gridPoints.forEach(C=>{const E=this.positions;C[2]>E[0][2]?(m+=this.gridWidth*this.gridWidth*(C[2]-E[0][2]),y.push([C,[C[0],C[1],E[0][2]]])):(P+=this.gridWidth*this.gridWidth*(E[0][2]-C[2]),S.push([C,[C[0],C[1],E[0][2]]]))}),a.positions=y,c.positions=S,a.show=!0,c.show=!0,this.area=jy(this.positions),this.cutVolume=m,this.fillVolume=P,this.cutAndFillVolume=P-m,f&&clearTimeout(f),f=setTimeout(()=>{a.depthTest=!1},200)};g(),this.d(this.gridPointsChanged.don(g)),this.d(()=>clearTimeout(f))}{const g=()=>{if(!this.positions||!this.positions.length){this.planeHeight=void 0;return}this.planeHeight=this.positions[0][2]};g(),this.d(this.positionsChanged.don(g))}{const g=()=>{if(!this.planeHeight||!this.positions||!this.positions.length)return;const m=JSON.parse(JSON.stringify(this.positions.slice(1)));m.unshift([this.positions[0][0],this.positions[0][1],this.planeHeight]),this.positions=m};g(),this.d(this.planeHeightChanged.don(g))}this.d(this.enableEvent.don(()=>{u(),this.gridPoints=[],this.progress=0,p.restart()})),this.d(this.clearEvent.don(()=>{u()}))}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get enableEvent(){return this._enableEvent}enableEmit(){this._enableEvent.emit()}get clearEvent(){return this._clearEvent}clearEmit(){this._clearEvent.emit()}get gridPoints(){return this._gridPoints.value}set gridPoints(e){this._gridPoints.value=e}get gridPointsChanged(){return this._gridPoints.changed}}(t=>{t.createDefaultProps=()=>({show:!0,allowPicking:!1,positions:l.reactPositions(void 0),planeHeight:l.react(void 0),gridWidth:1,area:0,cutVolume:0,fillVolume:0,cutAndFillVolume:0,progress:0,depthTest:!1,outlineWidth:2,outlineColor:[1,1,1,1],outline:!0,filled:!1,fillColor:[1,1,1,1],fillGround:!1,strokeGround:!1})})(Zs||(Zs={})),l.extendClassProps(Zs.prototype,Zs.createDefaultProps);const Sl=class Sl extends Ht{constructor(e,n){super(e,n);v(this,"_geoVolumeMeasurement");if(this._geoVolumeMeasurement=this.dv(new Zs(this.czmViewer,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._geoVolumeMeasurement;this.d(l.track([r,"show"],[e,"show"])),this.d(l.bind([r,"positions"],[e,"points"])),this.d(l.track([r,"allowPicking"],[e,"allowPicking"])),this.d(l.bind([r,"planeHeight"],[e,"planeHeight"])),this.d(l.track([r,"gridWidth"],[e,"gridWidth"])),this.d(l.track([e,"cutVolume"],[r,"cutVolume"])),this.d(l.track([e,"fillVolume"],[r,"fillVolume"])),this.d(l.track([e,"cutAndFillVolume"],[r,"cutAndFillVolume"])),this.d(l.bind([e,"progress"],[r,"progress"])),this.d(l.track([r,"depthTest"],[e,"depthTest"])),this.d(l.track([r,"outline"],[e,"stroked"])),this.d(l.track([r,"outlineWidth"],[e,"strokeWidth"])),this.d(l.track([r,"outlineColor"],[e,"strokeColor"])),this.d(l.track([r,"filled"],[e,"filled"])),this.d(l.track([r,"fillColor"],[e,"fillColor"])),this.d(l.track([r,"fillGround"],[e,"fillGround"])),this.d(l.track([r,"strokeGround"],[e,"strokeGround"])),this.ad(l.track([e,"volume"],[e,"cutAndFillVolume"])),this.d(e.startEvent.don(()=>{r.enableEmit()})),this.d(e.clearEvent.don(()=>{r.clearEmit()}))}get geoVolumeMeasurement(){return this._geoVolumeMeasurement}flyTo(e,n){const{sceneObject:o,czmViewer:r,geoVolumeMeasurement:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):s.positions?(ae(r,o,n,s.positions,e),!0):!1:!1}};v(Sl,"type",Sl.register("ESCesiumViewer",w.ESVolumeMeasurement.type,Sl));let Ag=Sl;const El=class El extends Ht{constructor(e,n){super(e,n);v(this,"czmEntity");v(this,"czmPolyline",this.ad(new w.ESGeoLineString));const o=n.viewer;if(!o){console.warn("viewer is undefined!");return}const r=this.czmPolyline;n.add(r),this.ad(()=>n.delete(r)),this.ad(l.bind([r,"show"],[e,"show"])),this.ad(l.bind([r,"allowPicking"],[e,"allowPicking"])),this.ad(l.bind([r,"stroked"],[e,"stroked"])),this.ad(l.bind([r,"strokeColor"],[e,"strokeColor"])),this.ad(l.bind([r,"strokeWidth"],[e,"strokeWidth"])),this.ad(l.bind([r,"strokeGround"],[e,"strokeGround"]));{const d=()=>{if(!e.points||e.points.length<2)r.points=e.points;else{const p=structuredClone(e.points);p.push(p[0]),e.perPositionHeight?r.points=p:r.points=p.map(f=>(f[2]=e.height??w.ESGeoExtrudedPolygon.defaults.height,f))}};d();const u=this.ad(l.createNextAnimateFrameEvent(e.pointsChanged,e.heightChanged,e.perPositionHeightChanged));this.ad(u.don(d))}const s=this.czmEntity=o.entities.add({polygon:{}});h.Entity.prototype&&(s.ESSceneObjectID=e.id),this.dispose(()=>o.entities.remove(s));let a=new h.PolygonHierarchy;s.polygon&&(s.polygon.hierarchy=new h.CallbackProperty(()=>a,!1));const c=()=>{const d=dt(e.points??[]);if(d.length<2){a=new h.PolygonHierarchy;return}a=new h.PolygonHierarchy(d)};c(),this.dispose(e.pointsChanged.disposableOn(c));{const d=()=>{s.show=e.show&&e.filled,this.geoPolygon&&(this.geoPolygon.show=e.show&&!s.show&&e.filled)};d();const u=this.ad(l.createNextAnimateFrameEvent(e.showChanged,e.filledChanged));this.ad(u.don(d))}{const d=()=>{s.polygon&&(s.polygon.perPositionHeight=new h.ConstantProperty(e.perPositionHeight),c())};d(),this.ad(e.perPositionHeightChanged.don(d))}{const d=()=>{s.polygon&&(s.polygon.height=new h.ConstantProperty(e.height??w.ESGeoExtrudedPolygon.defaults.height))};d(),this.dispose(e.heightChanged.disposableOn(d))}{const d=()=>{s.polygon&&(s.polygon.extrudedHeight=new h.ConstantProperty(e.extrudedHeight??w.ESGeoExtrudedPolygon.defaults.extrudedHeight))};d(),this.dispose(e.extrudedHeightChanged.disposableOn(d))}{const d=()=>{const u=h.Color.fromCartesian4(h.Cartesian4.fromArray(e.fillColor));s.polygon&&(s.polygon.material=u)};d(),this.dispose(e.fillColorChanged.disposableOn(d))}this.disposeVar(new l.ObjResettingWithEvent(e.allowPickingChanged,()=>{if(!e.allowPicking)return new Re.ObjectsToExcludeWrapper(n,s)}))}getMinAndMaxheight(){const{sceneObject:e}=this;if(e.points){const{minPos:n,maxPos:o}=w.getMinMaxCorner(e.points);return[n[2],o[2]]}return[0,0]}};v(El,"type",El.register("ESCesiumViewer",w.ESGeoExtrudedPolygon.type,El));let Tg=El;const Al=class Al extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}const{human:o,poi:r}=i;this.dispose(l.bind([o,"position"],[i,"position"])),this.dispose(l.bind([o,"rotation"],[i,"rotation"])),this.ad(l.bind([o,"scale"],[i,"scale"])),this.ad(l.track([r,"scale"],[i,"scale"])),this.dispose(l.track([r,"rotation"],[i,"rotation"]));const s=()=>{const c=i.position;r.position=[c[0],c[1],c[2]+i.poiOffsetHeight]};s();const a=this.dv(l.createNextAnimateFrameEvent(i.positionChanged,i.poiOffsetHeightChanged));this.d(a.don(s)),this.ad(r.pickedEvent.don(c=>{c.assign({sceneObject:i}),i.pickedEvent.emit(c)}))}};v(Al,"type",Al.register("ESCesiumViewer",w.ESHumanPoi.type,Al));let Mg=Al;const Tl=class Tl extends w.EngineObject{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}this.d(i.highlightInner3DtilesetEvent.don(o=>{o.strokeFeature([]);const r=o.d(o.tilesetReady.donce(c=>{c.allTilesLoaded.addEventListener(()=>{var u,p,f,g;const d=(g=(f=(p=(u=c==null?void 0:c._root)==null?void 0:u._content)==null?void 0:p._model)==null?void 0:f._featureTables[0])==null?void 0:g._features[0];d?o.strokeFeature([d],h.Color.LIME.toBytes().map(m=>m/255)):console.warn("tileset?._root?._content?._model?._featureTables[0]?._features[0] is undefined !",c),r()})})),s=o.url,a=Date.now();s.includes("?reload=")?o.url=s.replace(/\?reload=\d+/,`?reload=${a}`):o.url=s+`?reload=${a}`})),this.d(i.removeHighlightInner3DtilesetEvent.don(o=>{o.strokeFeature([])})),this.d(i.es3DTileset.tilesetReady.don(o=>{const r=()=>{const a=i.layerConfig;if(!a){o.style=void 0;return}const c=i.colorBlendMode,d=(f,g)=>{try{if(f.getPropertyIds().includes("materialName"))return h.Color.clone(h.Color.WHITE,g);const m=f.getProperty("layer"),y=f.getProperty("dataset"),P=m.toString(),S=y.toString(),C=a.find(T=>T.dataset.toString()===S&&T.layer.toString()===P);if(C&&C.value.color){const T=C.value.color;return h.Color.fromCssColorString(T,g)}const E=a.filter(T=>T.dataset.toString()===S);if(E.length==1&&E[0].value.color){const T=E[0].value.color;return h.Color.fromCssColorString(T,g)}else return h.Color.clone(h.Color.WHITE,g)}catch(m){return console.warn(m),h.Color.clone(h.Color.WHITE,g)}},u=f=>{try{if(f.getPropertyIds().includes("id")){const E=Object.entries(i.visJson);for(let T=0;T<E.length;T++){const I=E[T];if(f.getProperty("id").toString()===I[0])return I[1]}}if(f.getPropertyIds().includes("materialName"))return!0;const g=f.getProperty("layer"),m=f.getProperty("dataset"),y=g.toString(),P=m.toString(),S=a.find(E=>E.dataset.toString()===P&&E.layer.toString()===y);if(S&&S.value.visible===!1)return!1;if(S&&S.value.visible===!0)return!0;const C=a.filter(E=>E.dataset.toString()===P);return!(C.length==1&&C[0].value.visible===!1)}catch(g){return console.warn(g),!0}};let p;c!=="HIGHLIGHT"?p=new h.Cesium3DTileStyle({color:{evaluateColor:function(f,g){return d(f,g)}},show:{evaluate:function(f){return u(f)}}}):p=new h.Cesium3DTileStyle({show:{evaluate:function(f){return u(f)}}}),console.log("style",p),o.style=p};r();const s=this.dv(l.createNextAnimateFrameEvent(i.layerConfigChanged,i.colorBlendModeChanged,i.visJsonChanged));this.d(s.don(()=>{r()}))}))}};v(Tl,"type",Tl.register("ESCesiumViewer",w.ESRtsTileset.type,Tl));let Ig=Tl;const Ml=class Ml extends Ar{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}};v(Ml,"type",Ml.register("ESCesiumViewer",w.ESRtsFeatureEditing.type,Ml));let Dg=Ml;const Il=class Il extends Ar{constructor(i,e){if(super(i,e),!e.viewer){console.warn("viewer is undefined!");return}}};v(Il,"type",Il.register("ESCesiumViewer",w.ESMsTileset.type,Il));let bg=Il;const Dl=class Dl extends Ce{constructor(e,n){super(e,n);v(this,"_czmGeoPoint");if(this._czmGeoPoint=this.disposeVar(new Bt(n,e.id)),!n.viewer){console.warn("viewer is undefined!");return}const r=this._czmGeoPoint;this.dispose(l.track([r,"show"],[e,"show"])),this.dispose(l.bind([r,"position"],[e,"position"]))}get czmGeoPoint(){return this._czmGeoPoint}flyTo(e,n){const{sceneObject:o,czmViewer:r,czmGeoPoint:s}=this;return r.actived?o.flyToParam||o.flyInParam?super.flyTo(e,n):(s.flyTo(e),o.flyOverEvent.emit(n,"over",r),!0):!1}};v(Dl,"type",Dl.register("ESCesiumViewer",w.ESStaticMesh.type,Dl));let Rg=Dl;const bl=class bl extends vt{constructor(i,e){super(i,e);const n=e.viewer;if(!n){console.warn("viewer is undefined!");return}const o=this.ad(new Ym(n));this.ad(i.startEvent.don(async()=>{const r=await o.getDepthsFromScreen(),s=Number.isFinite(i.radius)?i.radius:w.ESSkylineAnalysis.defaults.radius,{depths:a,windowPositions:c,positions:d}=o.getSkylineDepthsAndPositions(r,n.scene.canvas.width,n.scene.canvas.height,s),u=ce(n.camera.position);d.push(u),i.depths=a,i.windowPositions=c,i.points=d}))}flyTo(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyToParam||n.flyInParam?super.flyTo(i,e):n.points?(ae(o,n,e,n.points,i),!0):!1:!1}flyIn(i,e){const{sceneObject:n,czmViewer:o}=this;return o.actived?n.flyInParam?super.flyIn(i,e):n.points?(ae(o,n,e,n.points,i),!0):!1:!1}};v(bl,"type",bl.register("ESCesiumViewer",w.ESSkylineAnalysis.type,bl));let xg=bl;class a2 extends l.Destroyable{constructor(e,n){super();v(this,"_rectangle");v(this,"_updateHeatMapEvent",this.disposeVar(new l.Event));const o=e.sceneObject;this._rectangle=this.ad(new Ci(n,o.id)),this._rectangle.ground=!0,this._rectangle.outline=!1,this.ad(l.bind([this.rectangle,"show"],[o,"show"])),this.ad(l.bind([this.rectangle,"allowPicking"],[o,"allowPicking"])),this.ad(this.updateHeatMapEvent.don(r=>{this.rectangle.rectangle=e.rectangle,this.rectangle.material={type:"Image",image:r}}))}get rectangle(){return this._rectangle}get updateHeatMapEvent(){return this._updateHeatMapEvent}updateHeatMap(e){this._updateHeatMapEvent.emit(e)}}class l2 extends l.Destroyable{constructor(e,n){super();v(this,"_primitive");v(this,"_updateHeatMapEvent",this.disposeVar(new l.Event));v(this,"czmViewer");v(this,"czmESHeatMap");const o=this.czmViewer=n,r=this.czmESHeatMap=e,s=r.sceneObject,a=o.viewer;if(!a)return;let c,d;const u=this.ad(new l.Event),p=()=>{f(),!(!c||!d)&&(this._primitive=a.scene.primitives.add(new h.Primitive({geometryInstances:c,appearance:d,asynchronous:!1,allowPicking:s.allowPicking})))},f=()=>{this.primitive&&a.scene.primitives.remove(this.primitive)};this.ad(f);{const g=()=>{this.primitive&&(this.primitive.show=s.show)};g(),this.ad(s.showChanged.don(g))}{const g=this.ad(l.createNextAnimateFrameEvent(s.allowPickingChanged,u));this.ad(g.don(p))}{const g=()=>{r.rectangle&&(c=new h.GeometryInstance({geometry:this.createHeatmapGeometry(Number.parseFloat(r.div.style.width),Number.parseFloat(r.div.style.height))}),this.primitive&&(this._primitive._state=3,this._primitive._appearance=void 0,this._primitive.geometryInstances=c,this._primitive._recomputeBoundingSpheres=!0))};this.ad(this.updateHeatMapEvent.don(m=>{if(!r.rectangle)return;const y=r.rectangle[1]+(r.rectangle[3]-r.rectangle[1])*.5,P=w.getDistancesFromPositions([[r.rectangle[0],y,0],[r.rectangle[2],y,0]],"GEODESIC")[0]/5;d=new h.MaterialAppearance({material:new h.Material({fabric:{type:"Image",uniforms:{image:m}},translucent:!0}),vertexShaderSource:this.getVertexShaderSource(P),flat:!0}),this.primitive&&r.rectangle&&(this.primitive.appearance.material.uniforms.image=m,this.primitive.appearance._vertexShaderSource=this.getVertexShaderSource(P)),g(),this.primitive||u.emit()}))}}get primitive(){return this._primitive}get updateHeatMapEvent(){return this._updateHeatMapEvent}updateHeatMap(e){this._updateHeatMapEvent.emit(e)}getVertexShaderSource(e){return`
|
|
1891
1891
|
in vec3 position3DHigh;
|
|
1892
1892
|
in vec3 position3DLow;
|
|
1893
1893
|
in vec3 normal;
|
|
@@ -1955,8 +1955,8 @@ material.alpha = materialInput.color.a;
|
|
|
1955
1955
|
|
|
1956
1956
|
return material;
|
|
1957
1957
|
}
|
|
1958
|
-
`;h.Material.GlobeLevelMaterialType="GlobelLevel",h.Material._materialCache.addMaterial(h.Material.GlobeLevelMaterialType,{fabric:{type:h.Material.GlobeLevelMaterialType,uniforms:{input_shadows:new h.Cartesian3(0,0,0),input_highlights:new h.Cartesian3(1,1,1),midtones:new h.Cartesian3(.5,.5,.5),output_shadows:new h.Cartesian3(0,0,0),output_highlights:new h.Cartesian3(1,1,1)},source:Z2},translucent:!1});const{PrimitiveRenderResources:Q2,ModelUtility:K2,Cartesian3:ni,Matrix4:Yr,ModelRenderResources:J2,defined:B2,NodeRenderResources:j2,BoundingSphere:tn,ModelDrawCommands:ex}=h,tx=new ni,ix=new ni,n_=new ni,o_=new ni;class nx extends Q2{constructor(i,e,n){if(super(i,e),!i.runtimeNode.instancingTranslationMin||!i.runtimeNode.instancingTranslationMax)return;const o=Yr.inverse(n,new Yr),r=K2.getPositionMinMax(e.primitive,Yr.multiplyByPoint(o,i.runtimeNode.instancingTranslationMin,n_),Yr.multiplyByPoint(o,i.runtimeNode.instancingTranslationMax,o_));this.positionMin=ni.clone(r.min,new ni),this.positionMax=ni.clone(r.max,new ni),this.boundingSphere=tn.fromCornerPoints(this.positionMin,this.positionMax,new tn)}}function ox(){h.ModelSceneGraph.prototype.buildDrawCommands=function(t){const i=this._model,e=new J2(i);i.statistics.clear(),this.configurePipeline(t);const n=this.modelPipelineStages;let o,r,s;for(o=0;o<n.length;o++)n[o].process(e,i,t);const a=ni.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,tx),c=ni.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,ix);for(o=0;o<this._runtimeNodes.length;o++){const d=this._runtimeNodes[o];if(!B2(d))continue;d.configurePipeline();const u=d.pipelineStages,p=new j2(e,d);for(r=0;r<u.length;r++)u[r].process(p,d.node,t);const f=d.computedTransform;for(r=0;r<d.runtimePrimitives.length;r++){const g=d.runtimePrimitives[r];g.configurePipeline(t);const m=g.pipelineStages,y=new nx(p,g,f);for(s=0;s<m.length;s++)m[s].process(y,g.primitive,t);g.boundingSphere=tn.clone(y.boundingSphere,new tn);const P=Yr.multiplyByPoint(f,y.positionMin,n_),S=Yr.multiplyByPoint(f,y.positionMax,o_);ni.minimumByComponent(a,P,a),ni.maximumByComponent(c,S,c);const C=ex.buildModelDrawCommand(y,t);g.drawCommand=C}}this._boundingSphere=tn.fromCornerPoints(a,c,new tn),this._boundingSphere=tn.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=tn.transform(this._boundingSphere,this._components.transform,this._boundingSphere),i._boundingSphere=tn.transform(this._boundingSphere,i.modelMatrix,i._boundingSphere),i._initialRadius=i._boundingSphere.radius,i._boundingSphere.radius*=i._clampedScale}}const Zl=class Zl extends l.Destroyable{constructor(){super(),h.ParticleSystem.prototype.update=function(i){const e=i.time;i.time=this._falseTime;try{Zl.oldUpdate.call(this,i),this._particles.forEach(n=>{h.Billboard.prototype&&(n._billboard.ESSceneObjectID=this.ESSceneObjectID)})}catch{}i.time=e},this.d(()=>{h.ParticleSystem.prototype.update=Zl.oldUpdate})}};v(Zl,"oldUpdate",h.ParticleSystem.prototype.update);let jg=Zl;function rx(){if(h.ParticleSystem.prototype.timeStamp!==void 0){console.warn("fixParticleSystem已经执行过!");return}Object.defineProperties(h.ParticleSystem.prototype,{timeStamp:{get(){return this._innerCurrentTimeStamp===void 0&&(this._innerCurrentTimeStamp=0),this._innerCurrentTimeStamp},set(t){this.timeStamp!==t&&(this._innerCurrentTimeStamp=t,h.JulianDate.fromDate(new Date(t),this._falseTime))}},_falseTime:{get(){return this.__falseTime||(this.__falseTime=h.JulianDate.fromDate(new Date(0))),this.__falseTime}}})}class sx{constructor(i){v(this,"index");v(this,"image");v(this,"resolve");v(this,"reject");v(this,"rectangle");this.index=i.index,this.image=i.image,this.resolve=i.resolve,this.reject=i.reject,this.rectangle=void 0}}function ax(){h.TextureAtlas.prototype._resize=function(t,i=0){const e=this._borderWidthInPixels,n=this._rectangles,o=this._imagesToAddQueue,r=this._texture;let s=r.width,a=r.height;const c=this._subRegions,d=n.map((S,C)=>new sx({index:C,image:S})).filter((S,C)=>h.defined(S.image)&&!h.defined(c.get(C)));let u=0,p=0,f=0;for(let S=i;S<o.length;++S){const{width:C,height:E}=o[S].image;u=Math.max(u,C),p=Math.max(p,E),f+=C*E,d.push(o[S])}s=Math.max(u,s),a=Math.max(p,a),t.webgl2||(s=h.Math.nextPowerOfTwo(s),a=h.Math.nextPowerOfTwo(a));const g=Math.sqrt(f);a*=Math.ceil(g/a),s*=Math.ceil(g/s),d.sort(({image:S},{image:C})=>C.height*C.width-S.height*S.width);const m=new Array(this._nextIndex);for(const S of this._subRegions.keys())h.defined(c.get(S))&&(m[S]=n[S]);let y,P=!1;for(;!P;){y=new h.TexturePacker({height:a,width:s,borderPadding:e});let S;for(S=0;S<d.length;++S){const{index:C,image:E}=d[S];if(!h.defined(E))continue;const T=y.pack(C,E);if(!h.defined(T)){s>a?a*=2:s*=2;break}m[C]=T.rectangle}P=S===d.length}this._texturePacker=y,this._texture=this._copyFromTexture(t,s,a,m),r.destroy(),this._rectangles=m,this._guid=h.createGuid()}}const Wn={LOADED:2,PROCESSING:3,FAILED:7},{Attribute:lx,Indices:cx,FeatureIdAttribute:r_,FeatureIdTexture:s_,FeatureIdImplicitRange:a_,MorphTarget:hx,Primitive:dx,Instances:ux,Skin:px,Node:fx,AnimatedPropertyType:gx,AnimationSampler:mx,AnimationTarget:vx,AnimationChannel:yx,Animation:wx,ArticulationStage:Cx,Articulation:_x,Asset:Px,Scene:Sx,Components:Ex,MetallicRoughness:Ax,SpecularGlossiness:Tx,Specular:Mx,Anisotropy:em,Clearcoat:tm,Material:Ix}=h.ModelComponents;function Dx(){h.GltfLoader.prototype.process=function(t){if(h.Check.typeOf.object("frameState",t),this._state===Wn.LOADED&&!h.defined(this._loadResourcesPromise)&&(this._loadResourcesPromise=bx(this,t).then(()=>{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),h.defined(this._processError)){this._state=Wn.FAILED;const o=this._processError;this._processError=void 0,im(this,o)}const i=this._textureErrors.pop();if(h.defined(i)){const o=this.getError("Failed to load glTF texture",i);throw o.name="TextureError",o}if(this._state===Wn.FAILED)return!1;let e=!1;try{e=this._process(t)}catch(o){this._state=Wn.FAILED,im(this,o)}let n=!1;try{n=this._processTextures(t)}catch(o){this._textureState=Wn.FAILED,im(this,o)}return this._incrementallyLoadTextures?e:e&&n}}async function bx(t,i){h.FeatureDetection.supportsWebP.initialized||await h.FeatureDetection.supportsWebP.initialize(),t._supportedImageFormats=new h.SupportedImageFormats({webp:h.FeatureDetection.supportsWebP(),basis:i.context.supportsBasis});const e=xx(t,i);return t._state=Wn.PROCESSING,t._textureState=Wn.PROCESSING,h.defined(t._gltfJsonLoader)&&t._releaseGltfJson&&(h.ResourceCache.unload(t._gltfJsonLoader),t._gltfJsonLoader=void 0),e}const Rx=new h.Cartesian3;function xx(t,i){const e=t.gltfJson,n=e.extensions??h.Frozen.EMPTY_OBJECT,o=n.EXT_structural_metadata,r=n.EXT_feature_metadata,s=n.CESIUM_RTC;if(h.defined(r)){const C=r.featureTables,E=r.featureTextures,T=h.defined(C)?C:[],I=h.defined(E)?E:[];t._sortedPropertyTableIds=Object.keys(T).sort(),t._sortedFeatureTextureIds=Object.keys(I).sort()}const a=Fx(t,i),c=Nx(t,a),d=Vx(t,a),u=Ux(e),p=Wx(e,a),f=new Ex,g=new Px,m=e.asset.copyright;if(h.defined(m)){const C=m.split(";").map(function(E){return new h.Credit(E.trim())});g.credits=C}if(f.asset=g,f.scene=p,f.nodes=a,f.skins=c,f.animations=d,f.articulations=u,f.upAxis=t._upAxis,f.forwardAxis=t._forwardAxis,h.defined(s)){const C=h.Cartesian3.fromArray(s.center,0,Rx);f.transform=h.Matrix4.fromTranslation(C,f.transform)}if(t._components=f,h.defined(o)||h.defined(r)){const C=Gx(t,o,r,i);t._loaderPromises.push(C)}const y=n.NGA_gpm_local;if(h.defined(y)){const C=h.GltfGpmLoader.load(y);t._components.extensions.NGA_gpm_local=C}const P=e.meshes;if(h.defined(P))for(const C of P){const E=C.primitives;if(h.defined(E))for(const T of E){const I=T.extensions;if(h.defined(I)){const b=I.NGA_gpm_local;if(h.defined(b)){const x=Hx(t,e,b,i);t._loaderPromises.push(x)}}}}const S=[];return m_(S,t._loaderPromises),t._incrementallyLoadTextures||m_(S,t._texturesPromises),Promise.all(S)}function Fx(t,i){const e=t.gltfJson.nodes;if(!h.defined(e))return[];const n=e.map(function(o,r){const s=kx(t,o,i);return s.index=r,s});for(let o=0;o<n.length;++o){const r=e[o].children;if(h.defined(r))for(let s=0;s<r.length;++s)n[o].children.push(n[r[s]])}return n}function kx(t,i,e){const n=new fx;n.name=i.name,n.matrix=Xt(h.Matrix4,i.matrix),n.translation=Xt(h.Cartesian3,i.translation),n.rotation=Xt(h.Quaternion,i.rotation),n.scale=Xt(h.Cartesian3,i.scale);const o=i.extensions??h.Frozen.EMPTY_OBJECT,r=o.EXT_mesh_gpu_instancing,s=o.AGI_articulations;if(h.defined(r)){if(t._loadForClassification)throw new h.RuntimeError("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");n.instances=qx(t,o,e)}h.defined(s)&&(n.articulationName=s.articulationName);const a=i.mesh;if(h.defined(a)){const c=t.gltfJson.meshes[a],d=c.primitives;for(let f=0;f<d.length;++f)n.primitives.push(zx(t,d[f],h.defined(n.instances),e));const u=i.weights??c.weights,p=n.primitives[0].morphTargets;n.morphWeights=h.defined(u)?u.slice():new Array(p.length).fill(0)}return n}function zx(t,i,e,n){const o=new dx,r=new h.PrimitiveLoadPlan(o);t._primitiveLoadPlans.push(r);const s=i.material;h.defined(s)&&(o.material=Lx(t,t.gltfJson.materials[s],n));const a=i.extensions??h.Frozen.EMPTY_OBJECT;let c=!1;const d=a.CESIUM_primitive_outline;t._loadPrimitiveOutline&&h.defined(d)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=$x(t,d));const u=a.KHR_spz_gaussian_splats_compression;h.defined(u)&&(c=!0,r.needsGaussianSplats=!0);const p=t._loadForClassification,f=a.KHR_draco_mesh_compression;let g=!1;const m=i.attributes;if(h.defined(m))for(const b in m){if(!m.hasOwnProperty(b))continue;const x=m[b],z=nm(t,h.VertexAttributeSemantic,b),W=z.modelSemantic;if(p&&!Yx(W))continue;W===h.VertexAttributeSemantic.FEATURE_ID&&(g=!0);const N=l_(t,x,z,i,f,u,e,c,n);r.attributePlans.push(N),o.attributes.push(N.attribute)}const y=i.targets;if(h.defined(y)&&!p)for(let b=0;b<y.length;++b)o.morphTargets.push(Zx(t,y[b],c,r,n));const P=i.indices;if(h.defined(P)){const b=Qx(t,P,i,f,g,c,n);h.defined(b)&&(r.indicesPlan=b,o.indices=b.indices)}const S=a.EXT_structural_metadata,C=a.EXT_mesh_features,E=a.EXT_feature_metadata,T=h.defined(E);h.defined(C)?Kx(t,o,C,n):T&&Jx(t,o,E,n),h.defined(S)?Bx(o,S):T&&jx(t,o,E);const I=i.mode;if(p&&I!==h.PrimitiveType.TRIANGLES)throw new h.RuntimeError("Only triangle meshes can be used for classification.");return o.primitiveType=I,o}function Lx(t,i,e){const n=new Ix,o=i.extensions??h.Frozen.EMPTY_OBJECT,r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,d=i.pbrMetallicRoughness;return n.unlit=h.defined(o.KHR_materials_unlit),h.defined(r)?n.specularGlossiness=Ox(t,r,e):(h.defined(d)&&(n.metallicRoughness=eF(t,d,e)),h.defined(s)&&!n.unlit&&(n.specular=tF(t,s,e)),h.defined(a)&&!n.unlit&&(n.anisotropy=iF(t,a,e)),h.defined(c)&&!n.unlit&&(n.clearcoat=nF(t,c,e))),h.defined(i.emissiveTexture)&&(n.emissiveTexture=Et(t,i.emissiveTexture,e,void 0)),h.defined(i.normalTexture)&&!t._loadForClassification&&(n.normalTexture=Et(t,i.normalTexture,e,void 0)),h.defined(i.occlusionTexture)&&(n.occlusionTexture=Et(t,i.occlusionTexture,e,void 0)),n.emissiveFactor=Xt(h.Cartesian3,i.emissiveFactor),n.alphaMode=i.alphaMode,n.alphaCutoff=i.alphaCutoff,n.doubleSided=i.doubleSided,n.name=i.name,n}function Ox(t,i,e){const{diffuseTexture:n,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=i,c=new Tx;return h.defined(n)&&(c.diffuseTexture=Et(t,n,e,void 0)),h.defined(o)&&(c.specularGlossinessTexture=Et(t,o,e,void 0)),c.diffuseFactor=Xt(h.Cartesian4,r),c.specularFactor=Xt(h.Cartesian3,s),c.glossinessFactor=a,c}function im(t,i){throw t.unload(),t.getError("Failed to load glTF",i)}function Nx(t,i){const e=t.gltfJson.skins;if(t._loadForClassification||!h.defined(e))return[];const n=e.map(function(r,s){const a=oF(t,r,i);return a.index=s,a}),o=t.gltfJson.nodes;for(let r=0;r<i.length;++r){const s=o[r].skin;h.defined(s)&&(i[r].skin=n[s])}return n}function Vx(t,i){const e=t.gltfJson.animations;return t._loadForClassification||!h.defined(e)?[]:e.map(function(o,r){const s=rF(t,o,i);return s.index=r,s})}function Ux(t){var n;const e=(n=(t.extensions??h.Frozen.EMPTY_OBJECT).AGI_articulations)==null?void 0:n.articulations;return h.defined(e)?e.map(sF):[]}function Wx(t,i){const e=new Sx,n=aF(t);return e.nodes=n.map(function(o){return i[o]}),e}async function Gx(t,i,e,n){const o=new h.GltfStructuralMetadataLoader({gltf:t.gltfJson,extension:i,extensionLegacy:e,gltfResource:t._gltfResource,baseResource:t._baseResource,supportedImageFormats:t._supportedImageFormats,frameState:n,asynchronous:t._asynchronous});return t._structuralMetadataLoader=o,o.load()}async function Hx(t,i,e,n){const o=new h.GltfMeshPrimitiveGpmLoader({gltf:i,extension:e,gltfResource:t._gltfResource,baseResource:t._baseResource,supportedImageFormats:t._supportedImageFormats,frameState:n,asynchronous:t._asynchronous});return t._meshPrimitiveGpmLoader=o,o.load()}function Xt(t,i){if(h.defined(i))return t===Number?i[0]:t.unpack(i)}function qx(t,i,e){const n=i.EXT_mesh_gpu_instancing,o=new ux,r=n.attributes;if(h.defined(r))for(const d in r){if(!r.hasOwnProperty(d))continue;const u=r[d];o.attributes.push(lF(t,u,r,d,e))}const s=n.extensions??h.Frozen.EMPTY_OBJECT,a=i.EXT_instance_features,c=s.EXT_feature_metadata;return h.defined(a)?cF(o,a):h.defined(c)&&hF(t.gltfJson,o,c,t._sortedPropertyTableIds),o}function $x(t,i){const e=i.indices,n=t.gltfJson.accessors[e];return bh(t,n,!1)}const Xx={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function nm(t,i,e){let n=e;t._renameBatchIdSemantic&&(e==="_BATCHID"||e==="BATCHID")&&(n="_FEATURE_ID_0");const o=i.fromGltfSemantic(n),r=Xx;return r.gltfSemantic=e,r.renamedSemantic=n,r.modelSemantic=o,r}function Yx(t){const i=t===h.VertexAttributeSemantic.POSITION,e=t===h.VertexAttributeSemantic.FEATURE_ID,n=t===h.VertexAttributeSemantic.TEXCOORD;return i||e||n}function l_(t,i,e,n,o,r,s,a,c){const d=e.modelSemantic,u=d===h.VertexAttributeSemantic.POSITION,p=d===h.VertexAttributeSemantic.FEATURE_ID,f=u&&!s&&t._loadAttributesFor2D&&!c.scene3DOnly,g=u&&t._enablePick&&!c.context.webgl2,m=t._loadForClassification&&p,y=t._loadAttributesAsTypedArray,P=!y,S=y||f||g||m,T=c_(t,i,e,n,o,r,a?!1:P,a?!0:S,c),I=new h.PrimitiveLoadPlan.AttributeLoadPlan(T);return I.loadBuffer=P,I.loadTypedArray=S,I}function Zx(t,i,e,n,o){const r=new hx,s=void 0,a=void 0,c=void 0,d=!1;for(const u in i){if(!i.hasOwnProperty(u))continue;const p=i[u],f=nm(t,VertexAttributeSemantic,u),g=l_(t,p,f,s,a,c,d,e,o);r.attributes.push(g.attribute),n.attributePlans.push(g)}return r}function Qx(t,i,e,n,o,r,s){const a=t.gltfJson.accessors[i],c=a.bufferView;if(!h.defined(n)&&!h.defined(c))return;const d=new cx;d.count=a.count;const u=t._loadAttributesAsTypedArray,p=(t._loadIndicesForWireframe||t._enablePick)&&!s.context.webgl2,f=t._loadForClassification&&o,m=!u,y=u||p||f,C=dF(t,i,e,n,r?!1:m,r?!0:y,s),E=t._geometryLoaders.length;t._geometryLoaders.push(C);const T=C.load();t._loaderPromises.push(T),t._geometryCallbacks[E]=()=>{d.indexDatatype=C.indexDatatype,d.buffer=C.buffer,d.typedArray=C.typedArray};const I=new h.PrimitiveLoadPlan.IndicesLoadPlan(d);return I.loadBuffer=m,I.loadTypedArray=y,I}function Kx(t,i,e,n){let o;h.defined(e)&&h.defined(e.featureIds)?o=e.featureIds:o=[];for(let r=0;r<o.length;r++){const s=o[r],a=`featureId_${r}`;let c;h.defined(s.texture)?c=uF(t,s,n,a):h.defined(s.attribute)?c=h_(s,a):c=d_(s,a),i.featureIds.push(c)}}function Jx(t,i,e,n){const{featureTables:o}=t.gltfJson.extensions.EXT_feature_metadata;let r=0;const s=e.featureIdAttributes;if(h.defined(s))for(let c=0;c<s.length;++c){const d=s[c],u=d.featureTable,p=t._sortedPropertyTableIds.indexOf(u),f=o[u].count,g=`featureId_${r}`;r++;let m;h.defined(d.featureIds.attribute)?m=u_(d,p,f,g):m=p_(d,p,f,g),i.featureIds.push(m)}const a=e.featureIdTextures;if(h.defined(a))for(let c=0;c<a.length;++c){const d=a[c],u=d.featureTable,p=t._sortedPropertyTableIds.indexOf(u),f=o[u].count,g=`featureId_${r}`;r++;const m=pF(t,d,p,n,f,g);i.featureIds.push(m)}}function Bx(t,i){if(!h.defined(i))return;const{propertyTextures:e,propertyAttributes:n}=i;h.defined(e)&&(t.propertyTextureIds=e),h.defined(n)&&(t.propertyAttributeIds=n)}function jx(t,i,e){h.defined(e.featureTextures)&&(i.propertyTextureIds=e.featureTextures.map(function(n){return t._sortedFeatureTextureIds.indexOf(n)}))}function eF(t,i,e){const{baseColorTexture:n,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=i,c=new Ax;return h.defined(n)&&(c.baseColorTexture=Et(t,n,e,void 0)),h.defined(o)&&(c.metallicRoughnessTexture=Et(t,o,e,void 0)),c.baseColorFactor=Xt(h.Cartesian4,r),c.metallicFactor=s,c.roughnessFactor=a,c}function tF(t,i,e){const{specularFactor:n,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=i,a=new Mx;return h.defined(o)&&(a.specularTexture=Et(t,o,e,void 0)),h.defined(s)&&(a.specularColorTexture=Et(t,s,e,void 0)),a.specularFactor=n,a.specularColorFactor=Xt(h.Cartesian3,r),a}function iF(t,i,e){const{anisotropyStrength:n=em.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=em.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=i,s=new em;return h.defined(r)&&(s.anisotropyTexture=Et(t,r,e,void 0)),s.anisotropyStrength=n,s.anisotropyRotation=o,s}function nF(t,i,e){const{clearcoatFactor:n=tm.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=tm.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=i,c=new tm;return h.defined(o)&&(c.clearcoatTexture=Et(t,o,e,void 0)),h.defined(s)&&(c.clearcoatRoughnessTexture=Et(t,s,e,void 0)),h.defined(a)&&(c.clearcoatNormalTexture=Et(t,a,e,void 0)),c.clearcoatFactor=n,c.clearcoatRoughnessFactor=r,c}function Et(t,i,e,n){const o=t.gltfJson,r=h.GltfLoaderUtil.getImageIdFromTexture({gltf:o,textureId:i.index,supportedImageFormats:t._supportedImageFormats});if(!h.defined(r))return;const s=h.ResourceCache.getTextureLoader({gltf:o,textureInfo:i,gltfResource:t._gltfResource,baseResource:t._baseResource,supportedImageFormats:t._supportedImageFormats,frameState:e,asynchronous:t._asynchronous}),a=h.GltfLoaderUtil.createModelTextureReader({textureInfo:i}),c=t._textureLoaders.length;t._textureLoaders.push(s);const d=s.load().catch(u=>{if(!t.isDestroyed()){if(!t._incrementallyLoadTextures)throw u;t._textureState=Wn.FAILED,t._textureErrors.push(u)}});return t._texturesPromises.push(d),t._textureCallbacks[c]=()=>{a.texture=s.texture,h.defined(n)&&(a.texture.sampler=n)},a}function oF(t,i,e){const n=new px,o=i.joints;n.joints=o.map(s=>e[s]);const r=i.inverseBindMatrices;if(h.defined(r)){const s=t.gltfJson.accessors[r];n.inverseBindMatrices=bh(t,s,void 0)}else n.inverseBindMatrices=new Array(o.length).fill(h.Matrix4.IDENTITY);return n}function rF(t,i,e){const n=new wx;n.name=i.name;const o=i.samplers.map(function(s,a){const c=fF(t,s);return c.index=a,c}),r=i.channels.map(function(s){return gF(s,o,e)});return n.samplers=o,n.channels=r,n}function sF(t){const i=new _x;return i.name=t.name,i.stages=t.stages.map(vF),i}function aF(t){let i;return h.defined(t.scenes)&&h.defined(t.scene)&&(i=t.scenes[t.scene].nodes),i=i??t.nodes,i=h.defined(i)?i:[],i}function lF(t,i,e,n,o){const r=t.gltfJson.accessors,s=h.defined(e.ROTATION),a=h.defined(e.TRANSLATION)&&h.defined(r[e.TRANSLATION].min)&&h.defined(r[e.TRANSLATION].max),c=nm(t,h.InstanceAttributeSemantic,n),d=c.modelSemantic,u=d===h.InstanceAttributeSemantic.TRANSLATION||d===h.InstanceAttributeSemantic.ROTATION||d===h.InstanceAttributeSemantic.SCALE,p=d===h.InstanceAttributeSemantic.TRANSLATION,f=t._loadAttributesAsTypedArray||s&&u||!o.context.instancedArrays,g=t._enablePick&&!o.context.webgl2,m=!f,y=t._loadAttributesFor2D&&!o.scene3DOnly;return c_(t,i,c,void 0,void 0,void 0,m,f||p&&(!a||y||g),o)}function cF(t,i){const e=i.featureIds;for(let n=0;n<e.length;n++){const o=e[n],r=`instanceFeatureId_${n}`;let s;h.defined(o.attribute)?s=h_(o,r):s=d_(o,r),t.featureIds.push(s)}}function hF(t,i,e,n){const o=t.extensions.EXT_feature_metadata.featureTables,r=e.featureIdAttributes;if(h.defined(r))for(let s=0;s<r.length;++s){const a=r[s],c=a.featureTable,d=n.indexOf(c),u=o[c].count,p=`instanceFeatureId_${s}`;let f;h.defined(a.featureIds.attribute)?f=u_(a,d,u,p):f=p_(a,d,u,p),i.featureIds.push(f)}}function bh(t,i,e){const n=new Array(i.count),o=i.bufferView;if(h.defined(o)){const r=mF(t,o),s=yF(t,r,i,e,n);return t._loaderPromises.push(s),n}return wF(i,n)}function c_(t,i,e,n,o,r,s,a,c){const d=t.gltfJson,u=d.accessors[i],p=u.bufferView,f=e.gltfSemantic,g=e.renamedSemantic,m=e.modelSemantic,y=h.defined(m)?f_(g):void 0,S=CF(d,i,f,m,y);if(!h.defined(o)&&!h.defined(p)&&!h.defined(r))return S;const C=_F(t,i,f,n,o,r,s,a,c),E=t._geometryLoaders.length;t._geometryLoaders.push(C);const T=C.load();return t._loaderPromises.push(T),t._geometryCallbacks[E]=()=>{h.defined(o)&&h.defined(o.attributes)&&h.defined(o.attributes[f])?PF(S,C,s,a):h.defined(r)?SF(S,C,s,a):EF(d,u,S,C,s,a)},S}function dF(t,i,e,n,o,r,s){return h.ResourceCache.getIndexBufferLoader({gltf:t.gltfJson,accessorId:i,gltfResource:t._gltfResource,baseResource:t._baseResource,frameState:s,primitive:e,draco:n,asynchronous:t._asynchronous,loadBuffer:o,loadTypedArray:r})}function uF(t,i,e,n){const o=new s_;o.featureCount=i.featureCount,o.nullFeatureId=i.nullFeatureId,o.propertyTableId=i.propertyTable,o.label=i.label,o.positionalLabel=n;const r=i.texture;o.textureReader=Et(t,r,e,h.Sampler.NEAREST);const a=(h.defined(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function h_(t,i){const e=new r_;return e.featureCount=t.featureCount,e.nullFeatureId=t.nullFeatureId,e.propertyTableId=t.propertyTable,e.setIndex=t.attribute,e.label=t.label,e.positionalLabel=i,e}function d_(t,i){const e=new a_;return e.propertyTableId=t.propertyTable,e.featureCount=t.featureCount,e.nullFeatureId=t.nullFeatureId,e.label=t.label,e.positionalLabel=i,e.offset=0,e.repeat=1,e}function u_(t,i,e,n){const o=new r_,r=t.featureIds;return o.featureCount=e,o.propertyTableId=i,o.setIndex=f_(r.attribute),o.positionalLabel=n,o}function p_(t,i,e,n){const o=new a_,r=t.featureIds;o.propertyTableId=i,o.featureCount=e,o.offset=r.constant??0;const s=r.divisor??0;return o.repeat=s===0?void 0:s,o.positionalLabel=n,o}function pF(t,i,e,n,o,r){const s=new s_,a=i.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=e,s.textureReader=Et(t,c,n,h.Sampler.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function fF(t,i){const e=new mx,n=t.gltfJson.accessors,o=n[i.input];e.input=bh(t,o,void 0);const r=i.interpolation;e.interpolation=h.InterpolationType[r]??h.InterpolationType.LINEAR;const s=n[i.output];return e.output=bh(t,s,!0),e}function gF(t,i,e){const n=new yx,o=t.sampler;return n.sampler=i[o],n.target=AF(t.target,e),n}function mF(t,i){const e=h.ResourceCache.getBufferViewLoader({gltf:t.gltfJson,bufferViewId:i,gltfResource:t._gltfResource,baseResource:t._baseResource});return t._bufferViewLoaders.push(e),e}function vF(t){const i=new Cx;i.name=t.name;const e=t.type.toUpperCase();return i.type=h.ArticulationStageType[e],i.minimumValue=t.minimumValue,i.maximumValue=t.maximumValue,i.initialValue=t.initialValue,i}async function yF(t,i,e,n,o){const{gltfJson:r}=t;if(await i.load(),t.isDestroyed())return;const s=g_(r,e,i.typedArray);n=n??!1,TF(e,s,o,n)}function wF(t,i){const e=t.type;if(e===h.AttributeType.SCALAR)return i.fill(0);const n=h.AttributeType.getMathType(e);return i.fill(n.clone(n.ZERO))}function f_(t){const e=/^\w+_(\d+)$/.exec(t);if(e!==null)return parseInt(e[1])}function CF(t,i,e,n,o){var p;const r=t.accessors[i],s=h.AttributeType.getMathType(r.type),a=r.normalized??!1,c=new lx;c.name=e,c.semantic=n,c.setIndex=o,c.constant=MF(s),c.componentDatatype=r.componentType,c.normalized=a,c.count=r.count,c.type=r.type,c.min=Xt(s,r.min),c.max=Xt(s,r.max),c.byteOffset=r.byteOffset,c.byteStride=h.getAccessorByteStride(t,r),h.hasExtension(r,"WEB3D_quantized_attributes")&&IF(r.extensions.WEB3D_quantized_attributes,c,s);const d=c.semantic===h.VertexAttributeSemantic.POSITION||c.semantic===h.VertexAttributeSemantic.NORMAL||c.semantic===h.VertexAttributeSemantic.TANGENT||c.semantic===h.VertexAttributeSemantic.TEXCOORD||c.semantic===h.VertexAttributeSemantic.FEATURE_ID||c.semantic===h.VertexAttributeSemantic.SCALE||c.semantic===h.VertexAttributeSemantic.ROTATION;return((p=t.extensionsRequired)==null?void 0:p.includes("KHR_mesh_quantization"))&&a&&d&&bF(c,s),c}function _F(t,i,e,n,o,r,s,a,c){const d=t.gltfJson,p=d.accessors[i].bufferView;return h.ResourceCache.getVertexBufferLoader({gltf:d,gltfResource:t._gltfResource,baseResource:t._baseResource,frameState:c,bufferViewId:p,primitive:n,draco:o,spz:r,attributeSemantic:e,accessorId:i,asynchronous:t._asynchronous,loadBuffer:s,loadTypedArray:a})}function PF(t,i,e,n){if(t.byteOffset=0,t.byteStride=void 0,t.quantization=i.quantization,e&&(t.buffer=i.buffer),n){const o=h.defined(i.quantization)?i.quantization.componentDatatype:t.componentDatatype;t.typedArray=h.ComponentDatatype.createArrayBufferView(o,i.typedArray.buffer)}}function SF(t,i,e,n){if(t.byteOffset=0,t.byteStride=void 0,e&&(t.buffer=i.buffer),n&&h.defined(i.typedArray)&&(t.typedArray=h.ComponentDatatype.createArrayBufferView(t.componentDatatype,i.typedArray.buffer)),t.semantic===h.VertexAttributeSemantic.POSITION){const o=s=>{let a=1/0,c=-1/0,d=1/0,u=-1/0,p=1/0,f=-1/0;for(let g=0;g<s.length;g+=3){const m=s[g],y=s[g+1],P=s[g+2];a=Math.min(a,m),c=Math.max(c,m),d=Math.min(d,y),u=Math.max(u,y),p=Math.min(p,P),f=Math.max(f,P)}return[new h.Cartesian3(a,d,p),new h.Cartesian3(c,u,f)]},r=t.typedArray;[t.min,t.max]=o(r)}}function EF(t,i,e,n,o,r){if(o&&(e.buffer=n.buffer),r){const s=n.typedArray;e.typedArray=g_(t,i,s),o||(e.byteOffset=0,e.byteStride=void 0)}}function AF(t,i){const e=new vx,n=t.node;if(!h.defined(n))return;e.node=i[n];const o=t.path.toUpperCase();return e.path=gx[o],e}function g_(t,i,e){let n=i.byteOffset;const o=h.getAccessorByteStride(t,i),r=i.count,s=h.numberOfComponentsForType(i.type),a=i.componentType,c=h.ComponentDatatype.getSizeInBytes(a),d=c*s,u=r*s;if(o===d)return e=new Uint8Array(e),h.ComponentDatatype.createArrayBufferView(a,e.buffer,e.byteOffset+n,u);const p=h.ComponentDatatype.createTypedArray(a,u),f=new DataView(e.buffer),g=new Array(s),m=h.getComponentReader(i.componentType);n=e.byteOffset+n;for(let y=0;y<r;++y){m(f,n,s,c,g);for(let P=0;P<s;++P)p[y*s+P]=g[P];n+=o}return p}function TF(t,i,e,n){const o=t.type,r=t.count;if(o===h.AttributeType.SCALAR)for(let s=0;s<r;s++)e[s]=i[s];else if(o===h.AttributeType.VEC4&&n)for(let s=0;s<r;s++)e[s]=h.Quaternion.unpack(i,s*4);else{const s=h.AttributeType.getMathType(o),a=h.AttributeType.getNumberOfComponents(o);for(let c=0;c<r;c++)e[c]=s.unpack(i,c*a)}return e}function MF(t){return t===Number?0:new t}function IF(t,i,e){const n=t.decodeMatrix,o=Xt(e,t.decodedMin),r=Xt(e,t.decodedMax);h.defined(o)&&h.defined(r)&&(i.min=o,i.max=r);const s=new h.ModelComponents.Quantization;s.componentDatatype=i.componentDatatype,s.type=i.type,n.length===4?(s.quantizedVolumeOffset=n[2],s.quantizedVolumeStepSize=n[0]):n.length===9?(s.quantizedVolumeOffset=new h.Cartesian2(n[6],n[7]),s.quantizedVolumeStepSize=new h.Cartesian2(n[0],n[4])):n.length===16?(s.quantizedVolumeOffset=new h.Cartesian3(n[12],n[13],n[14]),s.quantizedVolumeStepSize=new h.Cartesian3(n[0],n[5],n[10])):n.length===25&&(s.quantizedVolumeOffset=new h.Cartesian4(n[20],n[21],n[22],n[23]),s.quantizedVolumeStepSize=new h.Cartesian4(n[0],n[6],n[12],n[18])),i.quantization=s}const DF={VEC2:new h.Cartesian2(-1,-1),VEC3:new h.Cartesian3(-1,-1,-1),VEC4:new h.Cartesian4(-1,-1,-1,-1)};function bF(t,i){const e=RF(t.componentDatatype),n=DF[t.type];let o=t.min;h.defined(o)&&(o=i.divideByScalar(o,e,o),o=i.maximumByComponent(o,n,o));let r=t.max;h.defined(r)&&(r=i.divideByScalar(r,e,r),r=i.maximumByComponent(r,n,r)),t.min=o,t.max=r}function RF(t){switch(t){case h.ComponentDatatype.BYTE:return 127;case h.ComponentDatatype.UNSIGNED_BYTE:return 255;case h.ComponentDatatype.SHORT:return 32767;case h.ComponentDatatype.UNSIGNED_SHORT:return 65535;default:return 1}}function m_(t,i){if(!h.defined(i))return;const e=i.length;if(e===0)return;const n=t.length;t.length+=e;for(let o=0;o<e;o++)t[n+o]=i[o]}N2(),V2(),U2(),q2(),$2(),X2(),Y2(),O2(),ox(),rx(),ax(),Dx(),h.Camera.DEFAULT_VIEW_RECTANGLE=h.Rectangle.fromDegrees(70,5,140,55);function xF(){return new Promise((t,i)=>h.GroundPolylinePrimitive.initializeTerrainHeights().then(t))}class FF extends l.Destroyable{constructor(i,e,n,o){super();const r=()=>{e.setStatus("Raw");const{viewer:a}=e;if(a){const c=Yt(a);if(c&&(c.destroy(),om(a,void 0)),h.defined(a)){a.entities.removeAll(),a.dataSources.removeAll(),a.imageryLayers.removeAll(),a.scene.primitives.removeAll(),a.scene.groundPrimitives.removeAll(),a.scene.postProcessStages.removeAll();let d=a.scene.context._originalGLContext;d.canvas.width=d.canvas.height=1,d.getExtension("WEBGL_lose_context").loseContext(),d=null}a.destroy(),n(void 0)}};this.d(r);const s=this.dv(l.createProcessingFromAsyncFunc(async(a,c)=>{e.setStatus("Creating"),e.setStatusLog("正在创建Cesium视口...");const d=L2;await a.promise(xF());const u=await a.promise(l.createCancelablePromise(d(c,o)));u.scene._xbsjOriginSkyAtmosphere=u.scene.skyAtmosphere,u.scene._xbsjOriginSkyBox=u.scene.skyBox,u.clockViewModel.currentTime=h.JulianDate.fromDate(new Date(e.currentTime)),this.dispose(e.currentTimeChanged.disposableOn(()=>{if(e.currentTime===void 0)return;const p=h.JulianDate.fromDate(new Date(e.currentTime));h.JulianDate.equals(p,u.clockViewModel.currentTime)||(u.clockViewModel.currentTime=p)})),this.dispose(mi(u.clockViewModel,"currentTime",p=>{const f=h.JulianDate.toDate(u.clockViewModel.currentTime).getTime();f!==e.currentTime&&(e.currentTime=f)}));{const p=new __(u,e);om(u,p)}e.setStatus("Created"),e.setStatusLog("成功创建Cesium视口!"),n(u)}));s.start(i),s.errorEvent.don(a=>{console.error(a),e.setStatus("Error"),e.setStatusLog("创建Cesium视口失败!")})}}const kF=new h.EllipsoidTerrainProvider;class v_ extends l.Destroyable{constructor(e){super();v(this,"_terrainMap",new Map);v(this,"_nextAnimateFrame",this.dv(l.createNextAnimateFrame()));v(this,"selectedTerrain");this._viewer=e;const n=this._viewer,o=n.scene.globe.terrainProviderChanged.addEventListener(()=>{this.selectedTerrain&&(this.selectedTerrain.sceneObject.activate=!0,this.selectedTerrain.sceneObject.activateEvent.emit())});this.ad(()=>{o&&o()}),this.dispose(this._changed.disposableOn(()=>{this.selectedTerrain=void 0;let r=Number.MIN_SAFE_INTEGER;for(let s of this._terrainMap.keys())s.sceneObject.activate=!1,(s.sceneObject.show??!0)&&s.sceneObject.zIndex>=r&&(this.selectedTerrain&&console.warn(`存在多个terrain,只能显示一个,当前terrian:${this.selectedTerrain.sceneObject.name}(${this.selectedTerrain.sceneObject.id}), 即将被替换成${s.sceneObject.name}(${s.sceneObject.id})`),r=s.sceneObject.zIndex,this.selectedTerrain=s);this.selectedTerrain&&!this.selectedTerrain.provider&&(this.selectedTerrain.sceneObject.activate=!0,this.selectedTerrain.sceneObject.activateEvent.emit()),n.scene.terrainProvider=(this.selectedTerrain&&this.selectedTerrain.provider)??kF,n.scene.globe.depthTestAgainstTerrain=this.selectedTerrain?this.selectedTerrain.sceneObject.renderMode!="disableDepthTest":!0,n.scene.globe.translucency.enabled=this.selectedTerrain?this.selectedTerrain.sceneObject.renderMode!="default":!1,n.scene.globe.translucency.frontFaceAlpha=this.selectedTerrain?l.clamp(this.selectedTerrain.sceneObject.opacity,0,1):1,n.scene.globe.translucency.backFaceAlpha=this.selectedTerrain?l.clamp(this.selectedTerrain.sceneObject.opacity,0,1):1}))}_makeDirty(){this._nextAnimateFrame.restartIfNotRunning()}get _changed(){return this._nextAnimateFrame.completeEvent}add(e){if(this._terrainMap.has(e)){console.warn("this._terrainMap.has(imagery)");return}const n=new l.Destroyable;n.dispose(e.providerChanged.disposableOn(()=>this._makeDirty())),n.dispose(e.sceneObject.showChanged.disposableOn(()=>this._makeDirty())),this._terrainMap.set(e,()=>n.destroy()),this._makeDirty();const o=this.ad(l.createNextAnimateFrameEvent(e.sceneObject.zIndexChanged,e.sceneObject.opacityChanged,e.sceneObject.renderModeChanged));this.d(o.don(()=>{this._changed.emit()}))}delete(e){if(!this._terrainMap.has(e)){console.warn("!this._imageriesMap.has(imagery)");return}const n=this._terrainMap.get(e);if(!n){console.error("!disposeFunc");return}n(),this._terrainMap.delete(e),this.selectedTerrain===e&&(this.selectedTerrain=void 0),this._makeDirty()}}class y_ extends l.Destroyable{constructor(e){super();v(this,"_labelMap",{div:new Map,canvas:new Map});this._viewer=e,this.d(e.scene.camera.changed.addEventListener(()=>{this._updateZOrder()}))}add(e){const n=e instanceof $e?"div":"canvas";if(this._labelMap[n].has(e)){console.warn(`this._labelMap[${n}].has(poi)`,e);return}const o=new l.Destroyable;{const r=o.dv(l.createNextAnimateFrameEvent(e.zOrderChanged,e.positionChanged));o.dispose(r.don(()=>{this._updateZOrder()}))}this._labelMap[n].set(e,()=>o.destroy()),this._updateZOrder()}delete(e){const n=e instanceof $e?"div":"canvas";if(!this._labelMap[n].has(e)){console.warn(`!this._labelMap[${n}].has(poi)`,e);return}const o=this._labelMap[n].get(e);if(!o){console.error("!disposeFunc");return}o(),this._labelMap[n].delete(e),this._updateZOrder()}_updateZOrder(){for(const e in this._labelMap)Object.prototype.hasOwnProperty.call(this._labelMap,e)&&this._updateLabelZOrder(this._labelMap[e],e)}_updateLabelZOrder(e,n){const o={};for(const a of e.keys())o[a.zOrder]||(o[a.zOrder]=new Map),o[a.zOrder].set(a,a instanceof $e?a.czmDivPoi?a.czmDivPoi.depth:0:a.canvasObj?a.canvasObj.czmCanvasPoi.depth:0);const r=Object.keys(o).sort((a,c)=>n=="div"?Number(c)-Number(a):Number(a)-Number(c));let s=e.size;for(let a=0;a<r.length;a++)new Map([...o[r[a]]].sort((d,u)=>Number(u[1])-Number(d[1]))).forEach((d,u)=>{u instanceof $e&&u.czmDivPoi&&(u.czmDivPoi.zOrder=s),u instanceof Gi&&u.canvasObj&&(u.canvasObj.czmCanvasPoi.zOrder=s),s--})}}class zF extends l.Destroyable{constructor(e){super();v(this,"_czmImageryLayerWrappers",new Set);v(this,"_zIndexChangedEvent",this.dv(new l.Event));this._viewer=e,this.d(this._zIndexChangedEvent.don(()=>{const n=[...this.czmImageryLayerWrappers.values()];n.sort((o,r)=>{const s=o.czmImageryWrapper.imagery.zIndex??w.ESImageryLayer.defaults.zIndex,a=r.czmImageryWrapper.imagery.zIndex??w.ESImageryLayer.defaults.zIndex;return s-a});for(const o of n)this.viewer.imageryLayers.raiseToTop(o.imageryLayer)}))}get viewer(){return this._viewer}get czmImageryLayerWrappers(){return this._czmImageryLayerWrappers}add(e){this._czmImageryLayerWrappers.add(e),this.viewer.imageryLayers.add(e.imageryLayer),this.zIndexChange()}delete(e){this.viewer.imageryLayers.remove(e.imageryLayer,!1),this._czmImageryLayerWrappers.delete(e)}zIndexChange(){this._zIndexChangedEvent.emit()}}class LF extends l.Destroyable{constructor(e){super();v(this,"_imageryLayer");if(this._czmImageryWrapper=e,!this._czmImageryWrapper.imagery.layer)throw new Error("this._czmCzmImageryWrapper.imagery.czmImagery");this._imageryLayer=this._czmImageryWrapper.imagery.layer;const{czmImageryWrapper:n}=this,o=n.manager.czmImageriesManager;o.add(this),this.d(()=>o.delete(this)),this.d(this._czmImageryWrapper.imagery.zIndexChanged.don(()=>o.zIndexChange()))}get imageryLayer(){return this._imageryLayer}get czmImageryWrapper(){return this._czmImageryWrapper}}class OF extends l.Destroyable{constructor(e){super();v(this,"_objResetting");this._czmImageryWrapper=e,this._objResetting=this.dv(new l.ObjResettingWithEvent(this.czmImageryWrapper.imagery.showChanged,()=>{if(this.czmImageryWrapper.imagery.show??!0)return new LF(this.czmImageryWrapper)}))}get czmImageryWrapper(){return this._czmImageryWrapper}get objResetting(){return this._objResetting}}class NF extends l.Destroyable{constructor(e,n){super();v(this,"_czmImageryLayerWrapperObjResetting");this._imagery=e,this._manager=n,this._czmImageryLayerWrapperObjResetting=this.dv(new l.ObjResettingWithEvent(this.imagery.layerChanged,()=>{if(this.imagery.layer)return new OF(this)}))}get imagery(){return this._imagery}get manager(){return this._manager}get czmImageryLayerWrapperObjResetting(){return this._czmImageryLayerWrapperObjResetting}}class w_ extends l.Destroyable{constructor(e){super();v(this,"_czmImageryWrappers",new Set);v(this,"_czmImageryLayersManager");this._viewer=e,this._czmImageryLayersManager=this.dv(new zF(this.viewer))}get czmImageryWrappers(){return this._czmImageryWrappers}get czmImageriesManager(){return this._czmImageryLayersManager}get viewer(){return this._viewer}add(e){for(let n of this.czmImageryWrappers)if(n.imagery===e){console.warn("imageriesManager add error: has already added!",e);return}this.czmImageryWrappers.add(new NF(e,this))}delete(e){for(const n of this.czmImageryWrappers)if(n.imagery===e){this.czmImageryWrappers.delete(n);return}console.warn("imageriesManager delete error!",e)}}class C_ extends l.Destroyable{constructor(e){super();v(this,"_pause",this.disposeVar(l.react(!1)));v(this,"_pickPositionTasks",[]);v(this,"_pickTasks",[]);v(this,"pickHeightMustGreaterThanZero",!0);v(this,"objectsToExclude",[]);const n=e.viewer;{this.dispose(()=>{this._pickPositionTasks.length>0&&(this._pickPositionTasks.forEach(a=>a[3]("CzmViewer销毁,任务不再执行!")),this._pickPositionTasks.length=0),this._pickTasks.length>0&&(this._pickTasks.forEach(a=>a[4]("CzmViewer销毁,任务不再执行!")),this._pickTasks.length=0)});const o=()=>{const a=[...this._pickPositionTasks];this._pickPositionTasks.length=0;for(let d of a){const[u,p,f,g]=d;try{(async()=>{const{scene:m,camera:y}=n,P=Ee(u),S=y.getPickRay(P);if(S){let I;if(p?I=await m.pickFromRayMostDetailed(S,this.objectsToExclude):I=m.pickFromRay(S,this.objectsToExclude),I&&I.position){const b=ce(I.position);return b?f(b):g(new Error("positionFromCartesian failed"))}if(!(m.terrainProvider instanceof h.EllipsoidTerrainProvider)){const b=m.globe.pick(S,m);if(!b)return g(new Error("scene.globe.pick failed"));const x=ce(b);return x?(this.pickHeightMustGreaterThanZero&&x[2]<0&&(x[2]=0),f(x)):g(new Error("positionFromCartesian failed"))}}const C=m.terrainProvider instanceof h.EllipsoidTerrainProvider?m.terrainProvider.tilingScheme.ellipsoid:n.scene.globe.ellipsoid,E=n.camera.pickEllipsoid(Ee(u),C);if(!E)return g(new Error("Pick failed"));const T=ce(E);return T?f(T):g(new Error("positionFromCartesian failed"))})()}catch(m){g(m)}}const c=[...this._pickTasks];this._pickTasks.length=0;for(let d of c){const[u,p,f,g,m]=d;e.pickCustomAttachedInfo=f;try{(async()=>{var I,b,x;let y=n.scene.pick(Ee(u),p&&p[0],p&&p[1]);!y&&h.defined(n.scene.globe)&&(y=await VF(n,Ee(u)));let P;if(y&&y instanceof h.Cesium3DTileFeature){P={};try{y&&y.getPropertyIds().forEach(W=>{P&&(P[W]=y.getProperty(W))})}catch(z){console.warn(z)}}let S;y&&(y.id&&y.id instanceof h.Entity&&y.id.ESSceneObjectID?S=y.id.ESSceneObjectID:y.collection&&y.collection.ESSceneObjectID?S=y.collection.ESSceneObjectID:y.primitive&&y.primitive.ESSceneObjectID?S=y.primitive.ESSceneObjectID:Array.isArray(y)&&y[0]instanceof h.ImageryLayerFeatureInfo&&(S=y[0].imageryLayer.ESSceneObjectID));let C=S?w.ESSceneObject.getSceneObject(S):void 0;C&&C.parentID&&(C=w.ESSceneObject.getSceneObject(C.parentID));let E={};if(C&&Reflect.has(C,"allowPicking")&&Reflect.has(C,"pickedEvent")&&(C.allowPicking??!1)){if(C instanceof w.ESEntityCluster){const z=new h.JulianDate;E=y.id instanceof h.Entity?{name:y.id.label.text.getValue(z),properties:(I=y.id.properties)==null?void 0:I.getValue(z),coordinates:rs(y.id.position.getValue(z))}:(b=y.id)==null?void 0:b.map(W=>{var N;return{name:W.id,properties:(N=W.properties)==null?void 0:N.getValue(z),coordinates:rs(W.position.getValue(z))}})}else if(C instanceof w.ESGeoJson){const z=new h.JulianDate;if(!y.id.entityCollection)return;const W=y.id.polygon?"Polygon":y.id.polyline?"LineString":"Point",N=((x=y.id.properties)==null?void 0:x.getValue(z))??{},L=W=="Point"?ce(y.id.position.getValue(z)):W=="LineString"?y.id.polyline.positions.getValue(z).map(U=>ce(U)):ld(y.id.polygon.hierarchy.getValue(z));E=C.pickedInfoType=="FeatureCollection"?{type:"Feature",geometry:{type:W,coordinates:L},properties:N}:{type:W,coordinates:L,properties:N}}else if(C instanceof w.ESGltfModel){let z;Reflect.has(y,"featureId")?z=y.featureId:Reflect.has(y,"instanceId")&&(z=y.instanceId),z&&(y.id=y.primitive.structuralMetadata.getPropertyTable(0).getProperty(y.instanceId,"id"))}C.pickedEvent.emit(new w.ESJPickedResult(y,C,P,E,f,u))}C&&Reflect.has(C,"allowPicking")&&!C.allowPicking&&g(new w.ESJPickedResult);const T=new w.ESJPickedResult(y,C,P,E,f,u);g(T)})()}catch(y){m(y)}}};let r=n.scene.postRender.addEventListener(o);const s=()=>{r&&r(),r=void 0};this.ad(s),this.ad(this.pauseChanged.don(a=>{a?s():r=n.scene.postRender.addEventListener(o)}))}}get pause(){return this._pause.value}set pause(e){this._pause.value=e}get pauseChanged(){return this._pause.changed}pickPosition(e){return new Promise((n,o)=>{this._pickPositionTasks.push([e,!0,n,o])})}quickPickPosition(e){return new Promise((n,o)=>{this._pickPositionTasks.push([e,!1,n,o])})}pick(e,n,o){return new Promise((r,s)=>{this._pickTasks.push([e,n,o,r,s])})}}function VF(t,i){const e=t.scene,n=e.camera.getPickRay(i);if(!n)return;const o=e.imageryLayers.pickImageryLayerFeatures(n,e);if(h.defined(o))return o}class UF extends l.Destroyable{constructor(e){super();v(this,"_enabled",this.disposeVar(l.react(!1)));v(this,"_cursorPosition",l.react(void 0));v(this,"quickPickPosition",!0);let n=new l.Destroyable;const o=()=>{n&&(n.destroy(),n=void 0)};this.dispose(o);const r=()=>{if(o(),!this._enabled.value||!e)return;const s=Yt(e);if(!s)return;n=new l.Destroyable;const a=n.disposeVar(l.react(void 0)),c=n.disposeVar(l.createNextAnimateFrameEvent(a.changed));n.dispose(s.czmViewer.pointerMoveEvent.disposableOn(u=>{u.pointerEvent&&(a.value=l.getDomEventCurrentTargetPos(u.pointerEvent))}));const d=n.disposeVar(l.createProcessingFromAsyncFunc(async u=>{if(s.pickingManager&&a.value)if(this.quickPickPosition){const p=await u.promise(l.createCancelablePromise(s.pickingManager.quickPickPosition(a.value)));this._cursorPosition.value=p}else{const p=await u.promise(l.createCancelablePromise(s.pickingManager.pickPosition(a.value)));this._cursorPosition.value=p}}));n.dispose(c.disposableOn(()=>{d.restart()}))};r(),this.dispose(this._enabled.changed.disposableOn(r))}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get cursorPosition(){return this._cursorPosition.value}get cursorPositionChanged(){return this._cursorPosition.changed}}function Yt(t){return l.getExtProp(t,"_viewerExtensions")}function om(t,i){l.setExtProp(t,"_viewerExtensions",i)}class __ extends l.Destroyable{constructor(e,n){super();v(this,"_imageriesManager");v(this,"_terrainManager");v(this,"_labelManager");v(this,"_pickingManager");v(this,"_poiContext");v(this,"_cursorPositionInfo");this._viewer=e,this._czmViewer=n,this._imageriesManager=this.dv(new w_(this.viewer)),this._terrainManager=this.dv(new v_(this.viewer)),this._labelManager=this.dv(new y_(this.viewer)),this._poiContext=this.disposeVar(new av(this._viewer)),this._cursorPositionInfo=this.disposeVar(new UF(this._viewer)),this.ad(n.viewerChanged.don(()=>{this._pickingManager=this.dv(new C_(n))}))}get viewer(){return this._viewer}get czmViewer(){return this._czmViewer}get imageriesManager(){return this._imageriesManager}get terrainManager(){return this._terrainManager}get labelManager(){return this._labelManager}get pickingManager(){return this._pickingManager}get poiContext(){return this._poiContext}get cursorPositionInfo(){return this._cursorPositionInfo}}var P_=new h.Cartesian3,S_=new h.Cartesian3;function E_(t,i,e){let n=h.Matrix4.clone(t.transform);t.lookAtTransform(h.Matrix4.IDENTITY);var o=t.positionCartographic.height,r=t.positionWC,s=h.Cartesian3.normalize(r,P_),a=h.Cartesian3.dot(t.direction,s);if(a>-.9&&a<.9)var c=h.Cartesian3.cross(t.direction,s,S_);else var c=h.Cartesian3.cross(t.up,s,S_);var d=c;if(e){var u=h.Cartesian3.cross(s,c,P_);d=u}var p=h.Cartesian3.magnitude(r);t.rotate(d,i/p);var f=t.positionCartographic,g=f.longitude,m=f.latitude;h.Cartesian3.fromRadians(g,m,o,void 0,t.position),t.lookAtTransform(n)}function A_(t,i){E_(t,i,!1)}function T_(t,i){E_(t,-i,!0)}class WF extends l.Destroyable{constructor(e){super();v(this,"_actions",{MoveForward:!1,MoveBackword:!1,MoveLeft:!1,MoveRight:!1});this._running=e;const{controller:n}=this,{viewer:o}=n.firstPersonController,{camera:r}=o;this.dispose(this.running.keyStatus.currentKeyIdsChanged.disposableOn(()=>{this._updateActions()})),this.dispose(this.controller.keyDownEvent.disposableOn(s=>{const{keyStatusMap:a}=this.running.keyboardCameraController;a[s.code]==="SpeedUp"?this.controller.speed=this.controller.speed*2:a[s.code]==="SpeedDown"&&(this.controller.speed=this.controller.speed*.5)})),this.dispose(this.controller.keyDownEvent.disposableOn(s=>{const{keyStatusMap:a}=this.running.keyboardCameraController;a[s.code]==="SwitchAlwaysWithCamera"&&(this.controller.alwaysWithCamera=!this.controller.alwaysWithCamera)}));{const{actions:s}=this;let a=Date.now();const c=()=>{const d=Date.now(),u=d-a;a=d;const p=this.controller.speed;s.WithCamera||this.controller.alwaysWithCamera?(s.MoveForward&&r.moveForward(u*p),s.MoveBackword&&r.moveBackward(u*p),s.MoveLeft&&r.moveLeft(u*p),s.MoveRight&&r.moveRight(u*p)):(s.MoveForward&&A_(r,u*p),s.MoveBackword&&A_(r,-u*p),s.MoveLeft&&T_(r,-u*p),s.MoveRight&&T_(r,u*p));{const{rotateSpeed:f}=this.controller,g=h.Math.toRadians(f*u);s.RotateRight?r.lookRight(g):s.RotateLeft?r.lookRight(-g):s.RotateUp?r.lookDown(-g):s.RotateDown&&r.lookDown(g)}};o.scene.preUpdate.addEventListener(c),this.dispose(()=>o.scene.preUpdate.removeEventListener(c))}}get running(){return this._running}get controller(){return this.running.keyboardCameraController}get actions(){return this._actions}_resetActions(){const e=Object.keys(this._actions);for(let n of e)this._actions[n]=!1}_updateActions(){const{running:e}=this,{keyStatus:n}=e,{actions:o}=this;this._resetActions();const{keyStatusMap:r}=this.running.keyboardCameraController;for(let s of n.currentKeyIds)o[r[s]]=!0}}class Rh extends l.Destroyable{constructor(e){super();v(this,"_currentKeyIds",new Set);v(this,"_currentKeyIdsChanged",this.dv(new l.Event));v(this,"_debug",this.dv(l.react(!1)));v(this,"_debugResetting",this.dv(new l.ObjResettingWithEvent(this.debugChanged,()=>{if(this.debug)return new class extends l.Destroyable{constructor(e){super();const n=()=>{console.log([...e.currentKeyIds].join(`
|
|
1959
|
-
`))};n(),this.d(e.currentKeyIdsChanged.don(n))}}(this)})));this._keyboardCameraControllerRunning=e;const{keyboardCameraController:n}=this._keyboardCameraControllerRunning;{const o=r=>{const s=Rh.getKeyId(r);this._currentKeyIds.has(s)||(this._currentKeyIds.add(s),this._currentKeyIdsChanged.emit())};this.d(n.keyDownEvent.don(o))}{const o=r=>{const s=Rh.getKeyId(r);this._currentKeyIds.has(s)&&(this._currentKeyIds.delete(s),this._currentKeyIdsChanged.emit())};this.d(n.keyUpEvent.don(o))}{const o=()=>{this._currentKeyIds.clear(),this._currentKeyIdsChanged.emit()};this.d(n.abortEvent.don(o))}}static getKeyId(e){return e.code}get currentKeyIds(){return this._currentKeyIds}get currentKeyIdsChanged(){return this._currentKeyIdsChanged}get debug(){return this._debug.value}set debug(e){this._debug.value=e}get debugChanged(){return this._debug.changed}}class GF extends l.Destroyable{constructor(e){super();v(this,"_keyStatus");v(this,"_cameraOp");this._keyboardCameraController=e,this._keyStatus=this.dv(new Rh(this)),this._cameraOp=this.dv(new WF(this))}get keyboardCameraController(){return this._keyboardCameraController}get keyStatus(){return this._keyStatus}get cameraOp(){return this._cameraOp}}const Nh=class Nh extends l.Destroyable{constructor(e){super();v(this,"_enabled",this.dv(l.react(!1)));v(this,"_keyStatusMap",this.dv(l.react(Nh.defaultKeyStatusMap)));v(this,"_speed",this.dv(l.react(1)));v(this,"_rotateSpeed",this.dv(l.react(.01)));v(this,"_alwaysWithCamera",this.dv(l.react(!1)));v(this,"_keyDownEvent",this.dv(new l.Event));v(this,"_keyUpEvent",this.dv(new l.Event));v(this,"_abortEvent",this.dv(new l.Event));this._firstPersonController=e,this.dv(new l.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new GF(this)}))}get firstPersonController(){return this._firstPersonController}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get keyStatusMap(){return this._keyStatusMap.value}set keyStatusMap(e){this._keyStatusMap.value=e}get keyStatusMapChanged(){return this._keyStatusMap.changed}get speed(){return this._speed.value}set speed(e){this._speed.value=e}get speedChanged(){return this._speed.changed}get rotateSpeed(){return this._rotateSpeed.value}set rotateSpeed(e){this._rotateSpeed.value=e}get rotateSpeedChanged(){return this._rotateSpeed.changed}get alwaysWithCamera(){return this._alwaysWithCamera.value}set alwaysWithCamera(e){this._alwaysWithCamera.value=e}get alwaysWithCameraChanged(){return this._alwaysWithCamera.changed}get keyDownEvent(){return this._keyDownEvent}keyDown(e){this._keyDownEvent.emit(e)}get keyUpEvent(){return this._keyUpEvent}keyUp(e){this._keyUpEvent.emit(e)}get abortEvent(){return this._abortEvent}abort(){this._abortEvent.emit()}};v(Nh,"defaultKeyStatusMap",{ShiftLeft:"WithCamera",ShiftRight:"WithCamera",KeyW:"MoveForward",KeyS:"MoveBackword",KeyA:"MoveLeft",KeyD:"MoveRight",ArrowUp:"MoveForward",ArrowDown:"MoveBackword",ArrowLeft:"MoveLeft",ArrowRight:"MoveRight",KeyR:"SpeedUp",KeyF:"SpeedDown",KeyQ:"SwitchAlwaysWithCamera"});let xh=Nh;function HF(t,i){t.lookRight(h.Math.toRadians(i.movementX)*.1),t.lookDown(h.Math.toRadians(i.movementY)*.1);const e=t.pitch,n=h.Math.clamp(e,-h.Math.PI_OVER_TWO,h.Math.PI_OVER_TWO);n!==e&&t.setView({destination:t.positionWC,orientation:{heading:t.heading,pitch:n,roll:t.roll}})}class qF extends l.Destroyable{constructor(i,e){super(),this._firstPersonController=i,this._mouseCameraController=e;const{canvas:n}=this._firstPersonController.viewer;{const o=r=>{const{camera:s}=this._firstPersonController.viewer.scene;HF(s,r)};n.addEventListener("pointermove",o),this.dispose(()=>n.removeEventListener("pointermove",o))}}}const Vh=class Vh extends l.Destroyable{constructor(e){super();v(this,"_mouseMoving",this.dv(new qF(this.firstPersonController,this.mouseCameraController)));this._mouseCameraController=e;const{viewer:n}=this.firstPersonController;this.mouseCameraController.enableViewerOriginInputs(!1),this.dispose(()=>this.mouseCameraController.enableViewerOriginInputs(!0)),Element.prototype.setPointerCapture=()=>{},this.dispose(()=>Element.prototype.setPointerCapture=Vh.origin_setPointerCapture);const o=n.canvas;o.requestPointerLock(),this.dispose(()=>document.exitPointerLock());{const r=()=>{document.pointerLockElement!==o&&(this.firstPersonController.mouseEnabled=!1)};document.addEventListener("pointerlockchange",r,!1),this.dispose(()=>document.removeEventListener("pointerlockchange",r,!1))}{const r=()=>{this.firstPersonController.mouseEnabled=!1,console.log("Error locking pointer")};document.addEventListener("pointerlockerror",r)}}get mouseCameraController(){return this._mouseCameraController}get firstPersonController(){return this.mouseCameraController.firstPersonController}get mouseMoving(){return this._mouseMoving}};v(Vh,"origin_setPointerCapture",Element.prototype.setPointerCapture);let rm=Vh;class $F extends l.Destroyable{constructor(e){super();v(this,"_enabled",this.dv(l.react(!1)));v(this,"enableViewerOriginInputs",e=>{e?this.firstPersonController.czmViewer.incrementDisabledInputStack():this.firstPersonController.czmViewer.decrementDisabledInputStack()});v(this,"_mouseResetting",this.dv(new l.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new rm(this)})));this._firstPersonController=e}get firstPersonController(){return this._firstPersonController}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get mouseResetting(){return this._mouseResetting}}class XF extends l.Destroyable{constructor(e){super();v(this,"viewer");v(this,"_mouseCameraController",this.dv(new $F(this)));v(this,"_keyboardCameraController",this.dv(new xh(this)));if(this._viewer=e,!this._viewer.viewer)throw new Error("Cesium.Viewer不存在!");this.viewer=this._viewer.viewer}get czmViewer(){return this._viewer}get mouseCameraController(){return this._mouseCameraController}get mouseEnabled(){return this.mouseCameraController.enabled}set mouseEnabled(e){this.mouseCameraController.enabled=e}get mouseEnabledChanged(){return this.mouseCameraController.enabledChanged}get keyboardCameraController(){return this._keyboardCameraController}get keyboardEnabled(){return this.keyboardCameraController.enabled}set keyboardEnabled(e){this.keyboardCameraController.enabled=e}get keyboardEnabledChanged(){return this.keyboardCameraController.enabledChanged}}function M_(t){t.removeInputAction(h.ScreenSpaceEventType.LEFT_DOWN),t.removeInputAction(h.ScreenSpaceEventType.RIGHT_DOWN),t.removeInputAction(h.ScreenSpaceEventType.MIDDLE_DOWN),t.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),t.removeInputAction(h.ScreenSpaceEventType.LEFT_UP),t.removeInputAction(h.ScreenSpaceEventType.RIGHT_UP),t.removeInputAction(h.ScreenSpaceEventType.MIDDLE_UP)}function sm(t,i,e,n=void 0){const r=t.camera,s=new h.Cartesian2;s.x=i.startPosition.x,s.y=0;const a=new h.Cartesian2;a.x=i.endPosition.x,a.y=0;let c=r.getPickRay(s,new h.Ray),d=r.getPickRay(a,new h.Ray),u=0,p,f;if(!c||!d)return;r.frustum instanceof h.OrthographicFrustum?(p=c.origin,f=d.origin,h.Cartesian3.add(r.direction,p,p),h.Cartesian3.add(r.direction,f,f),h.Cartesian3.subtract(p,r.position,p),h.Cartesian3.subtract(f,r.position,f),h.Cartesian3.normalize(p,p),h.Cartesian3.normalize(f,f)):(p=c.direction,f=d.direction);let g=h.Cartesian3.dot(p,f);g<1&&(u=Math.acos(g)),u=i.startPosition.x>i.endPosition.x?u:-u;const m=e._horizontalRotationAxis;if(h.defined(n)?r.look(n,-u):h.defined(m)?r.look(m,-u):r.lookLeft(u),s.x=0,s.y=i.startPosition.y,a.x=0,a.y=i.endPosition.y,c=r.getPickRay(s,new h.Ray),d=r.getPickRay(a,new h.Ray),u=0,!(!c||!d))if(r.frustum instanceof h.OrthographicFrustum?(p=c.origin,f=d.origin,h.Cartesian3.add(r.direction,p,p),h.Cartesian3.add(r.direction,f,f),h.Cartesian3.subtract(p,r.position,p),h.Cartesian3.subtract(f,r.position,f),h.Cartesian3.normalize(p,p),h.Cartesian3.normalize(f,f)):(p=c.direction,f=d.direction),g=h.Cartesian3.dot(p,f),g<1&&(u=Math.acos(g)),u=i.startPosition.y>i.endPosition.y?u:-u,n=h.defaultValue(n,m),h.defined(n)){const y=r.direction,P=h.Cartesian3.negate(n,new h.Cartesian3),S=h.Cartesian3.equalsEpsilon(y,n,h.Math.EPSILON2),C=h.Cartesian3.equalsEpsilon(y,P,h.Math.EPSILON2);if(!S&&!C){g=h.Cartesian3.dot(y,n);let E=h.Math.acosClamped(g);u>0&&u>E&&(u=E-h.Math.EPSILON4),g=h.Cartesian3.dot(y,P),E=h.Math.acosClamped(g),u<0&&-u>E&&(u=-E+h.Math.EPSILON4);const T=h.Cartesian3.cross(n,y,new h.Cartesian3);r.look(T,u)}else(S&&u<0||C&&u>0)&&r.look(r.right,-u)}else r.lookUp(u)}class YF extends l.Destroyable{constructor(i,e){super();const n=e.viewer;if(!n)throw new Error("viewer is undefined");let o=!0;this.d(i.positionChanged.don(()=>o=!0)),this.d(i.rotationChanged.don(()=>o=!0)),this.d(i.offsetHeightChanged.don(()=>o=!0)),this.d(i.viewDistanceChanged.don(()=>o=!0)),this.d(i.offsetRotationChanged.don(()=>o=!0)),this.d(i.relativeRotationChanged.don(()=>o=!0));const r=[0,0,0],s=[0,0,0];this.d(n.clock.onTick.addEventListener(()=>{if(!o)return;if(o=!1,!i.position){console.warn("相机控制器未能设置位置,无法启用!");return}if(i.viewDistance===void 0){console.warn("相机控制器未能设置视距,将自动设置视距!");const p=Ve(i.position),f=n.camera.positionWC,g=h.Cartesian3.distance(p,f);i.viewDistance=g}l.Vector.clone(i.position,s),i.offsetHeight&&(s[2]+=i.offsetHeight);const{rotation:a,offsetRotation:c=Li.defaults.offsetRotation}=i,d=[...c];l.Vector.set(r,0,0,0),a&&(i.relativeRotation??Li.defaults.relativeRotation)&&(l.Vector.add(a,r,r),d[0]+=90),l.Vector.add(d,r,r);const u={distance:i.viewDistance,heading:r[0],pitch:r[1],flyDuration:0,hDelta:0,pDelta:0};e.flyTo(u,s)})),e.incrementDisabledInputStack(),this.d(()=>{e.decrementDisabledInputStack()}),this.d(e.pointerMoveEvent.don(a=>{const c=a==null?void 0:a.pointerEvent;if(c&&i.enabledRotationInput&&(c.buttons===1||c.buttons===2)){const{movementX:d,movementY:u}=c;i.offsetRotation=l.Vector.add(i.offsetRotation??Li.defaults.offsetRotation,[d*.2,u*-.2,0])}})),this.d(e.wheelEvent.don(a=>{if(!i.enabledScaleInput)return;const c=a.deltaY,u=Math.max(1,i.viewDistance)*(c*.001);i.viewDistance=i.viewDistance+u}))}}class Li extends l.Destroyable{constructor(e){super();v(this,"_resetWithCameraEvent",this.dv(new l.Event));const n=e.viewer;if(!n)throw new Error("viewer is undefined");const o=this;let r;const s=()=>{r&&(r.destroy(),r=void 0)};this.d(s);const a=()=>{s(),o.enabled&&(r=new YF(o,e))};a(),this.d(o.enabledChanged.don(a)),this.d(o.resetWithCameraEvent.don(c=>{if(!e.actived)return;const d=$o(n.camera);if(!d)return;const u=o.rotation;o.offsetRotation=[d[0]-(o.relativeRotation?u[0]:90),d[1]-(o.relativeRotation?u[1]:0),d[2]-(o.relativeRotation?u[2]:0)]}))}get resetWithCameraEvent(){return this._resetWithCameraEvent}resetWithCamera(e){this._resetWithCameraEvent.emit(e)}}v(Li,"defaults",{position:[116.39,39.9,0],rotation:[0,0,0],offsetRotation:[0,-60,0],relativeRotation:!0}),(t=>{t.createDefaultProps=()=>({enabled:!1,showTarget:!1,position:l.reactArrayWithUndefined(void 0),rotation:l.reactArrayWithUndefined(void 0),rotationEditing:!1,viewDistance:1e3,offsetHeight:0,offsetRotation:l.reactArray([0,-60,0]),enabledRotationInput:!0,enabledScaleInput:!0,relativeRotation:!0})})(Li||(Li={})),l.extendClassProps(Li.prototype,Li.createDefaultProps);class Qs extends l.Destroyable{constructor(e){super();v(this,"_geoCameraController");v(this,"_geoPolylinePath");this._geoCameraController=this.dv(new Li(e)),this._geoPolylinePath=this.dv(new Sr(e)),this._geoPolylinePath.show=!1,this._geoPolylinePath.currentTime=0;const n=()=>{(this.usePathPosition??!0)&&(this._geoCameraController.position=this._geoPolylinePath.currentPosition),(this.usePathRotation??!0)&&(this._geoCameraController.rotation=this._geoPolylinePath.currentRotation)};n(),this.d(this._geoPolylinePath.currentPositionChanged.don(n)),this.d(this._geoPolylinePath.currentRotationChanged.don(n)),this.dispose(l.bind([this._geoCameraController,"enabled"],[this,"enabled"])),this.dispose(l.bind([this._geoCameraController,"viewDistance"],[this,"viewDistance"])),this.dispose(l.bind([this._geoCameraController,"offsetHeight"],[this,"offsetHeight"])),this.dispose(l.bind([this._geoCameraController,"offsetRotation"],[this,"offsetRotation"])),this.dispose(l.track([this._geoCameraController,"enabledRotationInput"],[this,"enabledRotationInput"])),this.dispose(l.track([this._geoCameraController,"enabledScaleInput"],[this,"enabledScaleInput"])),this.dv(new l.ObjResettingWithEvent(this.lineModeChanged,()=>{if(this.lineMode!==void 0){if(this.lineMode==="auto")return new ZF(this,e);if(this.lineMode==="manual")return new QF(this,e)}}))}get geoCameraController(){return this._geoCameraController}get polylinePath(){return this._geoPolylinePath}get position(){return this._geoCameraController.position}get positionChanged(){return this._geoCameraController.positionChanged}get rotation(){return this._geoCameraController.rotation}get roataionChanged(){return this._geoCameraController.rotationChanged}}(t=>{t.createDefaultProps=()=>({enabled:!1,usePathPosition:!0,usePathRotation:!0,viewDistance:1e3,offsetHeight:0,offsetRotation:l.reactArray([0,-60,0]),enabledRotationInput:!0,enabledScaleInput:!0,lineMode:void 0})})(Qs||(Qs={})),l.extendClassProps(Qs.prototype,Qs.createDefaultProps);class ZF extends l.Destroyable{constructor(i,e){if(super(),!e.viewer)throw new Error("viewer is undefined");i.offsetRotation=[-90,0,0]}}class QF extends l.Destroyable{constructor(i,e){if(super(),!e.viewer)throw new Error("viewer is undefined");const o=r=>{(r.key==="w"||r.key==="s")&&(i.polylinePath.playing=r.type==="keydown",i.polylinePath.speed=r.key==="w"||r.type==="keyup"?1:-1)};this.dispose(e.keyDownEvent.don(o)),this.dispose(e.keyUpEvent.don(o))}}class KF extends l.Destroyable{constructor(i,e){super();const n=e.positionPropertyName??"position",o=e.positionChangedPropertyName??n+"Changed",r=e.rotationPropertyName??"rotation",s=e.rotationChangedPropertyName??r+"Changed",a=(e.positionTracking??!0)&&Reflect.has(i,n)&&Reflect.has(i,o),c=(e.rotationTracking??!0)&&Reflect.has(i,r)&&Reflect.has(i,s);if(!(!a&&!c)){if(a){const d=()=>{e.geoCameraController.position=i[n]};d();const u=i[o];this.d(u.don(d))}if(c){const d=()=>{e.geoCameraController.rotation=i[r]};d();const u=i[o];this.d(u.don(d))}}}}class JF extends l.Destroyable{constructor(i,e){super();const n=this.dv(new w.ESSceneObjectWithId);n.id=i;const o=this.dv(l.createNextAnimateFrameEvent(e.enabledChanged,e.positionTrackingChanged,e.rotationTrackingChanged,e.positionPropertyNameChanged,e.positionChangedPropertyNameChanged,e.rotationPropertyNameChanged,e.rotationChangedPropertyNameChanged,n.sceneObjectChanged));this.disposeVar(new l.ObjResettingWithEvent(o,()=>{const{sceneObject:r}=n;if(!(!e.enabled||!r))return new KF(r,e)}))}}class Ks extends l.Destroyable{constructor(e){super();v(this,"_geoCameraController");this._geoCameraController=this.dv(new Li(e)),this.d(l.bind([this._geoCameraController,"enabled"],[this,"enabled"])),this.dv(new l.ObjResettingWithEvent(this.sceneObjectIdChanged,()=>{if(this.sceneObjectId)return new JF(this.sceneObjectId,this)}))}get geoCameraController(){return this._geoCameraController}}(t=>{t.createDefaultProps=()=>({enabled:void 0,sceneObjectId:void 0,positionTracking:void 0,rotationTracking:void 0,positionPropertyName:void 0,positionChangedPropertyName:void 0,rotationPropertyName:void 0,rotationChangedPropertyName:void 0})})(Ks||(Ks={})),l.extendClassProps(Ks.prototype,Ks.createDefaultProps);class BF extends l.Destroyable{constructor(e){super();v(this,"height",1e7);v(this,"cycle",60);v(this,"latitude",38*3.1415926/18);v(this,"_running",!1);v(this,"_sseh");v(this,"_eventDisposer");v(this,"leftDownCancel",!0);this._viewer=e,this._sseh=this.dv(new h.ScreenSpaceEventHandler(this._viewer.canvas)),this._sseh.setInputAction(()=>{this.leftDownCancel&&this.cancel()},h.ScreenSpaceEventType.LEFT_DOWN),this.d(()=>{this.cancel()})}get viewer(){return this._viewer}get sseh(){return this._sseh}start(){if(this._running)return;const e=this._viewer.camera,n=e.positionCartographic;e.flyTo({destination:h.Cartesian3.fromRadians(n.longitude,this.latitude,this.height),orientation:{heading:0,pitch:-.5*h.Math.PI,roll:0},complete:()=>{this._running=!0;var o=void 0;this._eventDisposer=this.viewer.scene.postUpdate.addEventListener((r,s)=>{if(!o){o=new Date().getTime();return}const a=(new Date().getTime()-o)/1e3,c=e.positionCartographic.longitude+a*h.Math.PI*2/this.cycle;e.setView({destination:h.Cartesian3.fromRadians(c,this.latitude,this.height),orientation:{heading:0,pitch:-.5*h.Math.PI,roll:0}}),o=new Date().getTime()})},duration:.5})}cancel(){this._running&&(this._eventDisposer&&(this._eventDisposer(),this._eventDisposer=void 0),this._running=!1)}}class jF extends l.Destroyable{constructor(e){super();v(this,"_height",this.dv(l.react(1e7)));v(this,"_cycle",this.dv(l.react(60)));v(this,"_latitude",this.dv(l.react(38)));v(this,"_inner");this._czmViewer=e;const n=this._czmViewer.viewer;if(!n)throw new Error("未初始化viewer");this._inner=this.dv(new BF(n)),this._inner.leftDownCancel=!1;{const o=()=>{this._inner.height=this.height,this._inner.cycle=this.cycle,this._inner.latitude=this.latitude*Math.PI/180};o(),this.d(this.heightChanged.don(o)),this.d(this.cycleChanged.don(o)),this.d(this.latitudeChanged.don(o))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}get cycle(){return this._cycle.value}set cycle(e){this._cycle.value=e}get cycleChanged(){return this._cycle.changed}get latitude(){return this._latitude.value}set latitude(e){this._latitude.value=e}get latitudeChanged(){return this._latitude.changed}get inner(){return this._inner}start(){return this._inner.start()}cancel(){return this._inner.cancel()}}class ek extends l.Destroyable{constructor(e){super();v(this,"_position",this.dv(l.reactArrayWithUndefined(void 0)));v(this,"_distance",this.dv(l.react(5e4)));v(this,"_cycle",this.dv(l.react(60)));v(this,"_heading",this.dv(l.react(0)));v(this,"_pitch",this.dv(l.react(-30)));v(this,"_transform");v(this,"_headingRadius");v(this,"_pitchRadius");v(this,"_running",!1);v(this,"_sseh");v(this,"_eventDisposer");this._viewer=e;const n=this.viewer.scene,o=this.viewer.camera;this._sseh=this.dv(new h.ScreenSpaceEventHandler(this.viewer.canvas)),this.d(()=>{this.cancel()});{const r=()=>{let s;if(this.position==null){var a=o.getPickRay(new h.Cartesian2(n.canvas.width*.5,n.canvas.height*.5));if(!a)return;s=n.globe.pick(a,n)}else s=h.Cartesian3.fromDegrees(...this.position);s&&(this._transform=h.Transforms.eastNorthUpToFixedFrame(s),this.start())};r(),this.d(this.positionChanged.don(r))}{const r=()=>{this._headingRadius=h.Math.toRadians(this.heading)};r(),this.d(this.headingChanged.don(r))}{const r=()=>{this._pitchRadius=h.Math.toRadians(this.pitch)};r(),this.d(this.pitchChanged.don(r))}}get viewer(){return this._viewer}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get distance(){return this._distance.value}set distance(e){this._distance.value=e}get distanceChanged(){return this._distance.changed}get cycle(){return this._cycle.value}set cycle(e){this._cycle.value=e}get cycleChanged(){return this._cycle.changed}get heading(){return this._heading.value}set heading(e){this._heading.value=e}get headingChanged(){return this._heading.changed}get pitch(){return this._pitch.value}set pitch(e){this._pitch.value=e}get pitchChanged(){return this._pitch.changed}get sseh(){return this._sseh}start(){if(this._running)return;const e=this.viewer.camera;e.lookAtTransform(this._transform);var n=this.distance*Math.sin(this._pitchRadius),o=this.distance*Math.cos(this._pitchRadius),r=new h.Cartesian3(0,n,o);e.flyTo({destination:h.Matrix4.multiplyByPoint(this._transform,r,new h.Cartesian3),orientation:{heading:this._headingRadius,pitch:this._pitchRadius,roll:0},endTransform:this._transform,complete:()=>{this._running=!0;let s;this._eventDisposer=this.viewer.scene.postUpdate.addEventListener((a,c)=>{if(!s){s=new Date().getTime();return}const d=(new Date().getTime()-s)/1e3;this._headingRadius+=d*h.Math.PI*2/this.cycle,e.lookAtTransform(this._transform,new h.HeadingPitchRange(this._headingRadius,this._pitchRadius,this.distance)),s=new Date().getTime()})},duration:.5,maximumHeight:e.positionCartographic.height})}cancel(){if(!this._running)return;this.viewer.camera.lookAtTransform(h.Matrix4.IDENTITY),this._eventDisposer&&(this._eventDisposer(),this._eventDisposer=void 0),this._running=!1}}class tk extends l.Destroyable{constructor(e){super();v(this,"_position",this.dv(l.reactArrayWithUndefined(void 0)));v(this,"_distance",this.dv(l.react(5e4)));v(this,"_cycle",this.dv(l.react(60)));v(this,"_heading",this.dv(l.react(0)));v(this,"_pitch",this.dv(l.react(-30)));v(this,"_inner");this._czmViewer=e;const n=this._czmViewer.viewer;if(!n)throw new Error("viewer is undefined");this._inner=this.dv(new ek(n));{const o=()=>{this.inner.distance=this.distance,this.inner.cycle=this.cycle,this.inner.position=this.position,this.inner.heading=this.heading,this.inner.pitch=this.pitch};o(),this.d(this.distanceChanged.don(o)),this.d(this.cycleChanged.don(o)),this.d(this.positionChanged.don(o)),this.d(this.headingChanged.don(o)),this.d(this.pitchChanged.don(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get distance(){return this._distance.value}set distance(e){this._distance.value=e}get distanceChanged(){return this._distance.changed}get cycle(){return this._cycle.value}set cycle(e){this._cycle.value=e}get cycleChanged(){return this._cycle.changed}get heading(){return this._heading.value}set heading(e){this._heading.value=e}get headingChanged(){return this._heading.changed}get pitch(){return this._pitch.value}set pitch(e){this._pitch.value=e}get pitchChanged(){return this._pitch.changed}get inner(){return this._inner}start(){return this._inner.start()}cancel(){return this._inner.cancel()}}class ik extends l.Destroyable{constructor(e){super();v(this,"_firstPersonController");v(this,"_rotateGlobe");v(this,"_rotatePoint");v(this,"_followController");v(this,"_pathCameraController");v(this,"_handler");this._viewer=e;{this._firstPersonController=this.dv(new XF(e)),this.d(this._viewer.keyDownEvent.don(n=>this._firstPersonController.keyboardCameraController.keyDown(n))),this.d(this._viewer.keyUpEvent.don(n=>this._firstPersonController.keyboardCameraController.keyUp(n)));{const{subContainer:n}=this._viewer;if(!n)throw new Error("_firstPersonControllerInit error!");const o=()=>this._firstPersonController.keyboardCameraController.abort();n.addEventListener("blur",o,!1),this.d(()=>n.removeEventListener("blur",o,!1))}this._firstPersonController.keyboardEnabled=!1,this._firstPersonController.mouseEnabled=!1,this._firstPersonController.keyboardCameraController.speed=.006,this._firstPersonController.keyboardCameraController.rotateSpeed=.05,this._firstPersonController.keyboardCameraController.alwaysWithCamera=!1,this._firstPersonController.keyboardCameraController.keyStatusMap=xh.defaultKeyStatusMap,this.d(this._firstPersonController.keyboardEnabledChanged.don(()=>{var n;(n=this._viewer.subContainer)==null||n.focus()}))}this._rotateGlobe=this.dv(new jF(e)),this._rotatePoint=this.dv(new tk(e)),this._followController=this.dv(new Ks(e)),this._pathCameraController=this.dv(new Qs(e))}get firstPersonController(){return this._firstPersonController}get rotateGlobe(){return this._rotateGlobe}get rotatePoint(){return this._rotatePoint}get followController(){return this._followController}get pathCameraController(){return this._pathCameraController}resetNavigation(){this._firstPersonController.keyboardEnabled=!1,this._rotateGlobe.cancel(),this._rotatePoint.cancel(),this._followController.enabled=!1,this._followController.sceneObjectId=void 0,this._followController.geoCameraController.offsetRotation=[-90,0,0],this._followController.geoCameraController.viewDistance=0,this._pathCameraController.enabled=!1,this._pathCameraController.polylinePath.playing=!1,this._pathCameraController.polylinePath.currentTime=0,this._pathCameraController.polylinePath.loop=!1,this._pathCameraController.geoCameraController.offsetHeight=0,this._pathCameraController.polylinePath.positions=void 0,this._pathCameraController.lineMode=void 0}changeToMap(){this.resetNavigation(),this._changedMouseEvent("Map")}changeToWalk(e,n=4.2,o=1.6){this.resetNavigation(),this._changedMouseEvent("Walk");const r=this._viewer.getCameraInfo(),s=[(r==null?void 0:r.rotation[0])??0,0,0];this._viewer.getHeightByLonLat(e[0],e[1]).then(a=>{this._viewer.flyIn([e[0],e[1],(a??0)+o],s),this.firstPersonController.keyboardEnabled=!0,this.firstPersonController.keyboardCameraController.speed=.006,this.firstPersonController.keyboardCameraController.rotateSpeed=.05,this.firstPersonController.keyboardCameraController.keyStatusMap={ShiftLeft:"WithCamera",ShiftRight:"WithCamera",KeyW:"MoveForward",KeyS:"MoveBackword",KeyA:"MoveLeft",KeyD:"MoveRight",ArrowUp:"MoveForward",ArrowDown:"MoveBackword",ArrowLeft:"RotateLeft",ArrowRight:"RotateRight",KeyR:"SpeedUp",KeyF:"SpeedDown",KeyQ:"SwitchAlwaysWithCamera"}})}changeToRotateGlobe(e=38,n=1e7,o=60){this.resetNavigation(),this._changedMouseEvent("RotateGlobe"),this._rotateGlobe.latitude=e,this._rotateGlobe.height=n,this._rotateGlobe.cycle=o,this._rotateGlobe.start()}changeToRotatePoint(e,n=5e4,o=60,r=0,s=-30){this.resetNavigation(),this._changedMouseEvent("RotatePoint"),this._rotatePoint.position=e,this._rotatePoint.distance=n,this._rotatePoint.cycle=o,this._rotatePoint.heading=r,this._rotatePoint.pitch=s,this._rotatePoint.start()}changeToFollow(e,n=0,o=0,r=-30,s=!0){this.resetNavigation(),this._changedMouseEvent("Follow"),this._followController.sceneObjectId=e,this._followController.geoCameraController.offsetRotation=[o,r,0],this._followController.geoCameraController.relativeRotation=s,n!==0?this._followController.geoCameraController.viewDistance=n:this._followController.geoCameraController.viewDistance=1e3,this._followController.enabled=!0}changeToLine(e,n=10,o=10,r=!0,s=10,a="auto"){this.resetNavigation(),this._changedMouseEvent("Line");const c=a==="auto",d=w.ESSceneObject.getSceneObjById(e);if(!d)return;const{points:u}=d;if(!u)return;const p=w.getDistancesFromPositions(u,"NONE"),f=p[p.length-1];this._pathCameraController.viewDistance=0,this._pathCameraController.polylinePath.positions=[...u],this._pathCameraController.polylinePath.duration=f/n*1e3,this._pathCameraController.polylinePath.loop=r,this._pathCameraController.offsetHeight=o;const g=Gm(u);this._pathCameraController.polylinePath.rotationRadius=!c||g==!1?[0]:g.map(m=>m/s*n),this._pathCameraController.enabledRotationInput=!c,this._pathCameraController.enabledScaleInput=!1,this._pathCameraController.polylinePath.playing=c,this._pathCameraController.lineMode=a,this._pathCameraController.enabled=!0}_changedMouseEvent(e){const n=this._viewer.viewer;if(!n)return;this._handler||(this._handler=new h.ScreenSpaceEventHandler(n.scene.canvas));const o=this._handler,r=n.scene.screenSpaceCameraController;this.d(()=>{o&&M_(o)}),e=="Walk"||e=="RotateGlobe"?(r.lookEventTypes=void 0,r.rotateEventTypes=void 0,r.tiltEventTypes=void 0,r.zoomEventTypes=void 0,r.translateEventTypes=void 0,o&&e=="Walk"&&(o.setInputAction(s=>{o.setInputAction(a=>{sm(n.scene,a,r)},h.ScreenSpaceEventType.MOUSE_MOVE),o.setInputAction(a=>{o.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),o.removeInputAction(h.ScreenSpaceEventType.LEFT_UP)},h.ScreenSpaceEventType.LEFT_UP)},h.ScreenSpaceEventType.LEFT_DOWN),o.setInputAction(s=>{o.setInputAction(a=>{sm(n.scene,a,r)},h.ScreenSpaceEventType.MOUSE_MOVE),o.setInputAction(a=>{o.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),o.removeInputAction(h.ScreenSpaceEventType.RIGHT_UP)},h.ScreenSpaceEventType.RIGHT_UP)},h.ScreenSpaceEventType.RIGHT_DOWN),o.setInputAction(s=>{o.setInputAction(a=>{sm(n.scene,a,r)},h.ScreenSpaceEventType.MOUSE_MOVE),o.setInputAction(a=>{o.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),o.removeInputAction(h.ScreenSpaceEventType.MIDDLE_UP)},h.ScreenSpaceEventType.MIDDLE_UP)},h.ScreenSpaceEventType.MIDDLE_DOWN))):(o&&M_(o),r.lookEventTypes=h.CameraEventType.RIGHT_DRAG,r.rotateEventTypes=h.CameraEventType.LEFT_DRAG,r.tiltEventTypes=[h.CameraEventType.MIDDLE_DRAG,h.CameraEventType.PINCH,{eventType:h.CameraEventType.LEFT_DRAG,modifier:h.KeyboardEventModifier.CTRL},{eventType:h.CameraEventType.RIGHT_DRAG,modifier:h.KeyboardEventModifier.CTRL}],r.translateEventTypes=h.CameraEventType.LEFT_DRAG,r.zoomEventTypes=[h.CameraEventType.WHEEL,h.CameraEventType.PINCH,{eventType:h.CameraEventType.RIGHT_DRAG,modifier:h.KeyboardEventModifier.SHIFT}])}}const nk=[{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.3558367297943,39.93163726456884,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.30223283037274,39.92688664316035,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.43707387584969,39.922782714050356,3300]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.27929428317248,39.895318074706246,3500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.36181901056395,39.89720944386167,3553.618347252562]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.40050587550184,39.87565113086582,3500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.31629153797958,39.88888615917464,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.38662084727662,39.93026695192356,5222.983612030221]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.35985958294472,39.879559968940974,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.30061281533665,39.86521469244785,3500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.33589491695909,39.85251691437225,3400]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.3978491755026,39.92191230041099,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.404556165088,39.901554635269065,3400]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.3371677114933,39.90666589456628,3200]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.30329238580244,39.90598342431921,5e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.25047545555285,39.927295935589235,5e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.33129680063607,39.98205319015022,5500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.38241622722414,39.864780790627634,5800]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.24126681456984,39.85629130246847,6e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.4476299820832,39.9015287845667,5233.181711832771]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.33116617802452,39.824241891065384,6e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.15206905891218,39.90872966468676,5e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.24197212869294,39.88630968655299,3200]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.43381133281572,39.96058832885812,5700]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.21635435523064,39.966450178376924,7e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.17908072725879,39.87211951629164,3200]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.32516866705241,39.94534681561764,3300]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.36086721251684,39.948381883306446,3400]}];class ok extends l.Destroyable{constructor(e){super();v(this,"_show",this.dv(l.react(!1)));v(this,"cloudsPostProcess");const n=e.viewer;if(!n)throw new Error("Cesium Viewer is not initialized");const o=new h.CloudCollection;n.scene.primitives.add(o),this.dispose(()=>n.scene.primitives.remove(o));{const r=()=>{o.show=this.show};r(),this.dispose(this.showChanged.disposableOn(r))}{const r=a=>({slice:a.slice,brightness:a.brightness,scale:Ee(a.scale),maximumSize:si(a.maximumSize),color:ie(a.color),position:Ve(a.position)});(()=>{o.removeAll();for(let a of nk)o.add(r(a))})()}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}}class Js extends l.Destroyable{constructor(i){super();const e=i.viewer;if(!e){console.warn("viewer is undefined!");return}const n=e.scene.postProcessStages.add(h.PostProcessStageLibrary.createDepthOfFieldStage());this.d(()=>e.scene.postProcessStages.remove(n));{const o=()=>{n.enabled=this.show};o(),this.d(this.showChanged.don(o))}{const o=()=>{n.uniforms.fogByDistance=this.focalDistance};o(),this.d(this.focalDistanceChanged.don(o))}{const o=()=>{n.uniforms.delta=this.delta};o(),this.d(this.deltaChanged.don(o))}{const o=()=>{n.uniforms.sigma=this.sigma};o(),this.d(this.sigmaChanged.don(o))}{const o=()=>{n.uniforms.stepSize=this.stepSize};o(),this.d(this.stepSizeChanged.don(o))}}}(t=>{t.createDefaultProps=()=>({show:!1,focalDistance:87,delta:1,sigma:3.78,stepSize:2.46})})(Js||(Js={})),l.extendClassProps(Js.prototype,Js.createDefaultProps);const rk=`
|
|
1958
|
+
`;h.Material.GlobeLevelMaterialType="GlobelLevel",h.Material._materialCache.addMaterial(h.Material.GlobeLevelMaterialType,{fabric:{type:h.Material.GlobeLevelMaterialType,uniforms:{input_shadows:new h.Cartesian3(0,0,0),input_highlights:new h.Cartesian3(1,1,1),midtones:new h.Cartesian3(.5,.5,.5),output_shadows:new h.Cartesian3(0,0,0),output_highlights:new h.Cartesian3(1,1,1)},source:Z2},translucent:!1});const{PrimitiveRenderResources:Q2,ModelUtility:K2,Cartesian3:ni,Matrix4:Yr,ModelRenderResources:J2,defined:B2,NodeRenderResources:j2,BoundingSphere:tn,ModelDrawCommands:ex}=h,tx=new ni,ix=new ni,n_=new ni,o_=new ni;class nx extends Q2{constructor(i,e,n){if(super(i,e),!i.runtimeNode.instancingTranslationMin||!i.runtimeNode.instancingTranslationMax)return;const o=Yr.inverse(n,new Yr),r=K2.getPositionMinMax(e.primitive,Yr.multiplyByPoint(o,i.runtimeNode.instancingTranslationMin,n_),Yr.multiplyByPoint(o,i.runtimeNode.instancingTranslationMax,o_));this.positionMin=ni.clone(r.min,new ni),this.positionMax=ni.clone(r.max,new ni),this.boundingSphere=tn.fromCornerPoints(this.positionMin,this.positionMax,new tn)}}function ox(){h.ModelSceneGraph.prototype.buildDrawCommands=function(t){const i=this._model,e=new J2(i);i.statistics.clear(),this.configurePipeline(t);const n=this.modelPipelineStages;let o,r,s;for(o=0;o<n.length;o++)n[o].process(e,i,t);const a=ni.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,tx),c=ni.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,ix);for(o=0;o<this._runtimeNodes.length;o++){const d=this._runtimeNodes[o];if(!B2(d))continue;d.configurePipeline();const u=d.pipelineStages,p=new j2(e,d);for(r=0;r<u.length;r++)u[r].process(p,d.node,t);const f=d.computedTransform;for(r=0;r<d.runtimePrimitives.length;r++){const g=d.runtimePrimitives[r];g.configurePipeline(t);const m=g.pipelineStages,y=new nx(p,g,f);for(s=0;s<m.length;s++)m[s].process(y,g.primitive,t);g.boundingSphere=tn.clone(y.boundingSphere,new tn);const P=Yr.multiplyByPoint(f,y.positionMin,n_),S=Yr.multiplyByPoint(f,y.positionMax,o_);ni.minimumByComponent(a,P,a),ni.maximumByComponent(c,S,c);const C=ex.buildModelDrawCommand(y,t);g.drawCommand=C}}this._boundingSphere=tn.fromCornerPoints(a,c,new tn),this._boundingSphere=tn.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=tn.transform(this._boundingSphere,this._components.transform,this._boundingSphere),i._boundingSphere=tn.transform(this._boundingSphere,i.modelMatrix,i._boundingSphere),i._initialRadius=i._boundingSphere.radius,i._boundingSphere.radius*=i._clampedScale}}const Zl=class Zl extends l.Destroyable{constructor(){super(),h.ParticleSystem.prototype.update=function(i){const e=i.time;i.time=this._falseTime;try{Zl.oldUpdate.call(this,i),this._particles.forEach(n=>{h.Billboard.prototype&&(n._billboard.ESSceneObjectID=this.ESSceneObjectID)})}catch{}i.time=e},this.d(()=>{h.ParticleSystem.prototype.update=Zl.oldUpdate})}};v(Zl,"oldUpdate",h.ParticleSystem.prototype.update);let jg=Zl;function rx(){if(h.ParticleSystem.prototype.timeStamp!==void 0){console.warn("fixParticleSystem已经执行过!");return}Object.defineProperties(h.ParticleSystem.prototype,{timeStamp:{get(){return this._innerCurrentTimeStamp===void 0&&(this._innerCurrentTimeStamp=0),this._innerCurrentTimeStamp},set(t){this.timeStamp!==t&&(this._innerCurrentTimeStamp=t,h.JulianDate.fromDate(new Date(t),this._falseTime))}},_falseTime:{get(){return this.__falseTime||(this.__falseTime=h.JulianDate.fromDate(new Date(0))),this.__falseTime}}})}class sx{constructor(i){v(this,"index");v(this,"image");v(this,"resolve");v(this,"reject");v(this,"rectangle");this.index=i.index,this.image=i.image,this.resolve=i.resolve,this.reject=i.reject,this.rectangle=void 0}}function ax(){h.TextureAtlas.prototype._resize=function(t,i=0){const e=this._borderWidthInPixels,n=this._rectangles,o=this._imagesToAddQueue,r=this._texture;let s=r.width,a=r.height;const c=this._subRegions,d=n.map((S,C)=>new sx({index:C,image:S})).filter((S,C)=>h.defined(S.image)&&!h.defined(c.get(C)));let u=0,p=0,f=0;for(let S=i;S<o.length;++S){const{width:C,height:E}=o[S].image;u=Math.max(u,C),p=Math.max(p,E),f+=C*E,d.push(o[S])}s=Math.max(u,s),a=Math.max(p,a),t.webgl2||(s=h.Math.nextPowerOfTwo(s),a=h.Math.nextPowerOfTwo(a));const g=Math.sqrt(f);a*=Math.ceil(g/a),s*=Math.ceil(g/s),d.sort(({image:S},{image:C})=>C.height*C.width-S.height*S.width);const m=new Array(this._nextIndex);for(const S of this._subRegions.keys())h.defined(c.get(S))&&(m[S]=n[S]);let y,P=!1;for(;!P;){y=new h.TexturePacker({height:a,width:s,borderPadding:e});let S;for(S=0;S<d.length;++S){const{index:C,image:E}=d[S];if(!h.defined(E))continue;const T=y.pack(C,E);if(!h.defined(T)){s>a?a*=2:s*=2;break}m[C]=T.rectangle}P=S===d.length}this._texturePacker=y,this._texture=this._copyFromTexture(t,s,a,m),r.destroy(),this._rectangles=m,this._guid=h.createGuid()}}const Wn={LOADED:2,PROCESSING:3,FAILED:7},{Attribute:lx,Indices:cx,FeatureIdAttribute:r_,FeatureIdTexture:s_,FeatureIdImplicitRange:a_,MorphTarget:hx,Primitive:dx,Instances:ux,Skin:px,Node:fx,AnimatedPropertyType:gx,AnimationSampler:mx,AnimationTarget:vx,AnimationChannel:yx,Animation:wx,ArticulationStage:Cx,Articulation:_x,Asset:Px,Scene:Sx,Components:Ex,MetallicRoughness:Ax,SpecularGlossiness:Tx,Specular:Mx,Anisotropy:em,Clearcoat:tm,Material:Ix}=h.ModelComponents;function Dx(){h.GltfLoader.prototype.process=function(t){if(h.Check.typeOf.object("frameState",t),this._state===Wn.LOADED&&!h.defined(this._loadResourcesPromise)&&(this._loadResourcesPromise=bx(this,t).then(()=>{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),h.defined(this._processError)){this._state=Wn.FAILED;const o=this._processError;this._processError=void 0,im(this,o)}const i=this._textureErrors.pop();if(h.defined(i)){const o=this.getError("Failed to load glTF texture",i);throw o.name="TextureError",o}if(this._state===Wn.FAILED)return!1;let e=!1;try{e=this._process(t)}catch(o){this._state=Wn.FAILED,im(this,o)}let n=!1;try{n=this._processTextures(t)}catch(o){this._textureState=Wn.FAILED,im(this,o)}return this._incrementallyLoadTextures?e:e&&n}}async function bx(t,i){h.FeatureDetection.supportsWebP.initialized||await h.FeatureDetection.supportsWebP.initialize(),t._supportedImageFormats=new h.SupportedImageFormats({webp:h.FeatureDetection.supportsWebP(),basis:i.context.supportsBasis});const e=xx(t,i);return t._state=Wn.PROCESSING,t._textureState=Wn.PROCESSING,h.defined(t._gltfJsonLoader)&&t._releaseGltfJson&&(h.ResourceCache.unload(t._gltfJsonLoader),t._gltfJsonLoader=void 0),e}const Rx=new h.Cartesian3;function xx(t,i){const e=t.gltfJson,n=e.extensions??h.Frozen.EMPTY_OBJECT,o=n.EXT_structural_metadata,r=n.EXT_feature_metadata,s=n.CESIUM_RTC;if(h.defined(r)){const C=r.featureTables,E=r.featureTextures,T=h.defined(C)?C:[],I=h.defined(E)?E:[];t._sortedPropertyTableIds=Object.keys(T).sort(),t._sortedFeatureTextureIds=Object.keys(I).sort()}const a=Fx(t,i),c=Nx(t,a),d=Vx(t,a),u=Ux(e),p=Wx(e,a),f=new Ex,g=new Px,m=e.asset.copyright;if(h.defined(m)){const C=m.split(";").map(function(E){return new h.Credit(E.trim())});g.credits=C}if(f.asset=g,f.scene=p,f.nodes=a,f.skins=c,f.animations=d,f.articulations=u,f.upAxis=t._upAxis,f.forwardAxis=t._forwardAxis,h.defined(s)){const C=h.Cartesian3.fromArray(s.center,0,Rx);f.transform=h.Matrix4.fromTranslation(C,f.transform)}if(t._components=f,h.defined(o)||h.defined(r)){const C=Gx(t,o,r,i);t._loaderPromises.push(C)}const y=n.NGA_gpm_local;if(h.defined(y)){const C=h.GltfGpmLoader.load(y);t._components.extensions.NGA_gpm_local=C}const P=e.meshes;if(h.defined(P))for(const C of P){const E=C.primitives;if(h.defined(E))for(const T of E){const I=T.extensions;if(h.defined(I)){const b=I.NGA_gpm_local;if(h.defined(b)){const x=Hx(t,e,b,i);t._loaderPromises.push(x)}}}}const S=[];return m_(S,t._loaderPromises),t._incrementallyLoadTextures||m_(S,t._texturesPromises),Promise.all(S)}function Fx(t,i){const e=t.gltfJson.nodes;if(!h.defined(e))return[];const n=e.map(function(o,r){const s=kx(t,o,i);return s.index=r,s});for(let o=0;o<n.length;++o){const r=e[o].children;if(h.defined(r))for(let s=0;s<r.length;++s)n[o].children.push(n[r[s]])}return n}function kx(t,i,e){const n=new fx;n.name=i.name,n.matrix=Xt(h.Matrix4,i.matrix),n.translation=Xt(h.Cartesian3,i.translation),n.rotation=Xt(h.Quaternion,i.rotation),n.scale=Xt(h.Cartesian3,i.scale);const o=i.extensions??h.Frozen.EMPTY_OBJECT,r=o.EXT_mesh_gpu_instancing,s=o.AGI_articulations;if(h.defined(r)){if(t._loadForClassification)throw new h.RuntimeError("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");n.instances=qx(t,o,e)}h.defined(s)&&(n.articulationName=s.articulationName);const a=i.mesh;if(h.defined(a)){const c=t.gltfJson.meshes[a],d=c.primitives;for(let f=0;f<d.length;++f)n.primitives.push(zx(t,d[f],h.defined(n.instances),e));const u=i.weights??c.weights,p=n.primitives[0].morphTargets;n.morphWeights=h.defined(u)?u.slice():new Array(p.length).fill(0)}return n}function zx(t,i,e,n){const o=new dx,r=new h.PrimitiveLoadPlan(o);t._primitiveLoadPlans.push(r);const s=i.material;h.defined(s)&&(o.material=Lx(t,t.gltfJson.materials[s],n));const a=i.extensions??h.Frozen.EMPTY_OBJECT;let c=!1;const d=a.CESIUM_primitive_outline;t._loadPrimitiveOutline&&h.defined(d)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=$x(t,d));const u=a.KHR_spz_gaussian_splats_compression;h.defined(u)&&(c=!0,r.needsGaussianSplats=!0);const p=t._loadForClassification,f=a.KHR_draco_mesh_compression;let g=!1;const m=i.attributes;if(h.defined(m))for(const b in m){if(!m.hasOwnProperty(b))continue;const x=m[b],z=nm(t,h.VertexAttributeSemantic,b),W=z.modelSemantic;if(p&&!Yx(W))continue;W===h.VertexAttributeSemantic.FEATURE_ID&&(g=!0);const N=l_(t,x,z,i,f,u,e,c,n);r.attributePlans.push(N),o.attributes.push(N.attribute)}const y=i.targets;if(h.defined(y)&&!p)for(let b=0;b<y.length;++b)o.morphTargets.push(Zx(t,y[b],c,r,n));const P=i.indices;if(h.defined(P)){const b=Qx(t,P,i,f,g,c,n);h.defined(b)&&(r.indicesPlan=b,o.indices=b.indices)}const S=a.EXT_structural_metadata,C=a.EXT_mesh_features,E=a.EXT_feature_metadata,T=h.defined(E);h.defined(C)?Kx(t,o,C,n):T&&Jx(t,o,E,n),h.defined(S)?Bx(o,S):T&&jx(t,o,E);const I=i.mode;if(p&&I!==h.PrimitiveType.TRIANGLES)throw new h.RuntimeError("Only triangle meshes can be used for classification.");return o.primitiveType=I,o}function Lx(t,i,e){const n=new Ix,o=i.extensions??h.Frozen.EMPTY_OBJECT,r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,d=i.pbrMetallicRoughness;return n.unlit=h.defined(o.KHR_materials_unlit),h.defined(r)?n.specularGlossiness=Ox(t,r,e):(h.defined(d)&&(n.metallicRoughness=eF(t,d,e)),h.defined(s)&&!n.unlit&&(n.specular=tF(t,s,e)),h.defined(a)&&!n.unlit&&(n.anisotropy=iF(t,a,e)),h.defined(c)&&!n.unlit&&(n.clearcoat=nF(t,c,e))),h.defined(i.emissiveTexture)&&(n.emissiveTexture=St(t,i.emissiveTexture,e,void 0)),h.defined(i.normalTexture)&&!t._loadForClassification&&(n.normalTexture=St(t,i.normalTexture,e,void 0)),h.defined(i.occlusionTexture)&&(n.occlusionTexture=St(t,i.occlusionTexture,e,void 0)),n.emissiveFactor=Xt(h.Cartesian3,i.emissiveFactor),n.alphaMode=i.alphaMode,n.alphaCutoff=i.alphaCutoff,n.doubleSided=i.doubleSided,n.name=i.name,n}function Ox(t,i,e){const{diffuseTexture:n,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=i,c=new Tx;return h.defined(n)&&(c.diffuseTexture=St(t,n,e,void 0)),h.defined(o)&&(c.specularGlossinessTexture=St(t,o,e,void 0)),c.diffuseFactor=Xt(h.Cartesian4,r),c.specularFactor=Xt(h.Cartesian3,s),c.glossinessFactor=a,c}function im(t,i){throw t.unload(),t.getError("Failed to load glTF",i)}function Nx(t,i){const e=t.gltfJson.skins;if(t._loadForClassification||!h.defined(e))return[];const n=e.map(function(r,s){const a=oF(t,r,i);return a.index=s,a}),o=t.gltfJson.nodes;for(let r=0;r<i.length;++r){const s=o[r].skin;h.defined(s)&&(i[r].skin=n[s])}return n}function Vx(t,i){const e=t.gltfJson.animations;return t._loadForClassification||!h.defined(e)?[]:e.map(function(o,r){const s=rF(t,o,i);return s.index=r,s})}function Ux(t){var n;const e=(n=(t.extensions??h.Frozen.EMPTY_OBJECT).AGI_articulations)==null?void 0:n.articulations;return h.defined(e)?e.map(sF):[]}function Wx(t,i){const e=new Sx,n=aF(t);return e.nodes=n.map(function(o){return i[o]}),e}async function Gx(t,i,e,n){const o=new h.GltfStructuralMetadataLoader({gltf:t.gltfJson,extension:i,extensionLegacy:e,gltfResource:t._gltfResource,baseResource:t._baseResource,supportedImageFormats:t._supportedImageFormats,frameState:n,asynchronous:t._asynchronous});return t._structuralMetadataLoader=o,o.load()}async function Hx(t,i,e,n){const o=new h.GltfMeshPrimitiveGpmLoader({gltf:i,extension:e,gltfResource:t._gltfResource,baseResource:t._baseResource,supportedImageFormats:t._supportedImageFormats,frameState:n,asynchronous:t._asynchronous});return t._meshPrimitiveGpmLoader=o,o.load()}function Xt(t,i){if(h.defined(i))return t===Number?i[0]:t.unpack(i)}function qx(t,i,e){const n=i.EXT_mesh_gpu_instancing,o=new ux,r=n.attributes;if(h.defined(r))for(const d in r){if(!r.hasOwnProperty(d))continue;const u=r[d];o.attributes.push(lF(t,u,r,d,e))}const s=n.extensions??h.Frozen.EMPTY_OBJECT,a=i.EXT_instance_features,c=s.EXT_feature_metadata;return h.defined(a)?cF(o,a):h.defined(c)&&hF(t.gltfJson,o,c,t._sortedPropertyTableIds),o}function $x(t,i){const e=i.indices,n=t.gltfJson.accessors[e];return bh(t,n,!1)}const Xx={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function nm(t,i,e){let n=e;t._renameBatchIdSemantic&&(e==="_BATCHID"||e==="BATCHID")&&(n="_FEATURE_ID_0");const o=i.fromGltfSemantic(n),r=Xx;return r.gltfSemantic=e,r.renamedSemantic=n,r.modelSemantic=o,r}function Yx(t){const i=t===h.VertexAttributeSemantic.POSITION,e=t===h.VertexAttributeSemantic.FEATURE_ID,n=t===h.VertexAttributeSemantic.TEXCOORD;return i||e||n}function l_(t,i,e,n,o,r,s,a,c){const d=e.modelSemantic,u=d===h.VertexAttributeSemantic.POSITION,p=d===h.VertexAttributeSemantic.FEATURE_ID,f=u&&!s&&t._loadAttributesFor2D&&!c.scene3DOnly,g=u&&t._enablePick&&!c.context.webgl2,m=t._loadForClassification&&p,y=t._loadAttributesAsTypedArray,P=!y,S=y||f||g||m,T=c_(t,i,e,n,o,r,a?!1:P,a?!0:S,c),I=new h.PrimitiveLoadPlan.AttributeLoadPlan(T);return I.loadBuffer=P,I.loadTypedArray=S,I}function Zx(t,i,e,n,o){const r=new hx,s=void 0,a=void 0,c=void 0,d=!1;for(const u in i){if(!i.hasOwnProperty(u))continue;const p=i[u],f=nm(t,VertexAttributeSemantic,u),g=l_(t,p,f,s,a,c,d,e,o);r.attributes.push(g.attribute),n.attributePlans.push(g)}return r}function Qx(t,i,e,n,o,r,s){const a=t.gltfJson.accessors[i],c=a.bufferView;if(!h.defined(n)&&!h.defined(c))return;const d=new cx;d.count=a.count;const u=t._loadAttributesAsTypedArray,p=(t._loadIndicesForWireframe||t._enablePick)&&!s.context.webgl2,f=t._loadForClassification&&o,m=!u,y=u||p||f,C=dF(t,i,e,n,r?!1:m,r?!0:y,s),E=t._geometryLoaders.length;t._geometryLoaders.push(C);const T=C.load();t._loaderPromises.push(T),t._geometryCallbacks[E]=()=>{d.indexDatatype=C.indexDatatype,d.buffer=C.buffer,d.typedArray=C.typedArray};const I=new h.PrimitiveLoadPlan.IndicesLoadPlan(d);return I.loadBuffer=m,I.loadTypedArray=y,I}function Kx(t,i,e,n){let o;h.defined(e)&&h.defined(e.featureIds)?o=e.featureIds:o=[];for(let r=0;r<o.length;r++){const s=o[r],a=`featureId_${r}`;let c;h.defined(s.texture)?c=uF(t,s,n,a):h.defined(s.attribute)?c=h_(s,a):c=d_(s,a),i.featureIds.push(c)}}function Jx(t,i,e,n){const{featureTables:o}=t.gltfJson.extensions.EXT_feature_metadata;let r=0;const s=e.featureIdAttributes;if(h.defined(s))for(let c=0;c<s.length;++c){const d=s[c],u=d.featureTable,p=t._sortedPropertyTableIds.indexOf(u),f=o[u].count,g=`featureId_${r}`;r++;let m;h.defined(d.featureIds.attribute)?m=u_(d,p,f,g):m=p_(d,p,f,g),i.featureIds.push(m)}const a=e.featureIdTextures;if(h.defined(a))for(let c=0;c<a.length;++c){const d=a[c],u=d.featureTable,p=t._sortedPropertyTableIds.indexOf(u),f=o[u].count,g=`featureId_${r}`;r++;const m=pF(t,d,p,n,f,g);i.featureIds.push(m)}}function Bx(t,i){if(!h.defined(i))return;const{propertyTextures:e,propertyAttributes:n}=i;h.defined(e)&&(t.propertyTextureIds=e),h.defined(n)&&(t.propertyAttributeIds=n)}function jx(t,i,e){h.defined(e.featureTextures)&&(i.propertyTextureIds=e.featureTextures.map(function(n){return t._sortedFeatureTextureIds.indexOf(n)}))}function eF(t,i,e){const{baseColorTexture:n,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=i,c=new Ax;return h.defined(n)&&(c.baseColorTexture=St(t,n,e,void 0)),h.defined(o)&&(c.metallicRoughnessTexture=St(t,o,e,void 0)),c.baseColorFactor=Xt(h.Cartesian4,r),c.metallicFactor=s,c.roughnessFactor=a,c}function tF(t,i,e){const{specularFactor:n,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=i,a=new Mx;return h.defined(o)&&(a.specularTexture=St(t,o,e,void 0)),h.defined(s)&&(a.specularColorTexture=St(t,s,e,void 0)),a.specularFactor=n,a.specularColorFactor=Xt(h.Cartesian3,r),a}function iF(t,i,e){const{anisotropyStrength:n=em.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=em.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=i,s=new em;return h.defined(r)&&(s.anisotropyTexture=St(t,r,e,void 0)),s.anisotropyStrength=n,s.anisotropyRotation=o,s}function nF(t,i,e){const{clearcoatFactor:n=tm.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=tm.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=i,c=new tm;return h.defined(o)&&(c.clearcoatTexture=St(t,o,e,void 0)),h.defined(s)&&(c.clearcoatRoughnessTexture=St(t,s,e,void 0)),h.defined(a)&&(c.clearcoatNormalTexture=St(t,a,e,void 0)),c.clearcoatFactor=n,c.clearcoatRoughnessFactor=r,c}function St(t,i,e,n){const o=t.gltfJson,r=h.GltfLoaderUtil.getImageIdFromTexture({gltf:o,textureId:i.index,supportedImageFormats:t._supportedImageFormats});if(!h.defined(r))return;const s=h.ResourceCache.getTextureLoader({gltf:o,textureInfo:i,gltfResource:t._gltfResource,baseResource:t._baseResource,supportedImageFormats:t._supportedImageFormats,frameState:e,asynchronous:t._asynchronous}),a=h.GltfLoaderUtil.createModelTextureReader({textureInfo:i}),c=t._textureLoaders.length;t._textureLoaders.push(s);const d=s.load().catch(u=>{if(!t.isDestroyed()){if(!t._incrementallyLoadTextures)throw u;t._textureState=Wn.FAILED,t._textureErrors.push(u)}});return t._texturesPromises.push(d),t._textureCallbacks[c]=()=>{a.texture=s.texture,h.defined(n)&&(a.texture.sampler=n)},a}function oF(t,i,e){const n=new px,o=i.joints;n.joints=o.map(s=>e[s]);const r=i.inverseBindMatrices;if(h.defined(r)){const s=t.gltfJson.accessors[r];n.inverseBindMatrices=bh(t,s,void 0)}else n.inverseBindMatrices=new Array(o.length).fill(h.Matrix4.IDENTITY);return n}function rF(t,i,e){const n=new wx;n.name=i.name;const o=i.samplers.map(function(s,a){const c=fF(t,s);return c.index=a,c}),r=i.channels.map(function(s){return gF(s,o,e)});return n.samplers=o,n.channels=r,n}function sF(t){const i=new _x;return i.name=t.name,i.stages=t.stages.map(vF),i}function aF(t){let i;return h.defined(t.scenes)&&h.defined(t.scene)&&(i=t.scenes[t.scene].nodes),i=i??t.nodes,i=h.defined(i)?i:[],i}function lF(t,i,e,n,o){const r=t.gltfJson.accessors,s=h.defined(e.ROTATION),a=h.defined(e.TRANSLATION)&&h.defined(r[e.TRANSLATION].min)&&h.defined(r[e.TRANSLATION].max),c=nm(t,h.InstanceAttributeSemantic,n),d=c.modelSemantic,u=d===h.InstanceAttributeSemantic.TRANSLATION||d===h.InstanceAttributeSemantic.ROTATION||d===h.InstanceAttributeSemantic.SCALE,p=d===h.InstanceAttributeSemantic.TRANSLATION,f=t._loadAttributesAsTypedArray||s&&u||!o.context.instancedArrays,g=t._enablePick&&!o.context.webgl2,m=!f,y=t._loadAttributesFor2D&&!o.scene3DOnly;return c_(t,i,c,void 0,void 0,void 0,m,f||p&&(!a||y||g),o)}function cF(t,i){const e=i.featureIds;for(let n=0;n<e.length;n++){const o=e[n],r=`instanceFeatureId_${n}`;let s;h.defined(o.attribute)?s=h_(o,r):s=d_(o,r),t.featureIds.push(s)}}function hF(t,i,e,n){const o=t.extensions.EXT_feature_metadata.featureTables,r=e.featureIdAttributes;if(h.defined(r))for(let s=0;s<r.length;++s){const a=r[s],c=a.featureTable,d=n.indexOf(c),u=o[c].count,p=`instanceFeatureId_${s}`;let f;h.defined(a.featureIds.attribute)?f=u_(a,d,u,p):f=p_(a,d,u,p),i.featureIds.push(f)}}function bh(t,i,e){const n=new Array(i.count),o=i.bufferView;if(h.defined(o)){const r=mF(t,o),s=yF(t,r,i,e,n);return t._loaderPromises.push(s),n}return wF(i,n)}function c_(t,i,e,n,o,r,s,a,c){const d=t.gltfJson,u=d.accessors[i],p=u.bufferView,f=e.gltfSemantic,g=e.renamedSemantic,m=e.modelSemantic,y=h.defined(m)?f_(g):void 0,S=CF(d,i,f,m,y);if(!h.defined(o)&&!h.defined(p)&&!h.defined(r))return S;const C=_F(t,i,f,n,o,r,s,a,c),E=t._geometryLoaders.length;t._geometryLoaders.push(C);const T=C.load();return t._loaderPromises.push(T),t._geometryCallbacks[E]=()=>{h.defined(o)&&h.defined(o.attributes)&&h.defined(o.attributes[f])?PF(S,C,s,a):h.defined(r)?SF(S,C,s,a):EF(d,u,S,C,s,a)},S}function dF(t,i,e,n,o,r,s){return h.ResourceCache.getIndexBufferLoader({gltf:t.gltfJson,accessorId:i,gltfResource:t._gltfResource,baseResource:t._baseResource,frameState:s,primitive:e,draco:n,asynchronous:t._asynchronous,loadBuffer:o,loadTypedArray:r})}function uF(t,i,e,n){const o=new s_;o.featureCount=i.featureCount,o.nullFeatureId=i.nullFeatureId,o.propertyTableId=i.propertyTable,o.label=i.label,o.positionalLabel=n;const r=i.texture;o.textureReader=St(t,r,e,h.Sampler.NEAREST);const a=(h.defined(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function h_(t,i){const e=new r_;return e.featureCount=t.featureCount,e.nullFeatureId=t.nullFeatureId,e.propertyTableId=t.propertyTable,e.setIndex=t.attribute,e.label=t.label,e.positionalLabel=i,e}function d_(t,i){const e=new a_;return e.propertyTableId=t.propertyTable,e.featureCount=t.featureCount,e.nullFeatureId=t.nullFeatureId,e.label=t.label,e.positionalLabel=i,e.offset=0,e.repeat=1,e}function u_(t,i,e,n){const o=new r_,r=t.featureIds;return o.featureCount=e,o.propertyTableId=i,o.setIndex=f_(r.attribute),o.positionalLabel=n,o}function p_(t,i,e,n){const o=new a_,r=t.featureIds;o.propertyTableId=i,o.featureCount=e,o.offset=r.constant??0;const s=r.divisor??0;return o.repeat=s===0?void 0:s,o.positionalLabel=n,o}function pF(t,i,e,n,o,r){const s=new s_,a=i.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=e,s.textureReader=St(t,c,n,h.Sampler.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function fF(t,i){const e=new mx,n=t.gltfJson.accessors,o=n[i.input];e.input=bh(t,o,void 0);const r=i.interpolation;e.interpolation=h.InterpolationType[r]??h.InterpolationType.LINEAR;const s=n[i.output];return e.output=bh(t,s,!0),e}function gF(t,i,e){const n=new yx,o=t.sampler;return n.sampler=i[o],n.target=AF(t.target,e),n}function mF(t,i){const e=h.ResourceCache.getBufferViewLoader({gltf:t.gltfJson,bufferViewId:i,gltfResource:t._gltfResource,baseResource:t._baseResource});return t._bufferViewLoaders.push(e),e}function vF(t){const i=new Cx;i.name=t.name;const e=t.type.toUpperCase();return i.type=h.ArticulationStageType[e],i.minimumValue=t.minimumValue,i.maximumValue=t.maximumValue,i.initialValue=t.initialValue,i}async function yF(t,i,e,n,o){const{gltfJson:r}=t;if(await i.load(),t.isDestroyed())return;const s=g_(r,e,i.typedArray);n=n??!1,TF(e,s,o,n)}function wF(t,i){const e=t.type;if(e===h.AttributeType.SCALAR)return i.fill(0);const n=h.AttributeType.getMathType(e);return i.fill(n.clone(n.ZERO))}function f_(t){const e=/^\w+_(\d+)$/.exec(t);if(e!==null)return parseInt(e[1])}function CF(t,i,e,n,o){var p;const r=t.accessors[i],s=h.AttributeType.getMathType(r.type),a=r.normalized??!1,c=new lx;c.name=e,c.semantic=n,c.setIndex=o,c.constant=MF(s),c.componentDatatype=r.componentType,c.normalized=a,c.count=r.count,c.type=r.type,c.min=Xt(s,r.min),c.max=Xt(s,r.max),c.byteOffset=r.byteOffset,c.byteStride=h.getAccessorByteStride(t,r),h.hasExtension(r,"WEB3D_quantized_attributes")&&IF(r.extensions.WEB3D_quantized_attributes,c,s);const d=c.semantic===h.VertexAttributeSemantic.POSITION||c.semantic===h.VertexAttributeSemantic.NORMAL||c.semantic===h.VertexAttributeSemantic.TANGENT||c.semantic===h.VertexAttributeSemantic.TEXCOORD||c.semantic===h.VertexAttributeSemantic.FEATURE_ID||c.semantic===h.VertexAttributeSemantic.SCALE||c.semantic===h.VertexAttributeSemantic.ROTATION;return((p=t.extensionsRequired)==null?void 0:p.includes("KHR_mesh_quantization"))&&a&&d&&bF(c,s),c}function _F(t,i,e,n,o,r,s,a,c){const d=t.gltfJson,p=d.accessors[i].bufferView;return h.ResourceCache.getVertexBufferLoader({gltf:d,gltfResource:t._gltfResource,baseResource:t._baseResource,frameState:c,bufferViewId:p,primitive:n,draco:o,spz:r,attributeSemantic:e,accessorId:i,asynchronous:t._asynchronous,loadBuffer:s,loadTypedArray:a})}function PF(t,i,e,n){if(t.byteOffset=0,t.byteStride=void 0,t.quantization=i.quantization,e&&(t.buffer=i.buffer),n){const o=h.defined(i.quantization)?i.quantization.componentDatatype:t.componentDatatype;t.typedArray=h.ComponentDatatype.createArrayBufferView(o,i.typedArray.buffer)}}function SF(t,i,e,n){if(t.byteOffset=0,t.byteStride=void 0,e&&(t.buffer=i.buffer),n&&h.defined(i.typedArray)&&(t.typedArray=h.ComponentDatatype.createArrayBufferView(t.componentDatatype,i.typedArray.buffer)),t.semantic===h.VertexAttributeSemantic.POSITION){const o=s=>{let a=1/0,c=-1/0,d=1/0,u=-1/0,p=1/0,f=-1/0;for(let g=0;g<s.length;g+=3){const m=s[g],y=s[g+1],P=s[g+2];a=Math.min(a,m),c=Math.max(c,m),d=Math.min(d,y),u=Math.max(u,y),p=Math.min(p,P),f=Math.max(f,P)}return[new h.Cartesian3(a,d,p),new h.Cartesian3(c,u,f)]},r=t.typedArray;[t.min,t.max]=o(r)}}function EF(t,i,e,n,o,r){if(o&&(e.buffer=n.buffer),r){const s=n.typedArray;e.typedArray=g_(t,i,s),o||(e.byteOffset=0,e.byteStride=void 0)}}function AF(t,i){const e=new vx,n=t.node;if(!h.defined(n))return;e.node=i[n];const o=t.path.toUpperCase();return e.path=gx[o],e}function g_(t,i,e){let n=i.byteOffset;const o=h.getAccessorByteStride(t,i),r=i.count,s=h.numberOfComponentsForType(i.type),a=i.componentType,c=h.ComponentDatatype.getSizeInBytes(a),d=c*s,u=r*s;if(o===d)return e=new Uint8Array(e),h.ComponentDatatype.createArrayBufferView(a,e.buffer,e.byteOffset+n,u);const p=h.ComponentDatatype.createTypedArray(a,u),f=new DataView(e.buffer),g=new Array(s),m=h.getComponentReader(i.componentType);n=e.byteOffset+n;for(let y=0;y<r;++y){m(f,n,s,c,g);for(let P=0;P<s;++P)p[y*s+P]=g[P];n+=o}return p}function TF(t,i,e,n){const o=t.type,r=t.count;if(o===h.AttributeType.SCALAR)for(let s=0;s<r;s++)e[s]=i[s];else if(o===h.AttributeType.VEC4&&n)for(let s=0;s<r;s++)e[s]=h.Quaternion.unpack(i,s*4);else{const s=h.AttributeType.getMathType(o),a=h.AttributeType.getNumberOfComponents(o);for(let c=0;c<r;c++)e[c]=s.unpack(i,c*a)}return e}function MF(t){return t===Number?0:new t}function IF(t,i,e){const n=t.decodeMatrix,o=Xt(e,t.decodedMin),r=Xt(e,t.decodedMax);h.defined(o)&&h.defined(r)&&(i.min=o,i.max=r);const s=new h.ModelComponents.Quantization;s.componentDatatype=i.componentDatatype,s.type=i.type,n.length===4?(s.quantizedVolumeOffset=n[2],s.quantizedVolumeStepSize=n[0]):n.length===9?(s.quantizedVolumeOffset=new h.Cartesian2(n[6],n[7]),s.quantizedVolumeStepSize=new h.Cartesian2(n[0],n[4])):n.length===16?(s.quantizedVolumeOffset=new h.Cartesian3(n[12],n[13],n[14]),s.quantizedVolumeStepSize=new h.Cartesian3(n[0],n[5],n[10])):n.length===25&&(s.quantizedVolumeOffset=new h.Cartesian4(n[20],n[21],n[22],n[23]),s.quantizedVolumeStepSize=new h.Cartesian4(n[0],n[6],n[12],n[18])),i.quantization=s}const DF={VEC2:new h.Cartesian2(-1,-1),VEC3:new h.Cartesian3(-1,-1,-1),VEC4:new h.Cartesian4(-1,-1,-1,-1)};function bF(t,i){const e=RF(t.componentDatatype),n=DF[t.type];let o=t.min;h.defined(o)&&(o=i.divideByScalar(o,e,o),o=i.maximumByComponent(o,n,o));let r=t.max;h.defined(r)&&(r=i.divideByScalar(r,e,r),r=i.maximumByComponent(r,n,r)),t.min=o,t.max=r}function RF(t){switch(t){case h.ComponentDatatype.BYTE:return 127;case h.ComponentDatatype.UNSIGNED_BYTE:return 255;case h.ComponentDatatype.SHORT:return 32767;case h.ComponentDatatype.UNSIGNED_SHORT:return 65535;default:return 1}}function m_(t,i){if(!h.defined(i))return;const e=i.length;if(e===0)return;const n=t.length;t.length+=e;for(let o=0;o<e;o++)t[n+o]=i[o]}N2(),V2(),U2(),q2(),$2(),X2(),Y2(),O2(),ox(),rx(),ax(),Dx(),h.Camera.DEFAULT_VIEW_RECTANGLE=h.Rectangle.fromDegrees(70,5,140,55);function xF(){return new Promise((t,i)=>h.GroundPolylinePrimitive.initializeTerrainHeights().then(t))}class FF extends l.Destroyable{constructor(i,e,n,o){super();const r=()=>{e.setStatus("Raw");const{viewer:a}=e;if(a){const c=Yt(a);if(c&&(c.destroy(),om(a,void 0)),h.defined(a)){a.entities.removeAll(),a.dataSources.removeAll(),a.imageryLayers.removeAll(),a.scene.primitives.removeAll(),a.scene.groundPrimitives.removeAll(),a.scene.postProcessStages.removeAll();let d=a.scene.context._originalGLContext;d.canvas.width=d.canvas.height=1,d.getExtension("WEBGL_lose_context").loseContext(),d=null}a.destroy(),n(void 0)}};this.d(r);const s=this.dv(l.createProcessingFromAsyncFunc(async(a,c)=>{e.setStatus("Creating"),e.setStatusLog("正在创建Cesium视口...");const d=L2;await a.promise(xF());const u=await a.promise(l.createCancelablePromise(d(c,o)));u.scene._xbsjOriginSkyAtmosphere=u.scene.skyAtmosphere,u.scene._xbsjOriginSkyBox=u.scene.skyBox,u.clockViewModel.currentTime=h.JulianDate.fromDate(new Date(e.currentTime)),this.dispose(e.currentTimeChanged.disposableOn(()=>{if(e.currentTime===void 0)return;const p=h.JulianDate.fromDate(new Date(e.currentTime));h.JulianDate.equals(p,u.clockViewModel.currentTime)||(u.clockViewModel.currentTime=p)})),this.dispose(mi(u.clockViewModel,"currentTime",p=>{const f=h.JulianDate.toDate(u.clockViewModel.currentTime).getTime();f!==e.currentTime&&(e.currentTime=f)}));{const p=new __(u,e);om(u,p)}e.setStatus("Created"),e.setStatusLog("成功创建Cesium视口!"),n(u)}));s.start(i),s.errorEvent.don(a=>{console.error(a),e.setStatus("Error"),e.setStatusLog("创建Cesium视口失败!")})}}const kF=new h.EllipsoidTerrainProvider;class v_ extends l.Destroyable{constructor(e){super();v(this,"_terrainMap",new Map);v(this,"_nextAnimateFrame",this.dv(l.createNextAnimateFrame()));v(this,"selectedTerrain");this._viewer=e;const n=this._viewer,o=n.scene.globe.terrainProviderChanged.addEventListener(()=>{this.selectedTerrain&&(this.selectedTerrain.sceneObject.activate=!0,this.selectedTerrain.sceneObject.activateEvent.emit())});this.ad(()=>{o&&o()}),this.dispose(this._changed.disposableOn(()=>{this.selectedTerrain=void 0;let r=Number.MIN_SAFE_INTEGER;for(let s of this._terrainMap.keys())s.sceneObject.activate=!1,(s.sceneObject.show??!0)&&s.sceneObject.zIndex>=r&&(this.selectedTerrain&&console.warn(`存在多个terrain,只能显示一个,当前terrian:${this.selectedTerrain.sceneObject.name}(${this.selectedTerrain.sceneObject.id}), 即将被替换成${s.sceneObject.name}(${s.sceneObject.id})`),r=s.sceneObject.zIndex,this.selectedTerrain=s);this.selectedTerrain&&!this.selectedTerrain.provider&&(this.selectedTerrain.sceneObject.activate=!0,this.selectedTerrain.sceneObject.activateEvent.emit()),n.scene.terrainProvider=(this.selectedTerrain&&this.selectedTerrain.provider)??kF,n.scene.globe.depthTestAgainstTerrain=this.selectedTerrain?this.selectedTerrain.sceneObject.renderMode!="disableDepthTest":!0,n.scene.globe.translucency.enabled=this.selectedTerrain?this.selectedTerrain.sceneObject.renderMode!="default":!1,n.scene.globe.translucency.frontFaceAlpha=this.selectedTerrain?l.clamp(this.selectedTerrain.sceneObject.opacity,0,1):1,n.scene.globe.translucency.backFaceAlpha=this.selectedTerrain?l.clamp(this.selectedTerrain.sceneObject.opacity,0,1):1}))}_makeDirty(){this._nextAnimateFrame.restartIfNotRunning()}get _changed(){return this._nextAnimateFrame.completeEvent}add(e){if(this._terrainMap.has(e)){console.warn("this._terrainMap.has(imagery)");return}const n=new l.Destroyable;n.dispose(e.providerChanged.disposableOn(()=>this._makeDirty())),n.dispose(e.sceneObject.showChanged.disposableOn(()=>this._makeDirty())),this._terrainMap.set(e,()=>n.destroy()),this._makeDirty();const o=this.ad(l.createNextAnimateFrameEvent(e.sceneObject.zIndexChanged,e.sceneObject.opacityChanged,e.sceneObject.renderModeChanged));this.d(o.don(()=>{this._changed.emit()}))}delete(e){if(!this._terrainMap.has(e)){console.warn("!this._imageriesMap.has(imagery)");return}const n=this._terrainMap.get(e);if(!n){console.error("!disposeFunc");return}n(),this._terrainMap.delete(e),this.selectedTerrain===e&&(this.selectedTerrain=void 0),this._makeDirty()}}class y_ extends l.Destroyable{constructor(e){super();v(this,"_labelMap",{div:new Map,canvas:new Map});this._viewer=e,this.d(e.scene.camera.changed.addEventListener(()=>{this._updateZOrder()}))}add(e){const n=e instanceof $e?"div":"canvas";if(this._labelMap[n].has(e)){console.warn(`this._labelMap[${n}].has(poi)`,e);return}const o=new l.Destroyable;{const r=o.dv(l.createNextAnimateFrameEvent(e.zOrderChanged,e.positionChanged));o.dispose(r.don(()=>{this._updateZOrder()}))}this._labelMap[n].set(e,()=>o.destroy()),this._updateZOrder()}delete(e){const n=e instanceof $e?"div":"canvas";if(!this._labelMap[n].has(e)){console.warn(`!this._labelMap[${n}].has(poi)`,e);return}const o=this._labelMap[n].get(e);if(!o){console.error("!disposeFunc");return}o(),this._labelMap[n].delete(e),this._updateZOrder()}_updateZOrder(){for(const e in this._labelMap)Object.prototype.hasOwnProperty.call(this._labelMap,e)&&this._updateLabelZOrder(this._labelMap[e],e)}_updateLabelZOrder(e,n){const o={};for(const a of e.keys())o[a.zOrder]||(o[a.zOrder]=new Map),o[a.zOrder].set(a,a instanceof $e?a.czmDivPoi?a.czmDivPoi.depth:0:a.canvasObj?a.canvasObj.czmCanvasPoi.depth:0);const r=Object.keys(o).sort((a,c)=>n=="div"?Number(c)-Number(a):Number(a)-Number(c));let s=e.size;for(let a=0;a<r.length;a++)new Map([...o[r[a]]].sort((d,u)=>Number(u[1])-Number(d[1]))).forEach((d,u)=>{u instanceof $e&&u.czmDivPoi&&(u.czmDivPoi.zOrder=s),u instanceof Gi&&u.canvasObj&&(u.canvasObj.czmCanvasPoi.zOrder=s),s--})}}class zF extends l.Destroyable{constructor(e){super();v(this,"_czmImageryLayerWrappers",new Set);v(this,"_zIndexChangedEvent",this.dv(new l.Event));this._viewer=e,this.d(this._zIndexChangedEvent.don(()=>{const n=[...this.czmImageryLayerWrappers.values()];n.sort((o,r)=>{const s=o.czmImageryWrapper.imagery.zIndex??w.ESImageryLayer.defaults.zIndex,a=r.czmImageryWrapper.imagery.zIndex??w.ESImageryLayer.defaults.zIndex;return s-a});for(const o of n)this.viewer.imageryLayers.raiseToTop(o.imageryLayer)}))}get viewer(){return this._viewer}get czmImageryLayerWrappers(){return this._czmImageryLayerWrappers}add(e){this._czmImageryLayerWrappers.add(e),this.viewer.imageryLayers.add(e.imageryLayer),this.zIndexChange()}delete(e){this.viewer.imageryLayers.remove(e.imageryLayer,!1),this._czmImageryLayerWrappers.delete(e)}zIndexChange(){this._zIndexChangedEvent.emit()}}class LF extends l.Destroyable{constructor(e){super();v(this,"_imageryLayer");if(this._czmImageryWrapper=e,!this._czmImageryWrapper.imagery.layer)throw new Error("this._czmCzmImageryWrapper.imagery.czmImagery");this._imageryLayer=this._czmImageryWrapper.imagery.layer;const{czmImageryWrapper:n}=this,o=n.manager.czmImageriesManager;o.add(this),this.d(()=>o.delete(this)),this.d(this._czmImageryWrapper.imagery.zIndexChanged.don(()=>o.zIndexChange()))}get imageryLayer(){return this._imageryLayer}get czmImageryWrapper(){return this._czmImageryWrapper}}class OF extends l.Destroyable{constructor(e){super();v(this,"_objResetting");this._czmImageryWrapper=e,this._objResetting=this.dv(new l.ObjResettingWithEvent(this.czmImageryWrapper.imagery.showChanged,()=>{if(this.czmImageryWrapper.imagery.show??!0)return new LF(this.czmImageryWrapper)}))}get czmImageryWrapper(){return this._czmImageryWrapper}get objResetting(){return this._objResetting}}class NF extends l.Destroyable{constructor(e,n){super();v(this,"_czmImageryLayerWrapperObjResetting");this._imagery=e,this._manager=n,this._czmImageryLayerWrapperObjResetting=this.dv(new l.ObjResettingWithEvent(this.imagery.layerChanged,()=>{if(this.imagery.layer)return new OF(this)}))}get imagery(){return this._imagery}get manager(){return this._manager}get czmImageryLayerWrapperObjResetting(){return this._czmImageryLayerWrapperObjResetting}}class w_ extends l.Destroyable{constructor(e){super();v(this,"_czmImageryWrappers",new Set);v(this,"_czmImageryLayersManager");this._viewer=e,this._czmImageryLayersManager=this.dv(new zF(this.viewer))}get czmImageryWrappers(){return this._czmImageryWrappers}get czmImageriesManager(){return this._czmImageryLayersManager}get viewer(){return this._viewer}add(e){for(let n of this.czmImageryWrappers)if(n.imagery===e){console.warn("imageriesManager add error: has already added!",e);return}this.czmImageryWrappers.add(new NF(e,this))}has(e){for(let n of this.czmImageryWrappers)if(n.imagery===e)return!0;return!1}delete(e){for(const n of this.czmImageryWrappers)if(n.imagery===e){this.czmImageryWrappers.delete(n);return}console.warn("imageriesManager delete error!",e)}}class C_ extends l.Destroyable{constructor(e){super();v(this,"_pause",this.disposeVar(l.react(!1)));v(this,"_pickPositionTasks",[]);v(this,"_pickTasks",[]);v(this,"pickHeightMustGreaterThanZero",!0);v(this,"objectsToExclude",[]);const n=e.viewer;{this.dispose(()=>{this._pickPositionTasks.length>0&&(this._pickPositionTasks.forEach(a=>a[3]("CzmViewer销毁,任务不再执行!")),this._pickPositionTasks.length=0),this._pickTasks.length>0&&(this._pickTasks.forEach(a=>a[4]("CzmViewer销毁,任务不再执行!")),this._pickTasks.length=0)});const o=()=>{const a=[...this._pickPositionTasks];this._pickPositionTasks.length=0;for(let d of a){const[u,p,f,g]=d;try{(async()=>{const{scene:m,camera:y}=n,P=Ee(u),S=y.getPickRay(P);if(S){let I;if(p?I=await m.pickFromRayMostDetailed(S,this.objectsToExclude):I=m.pickFromRay(S,this.objectsToExclude),I&&I.position){const b=ce(I.position);return b?f(b):g(new Error("positionFromCartesian failed"))}if(!(m.terrainProvider instanceof h.EllipsoidTerrainProvider)){const b=m.globe.pick(S,m);if(!b)return g(new Error("scene.globe.pick failed"));const x=ce(b);return x?(this.pickHeightMustGreaterThanZero&&x[2]<0&&(x[2]=0),f(x)):g(new Error("positionFromCartesian failed"))}}const C=m.terrainProvider instanceof h.EllipsoidTerrainProvider?m.terrainProvider.tilingScheme.ellipsoid:n.scene.globe.ellipsoid,E=n.camera.pickEllipsoid(Ee(u),C);if(!E)return g(new Error("Pick failed"));const T=ce(E);return T?f(T):g(new Error("positionFromCartesian failed"))})()}catch(m){g(m)}}const c=[...this._pickTasks];this._pickTasks.length=0;for(let d of c){const[u,p,f,g,m]=d;e.pickCustomAttachedInfo=f;try{(async()=>{var I,b,x;let y=n.scene.pick(Ee(u),p&&p[0],p&&p[1]);!y&&h.defined(n.scene.globe)&&(y=await VF(n,Ee(u)));let P;if(y&&y instanceof h.Cesium3DTileFeature){P={};try{y&&y.getPropertyIds().forEach(W=>{P&&(P[W]=y.getProperty(W))})}catch(z){console.warn(z)}}let S;y&&(y.id&&y.id instanceof h.Entity&&y.id.ESSceneObjectID?S=y.id.ESSceneObjectID:y.collection&&y.collection.ESSceneObjectID?S=y.collection.ESSceneObjectID:y.primitive&&y.primitive.ESSceneObjectID?S=y.primitive.ESSceneObjectID:Array.isArray(y)&&y[0]instanceof h.ImageryLayerFeatureInfo&&(S=y[0].imageryLayer.ESSceneObjectID));let C=S?w.ESSceneObject.getSceneObject(S):void 0;C&&C.parentID&&(C=w.ESSceneObject.getSceneObject(C.parentID));let E={};if(C&&Reflect.has(C,"allowPicking")&&Reflect.has(C,"pickedEvent")&&(C.allowPicking??!1)){if(C instanceof w.ESEntityCluster){const z=new h.JulianDate;E=y.id instanceof h.Entity?{name:y.id.label.text.getValue(z),properties:(I=y.id.properties)==null?void 0:I.getValue(z),coordinates:rs(y.id.position.getValue(z))}:(b=y.id)==null?void 0:b.map(W=>{var N;return{name:W.id,properties:(N=W.properties)==null?void 0:N.getValue(z),coordinates:rs(W.position.getValue(z))}})}else if(C instanceof w.ESGeoJson){const z=new h.JulianDate;if(!y.id.entityCollection)return;const W=y.id.polygon?"Polygon":y.id.polyline?"LineString":"Point",N=((x=y.id.properties)==null?void 0:x.getValue(z))??{},L=W=="Point"?ce(y.id.position.getValue(z)):W=="LineString"?y.id.polyline.positions.getValue(z).map(U=>ce(U)):ld(y.id.polygon.hierarchy.getValue(z));E=C.pickedInfoType=="FeatureCollection"?{type:"Feature",geometry:{type:W,coordinates:L},properties:N}:{type:W,coordinates:L,properties:N}}else if(C instanceof w.ESGltfModel){let z;Reflect.has(y,"featureId")?z=y.featureId:Reflect.has(y,"instanceId")&&(z=y.instanceId),z&&(y.id=y.primitive.structuralMetadata.getPropertyTable(0).getProperty(y.instanceId,"id"))}C.pickedEvent.emit(new w.ESJPickedResult(y,C,P,E,f,u))}C&&Reflect.has(C,"allowPicking")&&!C.allowPicking&&g(new w.ESJPickedResult);const T=new w.ESJPickedResult(y,C,P,E,f,u);g(T)})()}catch(y){m(y)}}};let r=n.scene.postRender.addEventListener(o);const s=()=>{r&&r(),r=void 0};this.ad(s),this.ad(this.pauseChanged.don(a=>{a?s():r=n.scene.postRender.addEventListener(o)}))}}get pause(){return this._pause.value}set pause(e){this._pause.value=e}get pauseChanged(){return this._pause.changed}pickPosition(e){return new Promise((n,o)=>{this._pickPositionTasks.push([e,!0,n,o])})}quickPickPosition(e){return new Promise((n,o)=>{this._pickPositionTasks.push([e,!1,n,o])})}pick(e,n,o){return new Promise((r,s)=>{this._pickTasks.push([e,n,o,r,s])})}}function VF(t,i){const e=t.scene,n=e.camera.getPickRay(i);if(!n)return;const o=e.imageryLayers.pickImageryLayerFeatures(n,e);if(h.defined(o))return o}class UF extends l.Destroyable{constructor(e){super();v(this,"_enabled",this.disposeVar(l.react(!1)));v(this,"_cursorPosition",l.react(void 0));v(this,"quickPickPosition",!0);let n=new l.Destroyable;const o=()=>{n&&(n.destroy(),n=void 0)};this.dispose(o);const r=()=>{if(o(),!this._enabled.value||!e)return;const s=Yt(e);if(!s)return;n=new l.Destroyable;const a=n.disposeVar(l.react(void 0)),c=n.disposeVar(l.createNextAnimateFrameEvent(a.changed));n.dispose(s.czmViewer.pointerMoveEvent.disposableOn(u=>{u.pointerEvent&&(a.value=l.getDomEventCurrentTargetPos(u.pointerEvent))}));const d=n.disposeVar(l.createProcessingFromAsyncFunc(async u=>{if(s.pickingManager&&a.value)if(this.quickPickPosition){const p=await u.promise(l.createCancelablePromise(s.pickingManager.quickPickPosition(a.value)));this._cursorPosition.value=p}else{const p=await u.promise(l.createCancelablePromise(s.pickingManager.pickPosition(a.value)));this._cursorPosition.value=p}}));n.dispose(c.disposableOn(()=>{d.restart()}))};r(),this.dispose(this._enabled.changed.disposableOn(r))}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get cursorPosition(){return this._cursorPosition.value}get cursorPositionChanged(){return this._cursorPosition.changed}}function Yt(t){return l.getExtProp(t,"_viewerExtensions")}function om(t,i){l.setExtProp(t,"_viewerExtensions",i)}class __ extends l.Destroyable{constructor(e,n){super();v(this,"_imageriesManager");v(this,"_terrainManager");v(this,"_labelManager");v(this,"_pickingManager");v(this,"_poiContext");v(this,"_cursorPositionInfo");this._viewer=e,this._czmViewer=n,this._imageriesManager=this.dv(new w_(this.viewer)),this._terrainManager=this.dv(new v_(this.viewer)),this._labelManager=this.dv(new y_(this.viewer)),this._poiContext=this.disposeVar(new av(this._viewer)),this._cursorPositionInfo=this.disposeVar(new UF(this._viewer)),this.ad(n.viewerChanged.don(()=>{this._pickingManager=this.dv(new C_(n))}))}get viewer(){return this._viewer}get czmViewer(){return this._czmViewer}get imageriesManager(){return this._imageriesManager}get terrainManager(){return this._terrainManager}get labelManager(){return this._labelManager}get pickingManager(){return this._pickingManager}get poiContext(){return this._poiContext}get cursorPositionInfo(){return this._cursorPositionInfo}}var P_=new h.Cartesian3,S_=new h.Cartesian3;function E_(t,i,e){let n=h.Matrix4.clone(t.transform);t.lookAtTransform(h.Matrix4.IDENTITY);var o=t.positionCartographic.height,r=t.positionWC,s=h.Cartesian3.normalize(r,P_),a=h.Cartesian3.dot(t.direction,s);if(a>-.9&&a<.9)var c=h.Cartesian3.cross(t.direction,s,S_);else var c=h.Cartesian3.cross(t.up,s,S_);var d=c;if(e){var u=h.Cartesian3.cross(s,c,P_);d=u}var p=h.Cartesian3.magnitude(r);t.rotate(d,i/p);var f=t.positionCartographic,g=f.longitude,m=f.latitude;h.Cartesian3.fromRadians(g,m,o,void 0,t.position),t.lookAtTransform(n)}function A_(t,i){E_(t,i,!1)}function T_(t,i){E_(t,-i,!0)}class WF extends l.Destroyable{constructor(e){super();v(this,"_actions",{MoveForward:!1,MoveBackword:!1,MoveLeft:!1,MoveRight:!1});this._running=e;const{controller:n}=this,{viewer:o}=n.firstPersonController,{camera:r}=o;this.dispose(this.running.keyStatus.currentKeyIdsChanged.disposableOn(()=>{this._updateActions()})),this.dispose(this.controller.keyDownEvent.disposableOn(s=>{const{keyStatusMap:a}=this.running.keyboardCameraController;a[s.code]==="SpeedUp"?this.controller.speed=this.controller.speed*2:a[s.code]==="SpeedDown"&&(this.controller.speed=this.controller.speed*.5)})),this.dispose(this.controller.keyDownEvent.disposableOn(s=>{const{keyStatusMap:a}=this.running.keyboardCameraController;a[s.code]==="SwitchAlwaysWithCamera"&&(this.controller.alwaysWithCamera=!this.controller.alwaysWithCamera)}));{const{actions:s}=this;let a=Date.now();const c=()=>{const d=Date.now(),u=d-a;a=d;const p=this.controller.speed;s.WithCamera||this.controller.alwaysWithCamera?(s.MoveForward&&r.moveForward(u*p),s.MoveBackword&&r.moveBackward(u*p),s.MoveLeft&&r.moveLeft(u*p),s.MoveRight&&r.moveRight(u*p)):(s.MoveForward&&A_(r,u*p),s.MoveBackword&&A_(r,-u*p),s.MoveLeft&&T_(r,-u*p),s.MoveRight&&T_(r,u*p));{const{rotateSpeed:f}=this.controller,g=h.Math.toRadians(f*u);s.RotateRight?r.lookRight(g):s.RotateLeft?r.lookRight(-g):s.RotateUp?r.lookDown(-g):s.RotateDown&&r.lookDown(g)}};o.scene.preUpdate.addEventListener(c),this.dispose(()=>o.scene.preUpdate.removeEventListener(c))}}get running(){return this._running}get controller(){return this.running.keyboardCameraController}get actions(){return this._actions}_resetActions(){const e=Object.keys(this._actions);for(let n of e)this._actions[n]=!1}_updateActions(){const{running:e}=this,{keyStatus:n}=e,{actions:o}=this;this._resetActions();const{keyStatusMap:r}=this.running.keyboardCameraController;for(let s of n.currentKeyIds)o[r[s]]=!0}}class Rh extends l.Destroyable{constructor(e){super();v(this,"_currentKeyIds",new Set);v(this,"_currentKeyIdsChanged",this.dv(new l.Event));v(this,"_debug",this.dv(l.react(!1)));v(this,"_debugResetting",this.dv(new l.ObjResettingWithEvent(this.debugChanged,()=>{if(this.debug)return new class extends l.Destroyable{constructor(e){super();const n=()=>{console.log([...e.currentKeyIds].join(`
|
|
1959
|
+
`))};n(),this.d(e.currentKeyIdsChanged.don(n))}}(this)})));this._keyboardCameraControllerRunning=e;const{keyboardCameraController:n}=this._keyboardCameraControllerRunning;{const o=r=>{const s=Rh.getKeyId(r);this._currentKeyIds.has(s)||(this._currentKeyIds.add(s),this._currentKeyIdsChanged.emit())};this.d(n.keyDownEvent.don(o))}{const o=r=>{const s=Rh.getKeyId(r);this._currentKeyIds.has(s)&&(this._currentKeyIds.delete(s),this._currentKeyIdsChanged.emit())};this.d(n.keyUpEvent.don(o))}{const o=()=>{this._currentKeyIds.clear(),this._currentKeyIdsChanged.emit()};this.d(n.abortEvent.don(o))}}static getKeyId(e){return e.code}get currentKeyIds(){return this._currentKeyIds}get currentKeyIdsChanged(){return this._currentKeyIdsChanged}get debug(){return this._debug.value}set debug(e){this._debug.value=e}get debugChanged(){return this._debug.changed}}class GF extends l.Destroyable{constructor(e){super();v(this,"_keyStatus");v(this,"_cameraOp");this._keyboardCameraController=e,this._keyStatus=this.dv(new Rh(this)),this._cameraOp=this.dv(new WF(this))}get keyboardCameraController(){return this._keyboardCameraController}get keyStatus(){return this._keyStatus}get cameraOp(){return this._cameraOp}}const Nh=class Nh extends l.Destroyable{constructor(e){super();v(this,"_enabled",this.dv(l.react(!1)));v(this,"_keyStatusMap",this.dv(l.react(Nh.defaultKeyStatusMap)));v(this,"_speed",this.dv(l.react(1)));v(this,"_rotateSpeed",this.dv(l.react(.01)));v(this,"_alwaysWithCamera",this.dv(l.react(!1)));v(this,"_keyDownEvent",this.dv(new l.Event));v(this,"_keyUpEvent",this.dv(new l.Event));v(this,"_abortEvent",this.dv(new l.Event));this._firstPersonController=e,this.dv(new l.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new GF(this)}))}get firstPersonController(){return this._firstPersonController}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get keyStatusMap(){return this._keyStatusMap.value}set keyStatusMap(e){this._keyStatusMap.value=e}get keyStatusMapChanged(){return this._keyStatusMap.changed}get speed(){return this._speed.value}set speed(e){this._speed.value=e}get speedChanged(){return this._speed.changed}get rotateSpeed(){return this._rotateSpeed.value}set rotateSpeed(e){this._rotateSpeed.value=e}get rotateSpeedChanged(){return this._rotateSpeed.changed}get alwaysWithCamera(){return this._alwaysWithCamera.value}set alwaysWithCamera(e){this._alwaysWithCamera.value=e}get alwaysWithCameraChanged(){return this._alwaysWithCamera.changed}get keyDownEvent(){return this._keyDownEvent}keyDown(e){this._keyDownEvent.emit(e)}get keyUpEvent(){return this._keyUpEvent}keyUp(e){this._keyUpEvent.emit(e)}get abortEvent(){return this._abortEvent}abort(){this._abortEvent.emit()}};v(Nh,"defaultKeyStatusMap",{ShiftLeft:"WithCamera",ShiftRight:"WithCamera",KeyW:"MoveForward",KeyS:"MoveBackword",KeyA:"MoveLeft",KeyD:"MoveRight",ArrowUp:"MoveForward",ArrowDown:"MoveBackword",ArrowLeft:"MoveLeft",ArrowRight:"MoveRight",KeyR:"SpeedUp",KeyF:"SpeedDown",KeyQ:"SwitchAlwaysWithCamera"});let xh=Nh;function HF(t,i){t.lookRight(h.Math.toRadians(i.movementX)*.1),t.lookDown(h.Math.toRadians(i.movementY)*.1);const e=t.pitch,n=h.Math.clamp(e,-h.Math.PI_OVER_TWO,h.Math.PI_OVER_TWO);n!==e&&t.setView({destination:t.positionWC,orientation:{heading:t.heading,pitch:n,roll:t.roll}})}class qF extends l.Destroyable{constructor(i,e){super(),this._firstPersonController=i,this._mouseCameraController=e;const{canvas:n}=this._firstPersonController.viewer;{const o=r=>{const{camera:s}=this._firstPersonController.viewer.scene;HF(s,r)};n.addEventListener("pointermove",o),this.dispose(()=>n.removeEventListener("pointermove",o))}}}const Vh=class Vh extends l.Destroyable{constructor(e){super();v(this,"_mouseMoving",this.dv(new qF(this.firstPersonController,this.mouseCameraController)));this._mouseCameraController=e;const{viewer:n}=this.firstPersonController;this.mouseCameraController.enableViewerOriginInputs(!1),this.dispose(()=>this.mouseCameraController.enableViewerOriginInputs(!0)),Element.prototype.setPointerCapture=()=>{},this.dispose(()=>Element.prototype.setPointerCapture=Vh.origin_setPointerCapture);const o=n.canvas;o.requestPointerLock(),this.dispose(()=>document.exitPointerLock());{const r=()=>{document.pointerLockElement!==o&&(this.firstPersonController.mouseEnabled=!1)};document.addEventListener("pointerlockchange",r,!1),this.dispose(()=>document.removeEventListener("pointerlockchange",r,!1))}{const r=()=>{this.firstPersonController.mouseEnabled=!1,console.log("Error locking pointer")};document.addEventListener("pointerlockerror",r)}}get mouseCameraController(){return this._mouseCameraController}get firstPersonController(){return this.mouseCameraController.firstPersonController}get mouseMoving(){return this._mouseMoving}};v(Vh,"origin_setPointerCapture",Element.prototype.setPointerCapture);let rm=Vh;class $F extends l.Destroyable{constructor(e){super();v(this,"_enabled",this.dv(l.react(!1)));v(this,"enableViewerOriginInputs",e=>{e?this.firstPersonController.czmViewer.incrementDisabledInputStack():this.firstPersonController.czmViewer.decrementDisabledInputStack()});v(this,"_mouseResetting",this.dv(new l.ObjResettingWithEvent(this.enabledChanged,()=>{if(this.enabled)return new rm(this)})));this._firstPersonController=e}get firstPersonController(){return this._firstPersonController}get enabled(){return this._enabled.value}set enabled(e){this._enabled.value=e}get enabledChanged(){return this._enabled.changed}get mouseResetting(){return this._mouseResetting}}class XF extends l.Destroyable{constructor(e){super();v(this,"viewer");v(this,"_mouseCameraController",this.dv(new $F(this)));v(this,"_keyboardCameraController",this.dv(new xh(this)));if(this._viewer=e,!this._viewer.viewer)throw new Error("Cesium.Viewer不存在!");this.viewer=this._viewer.viewer}get czmViewer(){return this._viewer}get mouseCameraController(){return this._mouseCameraController}get mouseEnabled(){return this.mouseCameraController.enabled}set mouseEnabled(e){this.mouseCameraController.enabled=e}get mouseEnabledChanged(){return this.mouseCameraController.enabledChanged}get keyboardCameraController(){return this._keyboardCameraController}get keyboardEnabled(){return this.keyboardCameraController.enabled}set keyboardEnabled(e){this.keyboardCameraController.enabled=e}get keyboardEnabledChanged(){return this.keyboardCameraController.enabledChanged}}function M_(t){t.removeInputAction(h.ScreenSpaceEventType.LEFT_DOWN),t.removeInputAction(h.ScreenSpaceEventType.RIGHT_DOWN),t.removeInputAction(h.ScreenSpaceEventType.MIDDLE_DOWN),t.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),t.removeInputAction(h.ScreenSpaceEventType.LEFT_UP),t.removeInputAction(h.ScreenSpaceEventType.RIGHT_UP),t.removeInputAction(h.ScreenSpaceEventType.MIDDLE_UP)}function sm(t,i,e,n=void 0){const r=t.camera,s=new h.Cartesian2;s.x=i.startPosition.x,s.y=0;const a=new h.Cartesian2;a.x=i.endPosition.x,a.y=0;let c=r.getPickRay(s,new h.Ray),d=r.getPickRay(a,new h.Ray),u=0,p,f;if(!c||!d)return;r.frustum instanceof h.OrthographicFrustum?(p=c.origin,f=d.origin,h.Cartesian3.add(r.direction,p,p),h.Cartesian3.add(r.direction,f,f),h.Cartesian3.subtract(p,r.position,p),h.Cartesian3.subtract(f,r.position,f),h.Cartesian3.normalize(p,p),h.Cartesian3.normalize(f,f)):(p=c.direction,f=d.direction);let g=h.Cartesian3.dot(p,f);g<1&&(u=Math.acos(g)),u=i.startPosition.x>i.endPosition.x?u:-u;const m=e._horizontalRotationAxis;if(h.defined(n)?r.look(n,-u):h.defined(m)?r.look(m,-u):r.lookLeft(u),s.x=0,s.y=i.startPosition.y,a.x=0,a.y=i.endPosition.y,c=r.getPickRay(s,new h.Ray),d=r.getPickRay(a,new h.Ray),u=0,!(!c||!d))if(r.frustum instanceof h.OrthographicFrustum?(p=c.origin,f=d.origin,h.Cartesian3.add(r.direction,p,p),h.Cartesian3.add(r.direction,f,f),h.Cartesian3.subtract(p,r.position,p),h.Cartesian3.subtract(f,r.position,f),h.Cartesian3.normalize(p,p),h.Cartesian3.normalize(f,f)):(p=c.direction,f=d.direction),g=h.Cartesian3.dot(p,f),g<1&&(u=Math.acos(g)),u=i.startPosition.y>i.endPosition.y?u:-u,n=h.defaultValue(n,m),h.defined(n)){const y=r.direction,P=h.Cartesian3.negate(n,new h.Cartesian3),S=h.Cartesian3.equalsEpsilon(y,n,h.Math.EPSILON2),C=h.Cartesian3.equalsEpsilon(y,P,h.Math.EPSILON2);if(!S&&!C){g=h.Cartesian3.dot(y,n);let E=h.Math.acosClamped(g);u>0&&u>E&&(u=E-h.Math.EPSILON4),g=h.Cartesian3.dot(y,P),E=h.Math.acosClamped(g),u<0&&-u>E&&(u=-E+h.Math.EPSILON4);const T=h.Cartesian3.cross(n,y,new h.Cartesian3);r.look(T,u)}else(S&&u<0||C&&u>0)&&r.look(r.right,-u)}else r.lookUp(u)}class YF extends l.Destroyable{constructor(i,e){super();const n=e.viewer;if(!n)throw new Error("viewer is undefined");let o=!0;this.d(i.positionChanged.don(()=>o=!0)),this.d(i.rotationChanged.don(()=>o=!0)),this.d(i.offsetHeightChanged.don(()=>o=!0)),this.d(i.viewDistanceChanged.don(()=>o=!0)),this.d(i.offsetRotationChanged.don(()=>o=!0)),this.d(i.relativeRotationChanged.don(()=>o=!0));const r=[0,0,0],s=[0,0,0];this.d(n.clock.onTick.addEventListener(()=>{if(!o)return;if(o=!1,!i.position){console.warn("相机控制器未能设置位置,无法启用!");return}if(i.viewDistance===void 0){console.warn("相机控制器未能设置视距,将自动设置视距!");const p=Ve(i.position),f=n.camera.positionWC,g=h.Cartesian3.distance(p,f);i.viewDistance=g}l.Vector.clone(i.position,s),i.offsetHeight&&(s[2]+=i.offsetHeight);const{rotation:a,offsetRotation:c=Li.defaults.offsetRotation}=i,d=[...c];l.Vector.set(r,0,0,0),a&&(i.relativeRotation??Li.defaults.relativeRotation)&&(l.Vector.add(a,r,r),d[0]+=90),l.Vector.add(d,r,r);const u={distance:i.viewDistance,heading:r[0],pitch:r[1],flyDuration:0,hDelta:0,pDelta:0};e.flyTo(u,s)})),e.incrementDisabledInputStack(),this.d(()=>{e.decrementDisabledInputStack()}),this.d(e.pointerMoveEvent.don(a=>{const c=a==null?void 0:a.pointerEvent;if(c&&i.enabledRotationInput&&(c.buttons===1||c.buttons===2)){const{movementX:d,movementY:u}=c;i.offsetRotation=l.Vector.add(i.offsetRotation??Li.defaults.offsetRotation,[d*.2,u*-.2,0])}})),this.d(e.wheelEvent.don(a=>{if(!i.enabledScaleInput)return;const c=a.deltaY,u=Math.max(1,i.viewDistance)*(c*.001);i.viewDistance=i.viewDistance+u}))}}class Li extends l.Destroyable{constructor(e){super();v(this,"_resetWithCameraEvent",this.dv(new l.Event));const n=e.viewer;if(!n)throw new Error("viewer is undefined");const o=this;let r;const s=()=>{r&&(r.destroy(),r=void 0)};this.d(s);const a=()=>{s(),o.enabled&&(r=new YF(o,e))};a(),this.d(o.enabledChanged.don(a)),this.d(o.resetWithCameraEvent.don(c=>{if(!e.actived)return;const d=$o(n.camera);if(!d)return;const u=o.rotation;o.offsetRotation=[d[0]-(o.relativeRotation?u[0]:90),d[1]-(o.relativeRotation?u[1]:0),d[2]-(o.relativeRotation?u[2]:0)]}))}get resetWithCameraEvent(){return this._resetWithCameraEvent}resetWithCamera(e){this._resetWithCameraEvent.emit(e)}}v(Li,"defaults",{position:[116.39,39.9,0],rotation:[0,0,0],offsetRotation:[0,-60,0],relativeRotation:!0}),(t=>{t.createDefaultProps=()=>({enabled:!1,showTarget:!1,position:l.reactArrayWithUndefined(void 0),rotation:l.reactArrayWithUndefined(void 0),rotationEditing:!1,viewDistance:1e3,offsetHeight:0,offsetRotation:l.reactArray([0,-60,0]),enabledRotationInput:!0,enabledScaleInput:!0,relativeRotation:!0})})(Li||(Li={})),l.extendClassProps(Li.prototype,Li.createDefaultProps);class Qs extends l.Destroyable{constructor(e){super();v(this,"_geoCameraController");v(this,"_geoPolylinePath");this._geoCameraController=this.dv(new Li(e)),this._geoPolylinePath=this.dv(new Sr(e)),this._geoPolylinePath.show=!1,this._geoPolylinePath.currentTime=0;const n=()=>{(this.usePathPosition??!0)&&(this._geoCameraController.position=this._geoPolylinePath.currentPosition),(this.usePathRotation??!0)&&(this._geoCameraController.rotation=this._geoPolylinePath.currentRotation)};n(),this.d(this._geoPolylinePath.currentPositionChanged.don(n)),this.d(this._geoPolylinePath.currentRotationChanged.don(n)),this.dispose(l.bind([this._geoCameraController,"enabled"],[this,"enabled"])),this.dispose(l.bind([this._geoCameraController,"viewDistance"],[this,"viewDistance"])),this.dispose(l.bind([this._geoCameraController,"offsetHeight"],[this,"offsetHeight"])),this.dispose(l.bind([this._geoCameraController,"offsetRotation"],[this,"offsetRotation"])),this.dispose(l.track([this._geoCameraController,"enabledRotationInput"],[this,"enabledRotationInput"])),this.dispose(l.track([this._geoCameraController,"enabledScaleInput"],[this,"enabledScaleInput"])),this.dv(new l.ObjResettingWithEvent(this.lineModeChanged,()=>{if(this.lineMode!==void 0){if(this.lineMode==="auto")return new ZF(this,e);if(this.lineMode==="manual")return new QF(this,e)}}))}get geoCameraController(){return this._geoCameraController}get polylinePath(){return this._geoPolylinePath}get position(){return this._geoCameraController.position}get positionChanged(){return this._geoCameraController.positionChanged}get rotation(){return this._geoCameraController.rotation}get roataionChanged(){return this._geoCameraController.rotationChanged}}(t=>{t.createDefaultProps=()=>({enabled:!1,usePathPosition:!0,usePathRotation:!0,viewDistance:1e3,offsetHeight:0,offsetRotation:l.reactArray([0,-60,0]),enabledRotationInput:!0,enabledScaleInput:!0,lineMode:void 0})})(Qs||(Qs={})),l.extendClassProps(Qs.prototype,Qs.createDefaultProps);class ZF extends l.Destroyable{constructor(i,e){if(super(),!e.viewer)throw new Error("viewer is undefined");i.offsetRotation=[-90,0,0]}}class QF extends l.Destroyable{constructor(i,e){if(super(),!e.viewer)throw new Error("viewer is undefined");const o=r=>{(r.key==="w"||r.key==="s")&&(i.polylinePath.playing=r.type==="keydown",i.polylinePath.speed=r.key==="w"||r.type==="keyup"?1:-1)};this.dispose(e.keyDownEvent.don(o)),this.dispose(e.keyUpEvent.don(o))}}class KF extends l.Destroyable{constructor(i,e){super();const n=e.positionPropertyName??"position",o=e.positionChangedPropertyName??n+"Changed",r=e.rotationPropertyName??"rotation",s=e.rotationChangedPropertyName??r+"Changed",a=(e.positionTracking??!0)&&Reflect.has(i,n)&&Reflect.has(i,o),c=(e.rotationTracking??!0)&&Reflect.has(i,r)&&Reflect.has(i,s);if(!(!a&&!c)){if(a){const d=()=>{e.geoCameraController.position=i[n]};d();const u=i[o];this.d(u.don(d))}if(c){const d=()=>{e.geoCameraController.rotation=i[r]};d();const u=i[o];this.d(u.don(d))}}}}class JF extends l.Destroyable{constructor(i,e){super();const n=this.dv(new w.ESSceneObjectWithId);n.id=i;const o=this.dv(l.createNextAnimateFrameEvent(e.enabledChanged,e.positionTrackingChanged,e.rotationTrackingChanged,e.positionPropertyNameChanged,e.positionChangedPropertyNameChanged,e.rotationPropertyNameChanged,e.rotationChangedPropertyNameChanged,n.sceneObjectChanged));this.disposeVar(new l.ObjResettingWithEvent(o,()=>{const{sceneObject:r}=n;if(!(!e.enabled||!r))return new KF(r,e)}))}}class Ks extends l.Destroyable{constructor(e){super();v(this,"_geoCameraController");this._geoCameraController=this.dv(new Li(e)),this.d(l.bind([this._geoCameraController,"enabled"],[this,"enabled"])),this.dv(new l.ObjResettingWithEvent(this.sceneObjectIdChanged,()=>{if(this.sceneObjectId)return new JF(this.sceneObjectId,this)}))}get geoCameraController(){return this._geoCameraController}}(t=>{t.createDefaultProps=()=>({enabled:void 0,sceneObjectId:void 0,positionTracking:void 0,rotationTracking:void 0,positionPropertyName:void 0,positionChangedPropertyName:void 0,rotationPropertyName:void 0,rotationChangedPropertyName:void 0})})(Ks||(Ks={})),l.extendClassProps(Ks.prototype,Ks.createDefaultProps);class BF extends l.Destroyable{constructor(e){super();v(this,"height",1e7);v(this,"cycle",60);v(this,"latitude",38*3.1415926/18);v(this,"_running",!1);v(this,"_sseh");v(this,"_eventDisposer");v(this,"leftDownCancel",!0);this._viewer=e,this._sseh=this.dv(new h.ScreenSpaceEventHandler(this._viewer.canvas)),this._sseh.setInputAction(()=>{this.leftDownCancel&&this.cancel()},h.ScreenSpaceEventType.LEFT_DOWN),this.d(()=>{this.cancel()})}get viewer(){return this._viewer}get sseh(){return this._sseh}start(){if(this._running)return;const e=this._viewer.camera,n=e.positionCartographic;e.flyTo({destination:h.Cartesian3.fromRadians(n.longitude,this.latitude,this.height),orientation:{heading:0,pitch:-.5*h.Math.PI,roll:0},complete:()=>{this._running=!0;var o=void 0;this._eventDisposer=this.viewer.scene.postUpdate.addEventListener((r,s)=>{if(!o){o=new Date().getTime();return}const a=(new Date().getTime()-o)/1e3,c=e.positionCartographic.longitude+a*h.Math.PI*2/this.cycle;e.setView({destination:h.Cartesian3.fromRadians(c,this.latitude,this.height),orientation:{heading:0,pitch:-.5*h.Math.PI,roll:0}}),o=new Date().getTime()})},duration:.5})}cancel(){this._running&&(this._eventDisposer&&(this._eventDisposer(),this._eventDisposer=void 0),this._running=!1)}}class jF extends l.Destroyable{constructor(e){super();v(this,"_height",this.dv(l.react(1e7)));v(this,"_cycle",this.dv(l.react(60)));v(this,"_latitude",this.dv(l.react(38)));v(this,"_inner");this._czmViewer=e;const n=this._czmViewer.viewer;if(!n)throw new Error("未初始化viewer");this._inner=this.dv(new BF(n)),this._inner.leftDownCancel=!1;{const o=()=>{this._inner.height=this.height,this._inner.cycle=this.cycle,this._inner.latitude=this.latitude*Math.PI/180};o(),this.d(this.heightChanged.don(o)),this.d(this.cycleChanged.don(o)),this.d(this.latitudeChanged.don(o))}}get height(){return this._height.value}set height(e){this._height.value=e}get heightChanged(){return this._height.changed}get cycle(){return this._cycle.value}set cycle(e){this._cycle.value=e}get cycleChanged(){return this._cycle.changed}get latitude(){return this._latitude.value}set latitude(e){this._latitude.value=e}get latitudeChanged(){return this._latitude.changed}get inner(){return this._inner}start(){return this._inner.start()}cancel(){return this._inner.cancel()}}class ek extends l.Destroyable{constructor(e){super();v(this,"_position",this.dv(l.reactArrayWithUndefined(void 0)));v(this,"_distance",this.dv(l.react(5e4)));v(this,"_cycle",this.dv(l.react(60)));v(this,"_heading",this.dv(l.react(0)));v(this,"_pitch",this.dv(l.react(-30)));v(this,"_transform");v(this,"_headingRadius");v(this,"_pitchRadius");v(this,"_running",!1);v(this,"_sseh");v(this,"_eventDisposer");this._viewer=e;const n=this.viewer.scene,o=this.viewer.camera;this._sseh=this.dv(new h.ScreenSpaceEventHandler(this.viewer.canvas)),this.d(()=>{this.cancel()});{const r=()=>{let s;if(this.position==null){var a=o.getPickRay(new h.Cartesian2(n.canvas.width*.5,n.canvas.height*.5));if(!a)return;s=n.globe.pick(a,n)}else s=h.Cartesian3.fromDegrees(...this.position);s&&(this._transform=h.Transforms.eastNorthUpToFixedFrame(s),this.start())};r(),this.d(this.positionChanged.don(r))}{const r=()=>{this._headingRadius=h.Math.toRadians(this.heading)};r(),this.d(this.headingChanged.don(r))}{const r=()=>{this._pitchRadius=h.Math.toRadians(this.pitch)};r(),this.d(this.pitchChanged.don(r))}}get viewer(){return this._viewer}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get distance(){return this._distance.value}set distance(e){this._distance.value=e}get distanceChanged(){return this._distance.changed}get cycle(){return this._cycle.value}set cycle(e){this._cycle.value=e}get cycleChanged(){return this._cycle.changed}get heading(){return this._heading.value}set heading(e){this._heading.value=e}get headingChanged(){return this._heading.changed}get pitch(){return this._pitch.value}set pitch(e){this._pitch.value=e}get pitchChanged(){return this._pitch.changed}get sseh(){return this._sseh}start(){if(this._running)return;const e=this.viewer.camera;e.lookAtTransform(this._transform);var n=this.distance*Math.sin(this._pitchRadius),o=this.distance*Math.cos(this._pitchRadius),r=new h.Cartesian3(0,n,o);e.flyTo({destination:h.Matrix4.multiplyByPoint(this._transform,r,new h.Cartesian3),orientation:{heading:this._headingRadius,pitch:this._pitchRadius,roll:0},endTransform:this._transform,complete:()=>{this._running=!0;let s;this._eventDisposer=this.viewer.scene.postUpdate.addEventListener((a,c)=>{if(!s){s=new Date().getTime();return}const d=(new Date().getTime()-s)/1e3;this._headingRadius+=d*h.Math.PI*2/this.cycle,e.lookAtTransform(this._transform,new h.HeadingPitchRange(this._headingRadius,this._pitchRadius,this.distance)),s=new Date().getTime()})},duration:.5,maximumHeight:e.positionCartographic.height})}cancel(){if(!this._running)return;this.viewer.camera.lookAtTransform(h.Matrix4.IDENTITY),this._eventDisposer&&(this._eventDisposer(),this._eventDisposer=void 0),this._running=!1}}class tk extends l.Destroyable{constructor(e){super();v(this,"_position",this.dv(l.reactArrayWithUndefined(void 0)));v(this,"_distance",this.dv(l.react(5e4)));v(this,"_cycle",this.dv(l.react(60)));v(this,"_heading",this.dv(l.react(0)));v(this,"_pitch",this.dv(l.react(-30)));v(this,"_inner");this._czmViewer=e;const n=this._czmViewer.viewer;if(!n)throw new Error("viewer is undefined");this._inner=this.dv(new ek(n));{const o=()=>{this.inner.distance=this.distance,this.inner.cycle=this.cycle,this.inner.position=this.position,this.inner.heading=this.heading,this.inner.pitch=this.pitch};o(),this.d(this.distanceChanged.don(o)),this.d(this.cycleChanged.don(o)),this.d(this.positionChanged.don(o)),this.d(this.headingChanged.don(o)),this.d(this.pitchChanged.don(o))}}get position(){return this._position.value}set position(e){this._position.value=e}get positionChanged(){return this._position.changed}get distance(){return this._distance.value}set distance(e){this._distance.value=e}get distanceChanged(){return this._distance.changed}get cycle(){return this._cycle.value}set cycle(e){this._cycle.value=e}get cycleChanged(){return this._cycle.changed}get heading(){return this._heading.value}set heading(e){this._heading.value=e}get headingChanged(){return this._heading.changed}get pitch(){return this._pitch.value}set pitch(e){this._pitch.value=e}get pitchChanged(){return this._pitch.changed}get inner(){return this._inner}start(){return this._inner.start()}cancel(){return this._inner.cancel()}}class ik extends l.Destroyable{constructor(e){super();v(this,"_firstPersonController");v(this,"_rotateGlobe");v(this,"_rotatePoint");v(this,"_followController");v(this,"_pathCameraController");v(this,"_handler");this._viewer=e;{this._firstPersonController=this.dv(new XF(e)),this.d(this._viewer.keyDownEvent.don(n=>this._firstPersonController.keyboardCameraController.keyDown(n))),this.d(this._viewer.keyUpEvent.don(n=>this._firstPersonController.keyboardCameraController.keyUp(n)));{const{subContainer:n}=this._viewer;if(!n)throw new Error("_firstPersonControllerInit error!");const o=()=>this._firstPersonController.keyboardCameraController.abort();n.addEventListener("blur",o,!1),this.d(()=>n.removeEventListener("blur",o,!1))}this._firstPersonController.keyboardEnabled=!1,this._firstPersonController.mouseEnabled=!1,this._firstPersonController.keyboardCameraController.speed=.006,this._firstPersonController.keyboardCameraController.rotateSpeed=.05,this._firstPersonController.keyboardCameraController.alwaysWithCamera=!1,this._firstPersonController.keyboardCameraController.keyStatusMap=xh.defaultKeyStatusMap,this.d(this._firstPersonController.keyboardEnabledChanged.don(()=>{var n;(n=this._viewer.subContainer)==null||n.focus()}))}this._rotateGlobe=this.dv(new jF(e)),this._rotatePoint=this.dv(new tk(e)),this._followController=this.dv(new Ks(e)),this._pathCameraController=this.dv(new Qs(e))}get firstPersonController(){return this._firstPersonController}get rotateGlobe(){return this._rotateGlobe}get rotatePoint(){return this._rotatePoint}get followController(){return this._followController}get pathCameraController(){return this._pathCameraController}resetNavigation(){this._firstPersonController.keyboardEnabled=!1,this._rotateGlobe.cancel(),this._rotatePoint.cancel(),this._followController.enabled=!1,this._followController.sceneObjectId=void 0,this._followController.geoCameraController.offsetRotation=[-90,0,0],this._followController.geoCameraController.viewDistance=0,this._pathCameraController.enabled=!1,this._pathCameraController.polylinePath.playing=!1,this._pathCameraController.polylinePath.currentTime=0,this._pathCameraController.polylinePath.loop=!1,this._pathCameraController.geoCameraController.offsetHeight=0,this._pathCameraController.polylinePath.positions=void 0,this._pathCameraController.lineMode=void 0}changeToMap(){this.resetNavigation(),this._changedMouseEvent("Map")}changeToWalk(e,n=4.2,o=1.6){this.resetNavigation();const r=this._viewer.navigationMode!="Walk";this._changedMouseEvent("Walk");const s=this._viewer.getCameraInfo(),a=[(s==null?void 0:s.rotation[0])??0,0,0];this._viewer.getHeightByLonLat(e[0],e[1]).then(c=>{r?this._viewer.flyIn([e[0],e[1],(c??0)+o],a):this._viewer.viewer&&(this._viewer.viewer.camera.position=h.Cartesian3.fromDegrees(e[0],e[1],(c??0)+o)),this.firstPersonController.keyboardEnabled=!0,this.firstPersonController.keyboardCameraController.speed=.006,this.firstPersonController.keyboardCameraController.rotateSpeed=.05,this.firstPersonController.keyboardCameraController.keyStatusMap={ShiftLeft:"WithCamera",ShiftRight:"WithCamera",KeyW:"MoveForward",KeyS:"MoveBackword",KeyA:"MoveLeft",KeyD:"MoveRight",ArrowUp:"MoveForward",ArrowDown:"MoveBackword",ArrowLeft:"RotateLeft",ArrowRight:"RotateRight",KeyR:"SpeedUp",KeyF:"SpeedDown",KeyQ:"SwitchAlwaysWithCamera"}})}changeToRotateGlobe(e=38,n=1e7,o=60){this.resetNavigation(),this._changedMouseEvent("RotateGlobe"),this._rotateGlobe.latitude=e,this._rotateGlobe.height=n,this._rotateGlobe.cycle=o,this._rotateGlobe.start()}changeToRotatePoint(e,n=5e4,o=60,r=0,s=-30){this.resetNavigation(),this._changedMouseEvent("RotatePoint"),this._rotatePoint.position=e,this._rotatePoint.distance=n,this._rotatePoint.cycle=o,this._rotatePoint.heading=r,this._rotatePoint.pitch=s,this._rotatePoint.start()}changeToFollow(e,n=0,o=0,r=-30,s=!0){this.resetNavigation(),this._changedMouseEvent("Follow"),this._followController.sceneObjectId=e,this._followController.geoCameraController.offsetRotation=[o,r,0],this._followController.geoCameraController.relativeRotation=s,n!==0?this._followController.geoCameraController.viewDistance=n:this._followController.geoCameraController.viewDistance=1e3,this._followController.enabled=!0}changeToLine(e,n=10,o=10,r=!0,s=10,a="auto"){this.resetNavigation(),this._changedMouseEvent("Line");const c=a==="auto",d=w.ESSceneObject.getSceneObjById(e);if(!d)return;const{points:u}=d;if(!u)return;const p=w.getDistancesFromPositions(u,"NONE"),f=p[p.length-1];this._pathCameraController.viewDistance=0,this._pathCameraController.polylinePath.positions=[...u],this._pathCameraController.polylinePath.duration=f/n*1e3,this._pathCameraController.polylinePath.loop=r,this._pathCameraController.offsetHeight=o;const g=Gm(u);this._pathCameraController.polylinePath.rotationRadius=!c||g==!1?[0]:g.map(m=>m/s*n),this._pathCameraController.enabledRotationInput=!c,this._pathCameraController.enabledScaleInput=!1,this._pathCameraController.polylinePath.playing=c,this._pathCameraController.lineMode=a,this._pathCameraController.enabled=!0}_changedMouseEvent(e){const n=this._viewer.viewer;if(!n)return;this._handler||(this._handler=new h.ScreenSpaceEventHandler(n.scene.canvas));const o=this._handler,r=n.scene.screenSpaceCameraController;this.d(()=>{o&&M_(o)}),e=="Walk"||e=="RotateGlobe"?(r.lookEventTypes=void 0,r.rotateEventTypes=void 0,r.tiltEventTypes=void 0,r.zoomEventTypes=void 0,r.translateEventTypes=void 0,o&&e=="Walk"&&(o.setInputAction(s=>{o.setInputAction(a=>{sm(n.scene,a,r)},h.ScreenSpaceEventType.MOUSE_MOVE),o.setInputAction(a=>{o.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),o.removeInputAction(h.ScreenSpaceEventType.LEFT_UP)},h.ScreenSpaceEventType.LEFT_UP)},h.ScreenSpaceEventType.LEFT_DOWN),o.setInputAction(s=>{o.setInputAction(a=>{sm(n.scene,a,r)},h.ScreenSpaceEventType.MOUSE_MOVE),o.setInputAction(a=>{o.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),o.removeInputAction(h.ScreenSpaceEventType.RIGHT_UP)},h.ScreenSpaceEventType.RIGHT_UP)},h.ScreenSpaceEventType.RIGHT_DOWN),o.setInputAction(s=>{o.setInputAction(a=>{sm(n.scene,a,r)},h.ScreenSpaceEventType.MOUSE_MOVE),o.setInputAction(a=>{o.removeInputAction(h.ScreenSpaceEventType.MOUSE_MOVE),o.removeInputAction(h.ScreenSpaceEventType.MIDDLE_UP)},h.ScreenSpaceEventType.MIDDLE_UP)},h.ScreenSpaceEventType.MIDDLE_DOWN))):(o&&M_(o),r.lookEventTypes=h.CameraEventType.RIGHT_DRAG,r.rotateEventTypes=h.CameraEventType.LEFT_DRAG,r.tiltEventTypes=[h.CameraEventType.MIDDLE_DRAG,h.CameraEventType.PINCH,{eventType:h.CameraEventType.LEFT_DRAG,modifier:h.KeyboardEventModifier.CTRL},{eventType:h.CameraEventType.RIGHT_DRAG,modifier:h.KeyboardEventModifier.CTRL}],r.translateEventTypes=h.CameraEventType.LEFT_DRAG,r.zoomEventTypes=[h.CameraEventType.WHEEL,h.CameraEventType.PINCH,{eventType:h.CameraEventType.RIGHT_DRAG,modifier:h.KeyboardEventModifier.SHIFT}])}}const nk=[{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.3558367297943,39.93163726456884,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.30223283037274,39.92688664316035,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.43707387584969,39.922782714050356,3300]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.27929428317248,39.895318074706246,3500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.36181901056395,39.89720944386167,3553.618347252562]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.40050587550184,39.87565113086582,3500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.31629153797958,39.88888615917464,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.38662084727662,39.93026695192356,5222.983612030221]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.35985958294472,39.879559968940974,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.30061281533665,39.86521469244785,3500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.33589491695909,39.85251691437225,3400]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.3978491755026,39.92191230041099,3e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.404556165088,39.901554635269065,3400]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.3371677114933,39.90666589456628,3200]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.30329238580244,39.90598342431921,5e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.25047545555285,39.927295935589235,5e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.33129680063607,39.98205319015022,5500]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.38241622722414,39.864780790627634,5800]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.24126681456984,39.85629130246847,6e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.4476299820832,39.9015287845667,5233.181711832771]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.33116617802452,39.824241891065384,6e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.15206905891218,39.90872966468676,5e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.24197212869294,39.88630968655299,3200]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.43381133281572,39.96058832885812,5700]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[4e4,1e4],position:[116.21635435523064,39.966450178376924,7e3]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.17908072725879,39.87211951629164,3200]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.32516866705241,39.94534681561764,3300]},{slice:-1,brightness:1,maximumSize:[25,9,10],color:[1,1,1,1],scale:[1e4,5e3],position:[116.36086721251684,39.948381883306446,3400]}];class ok extends l.Destroyable{constructor(e){super();v(this,"_show",this.dv(l.react(!1)));v(this,"cloudsPostProcess");const n=e.viewer;if(!n)throw new Error("Cesium Viewer is not initialized");const o=new h.CloudCollection;n.scene.primitives.add(o),this.dispose(()=>n.scene.primitives.remove(o));{const r=()=>{o.show=this.show};r(),this.dispose(this.showChanged.disposableOn(r))}{const r=a=>({slice:a.slice,brightness:a.brightness,scale:Ee(a.scale),maximumSize:si(a.maximumSize),color:ie(a.color),position:Ve(a.position)});(()=>{o.removeAll();for(let a of nk)o.add(r(a))})()}}get show(){return this._show.value}set show(e){this._show.value=e}get showChanged(){return this._show.changed}}class Js extends l.Destroyable{constructor(i){super();const e=i.viewer;if(!e){console.warn("viewer is undefined!");return}const n=e.scene.postProcessStages.add(h.PostProcessStageLibrary.createDepthOfFieldStage());this.d(()=>e.scene.postProcessStages.remove(n));{const o=()=>{n.enabled=this.show};o(),this.d(this.showChanged.don(o))}{const o=()=>{n.uniforms.fogByDistance=this.focalDistance};o(),this.d(this.focalDistanceChanged.don(o))}{const o=()=>{n.uniforms.delta=this.delta};o(),this.d(this.deltaChanged.don(o))}{const o=()=>{n.uniforms.sigma=this.sigma};o(),this.d(this.sigmaChanged.don(o))}{const o=()=>{n.uniforms.stepSize=this.stepSize};o(),this.d(this.stepSizeChanged.don(o))}}}(t=>{t.createDefaultProps=()=>({show:!1,focalDistance:87,delta:1,sigma:3.78,stepSize:2.46})})(Js||(Js={})),l.extendClassProps(Js.prototype,Js.createDefaultProps);const rk=`
|
|
1960
1960
|
float getDistance(sampler2D depthTexture, vec2 texCoords)
|
|
1961
1961
|
{
|
|
1962
1962
|
float depth = czm_unpackDepth(texture(depthTexture, texCoords));
|
|
@@ -2255,10 +2255,10 @@ async function initCesiumViewer(container, czmViewer) {
|
|
|
2255
2255
|
`;function Kk(){const t="https://gitee.com/mirrors/CesiumJS/blob/main/packages/engine/Source/Core/Ion.js#L7",e=` 因浏览器同源策略限制,需要用户自行打开网址获取最新的token,点击确定自动打开网址,请不要拦截!
|
|
2256
2256
|
github地址:https://github.com/CesiumGS/cesium/blob/main/packages/engine/Source/Core/Ion.js#L7
|
|
2257
2257
|
gitee地址:${t}
|
|
2258
|
-
`;console.log(e);const n=window.prompt(e,t);n&&window.open(n,"_blank")}const rt=class rt extends w.ESViewer{constructor(e){super(e);v(this,"_disabledInputStack",this.disposeVar(l.react(0)));v(this,"_viewer",this.dv(l.react(void 0)));v(this,"_viewerInstance");v(this,"_viewerLegend");v(this,"pickCustomAttachedInfo");v(this,"_fps",this.dv(l.react(0)));v(this,"_notSupportEditingCount",this.disposeVar(l.react(0)));v(this,"_editingSystem",Dh);v(this,"_moveObjectsProcess",this.ad(i_()));if(e.type!=="ESCesiumViewer")throw new Error("option.type must be ESCesiumViewer");this.ad(new b2(this)),this.ad(new R2(this)),this.dv(new l.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new z2(this)})),this._viewerLegend=this.dv(new qk(this)),this._viewerInstance=this.dv(new l.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new cm(this,this.viewer)})),this.d(this.viewerChanged.don(o=>{this.viewer&&(this.viewer.scene.globe.baseColor=ie([1,1,1,1]))}));const n=e;this.d(this._viewer.changed.don(o=>{this.viewerChanged.emit(o)})),this.dv(new l.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new FF(this.subContainer,this,o=>this._viewer.value=o,n.options)}))}get disabledInputStack(){return this._disabledInputStack.value}get disabledInputStackChanged(){return this._disabledInputStack.changed}incrementDisabledInputStack(){++this._disabledInputStack.value}decrementDisabledInputStack(){--this._disabledInputStack.value}get viewer(){return this._viewer.value}get extensions(){return this.viewer&&Yt(this.viewer)}get viewerInstance(){return this._viewerInstance}get viewerLegend(){return this._viewerLegend}async pick(e,n,o){if(!this.extensions)return;const{pickingManager:r}=this.extensions;return await r.pick(e,void 0,n)}async pickPosition(e){if(!this.extensions)return;const{pickingManager:n}=this.extensions;return await n.pickPosition(e)}async quickPickPosition(e){if(!this.extensions)return;const{pickingManager:n}=this.extensions;return await n.quickPickPosition(e)}async getTerrainHeight(e){const{viewer:n}=this;if(!n)return;const o=h.Cartographic.fromDegrees(e[0],e[1],e[2],rt.getHeightsScartchCarto);return n.scene.globe.getHeight(o)}getCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Vt(e),rotation:$o(e)}}calcFlyToParam(e){if(!this.getCameraInfo()||!this.viewer)return;const{camera:o}=this.viewer;let r=o.positionWC;const s=h.Cartesian3.fromDegrees(...e),a=h.Cartesian3.distance(o.positionWC,s),c=h.Cartesian3.subtract(s,r,new h.Cartesian3);h.Cartesian3.normalize(c,c);const d=h.Transforms.rotationMatrixFromPositionVelocity(r,c,h.Ellipsoid.WGS84),u=h.Matrix4.fromRotationTranslation(d,r);var p=h.Transforms.eastNorthUpToFixedFrame(h.Matrix4.getTranslation(u,new h.Cartesian3),h.Ellipsoid.WGS84,new h.Matrix4),f=h.Matrix4.multiply(h.Matrix4.inverse(p,new h.Matrix4),u,new h.Matrix4),g=h.Matrix4.getMatrix3(f,new h.Matrix3),m=h.Quaternion.fromRotationMatrix(g),y=h.HeadingPitchRoll.fromQuaternion(m);const P=$o(o);return{distance:a,heading:h.Math.toDegrees(y.heading)+90,pitch:h.Math.toDegrees(y.pitch),flyDuration:1,hDelta:-(P[0]-(h.Math.toDegrees(y.heading)+90)),pDelta:P[1]-h.Math.toDegrees(y.pitch)}}flyIn(e,n,o,r="default"){var c;if(!n)return;n[0]=-n[0];const s={position:e,rotation:n,duration:(o??1)*1e3},a=(c=this.viewer)==null?void 0:c.camera;return a&&ps(a,s)}flyTo(e,n,o="default"){var g;const{distance:r,heading:s,pitch:a,flyDuration:c,hDelta:d,pDelta:u}=e,p={position:n,viewDistance:r,rotation:[s,a,0],duration:c*1e3,hdelta:d,pdelta:u},f=(g=this.viewer)==null?void 0:g.camera;return f&&ps(f,p)}flyToBoundingSphere(e,n,o=1){var p;const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=w.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:c}=s,d={position:a,viewDistance:n??c,rotation:[0,-90,0],duration:o*1e3},u=(p=this.viewer)==null?void 0:p.camera;return u&&ps(u,d)}getCurrentCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Vt(e),rotation:$o(e)}}getLengthInPixel(){return this._viewerLegend.length}changeToWalk(e,n=4.2,o=1.6){var r,s;(s=(r=this._viewerInstance)==null?void 0:r.obj)==null||s.navigationManager.changeToWalk(e,n,o),this._navigationMode.value="Walk"}changeToMap(){var e,n;(n=(e=this._viewerInstance)==null?void 0:e.obj)==null||n.navigationManager.changeToMap(),this._navigationMode.value="Map"}changeToRotateGlobe(e,n,o){var r,s;(s=(r=this._viewerInstance)==null?void 0:r.obj)==null||s.navigationManager.changeToRotateGlobe(e,n,o),this._navigationMode.value="RotateGlobe"}changeToLine(e,n,o,r,s,a){var c,d;(d=(c=this._viewerInstance)==null?void 0:c.obj)==null||d.navigationManager.changeToLine(e,n,o,r,s,a),this._navigationMode.value="Line"}changeToUserDefined(e){this.changeToMap(),console.warn("Cesium引擎暂不支持自定义漫游,已切换为Map模式")}changeToRotatePoint(e,n,o,r,s){var a,c;(c=(a=this._viewerInstance)==null?void 0:a.obj)==null||c.navigationManager.changeToRotatePoint(e,n,o,r,s),this._navigationMode.value="RotatePoint"}changeToFollow(e,n,o,r,s){var a,c;(c=(a=this._viewerInstance)==null?void 0:a.obj)==null||c.navigationManager.changeToFollow(e,n,o,r,s),this._navigationMode.value="Follow"}getFPS(){return this._fps.value}async getBoundSphere(e){return Promise.resolve(void 0)}async getVersion(){const e=window.g_XE3CopyRights??{};return e.cesium=h.VERSION,e}async getHeightByLonLat(e,n,o){if(!this.viewer)return null;const r=h.Cartographic.fromDegrees(e,n,void 0,rt.getHeightsScartchCarto);return this.viewer.scene.sampleHeight(r)??null}async getHeightsByLonLats(e,n){const o=e.map(s=>this.getHeightByLonLat(...s));return await Promise.all(o)}async capture(e,n){if(this.viewer)return await jm(this.viewer.scene,e,n)}async lonLatAltToScreenPosition(e){if(!this.viewer||!this.isPointVisible(e))return;const n=this.viewer.scene.cartesianToCanvasCoordinates(Ve(e));if(n)return[n.x,n.y]}get notSupportEditingCount(){return this._notSupportEditingCount.value}set notSupportEditingCount(e){this._notSupportEditingCount.value=e}get notSupportEditingCountChanged(){return this._notSupportEditingCount.changed}startEditing(e,n,o){o=Object.assign({useKeyToSwitch:!0,callSource:"outer"},o);const r=e.components.main??e;r&&n!=null&&(r.editingID=`${o.callSource}_${l.createGuid()}`,this._editingSystem.create(this,r,n,o.useKeyToSwitch))}stopEditing(){this._editingSystem.stop()}moveObjects(e){const n=[],o=l.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=o,a&&n.push(a)}this._moveObjectsProcess.restart(void 0,this,n,o)}getCzmObject(e){return this.sceneObjectsMap.get(e)}setCurrentDefaultAccessToken(){this.ionAccessToken=rt.currentDefaultAccessToken}setLatestDefaultAccessToken(){if(!rt.latestDefaultAccessToken){alert("Cesium最新的iontoken无法获取!"),console.error("Cesium最新的iontoken无法获取!");return}this.ionAccessToken=rt.latestDefaultAccessToken}positionsToLocalPositions(e,n){return Mt(e,n)}localPositionsToPositions(e,n){return gn(e,n)}isPointVisible(e){if(!this.viewer)return!1;const n=Ve(e),o=new h.EllipsoidalOccluder(this.viewer.scene.globe.ellipsoid,this.viewer.scene.camera.positionWC);if(o.cameraPosition=this.viewer.scene.camera.positionWC,!o.isPointVisible(n))return!1;const r=this.viewer.scene.cartesianToCanvasCoordinates(n);return!(!r||r.x<0||r.y<0)}getESProperties(){const e={...super.getESProperties()},n=rt.defaults;return{...e,more:[...e.more,new w.GroupProperty([],"通用","通用"),new w.EvalStringProperty([this,"createCesiumViewerFuncStr"],"CesiumViewer创建函数",Qk,Zk,!0),new w.FunctionProperty([],()=>rt.getCesiumIonToken(),[],"获取官方token"),new w.FunctionProperty([],()=>this.setCurrentDefaultAccessToken(),[],"重置为当前使用的Cesium版本的token"),new w.FunctionProperty([],()=>this.setLatestDefaultAccessToken(),[],"最新token","重置为当前Cesium官方的最新token"),new w.BooleanProperty([this,"flashLighting"],"头顶灯",n.flashLighting,!0),new w.BooleanProperty([this,"particleGlobalControl"],"粒子全局控制播放",n.particleGlobalControl,!0),new w.GroupProperty([],"Viewer","Viewer"),new w.NumberProperty([this,"resolutionScale"],"分辨率比率",n.resolutionScale,!0),new w.NumberProperty([this,"msaaSamples"],"msaaSamples",n.msaaSamples,!0),new w.BooleanProperty([this,"shadows"]),new w.GroupProperty([],"比例尺","比例尺(Legend)"),new w.NumberProperty([this.viewerLegend,"resolution"],"resolution",void 0,!0,!0),new w.NumberProperty([this.viewerLegend,"zoom"],"zoom",void 0,!0,!0),new w.Number3Property([this.viewerLegend,"center"],"center",void 0,!0,!0),new w.NumberProperty([this.viewerLegend.legend,"lengthInPixels"],"lengthInPixels",100,!0,!1),new w.NumberProperty([this.viewerLegend.legend,"computedLengthInPixels"],"computedLengthInPixels",void 0,!0,!0),new w.NumberProperty([this.viewerLegend.legend,"computedLengthInMeters"],"computedLengthInMeters",void 0,!0,!0),new w.StringProperty([this.viewerLegend.legend,"computedLengthInStr"],"computedLengthInStr",void 0,!0,!0),new w.GroupProperty([],"场景","场景(Scene)"),new w.NumberProperty([this,"sceneSplitPosition"],"内部视口分割比例",n.sceneSplitPosition,!0),new w.GroupProperty([],"Globe","Globe"),new w.BooleanProperty([this,"depthTestAgainstTerrain"],"depthTestAgainstTerrain",n.depthTestAgainstTerrain,!0),new w.EnumProperty([this,"sceneGlobeShadows"],[["禁用","DISABLED"],["启用","ENABLED"],["仅投射","CAST_ONLY"],["仅接收","RECEIVE_ONLY"]],"sceneGlobeShadows",n.sceneGlobeShadows,!0),new w.NumberProperty([this,"sceneGlobeTerrainExaggeration"]),new w.NumberProperty([this,"sceneGlobeTerrainExaggerationRelativeHeight"]),new w.NumberProperty([this,"sceneGlobeVerticalExaggeration"]),new w.NumberProperty([this,"sceneGlobeVerticalExaggerationRelativeHeight"]),new w.BooleanProperty([this,"sceneGlobeBackFaceCulling"]),new w.BooleanProperty([this,"sceneGlobeShowSkirts"]),new w.BooleanProperty([this,"sceneGlobeShowWaterEffect"]),new w.ColorProperty([this,"sceneGlobeBaseColor"]),new w.Number4Property([this,"sceneGlobeCartographicLimitRectangle"]),new w.JsonProperty([this,"sceneGlobeClippingPlanes"]),new w.StringProperty([this,"sceneGlobeClippingPlanesId"]),new w.JsonProperty([this,"sceneGlobeClippingPolygons"]),new w.StringsProperty([this,"sceneGlobeClippingPolygonsId"]),new w.GroupProperty([],"underground","underground"),new w.ColorProperty([this,"sceneGlobeUndergroundColor"],"sceneGlobeUndergroundColor",n.sceneGlobeUndergroundColor,!0),new w.Number4Property([this,"sceneGlobeUndergroundColorAlphaByDistance"],"sceneGlobeUndergroundColorAlphaByDistance",n.sceneGlobeUndergroundColorAlphaByDistance,!0),new w.GroupProperty([],"Translucency","Translucency"),new w.BooleanProperty([this,"sceneGlobeTranslucencyEnabled"],"启用",n.sceneGlobeTranslucencyEnabled,!0),new w.NumberProperty([this,"sceneGlobeTranslucencyBackFaceAlpha"],"背面透明度",n.sceneGlobeTranslucencyBackFaceAlpha,!0),new w.Number4Property([this,"sceneGlobeTranslucencyBackFaceAlphaByDistance"],"背面渐变透明度",n.sceneGlobeTranslucencyBackFaceAlphaByDistance,!0),new w.NumberProperty([this,"sceneGlobeTranslucencyFrontFaceAlpha"],"正面透明度",n.sceneGlobeTranslucencyFrontFaceAlpha,!0),new w.Number4Property([this,"sceneGlobeTranslucencyFrontFaceAlphaByDistance"],"正面渐变透明度",n.sceneGlobeTranslucencyFrontFaceAlphaByDistance,!0),new w.Number4Property([this,"sceneGlobeTranslucencyRectangle"],"矩形范围",n.sceneGlobeTranslucencyRectangle,!0),new w.GroupProperty([],"Sun","Sun"),new w.BooleanProperty([this,"sun"],"sun",n.sun,!0),new w.NumberProperty([this,"sceneSunGlowFactor"],"sceneSunGlowFactor",n.sceneSunGlowFactor,!0),new w.GroupProperty([],"Moon","Moon"),new w.BooleanProperty([this,"moon"],"moon",n.moon,!0),new w.StringProperty([this,"sceneMoonTextureUrl"],"sceneMoonTextureUrl",n.sceneMoonTextureUrl,!0),new w.BooleanProperty([this,"sceneMoonOnlySunLighting"],"sceneMoonOnlySunLighting",n.sceneMoonOnlySunLighting,!0),new w.GroupProperty([],"SkyBox","SkyBox"),new w.BooleanProperty([this,"sceneSkyBoxShow"]),new w.JsonProperty([this,"sceneSkyBoxSources"],"sceneSkyBoxSources",n.sceneSkyBoxSources,void 0,!0),new w.GroupProperty([],"Background","Background"),new w.BooleanProperty([this,"xbsjUseBackground"]),new w.StringProperty([this,"xbsjBackgroundImageUri"]),new w.ColorProperty([this,"xbsjBackgroundColor"]),new w.GroupProperty([],"SkyAtmosphere","SkyAtmosphere"),new w.JsonProperty([this,"xbsjLocalBoxSources"],"xbsjLocalBoxSources",n.xbsjLocalBoxSources,void 0,!0),new w.ColorProperty([this,"sceneBackgroundColor"]),new w.GroupProperty([],"Fog","Fog"),new w.BooleanProperty([this,"sceneFogEnabled"],"sceneFogEnabled",n.sceneFogEnabled,!0),new w.NumberProperty([this,"sceneFogDensity"],"sceneFogDensity",n.sceneFogDensity,!0),new w.NumberProperty([this,"sceneFogScreenSpaceErrorFactor"],"sceneFogScreenSpaceErrorFactor",n.sceneFogScreenSpaceErrorFactor,!0),new w.NumberProperty([this,"sceneFogMinimumBrightness"],"sceneFogMinimumBrightness",n.sceneFogMinimumBrightness,!0),new w.GroupProperty([],"Sscc","Sscc"),new w.BooleanProperty([this,"sceneSsccEnableInputs"],"sceneSsccEnableInputs",n.sceneSsccEnableInputs,!0),new w.BooleanProperty([this,"sceneSsccEnableCollisionDetection"],"sceneSsccEnableCollisionDetection",n.sceneSsccEnableCollisionDetection,!0),new w.NumberProperty([this,"sceneSsccZoomFactor"],"sceneSsccZoomFactor",n.sceneSsccZoomFactor,!0),new w.NumberProperty([this,"sceneCameraFrustumFov"],"相机广角"),new w.GroupProperty([],"后处理","后处理"),new w.BooleanProperty([this,"scenePpsfxaaEnabled"],"开启FXAA",n.scenePpsfxaaEnabled,!0),new w.GroupProperty([],"环境遮蔽","环境遮蔽"),new w.BooleanProperty([this,"scenePpsAmbientOcclusionEnabled"]),new w.BooleanProperty([this,"scenePpsAmbientOcclusionAmbientOcclusionOnly"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionIntensity"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionBias"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionLengthCap"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionStepSize"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionBlurStepSize"]),new w.GroupProperty([],"Bloom","Bloom"),new w.BooleanProperty([this,"scenePpsBloomEnabled"]),new w.BooleanProperty([this,"scenePpsBloomGlowOnly"]),new w.NumberProperty([this,"scenePpsBloomContrast"]),new w.NumberProperty([this,"scenePpsBloomBrightness"]),new w.NumberProperty([this,"scenePpsBloomDelta"]),new w.NumberProperty([this,"scenePpsBloomSigma"]),new w.NumberProperty([this,"scenePpsBloomStepSize"]),new w.GroupProperty([],"调试","调试"),new w.BooleanProperty([this,"sceneDebugShowFramesPerSecond"],"sceneDebugShowFramesPerSecond",n.sceneDebugShowFramesPerSecond,!0),new w.BooleanProperty([this,"sceneDebugShowCommands"],"sceneDebugShowCommands",n.sceneDebugShowCommands,!0),new w.BooleanProperty([this,"sceneDebugShowFrustums"],"sceneDebugShowFrustums",n.sceneDebugShowFrustums,!0),new w.BooleanProperty([this,"sceneDebugShowFrustumPlanes"],"sceneDebugShowFrustumPlanes",n.sceneDebugShowFrustumPlanes,!0),new w.NumberProperty([this,"sceneDebugShowDepthFrustum"],"sceneDebugShowDepthFrustum",n.sceneDebugShowDepthFrustum,!0),new w.GroupProperty([],"Inspector","Inspector"),new w.BooleanProperty([this,"showCesiumInspector"],"showCesiumInspector",n.showCesiumInspector,!0),new w.BooleanProperty([this,"cesiumInspectorWireframe"],"cesiumInspectorWireframe",n.cesiumInspectorWireframe,!0),new w.BooleanProperty([this,"showCesium3DTilesInspector"],"showCesium3DTilesInspector",n.showCesium3DTilesInspector,!0)]}}};v(rt,"type",rt.register("ESCesiumViewer",rt)),v(rt,"getCesiumIonToken",Kk),v(rt,"currentDefaultAccessToken",h.Ion.defaultAccessToken),v(rt,"latestDefaultAccessToken"),v(rt,"ObjectsToExcludeWrapper",k2),v(rt,"defaults",{...w.ESViewer.defaults,flashLighting:!1,resolutionScale:1,msaaSamples:4,sceneSplitPosition:0,depthTestAgainstTerrain:!1,sceneGlobeShadows:"RECEIVE_ONLY",sceneGlobeUndergroundColor:[0,0,0,1],sceneGlobeUndergroundColorAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyEnabled:!1,sceneGlobeTranslucencyBackFaceAlpha:1,sceneGlobeTranslucencyBackFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyFrontFaceAlpha:1,sceneGlobeTranslucencyFrontFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyRectangle:[-3.141592653589793,-1.5707963267948966,3.141592653589793,1.5707963267948966].map(e=>180*e/Math.PI),sun:!0,sceneSunGlowFactor:1,moon:!0,sceneMoonTextureUrl:h.buildModuleUrl("Assets/Textures/moonSmall.jpg"),sceneMoonOnlySunLighting:!0,sceneSkyBoxSources:{positiveX:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_px.jpg"),negativeX:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mx.jpg"),positiveY:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_py.jpg"),negativeY:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_my.jpg"),positiveZ:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_pz.jpg"),negativeZ:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mz.jpg")},xbsjLocalBoxSources:{positiveX:"${earthsdk3-assets-script-dir}/assets/img/skybox/east.jpg",negativeX:"${earthsdk3-assets-script-dir}/assets/img/skybox/west.jpg",positiveY:"${earthsdk3-assets-script-dir}/assets/img/skybox/bottom.jpg",negativeY:"${earthsdk3-assets-script-dir}/assets/img/skybox/top.jpg",positiveZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/north.jpg",negativeZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/south.jpg"},sceneFogEnabled:!0,sceneFogDensity:2e-4,sceneFogScreenSpaceErrorFactor:2,sceneFogMinimumBrightness:.03,sceneSsccEnableInputs:!0,sceneSsccEnableCollisionDetection:!0,sceneSsccZoomFactor:5,scenePpsfxaaEnabled:!0,sceneDebugShowFramesPerSecond:!1,sceneDebugShowCommands:!1,sceneDebugShowFrustums:!1,sceneDebugShowFrustumPlanes:!1,sceneDebugShowDepthFrustum:1,showCesiumInspector:!1,cesiumInspectorWireframe:!1,showCesium3DTilesInspector:!1,particleGlobalControl:!1}),v(rt,"getHeightsScartchCarto",new h.Cartographic);let Re=rt;(t=>{t.createDefaultProps=()=>({...w.ESViewer.createDefaultProps(),...Yk()})})(Re||(Re={})),l.extendClassProps(Re.prototype,Re.createDefaultProps),R.copyright=void 0;try{const t="earthsdk3-cesium",i="3.4.0-beta.8",e="2025-09-04T08:27:38.000Z",n="北京西部世界科技有限公司",o="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="231b182a7d40241080224d74ac33fc6a2203810a",a=((Date.now()-1756974458e3)/36e5).toFixed(1),c=`%c🌏 ${t}%c ${i}.${r.slice(0,8)}.${e} (距今${a}个小时)
|
|
2258
|
+
`;console.log(e);const n=window.prompt(e,t);n&&window.open(n,"_blank")}const rt=class rt extends w.ESViewer{constructor(e){super(e);v(this,"_disabledInputStack",this.disposeVar(l.react(0)));v(this,"_viewer",this.dv(l.react(void 0)));v(this,"_viewerInstance");v(this,"_viewerLegend");v(this,"pickCustomAttachedInfo");v(this,"_fps",this.dv(l.react(0)));v(this,"_notSupportEditingCount",this.disposeVar(l.react(0)));v(this,"_editingSystem",Dh);v(this,"_moveObjectsProcess",this.ad(i_()));if(e.type!=="ESCesiumViewer")throw new Error("option.type must be ESCesiumViewer");this.ad(new b2(this)),this.ad(new R2(this)),this.dv(new l.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new z2(this)})),this._viewerLegend=this.dv(new qk(this)),this._viewerInstance=this.dv(new l.ObjResettingWithEvent(this.viewerChanged,()=>{if(this.viewer)return new cm(this,this.viewer)})),this.d(this.viewerChanged.don(o=>{this.viewer&&(this.viewer.scene.globe.baseColor=ie([1,1,1,1]))}));const n=e;this.d(this._viewer.changed.don(o=>{this.viewerChanged.emit(o)})),this.dv(new l.ObjResettingWithEvent(this.subContainerChanged,()=>{if(this.setStatus("Raw"),this.setStatusLog(""),!!this.subContainer)return new FF(this.subContainer,this,o=>this._viewer.value=o,n.options)}))}get disabledInputStack(){return this._disabledInputStack.value}get disabledInputStackChanged(){return this._disabledInputStack.changed}incrementDisabledInputStack(){++this._disabledInputStack.value}decrementDisabledInputStack(){--this._disabledInputStack.value}get viewer(){return this._viewer.value}get extensions(){return this.viewer&&Yt(this.viewer)}get viewerInstance(){return this._viewerInstance}get viewerLegend(){return this._viewerLegend}async pick(e,n,o){if(!this.extensions)return;const{pickingManager:r}=this.extensions;return await r.pick(e,void 0,n)}async pickPosition(e){if(!this.extensions)return;const{pickingManager:n}=this.extensions;return await n.pickPosition(e)}async quickPickPosition(e){if(!this.extensions)return;const{pickingManager:n}=this.extensions;return await n.quickPickPosition(e)}async getTerrainHeight(e){const{viewer:n}=this;if(!n)return;const o=h.Cartographic.fromDegrees(e[0],e[1],e[2],rt.getHeightsScartchCarto);return n.scene.globe.getHeight(o)}getCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Vt(e),rotation:$o(e)}}calcFlyToParam(e){if(!this.getCameraInfo()||!this.viewer)return;const{camera:o}=this.viewer;let r=o.positionWC;const s=h.Cartesian3.fromDegrees(...e),a=h.Cartesian3.distance(o.positionWC,s),c=h.Cartesian3.subtract(s,r,new h.Cartesian3);h.Cartesian3.normalize(c,c);const d=h.Transforms.rotationMatrixFromPositionVelocity(r,c,h.Ellipsoid.WGS84),u=h.Matrix4.fromRotationTranslation(d,r);var p=h.Transforms.eastNorthUpToFixedFrame(h.Matrix4.getTranslation(u,new h.Cartesian3),h.Ellipsoid.WGS84,new h.Matrix4),f=h.Matrix4.multiply(h.Matrix4.inverse(p,new h.Matrix4),u,new h.Matrix4),g=h.Matrix4.getMatrix3(f,new h.Matrix3),m=h.Quaternion.fromRotationMatrix(g),y=h.HeadingPitchRoll.fromQuaternion(m);const P=$o(o);return{distance:a,heading:h.Math.toDegrees(y.heading)+90,pitch:h.Math.toDegrees(y.pitch),flyDuration:1,hDelta:-(P[0]-(h.Math.toDegrees(y.heading)+90)),pDelta:P[1]-h.Math.toDegrees(y.pitch)}}flyIn(e,n,o,r="default"){var c;if(!n)return;n[0]=-n[0];const s={position:e,rotation:n,duration:(o??1)*1e3},a=(c=this.viewer)==null?void 0:c.camera;return a&&ps(a,s)}flyTo(e,n,o="default"){var g;const{distance:r,heading:s,pitch:a,flyDuration:c,hDelta:d,pDelta:u}=e,p={position:n,viewDistance:r,rotation:[s,a,0],duration:c*1e3,hdelta:d,pdelta:u},f=(g=this.viewer)==null?void 0:g.camera;return f&&ps(f,p)}flyToBoundingSphere(e,n,o=1){var p;const r=[[e[0],e[1],0],[e[0],e[3],0],[e[2],e[3],0],[e[2],e[1],0]],s=w.getGeoBoundingSphereFromPositions(r);if(!s)return;const{center:a,radius:c}=s,d={position:a,viewDistance:n??c,rotation:[0,-90,0],duration:o*1e3},u=(p=this.viewer)==null?void 0:p.camera;return u&&ps(u,d)}getCurrentCameraInfo(){if(!this.viewer)return;const{camera:e}=this.viewer;return{position:Vt(e),rotation:$o(e)}}getLengthInPixel(){return this._viewerLegend.length}changeToWalk(e,n=4.2,o=1.6){var r,s;(s=(r=this._viewerInstance)==null?void 0:r.obj)==null||s.navigationManager.changeToWalk(e,n,o),this._navigationMode.value="Walk"}changeToMap(){var e,n;(n=(e=this._viewerInstance)==null?void 0:e.obj)==null||n.navigationManager.changeToMap(),this._navigationMode.value="Map"}changeToRotateGlobe(e,n,o){var r,s;(s=(r=this._viewerInstance)==null?void 0:r.obj)==null||s.navigationManager.changeToRotateGlobe(e,n,o),this._navigationMode.value="RotateGlobe"}changeToLine(e,n,o,r,s,a){var c,d;(d=(c=this._viewerInstance)==null?void 0:c.obj)==null||d.navigationManager.changeToLine(e,n,o,r,s,a),this._navigationMode.value="Line"}changeToUserDefined(e){this.changeToMap(),console.warn("Cesium引擎暂不支持自定义漫游,已切换为Map模式")}changeToRotatePoint(e,n,o,r,s){var a,c;(c=(a=this._viewerInstance)==null?void 0:a.obj)==null||c.navigationManager.changeToRotatePoint(e,n,o,r,s),this._navigationMode.value="RotatePoint"}changeToFollow(e,n,o,r,s){var a,c;(c=(a=this._viewerInstance)==null?void 0:a.obj)==null||c.navigationManager.changeToFollow(e,n,o,r,s),this._navigationMode.value="Follow"}getFPS(){return this._fps.value}async getBoundSphere(e){return Promise.resolve(void 0)}async getVersion(){const e=window.g_XE3CopyRights??{};return e.cesium=h.VERSION,e}async getHeightByLonLat(e,n,o){if(!this.viewer)return null;const r=h.Cartographic.fromDegrees(e,n,void 0,rt.getHeightsScartchCarto);return this.viewer.scene.sampleHeight(r)??null}async getHeightsByLonLats(e,n){const o=e.map(s=>this.getHeightByLonLat(...s));return await Promise.all(o)}async capture(e,n){if(this.viewer)return await jm(this.viewer.scene,e,n)}async lonLatAltToScreenPosition(e){if(!this.viewer||!this.isPointVisible(e))return;const n=this.viewer.scene.cartesianToCanvasCoordinates(Ve(e));if(n)return[n.x,n.y]}get notSupportEditingCount(){return this._notSupportEditingCount.value}set notSupportEditingCount(e){this._notSupportEditingCount.value=e}get notSupportEditingCountChanged(){return this._notSupportEditingCount.changed}startEditing(e,n,o){o=Object.assign({useKeyToSwitch:!0,callSource:"outer"},o);const r=e.components.main??e;r&&n!=null&&(r.editingID=`${o.callSource}_${l.createGuid()}`,this._editingSystem.create(this,r,n,o.useKeyToSwitch))}stopEditing(){this._editingSystem.stop()}moveObjects(e){const n=[],o=l.createGuid();for(let r=0;r<e.length;r++){const s=e[r],a=s.components.main??s;a.editingID=o,a&&n.push(a)}this._moveObjectsProcess.restart(void 0,this,n,o)}getCzmObject(e){return this.sceneObjectsMap.get(e)}setCurrentDefaultAccessToken(){this.ionAccessToken=rt.currentDefaultAccessToken}setLatestDefaultAccessToken(){if(!rt.latestDefaultAccessToken){alert("Cesium最新的iontoken无法获取!"),console.error("Cesium最新的iontoken无法获取!");return}this.ionAccessToken=rt.latestDefaultAccessToken}positionsToLocalPositions(e,n){return Mt(e,n)}localPositionsToPositions(e,n){return gn(e,n)}isPointVisible(e){if(!this.viewer)return!1;const n=Ve(e),o=new h.EllipsoidalOccluder(this.viewer.scene.globe.ellipsoid,this.viewer.scene.camera.positionWC);if(o.cameraPosition=this.viewer.scene.camera.positionWC,!o.isPointVisible(n))return!1;const r=this.viewer.scene.cartesianToCanvasCoordinates(n);return!(!r||r.x<0||r.y<0)}getESProperties(){const e={...super.getESProperties()},n=rt.defaults;return{...e,more:[...e.more,new w.GroupProperty([],"通用","通用"),new w.EvalStringProperty([this,"createCesiumViewerFuncStr"],"CesiumViewer创建函数",Qk,Zk,!0),new w.FunctionProperty([],()=>rt.getCesiumIonToken(),[],"获取官方token"),new w.FunctionProperty([],()=>this.setCurrentDefaultAccessToken(),[],"重置为当前使用的Cesium版本的token"),new w.FunctionProperty([],()=>this.setLatestDefaultAccessToken(),[],"最新token","重置为当前Cesium官方的最新token"),new w.BooleanProperty([this,"flashLighting"],"头顶灯",n.flashLighting,!0),new w.BooleanProperty([this,"particleGlobalControl"],"粒子全局控制播放",n.particleGlobalControl,!0),new w.GroupProperty([],"Viewer","Viewer"),new w.NumberProperty([this,"resolutionScale"],"分辨率比率",n.resolutionScale,!0),new w.NumberProperty([this,"msaaSamples"],"msaaSamples",n.msaaSamples,!0),new w.BooleanProperty([this,"shadows"]),new w.GroupProperty([],"比例尺","比例尺(Legend)"),new w.NumberProperty([this.viewerLegend,"resolution"],"resolution",void 0,!0,!0),new w.NumberProperty([this.viewerLegend,"zoom"],"zoom",void 0,!0,!0),new w.Number3Property([this.viewerLegend,"center"],"center",void 0,!0,!0),new w.NumberProperty([this.viewerLegend.legend,"lengthInPixels"],"lengthInPixels",100,!0,!1),new w.NumberProperty([this.viewerLegend.legend,"computedLengthInPixels"],"computedLengthInPixels",void 0,!0,!0),new w.NumberProperty([this.viewerLegend.legend,"computedLengthInMeters"],"computedLengthInMeters",void 0,!0,!0),new w.StringProperty([this.viewerLegend.legend,"computedLengthInStr"],"computedLengthInStr",void 0,!0,!0),new w.GroupProperty([],"场景","场景(Scene)"),new w.NumberProperty([this,"sceneSplitPosition"],"内部视口分割比例",n.sceneSplitPosition,!0),new w.GroupProperty([],"Globe","Globe"),new w.BooleanProperty([this,"depthTestAgainstTerrain"],"depthTestAgainstTerrain",n.depthTestAgainstTerrain,!0),new w.EnumProperty([this,"sceneGlobeShadows"],[["禁用","DISABLED"],["启用","ENABLED"],["仅投射","CAST_ONLY"],["仅接收","RECEIVE_ONLY"]],"sceneGlobeShadows",n.sceneGlobeShadows,!0),new w.NumberProperty([this,"sceneGlobeTerrainExaggeration"]),new w.NumberProperty([this,"sceneGlobeTerrainExaggerationRelativeHeight"]),new w.NumberProperty([this,"sceneGlobeVerticalExaggeration"]),new w.NumberProperty([this,"sceneGlobeVerticalExaggerationRelativeHeight"]),new w.BooleanProperty([this,"sceneGlobeBackFaceCulling"]),new w.BooleanProperty([this,"sceneGlobeShowSkirts"]),new w.BooleanProperty([this,"sceneGlobeShowWaterEffect"]),new w.ColorProperty([this,"sceneGlobeBaseColor"]),new w.Number4Property([this,"sceneGlobeCartographicLimitRectangle"]),new w.JsonProperty([this,"sceneGlobeClippingPlanes"]),new w.StringProperty([this,"sceneGlobeClippingPlanesId"]),new w.JsonProperty([this,"sceneGlobeClippingPolygons"]),new w.StringsProperty([this,"sceneGlobeClippingPolygonsId"]),new w.GroupProperty([],"underground","underground"),new w.ColorProperty([this,"sceneGlobeUndergroundColor"],"sceneGlobeUndergroundColor",n.sceneGlobeUndergroundColor,!0),new w.Number4Property([this,"sceneGlobeUndergroundColorAlphaByDistance"],"sceneGlobeUndergroundColorAlphaByDistance",n.sceneGlobeUndergroundColorAlphaByDistance,!0),new w.GroupProperty([],"Translucency","Translucency"),new w.BooleanProperty([this,"sceneGlobeTranslucencyEnabled"],"启用",n.sceneGlobeTranslucencyEnabled,!0),new w.NumberProperty([this,"sceneGlobeTranslucencyBackFaceAlpha"],"背面透明度",n.sceneGlobeTranslucencyBackFaceAlpha,!0),new w.Number4Property([this,"sceneGlobeTranslucencyBackFaceAlphaByDistance"],"背面渐变透明度",n.sceneGlobeTranslucencyBackFaceAlphaByDistance,!0),new w.NumberProperty([this,"sceneGlobeTranslucencyFrontFaceAlpha"],"正面透明度",n.sceneGlobeTranslucencyFrontFaceAlpha,!0),new w.Number4Property([this,"sceneGlobeTranslucencyFrontFaceAlphaByDistance"],"正面渐变透明度",n.sceneGlobeTranslucencyFrontFaceAlphaByDistance,!0),new w.Number4Property([this,"sceneGlobeTranslucencyRectangle"],"矩形范围",n.sceneGlobeTranslucencyRectangle,!0),new w.GroupProperty([],"Sun","Sun"),new w.BooleanProperty([this,"sun"],"sun",n.sun,!0),new w.NumberProperty([this,"sceneSunGlowFactor"],"sceneSunGlowFactor",n.sceneSunGlowFactor,!0),new w.GroupProperty([],"Moon","Moon"),new w.BooleanProperty([this,"moon"],"moon",n.moon,!0),new w.StringProperty([this,"sceneMoonTextureUrl"],"sceneMoonTextureUrl",n.sceneMoonTextureUrl,!0),new w.BooleanProperty([this,"sceneMoonOnlySunLighting"],"sceneMoonOnlySunLighting",n.sceneMoonOnlySunLighting,!0),new w.GroupProperty([],"SkyBox","SkyBox"),new w.BooleanProperty([this,"sceneSkyBoxShow"]),new w.JsonProperty([this,"sceneSkyBoxSources"],"sceneSkyBoxSources",n.sceneSkyBoxSources,void 0,!0),new w.GroupProperty([],"Background","Background"),new w.BooleanProperty([this,"xbsjUseBackground"]),new w.StringProperty([this,"xbsjBackgroundImageUri"]),new w.ColorProperty([this,"xbsjBackgroundColor"]),new w.GroupProperty([],"SkyAtmosphere","SkyAtmosphere"),new w.JsonProperty([this,"xbsjLocalBoxSources"],"xbsjLocalBoxSources",n.xbsjLocalBoxSources,void 0,!0),new w.ColorProperty([this,"sceneBackgroundColor"]),new w.GroupProperty([],"Fog","Fog"),new w.BooleanProperty([this,"sceneFogEnabled"],"sceneFogEnabled",n.sceneFogEnabled,!0),new w.NumberProperty([this,"sceneFogDensity"],"sceneFogDensity",n.sceneFogDensity,!0),new w.NumberProperty([this,"sceneFogScreenSpaceErrorFactor"],"sceneFogScreenSpaceErrorFactor",n.sceneFogScreenSpaceErrorFactor,!0),new w.NumberProperty([this,"sceneFogMinimumBrightness"],"sceneFogMinimumBrightness",n.sceneFogMinimumBrightness,!0),new w.GroupProperty([],"Sscc","Sscc"),new w.BooleanProperty([this,"sceneSsccEnableInputs"],"sceneSsccEnableInputs",n.sceneSsccEnableInputs,!0),new w.BooleanProperty([this,"sceneSsccEnableCollisionDetection"],"sceneSsccEnableCollisionDetection",n.sceneSsccEnableCollisionDetection,!0),new w.NumberProperty([this,"sceneSsccZoomFactor"],"sceneSsccZoomFactor",n.sceneSsccZoomFactor,!0),new w.NumberProperty([this,"sceneCameraFrustumFov"],"相机广角"),new w.GroupProperty([],"后处理","后处理"),new w.BooleanProperty([this,"scenePpsfxaaEnabled"],"开启FXAA",n.scenePpsfxaaEnabled,!0),new w.GroupProperty([],"环境遮蔽","环境遮蔽"),new w.BooleanProperty([this,"scenePpsAmbientOcclusionEnabled"]),new w.BooleanProperty([this,"scenePpsAmbientOcclusionAmbientOcclusionOnly"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionIntensity"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionBias"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionLengthCap"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionStepSize"]),new w.NumberProperty([this,"scenePpsAmbientOcclusionBlurStepSize"]),new w.GroupProperty([],"Bloom","Bloom"),new w.BooleanProperty([this,"scenePpsBloomEnabled"]),new w.BooleanProperty([this,"scenePpsBloomGlowOnly"]),new w.NumberProperty([this,"scenePpsBloomContrast"]),new w.NumberProperty([this,"scenePpsBloomBrightness"]),new w.NumberProperty([this,"scenePpsBloomDelta"]),new w.NumberProperty([this,"scenePpsBloomSigma"]),new w.NumberProperty([this,"scenePpsBloomStepSize"]),new w.GroupProperty([],"调试","调试"),new w.BooleanProperty([this,"sceneDebugShowFramesPerSecond"],"sceneDebugShowFramesPerSecond",n.sceneDebugShowFramesPerSecond,!0),new w.BooleanProperty([this,"sceneDebugShowCommands"],"sceneDebugShowCommands",n.sceneDebugShowCommands,!0),new w.BooleanProperty([this,"sceneDebugShowFrustums"],"sceneDebugShowFrustums",n.sceneDebugShowFrustums,!0),new w.BooleanProperty([this,"sceneDebugShowFrustumPlanes"],"sceneDebugShowFrustumPlanes",n.sceneDebugShowFrustumPlanes,!0),new w.NumberProperty([this,"sceneDebugShowDepthFrustum"],"sceneDebugShowDepthFrustum",n.sceneDebugShowDepthFrustum,!0),new w.GroupProperty([],"Inspector","Inspector"),new w.BooleanProperty([this,"showCesiumInspector"],"showCesiumInspector",n.showCesiumInspector,!0),new w.BooleanProperty([this,"cesiumInspectorWireframe"],"cesiumInspectorWireframe",n.cesiumInspectorWireframe,!0),new w.BooleanProperty([this,"showCesium3DTilesInspector"],"showCesium3DTilesInspector",n.showCesium3DTilesInspector,!0)]}}};v(rt,"type",rt.register("ESCesiumViewer",rt)),v(rt,"getCesiumIonToken",Kk),v(rt,"currentDefaultAccessToken",h.Ion.defaultAccessToken),v(rt,"latestDefaultAccessToken"),v(rt,"ObjectsToExcludeWrapper",k2),v(rt,"defaults",{...w.ESViewer.defaults,flashLighting:!1,resolutionScale:1,msaaSamples:4,sceneSplitPosition:0,depthTestAgainstTerrain:!1,sceneGlobeShadows:"RECEIVE_ONLY",sceneGlobeUndergroundColor:[0,0,0,1],sceneGlobeUndergroundColorAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyEnabled:!1,sceneGlobeTranslucencyBackFaceAlpha:1,sceneGlobeTranslucencyBackFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyFrontFaceAlpha:1,sceneGlobeTranslucencyFrontFaceAlphaByDistance:[6378.137,0,12756274e-1,1],sceneGlobeTranslucencyRectangle:[-3.141592653589793,-1.5707963267948966,3.141592653589793,1.5707963267948966].map(e=>180*e/Math.PI),sun:!0,sceneSunGlowFactor:1,moon:!0,sceneMoonTextureUrl:h.buildModuleUrl("Assets/Textures/moonSmall.jpg"),sceneMoonOnlySunLighting:!0,sceneSkyBoxSources:{positiveX:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_px.jpg"),negativeX:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mx.jpg"),positiveY:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_py.jpg"),negativeY:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_my.jpg"),positiveZ:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_pz.jpg"),negativeZ:h.buildModuleUrl("Assets/Textures/SkyBox/tycho2t3_80_mz.jpg")},xbsjLocalBoxSources:{positiveX:"${earthsdk3-assets-script-dir}/assets/img/skybox/east.jpg",negativeX:"${earthsdk3-assets-script-dir}/assets/img/skybox/west.jpg",positiveY:"${earthsdk3-assets-script-dir}/assets/img/skybox/bottom.jpg",negativeY:"${earthsdk3-assets-script-dir}/assets/img/skybox/top.jpg",positiveZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/north.jpg",negativeZ:"${earthsdk3-assets-script-dir}/assets/img/skybox/south.jpg"},sceneFogEnabled:!0,sceneFogDensity:2e-4,sceneFogScreenSpaceErrorFactor:2,sceneFogMinimumBrightness:.03,sceneSsccEnableInputs:!0,sceneSsccEnableCollisionDetection:!0,sceneSsccZoomFactor:5,scenePpsfxaaEnabled:!0,sceneDebugShowFramesPerSecond:!1,sceneDebugShowCommands:!1,sceneDebugShowFrustums:!1,sceneDebugShowFrustumPlanes:!1,sceneDebugShowDepthFrustum:1,showCesiumInspector:!1,cesiumInspectorWireframe:!1,showCesium3DTilesInspector:!1,particleGlobalControl:!1}),v(rt,"getHeightsScartchCarto",new h.Cartographic);let Re=rt;(t=>{t.createDefaultProps=()=>({...w.ESViewer.createDefaultProps(),...Yk()})})(Re||(Re={})),l.extendClassProps(Re.prototype,Re.createDefaultProps),R.copyright=void 0;try{const t="earthsdk3-cesium",i="3.4.0",e="2025-09-12T07:06:00.000Z",n="北京西部世界科技有限公司",o="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",r="7bb817c2218c8ba03b2c728ade4fc430cfee47dd",a=((Date.now()-175766076e4)/36e5).toFixed(1),c=`%c🌏 ${t}%c ${i}.${r.slice(0,8)}.${e} (距今${a}个小时)
|
|
2259
2259
|
%c${o?o+`
|
|
2260
2260
|
`:""}当前网站正在使用${t},此软件版权归${n}所有
|
|
2261
|
-
`;R.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","
|
|
2261
|
+
`;R.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","7bb817c2218c8ba03b2c728ade4fc430cfee47dd")},get info(){return c},get date(){return"2025-09-12T07:06:00.000Z"},get author(){return"suplyang"},get version(){return"3.4.0"},get name(){return"earthsdk3-cesium"},get commitId(){return"7bb817c2218c8ba03b2c728ade4fc430cfee47dd"},print(){console.info(this.info,`
|
|
2262
2262
|
font-size: 18px;
|
|
2263
2263
|
font-weight: 1000;
|
|
2264
2264
|
line-height: 1;
|