@poor-knight/cesium-utils 0.4.6 → 0.4.8

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.
@@ -74,4 +74,4 @@
74
74
  <path id="svg_4" data-name="svg 4" class="cls-1" d="${m}"/>
75
75
  </g>
76
76
  <image id="img_1" width="${i}" height="${146/124*i}" transform="translate(${-i/2+a.x} ${a.y})" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAACSCAMAAACwjl5+AAAAq1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Nr6iZAAAAOXRSTlMABRshFgkSZg5qJmFdWlEqOXBFPYVJQYB1VXtNLpc1mzKguZCKtJONxc69yaukwa/SqN/k1trs6fBhRQqRAAAVcElEQVR42rSX3ZKaQBCFgxoIICh/ggjiIMPPMAOy6yZ5/yfLaTBVSa5istu1Vepe+M3p7jkHPz1Vmqav99umYLxsh7bvO6oeb8ZR1XUS7TaftU8fVdqX9cWpGBt5WeJvKbwbOJvyujEPlv5RcLBXZyesc1lyMSk5qWmS0zQxNQrGVF2Fpv9hdOg+2HFzZZwPQjFWFAxV4FUNJd5VcWr4u4+hgx0YcVgVchRtOSmW50wpVoA+lS0vWB6mifkxdE2H7jSOazaVfYtJo91yHKVSUmLq/Yihp2Zi09a9N1rb7Hxi07oN/dAOgnMwB4F9E3jtW1Y1oWea2yhbve/Oa583WWR4SRLnGHAPVkd3bblpA70XvcjDKjVs24ku70rX9NU5OgIeV9ect0L03a3rbve3l5e3+6273Vp0opVVmnrG1jkFl9UX7R3HfY5c2zCTOLxKNHzobzdCv3779voK/ls3tOi+ihPPcI5uFGRrXdPeZ8t16+y7zpbgVcHFWLb9fUZ/RX0D/e2txew5zxPTcNzIP+xBR+vfgb2x9oeTe3Rs04sLXuKmDWg5sb+jFnqH9ZejrL3t1o0Oh+CcrWG1/4v//GW1OwfR6XRybC+5SrBLPnTd/YXYC/3l7XYfJB+VVA3aHgX7/fli/TddA3ud7Q++758cI6kUVwo3rOu7t9/ht46rETe/iA3Az5cs261X+hfQ/4Otb9a7bB/sA9+1zbCYGIOx4FID/voV9AWOje8GxSaY3jW1XYzcsnbWf9E1DfNeW1l2yc6B75hxDjNVk6Q4Rdtp3x4zv3dt23Oy+bquUvsUZNYa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"/>
77
- </svg>`;return{url:URL.createObjectURL(new Blob([_],{type:"image/svg+xml"})),viewBox:p,scale:v}},s=>`${s.color},${s.isMoving},${s.designBeam??0},${s.designLength??0},${s.aisFromBow??0},${s.aisFromCenter??0}`),shipTypeColorMap=new Map([[-1,"#00FF00"],[70,"#95B3D7"],[37,"#00FF00"],[50,"#366092"],[51,"#366092"],[52,"#366092"],[53,"#366092"],[54,"#366092"],[55,"#366092"],[56,"#366092"],[57,"#366092"],[58,"#366092"],[59,"#366092"],[80,"red"],[81,"red"],[82,"red"],[83,"red"],[84,"red"],[85,"red"],[86,"red"],[87,"red"],[88,"red"],[89,"red"]]);function createAlphaSampled(s){const i=new Cesium__namespace.SampledProperty(Cesium__namespace.Color),r=(s==null?void 0:s.startTime)??Cesium__namespace.JulianDate.now(),a=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),d=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),u=Cesium__namespace.JulianDate.fromIso8601("2100-01-01T00:00:00Z"),l=(s==null?void 0:s.color)??Cesium__namespace.Color.WHITE;return i.addSample(r,l.withAlpha(1)),i.addSample(a,l.withAlpha(1)),i.addSample(d,l.withAlpha(.2)),i.addSample(u,l.withAlpha(.1)),i}function getHideAfterFiveMinutesProperty(s){const i=s??Cesium__namespace.JulianDate.now(),r=Cesium__namespace.JulianDate.addMinutes(i,5,new Cesium__namespace.JulianDate);return new Cesium__namespace.CallbackProperty(a=>a?Cesium__namespace.JulianDate.lessThan(a,r):!0,!1)}function createRoundedRectImage({text:s="未知",fill:i="#5582DF",stroke:r="#FFFFFF",strokeWidth:a=2,textColor:d="#FFFFFF",fontFamily:u="微软雅黑, Segoe UI, Helvetica, Arial, sans-serif",fontWeight:l="normal",fontSize:c=12,padding:h=6,radius:o=5}={}){const m=Math.max(0,s.length*c*.6+h*2),y=c*1.6,g=2,p=Math.ceil(a/2)+1,v=m+p*2,_=y+p*2,w=document.createElement("canvas");w.width=Math.round(v*g),w.height=Math.round(_*g),w.style.width=`${v}px`,w.style.height=`${_}px`;const O=w.getContext("2d");if(!O)throw new Error("无法获取2D绘图上下文");O.scale(g,g),O.clearRect(0,0,v,_),O.lineJoin="round",O.lineCap="round";const b=p,x=p,T=v-p,E=_-p,C=T-b,R=E-x,P=Math.min(o,Math.min(C,R)/2);O.beginPath(),O.moveTo(b+P,x),O.lineTo(T-P,x),O.quadraticCurveTo(T,x,T,x+P),O.lineTo(T,E-P),O.quadraticCurveTo(T,E,T-P,E),O.lineTo(b+P,E),O.quadraticCurveTo(b,E,b,E-P),O.lineTo(b,x+P),O.quadraticCurveTo(b,x,b+P,x),O.closePath(),i&&i!=="transparent"&&(O.fillStyle=i,O.fill()),O.lineWidth=a,O.strokeStyle=r,O.stroke();const D=Math.max(0,m-h*2);let A=c;for(O.fillStyle=d,O.textAlign="center",O.textBaseline="middle",O.font=`${l} ${A}px ${u}`;O.measureText(s).width>D&&A>10;)A-=1,O.font=`${l} ${A}px ${u}`;return O.fillText(s,v/2,_/2+1),w}function hookClusterEvent(s){s.clustering.clusterEvent.addEventListener((r,a)=>{const d=r[0],u=d.billboard,l=d.label,c=d.point;a.label.show=!1,a.point.show=!1,u&&(a.billboard=Cesium__namespace.clone(u)),l&&(a.label=Cesium__namespace.clone(l)),c?a.point=Cesium__namespace.clone(c):(a.billboard.show=!0,a.billboard.image=Cesium__namespace.buildModuleUrl("Widgets/Images/clusterIcon.png"))})}class ShipLayer extends EventEmitter{constructor(r,a,d){var u,l,c;super();j(this,"db");j(this,"labelDataSource",new Cesium__namespace.CustomDataSource("ship-labels"));j(this,"isMounted",!1);j(this,"_viewer",null);j(this,"entityMap",new Map);j(this,"IS_MOVING_THRESHOLD",1);j(this,"shadowEntityMap",new WeakMap);j(this,"hookFilterEntityFn");this.key=r,this.zIndex=a,this.opt=d,this.db=new Cesium__namespace.CustomDataSource(r),this.labelDataSource.clustering.enabled=((u=d==null?void 0:d.clustering)==null?void 0:u.enabled)??!0,this.labelDataSource.clustering.pixelRange=((l=d==null?void 0:d.clustering)==null?void 0:l.pixelRange)??15,this.labelDataSource.clustering.minimumClusterSize=((c=d==null?void 0:d.clustering)==null?void 0:c.minimumClusterSize)??2,hookClusterEvent(this.labelDataSource)}show(r){this.isMounted||(r.dataSources.add(this.db),r.dataSources.add(this.labelDataSource),this._viewer=r,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1,this.labelDataSource.show=!1)}contain(r){const a=r.id.replace(/_shadow\d*$/,"");return this.entityMap.has(a)}render(r){r.features.forEach(a=>{this.renderFeature(a)})}getIdByFeature(r){var d;const a=String(((d=r.properties)==null?void 0:d.mmsi)??r.id);if(!a)throw new Error("feature必须有mmsi或id");return"ship_mmsi_"+a}renderFeature(r){var o,m;const a=this.getIdByFeature(r),d=new Cesium__namespace.SampledPositionProperty;d.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,d.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const u=Cesium__namespace.Cartesian3.fromDegrees(r.geometry.coordinates[0],r.geometry.coordinates[1]);d.addSample(((o=this._viewer)==null?void 0:o.clock.currentTime)??Cesium__namespace.JulianDate.now(),u);const l=((m=r.properties)==null?void 0:m.courseOverGroundTrue)??0,c=new Cesium__namespace.Entity({id:a,position:d,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(u,new Cesium__namespace.HeadingPitchRoll(l,0,0))),properties:r.properties??{}});this.entityMap.set(a,c),this.db.entities.add(c),this.renderEntity(c);const h=new Cesium__namespace.Entity({id:a+"_shadow1",position:d,properties:r.properties??{}});this.labelDataSource.entities.add(h),this.renderLabelEntity(h),this.emit("createEntity",c)}update(r){var d,u,l,c,h,o,m,y,g,p,v,_,w,O;const a=this.db.entities.getById(this.getIdByFeature(r));if(a){const b=this.labelDataSource.entities.getById(a.id+"_shadow1"),x=this.shadowEntityMap.get(a),T=((d=r.properties)==null?void 0:d.shipTypeId)??-1,E=shipTypeColorMap.get(T)??shipTypeColorMap.get(-1),[C,R]=r.geometry.coordinates,P=((u=this._viewer)==null?void 0:u.clock.currentTime)??Cesium__namespace.JulianDate.now(),D=(l=a.position)==null?void 0:l.getValue(P),A=Cesium__namespace.Cartesian3.fromDegrees(C,R),I=new Cesium__namespace.SampledPositionProperty;I.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,I.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const $=(c=a.properties)==null?void 0:c.getValue().updateTime,F=(h=r.properties)==null?void 0:h.updateTime;if($&&F&&new Date(F).getTime()-new Date($).getTime()>=3*1e3*60)I.addSample(P,A);else{const q=Cesium__namespace.JulianDate.addSeconds(P,3,new Cesium__namespace.JulianDate);I.addSample(Cesium__namespace.JulianDate.addSeconds(P,1,new Cesium__namespace.JulianDate),D??A),I.addSample(q,A)}if(a.position=I,x&&(x.position=I),b&&(b.position=I),a.properties)for(const[q,V]of Object.entries(r.properties??{})){if(q=="speedOverGround"){const G=a.properties.getValue().speedOverGround??0,X=Number(G)>this.IS_MOVING_THRESHOLD,U=Number(V)>this.IS_MOVING_THRESHOLD;if(X!==U&&(a.billboard&&(a.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(E,U))),x!=null&&x.plane)){const ee=((o=r.properties)==null?void 0:o.designBeam)??((y=(m=this.opt)==null?void 0:m.defaultValue)==null?void 0:y.designBeam)??12,W=((g=r.properties)==null?void 0:g.designLength)??((v=(p=this.opt)==null?void 0:p.defaultValue)==null?void 0:v.designLength)??35,J=createShipIconV2({color:E,isMoving:U,...r.properties,designBeam:ee,designLength:W}),Q=(_=x.plane)==null?void 0:_.material;Q&&(Q.image=new Cesium__namespace.ConstantProperty(J.url),x.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(ee*J.scale.x,W*J.scale.y))),x.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(ee*J.scale.x,W*J.scale.y),!0)}}if(q=="courseOverGroundTrue"){const G=((w=r.properties)==null?void 0:w.courseOverGroundTrue)??0;a.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof V=="number"?-1*V:0);const X=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(A,new Cesium__namespace.HeadingPitchRoll(G,0,0)));x&&(x.orientation=X)}if(q=="updateTime"){const G=Cesium__namespace.JulianDate.fromDate(new Date(V));a.billboard.color=createAlphaSampled({startTime:G});const X=(O=x==null?void 0:x.plane)==null?void 0:O.material;X&&(X.color=createAlphaSampled({startTime:G}));const U=getHideAfterFiveMinutesProperty(G);b!=null&&b.billboard&&(b.billboard.show=U),a.point.show=U}a.properties[q]=V,x!=null&&x.properties&&(x.properties[q]=V)}}else this.renderFeature(r)}renderEntity(r){var m,y,g,p,v,_,w,O,b;const a=(m=r.properties)==null?void 0:m.getValue(),d=(a==null?void 0:a.shipTypeId)??-1,u=shipTypeColorMap.get(d)??shipTypeColorMap.get(-1),l=Number((a==null?void 0:a.speedOverGround)??0),c=a!=null&&a.updateTime?new Date(a.updateTime):new Date,h=Cesium__namespace.JulianDate.fromDate(c),o=createShipIconUrl(u,l>this.IS_MOVING_THRESHOLD);r.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((g=(y=this.opt)==null?void 0:y.distanceDisplayConditions)==null?void 0:g.far)??15e3),show:getHideAfterFiveMinutesProperty(h)}),r.billboard=new Cesium__namespace.BillboardGraphics({image:o,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.near)??4e3,((w=(_=this.opt)==null?void 0:_.distanceDisplayConditions)==null?void 0:w.far)??15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:h}),rotation:new Cesium__namespace.ConstantProperty((b=(O=r.properties)==null?void 0:O.getValue())!=null&&b.courseOverGroundTrue?-1*r.properties.getValue().courseOverGroundTrue:0)}),this.createShipPlane(r)}renderLabelEntity(r){var h,o,m,y,g,p,v;const a=(h=r.properties)==null?void 0:h.getValue(),d=a!=null&&a.updateTime?new Date(a.updateTime):new Date,u=Cesium__namespace.JulianDate.fromDate(d),l=((m=(o=r.properties)==null?void 0:o.getValue())==null?void 0:m.name)??((y=r.properties)!=null&&y.getValue().mmsi?"mmsi:"+((g=r.properties)==null?void 0:g.getValue().mmsi):"未知"),c=createRoundedRectImage({text:l});r.billboard=new Cesium__namespace.BillboardGraphics({image:new Cesium__namespace.ConstantProperty(c),width:new Cesium__namespace.ConstantProperty(Number(c.style.width.replace("px",""))),height:new Cesium__namespace.ConstantProperty(Number(c.style.height.replace("px",""))),scale:new Cesium__namespace.ConstantProperty(1),pixelOffset:new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(0,-20)),horizontalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.HorizontalOrigin.CENTER),verticalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.VerticalOrigin.CENTER),distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.far)??15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(u)})}createShipPlane(r){var p;const a=new Cesium__namespace.Entity({id:r.id+"_shadow",position:r.position,orientation:r.orientation,properties:r.properties});this.shadowEntityMap.set(r,a),this.db.entities.add(a);const d=(p=r.properties)==null?void 0:p.getValue(),u=d!=null&&d.updateTime?new Date(d.updateTime):new Date,l=Cesium__namespace.JulianDate.fromDate(u),c=Number((d==null?void 0:d.speedOverGround)??0),h=(d==null?void 0:d.designLength)??20,o=(d==null?void 0:d.designBeam)??8,m=(d==null?void 0:d.shipTypeId)??-1,y=shipTypeColorMap.get(m)??shipTypeColorMap.get(-1),g=createShipIconV2({color:y,isMoving:c>this.IS_MOVING_THRESHOLD,...d,designBeam:(d==null?void 0:d.designBeam)??8,designLength:(d==null?void 0:d.designLength)??20});a.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(o*g.scale.x,h*g.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var O,b,x;if(!this._viewer)return!0;const v=this._viewer.clock.currentTime,_=(O=r.position)==null?void 0:O.getValue(v);return _?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,_)<=(((x=(b=this.opt)==null?void 0:b.distanceDisplayConditions)==null?void 0:x.near)??4e3):!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:g.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:l})})})}hideEntityByCondition(r){this.hookFilterEntityFn&&this.off("createEntity",this.hookFilterEntityFn),this.hookFilterEntityFn=a=>{const d=(r==null?void 0:r(a))??!0;a.show=d;const u=this.shadowEntityMap.get(a);u&&(u.show=d);const l=this.labelDataSource.entities.getById(a.id+"_shadow1");l&&(l.show=d)},this.db.entities.values.forEach(a=>{var d;(d=this.hookFilterEntityFn)==null||d.call(this,a)}),r&&this.on("createEntity",this.hookFilterEntityFn)}}Cesium.Color.fromCssColorString("#FC4C02");Cesium.Color.WHITE;new Cesium.Color;new Array(4);var e$2=[],t$2=[];function n$2(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$2.indexOf(u);l===-1&&(l=e$2.push(u)-1,t$2[l]={}),r=t$2[l]&&t$2[l][a]?t$2[l][a]:t$2[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$2='.cesium-tool-tip{background:rgba(0,0,0,.6);border-radius:4px;color:#fff;left:0;line-height:30px;min-height:30px;min-width:100px;padding:0 10px;pointer-events:none;position:absolute;top:0;visibility:hidden;z-index:-1}.cesium-tool-tip:before{border-bottom:10px solid transparent;border-right:10px solid rgba(0,0,0,.6);border-top:10px solid transparent;content:"";display:block;left:-10px;pointer-events:none;position:absolute;top:calc(50% - 10px)}';n$2(css$2,{});Cesium.Color.YELLOW,Cesium.Color.YELLOW,Cesium.Color.DARKTURQUOISE.withAlpha(.5),Cesium.Color.BLUE,Cesium.Color.WHITE,Cesium.Color.YELLOW.withAlpha(.5),Cesium.Color.YELLOW.withAlpha(.5);Cesium.Color.WHITE,new Cesium.Color(.165,.165,.165,.8),new Cesium.Cartesian2(4,4),Cesium.LabelStyle.FILL_AND_OUTLINE,new Cesium.Cartesian2(4,0),new Cesium.NearFarScalar(1,.85,8e6,.75),Cesium.HeightReference.CLAMP_TO_GROUND;class Popup{constructor(i,r){j(this,"_position");j(this,"_screenPosition",new Cesium.Cartesian2);j(this,"_element");j(this,"_viewer");j(this,"_options");j(this,"_destroyed",!1);j(this,"_offset");j(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const a=this._viewer.scene.camera.position,d=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(d,a).isPointVisible(this._position)){this.switchElementShow(!1);return}}const i=Cesium.SceneTransforms.worldToWindowCoordinates(this._viewer.scene,this._position),{_element:r}=this;if(r&&i){if(this._screenPosition&&this._screenPosition.x===i.x&&this._screenPosition.y===i.y)return;this.switchElementShow(!0);const a=i.x-r.clientWidth/2+this._offset[0],d=i.y-r.clientHeight+this._offset[1];r.style.left=`${a}px`,r.style.top=`${d}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:a,element:d,offset:u}=r;if(!d)throw Error("no element!");this._position=a?Cesium.Cartesian3.fromDegrees(a[0],a[1],a[2]):null,this._element=d,this._offset=[(u==null?void 0:u[0])??0,(u==null?void 0:u[1])??0],this.addMapListener()}set position(i){if(!i){this.switchElementShow(!1),this._position=null,this._options.position=null;return}this._position=Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]),this._options.position=i,this.setPosition()}get position(){return this._options.position}get destroyed(){return this._destroyed}switchElementShow(i){this._element&&(this._element.style.display=i?"block":"none")}addMapListener(){var i;(i=this._viewer)==null||i.scene.postRender.addEventListener(this.setPosition)}destroy(){this._viewer.isDestroyed()||this._viewer.scene.postRender.removeEventListener(this.setPosition),this.setPosition=void 0,this._destroyed=!0}}var e$1=[],t$1=[];function n$1(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$1.indexOf(u);l===-1&&(l=e$1.push(u)-1,t$1[l]={}),r=t$1[l]&&t$1[l][a]?t$1[l][a]:t$1[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$1=".cesium-compass{cursor:pointer;height:60px;pointer-events:auto;position:absolute;right:15px;top:100px;user-select:none;width:60px}.cesium-compass .out-ring{fill:rgba(23,49,71,.702);background-repeat:no-repeat;background-size:contain;border-radius:50%;height:60px;left:0;position:absolute;top:0;transition:all .3s ease;width:60px}.cesium-compass .out-ring svg{height:60px;width:60px}.cesium-compass:hover .rotation_marker svg{height:70.2px;width:70.2px}.cesium-compass .gyro{align-items:center;background:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:30px;justify-content:center;margin:0 auto;padding:4px;position:relative;text-align:center;top:50%;transform:translateY(-50%);transition:all .3s ease;width:30px}.cesium-compass .gyro svg{height:20px;width:20px}.rotation_marker{background-repeat:no-repeat;background-size:contain;border-radius:50%;position:relative}.rotation_marker svg{height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:60px}.cesium-compass .gyro-active,.cesium-compass .gyro:hover{fill:#68adfe}";n$1(css$1,{});var e=[],t=[];function n(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e.indexOf(u);l===-1&&(l=e.push(u)-1,t[l]={}),r=t[l]&&t[l][a]?t[l][a]:t[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css=".cesium-zoom-controller{border-radius:100px;box-sizing:border-box;display:flex;flex-direction:column;line-height:1.2rem;pointer-events:auto;position:absolute;right:30px;text-align:center;top:187px;user-select:none}.cesium-zoom-controller .refresh,.cesium-zoom-controller .zoom-in,.cesium-zoom-controller .zoom-out{border-radius:14%;margin-bottom:5px}.cesium-zoom-controller .cesium-button{background:#2a2e39;border:none;margin-right:0;transition:all .3s cubic-bezier(.645,.045,.355,1);transition-delay:0s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.645,.045,.355,1)}.cesium-zoom-controller .cesium-button:hover{background:#48b;box-shadow:none}.cesium-zoom-controller .cesium-button:active{fill:#edffff;background:#adf;color:#edffff}.cesium-zoom-controller .cesium-toolbar-button{align-items:center;display:flex;height:30px;justify-content:center;width:30px}";n(css,{});var heatmap$1={exports:{}},heatmap=heatmap$1.exports,hasRequiredHeatmap;function requireHeatmap(){return hasRequiredHeatmap||(hasRequiredHeatmap=1,function(s){(function(i,r,a){s.exports?s.exports=a():r[i]=a()})("h337",heatmap,function(){var i={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},r=function(){var o=function(g){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=g.xField||g.defaultXField,this._yField=g.yField||g.defaultYField,this._valueField=g.valueField||g.defaultValueField,g.radius&&(this._cfgRadius=g.radius)},m=i.defaultRadius;return o.prototype={_organiseData:function(y,g){var p=y[this._xField],v=y[this._yField],_=this._radi,w=this._data,O=this._max,b=this._min,x=y[this._valueField]||1,T=y.radius||this._cfgRadius||m;w[p]||(w[p]=[],_[p]=[]),w[p][v]?w[p][v]+=x:(w[p][v]=x,_[p][v]=T);var E=w[p][v];return E>O?(g?this.setDataMax(E):this._max=E,!1):E<b?(g?this.setDataMin(E):this._min=E,!1):{x:p,y:v,value:x,radius:T,min:b,max:O}},_unOrganizeData:function(){var y=[],g=this._data,p=this._radi;for(var v in g)for(var _ in g[v])y.push({x:v,y:_,radius:p[v][_],value:g[v][_]});return{min:this._min,max:this._max,data:y}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var y=arguments[0],g=y.length;g--;)this.addData.call(this,y[g]);else{var p=this._organiseData(arguments[0],!0);p&&(this._data.length===0&&(this._min=this._max=p.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[p]}))}return this},setData:function(y){var g=y.data,p=g.length;this._data=[],this._radi=[];for(var v=0;v<p;v++)this._organiseData(g[v],!1);return this._max=y.max,this._min=y.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(y){return this._max=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(y){return this._min=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(y){this._coordinator=y},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},o}(),a=function(){var o=function(p){var v=p.gradient||p.defaultGradient,_=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0});_.width=256,_.height=1;var O=w.createLinearGradient(0,0,256,1);for(var b in v)O.addColorStop(b,v[b]);return w.fillStyle=O,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},m=function(p,v){var _=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0}),O=p,b=p;if(_.width=_.height=p*2,v==1)w.beginPath(),w.arc(O,b,p,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var x=w.createRadialGradient(O,b,p*v,O,b,p);x.addColorStop(0,"rgba(0,0,0,1)"),x.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=x,w.fillRect(0,0,2*p,2*p)}return _},y=function(b){for(var v=[],_=b.min,w=b.max,O=b.radi,b=b.data,x=Object.keys(b),T=x.length;T--;)for(var E=x[T],C=Object.keys(b[E]),R=C.length;R--;){var P=C[R],D=b[E][P],A=O[E][P];v.push({x:E,y:P,value:D,radius:A})}return{min:_,max:w,data:v}};function g(p){var v=p.container,_=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=p.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var O=getComputedStyle(p.container)||{};w.className="heatmap-canvas",this._width=w.width=_.width=p.width||+O.width.replace(/px/,""),this._height=w.height=_.height=p.height||+O.height.replace(/px/,""),this.shadowCtx=_.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=_.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=o(p),this._templates={},this._setStyles(p)}return g.prototype={renderPartial:function(p){p.data.length>0&&(this._drawAlpha(p),this._colorize())},renderAll:function(p){this._clear(),p.data.length>0&&(this._drawAlpha(y(p)),this._colorize())},_updateGradient:function(p){this._palette=o(p)},updateConfig:function(p){p.gradient&&this._updateGradient(p),this._setStyles(p)},setDimensions:function(p,v){this._width=p,this._height=v,this.canvas.width=this.shadowCanvas.width=p,this.canvas.height=this.shadowCanvas.height=v},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(p){this._blur=p.blur==0?0:p.blur||p.defaultBlur,p.backgroundColor&&(this.canvas.style.backgroundColor=p.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=p.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=p.height||this._height,this._opacity=(p.opacity||0)*255,this._maxOpacity=(p.maxOpacity||p.defaultMaxOpacity)*255,this._minOpacity=(p.minOpacity||p.defaultMinOpacity)*255,this._useGradientOpacity=!!p.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,_=this._max=w.max,w=w.data||[],O=w.length,b=1-this._blur;O--;){var x=w[O],T=x.x,E=x.y,C=x.radius,R=Math.min(x.value,_),P=T-C,D=E-C,A=this.shadowCtx,I;this._templates[C]?I=this._templates[C]:this._templates[C]=I=m(C,b);var $=(R-v)/(_-v);A.globalAlpha=$<.01?.01:$,A.drawImage(I,P,D),P<this._renderBoundaries[0]&&(this._renderBoundaries[0]=P),D<this._renderBoundaries[1]&&(this._renderBoundaries[1]=D),P+2*C>this._renderBoundaries[2]&&(this._renderBoundaries[2]=P+2*C),D+2*C>this._renderBoundaries[3]&&(this._renderBoundaries[3]=D+2*C)}},_colorize:function(){var p=this._renderBoundaries[0],v=this._renderBoundaries[1],_=this._renderBoundaries[2]-p,w=this._renderBoundaries[3]-v,O=this._width,b=this._height,x=this._opacity,T=this._maxOpacity,E=this._minOpacity,C=this._useGradientOpacity;p<0&&(p=0),v<0&&(v=0),p+_>O&&(_=O-p),v+w>b&&(w=b-v);for(var R=this.shadowCtx.getImageData(p,v,_,w),P=R.data,D=P.length,A=this._palette,I=3;I<D;I+=4){var $=P[I],F=$*4;if(F){var q;x>0?q=x:$<T?$<E?q=E:q=$:q=T,P[I-3]=A[F],P[I-2]=A[F+1],P[I-1]=A[F+2],P[I]=C?A[F+3]:q}}this.ctx.putImageData(R,p,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(p){var v,_=this.shadowCtx,w=_.getImageData(p.x,p.y,1,1),O=w.data[3],b=this._max,x=this._min;return v=Math.abs(b-x)*(O/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),d=function(){var o=!1;return i.defaultRenderer==="canvas2d"&&(o=a),o}(),u={merge:function(){for(var h={},o=arguments.length,m=0;m<o;m++){var y=arguments[m];for(var g in y)h[g]=y[g]}return h}},l=function(){var o=function(){function p(){this.cStore={}}return p.prototype={on:function(v,_,w){var O=this.cStore;O[v]||(O[v]=[]),O[v].push(function(b){return _.call(w,b)})},emit:function(v,_){var w=this.cStore;if(w[v])for(var O=w[v].length,b=0;b<O;b++){var x=w[v][b];x(_)}}},p}(),m=function(g){var p=g._renderer,v=g._coordinator,_=g._store;v.on("renderpartial",p.renderPartial,p),v.on("renderall",p.renderAll,p),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),_.setCoordinator(v)};function y(){var g=this._config=u.merge(i,arguments[0]||{});if(this._coordinator=new o,g.plugin){var p=g.plugin;if(i.plugins[p]){var v=i.plugins[p];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+p+"' not found. Maybe it was not registered.")}else this._renderer=new d(g),this._store=new r(g);m(this)}return y.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(g){return this._config=u.merge(this._config,g),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(g){return this._store.getValueAt?this._store.getValueAt(g):this._renderer.getValueAt?this._renderer.getValueAt(g):null}},y}(),c={create:function(h){return new l(h)},register:function(h,o){i.plugins[h]=o}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const Y=class Y extends EventEmitter{constructor(){super();j(this,"popupMap",new Map)}static getInstance(){return Y.instance||(Y.instance=new Y),Y.instance}popup(r){var c;const a=r.element;a.style.position="absolute";const d=r.viewer.container,u=()=>{l&&(l.destroy(),d.removeChild(a),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};d.appendChild(a),this.emit("onMount",r.id),(c=this.popupMap.get(r.id))==null||c.destroy();const l=new Popup(r.viewer,{position:r.position,offset:r.offset??[0,0],element:a});this.popupMap.set(r.id,{popup:l,destroy:u})}close(r){const a=this.popupMap.get(r);a&&(a.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};j(Y,"instance",null);let PopupCtrl=Y;function saveCameraParams(s){const i=s.camera;return{position:i.position,direction:i.direction,up:i.up,right:i.right,transform:i.transform}}function flyToCameraParams(s,i,r=1){s.camera.flyTo({destination:i.position,orientation:{direction:i.direction,up:i.up,right:i.right},duration:r})}const memoizeMap=new WeakMap;function ListenLeftClick(s){if(memoizeMap.has(s))return memoizeMap.get(s);const i=new EventEmitter;return new Cesium__namespace.ScreenSpaceEventHandler(s.scene.canvas).setInputAction(a=>{i.emit("click",a)},Cesium__namespace.ScreenSpaceEventType.LEFT_CLICK),memoizeMap.set(s,i),i}exports.ListenLeftClick=ListenLeftClick;exports.PopupCtrl=PopupCtrl;exports.ShipLayer=ShipLayer;exports.WmsLayer=WmsLayer;exports.WmsLayerController=WmsLayerController;exports.createTdtProvider=createTdtProvider;exports.createTdtTerrain=createTdtTerrain;exports.flyToCameraParams=flyToCameraParams;exports.invertToCanvas=invertToCanvas;exports.saveCameraParams=saveCameraParams;
77
+ </svg>`;return{url:URL.createObjectURL(new Blob([_],{type:"image/svg+xml"})),viewBox:p,scale:v}},s=>`${s.color},${s.isMoving},${s.designBeam??0},${s.designLength??0},${s.aisFromBow??0},${s.aisFromCenter??0}`),shipTypeColorMap=new Map([[-1,"#00FF00"],[70,"#95B3D7"],[37,"#00FF00"],[50,"#366092"],[51,"#366092"],[52,"#366092"],[53,"#366092"],[54,"#366092"],[55,"#366092"],[56,"#366092"],[57,"#366092"],[58,"#366092"],[59,"#366092"],[80,"red"],[81,"red"],[82,"red"],[83,"red"],[84,"red"],[85,"red"],[86,"red"],[87,"red"],[88,"red"],[89,"red"]]);function createAlphaSampled(s){const i=new Cesium__namespace.SampledProperty(Cesium__namespace.Color),r=(s==null?void 0:s.startTime)??Cesium__namespace.JulianDate.now(),a=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),d=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),u=Cesium__namespace.JulianDate.fromIso8601("2100-01-01T00:00:00Z"),l=(s==null?void 0:s.color)??Cesium__namespace.Color.WHITE;return i.addSample(r,l.withAlpha(1)),i.addSample(a,l.withAlpha(1)),i.addSample(d,l.withAlpha(.2)),i.addSample(u,l.withAlpha(.1)),i}function getHideAfterFiveMinutesProperty(s){const i=s??Cesium__namespace.JulianDate.now(),r=Cesium__namespace.JulianDate.addMinutes(i,5,new Cesium__namespace.JulianDate);return new Cesium__namespace.CallbackProperty(a=>a?Cesium__namespace.JulianDate.lessThan(a,r):!0,!1)}function createRoundedRectImage({text:s="未知",fill:i="#5582DF",stroke:r="#FFFFFF",strokeWidth:a=2,textColor:d="#FFFFFF",fontFamily:u="微软雅黑, Segoe UI, Helvetica, Arial, sans-serif",fontWeight:l="normal",fontSize:c=12,padding:h=6,radius:o=5}={}){const m=Math.max(0,s.length*c*.6+h*2),y=c*1.6,g=2,p=Math.ceil(a/2)+1,v=m+p*2,_=y+p*2,w=document.createElement("canvas");w.width=Math.round(v*g),w.height=Math.round(_*g),w.style.width=`${v}px`,w.style.height=`${_}px`;const O=w.getContext("2d");if(!O)throw new Error("无法获取2D绘图上下文");O.scale(g,g),O.clearRect(0,0,v,_),O.lineJoin="round",O.lineCap="round";const b=p,x=p,T=v-p,E=_-p,C=T-b,R=E-x,P=Math.min(o,Math.min(C,R)/2);O.beginPath(),O.moveTo(b+P,x),O.lineTo(T-P,x),O.quadraticCurveTo(T,x,T,x+P),O.lineTo(T,E-P),O.quadraticCurveTo(T,E,T-P,E),O.lineTo(b+P,E),O.quadraticCurveTo(b,E,b,E-P),O.lineTo(b,x+P),O.quadraticCurveTo(b,x,b+P,x),O.closePath(),i&&i!=="transparent"&&(O.fillStyle=i,O.fill()),O.lineWidth=a,O.strokeStyle=r,O.stroke();const D=Math.max(0,m-h*2);let A=c;for(O.fillStyle=d,O.textAlign="center",O.textBaseline="middle",O.font=`${l} ${A}px ${u}`;O.measureText(s).width>D&&A>10;)A-=1,O.font=`${l} ${A}px ${u}`;return O.fillText(s,v/2,_/2+1),w}function hookClusterEvent(s){s.clustering.clusterEvent.addEventListener((r,a)=>{const d=r[0],u=d.billboard,l=d.label,c=d.point;a.label.show=!1,a.point.show=!1,u&&(a.billboard=Cesium__namespace.clone(u)),l&&(a.label=Cesium__namespace.clone(l)),c?a.point=Cesium__namespace.clone(c):(a.billboard.show=!0,a.billboard.image=Cesium__namespace.buildModuleUrl("Widgets/Images/clusterIcon.png"))})}class ShipLayer extends EventEmitter{constructor(r,a,d){var u,l,c;super();j(this,"db");j(this,"labelDataSource",new Cesium__namespace.CustomDataSource("ship-labels"));j(this,"isMounted",!1);j(this,"_viewer",null);j(this,"entityMap",new Map);j(this,"IS_MOVING_THRESHOLD",1);j(this,"shadowEntityMap",new WeakMap);j(this,"hookFilterEntityFn");this.key=r,this.zIndex=a,this.opt=d,this.db=new Cesium__namespace.CustomDataSource(r),this.labelDataSource.clustering.enabled=((u=d==null?void 0:d.clustering)==null?void 0:u.enabled)??!0,this.labelDataSource.clustering.pixelRange=((l=d==null?void 0:d.clustering)==null?void 0:l.pixelRange)??15,this.labelDataSource.clustering.minimumClusterSize=((c=d==null?void 0:d.clustering)==null?void 0:c.minimumClusterSize)??2,hookClusterEvent(this.labelDataSource)}show(r){this.isMounted||(r.dataSources.add(this.db),r.dataSources.add(this.labelDataSource),this._viewer=r,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1,this.labelDataSource.show=!1)}contain(r){const a=r.id.replace(/_shadow\d*$/,"");return this.entityMap.has(a)}render(r){r.features.forEach(a=>{this.renderFeature(a)})}getIdByFeature(r){var d;const a=String(((d=r.properties)==null?void 0:d.mmsi)??r.id);if(!a)throw new Error("feature必须有mmsi或id");return"ship_mmsi_"+a}renderFeature(r){var o,m;const a=this.getIdByFeature(r),d=new Cesium__namespace.SampledPositionProperty;d.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,d.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const u=Cesium__namespace.Cartesian3.fromDegrees(r.geometry.coordinates[0],r.geometry.coordinates[1]);d.addSample(((o=this._viewer)==null?void 0:o.clock.currentTime)??Cesium__namespace.JulianDate.now(),u);const l=((m=r.properties)==null?void 0:m.courseOverGroundTrue)??0,c=new Cesium__namespace.Entity({id:a,position:d,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(u,new Cesium__namespace.HeadingPitchRoll(l,0,0))),properties:r.properties??{}});this.entityMap.set(a,c),this.db.entities.add(c),this.renderEntity(c);const h=new Cesium__namespace.Entity({id:a+"_shadow1",position:d,properties:r.properties??{}});this.labelDataSource.entities.add(h),this.renderLabelEntity(h),this.emit("createEntity",c)}update(r){var d,u,l,c,h,o,m,y,g,p,v,_,w,O;const a=this.db.entities.getById(this.getIdByFeature(r));if(a){const b=this.labelDataSource.entities.getById(a.id+"_shadow1"),x=this.shadowEntityMap.get(a),T=((d=r.properties)==null?void 0:d.shipTypeId)??-1,E=shipTypeColorMap.get(T)??shipTypeColorMap.get(-1),[C,R]=r.geometry.coordinates,P=((u=this._viewer)==null?void 0:u.clock.currentTime)??Cesium__namespace.JulianDate.now(),D=(l=a.position)==null?void 0:l.getValue(P),A=Cesium__namespace.Cartesian3.fromDegrees(C,R),I=new Cesium__namespace.SampledPositionProperty;I.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,I.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const $=(c=a.properties)==null?void 0:c.getValue().updateTime,F=(h=r.properties)==null?void 0:h.updateTime;if($&&F&&new Date(F).getTime()-new Date($).getTime()>=3*1e3*60)I.addSample(P,A);else{const q=Cesium__namespace.JulianDate.addSeconds(P,3,new Cesium__namespace.JulianDate);I.addSample(Cesium__namespace.JulianDate.addSeconds(P,1,new Cesium__namespace.JulianDate),D??A),I.addSample(q,A)}if(a.position=I,x&&(x.position=I),b&&(b.position=I),a.properties)for(const[q,V]of Object.entries(r.properties??{})){if(q=="speedOverGround"){const G=a.properties.getValue().speedOverGround??0,X=Number(G)>this.IS_MOVING_THRESHOLD,U=Number(V)>this.IS_MOVING_THRESHOLD;if(X!==U&&(a.billboard&&(a.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(E,U))),x!=null&&x.plane)){const ee=((o=r.properties)==null?void 0:o.designBeam)??((y=(m=this.opt)==null?void 0:m.defaultValue)==null?void 0:y.designBeam)??12,W=((g=r.properties)==null?void 0:g.designLength)??((v=(p=this.opt)==null?void 0:p.defaultValue)==null?void 0:v.designLength)??35,J=createShipIconV2({color:E,isMoving:U,...r.properties,designBeam:ee,designLength:W}),Q=(_=x.plane)==null?void 0:_.material;Q&&(Q.image=new Cesium__namespace.ConstantProperty(J.url),x.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(ee*J.scale.x,W*J.scale.y))),x.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(ee*J.scale.x,W*J.scale.y),!0)}}if(q=="courseOverGroundTrue"){const G=((w=r.properties)==null?void 0:w.courseOverGroundTrue)??0;a.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof V=="number"?-1*V:0);const X=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(A,new Cesium__namespace.HeadingPitchRoll(G,0,0)));x&&(x.orientation=X)}if(q=="updateTime"){const G=Cesium__namespace.JulianDate.fromDate(new Date(V));a.billboard.color=createAlphaSampled({startTime:G});const X=(O=x==null?void 0:x.plane)==null?void 0:O.material;X&&(X.color=createAlphaSampled({startTime:G}));const U=getHideAfterFiveMinutesProperty(G);b!=null&&b.billboard&&(b.billboard.show=U),a.point.show=U}a.properties[q]=V,x!=null&&x.properties&&(x.properties[q]=V)}}else this.renderFeature(r)}renderEntity(r){var m,y,g,p,v,_,w,O,b;const a=(m=r.properties)==null?void 0:m.getValue(),d=(a==null?void 0:a.shipTypeId)??-1,u=shipTypeColorMap.get(d)??shipTypeColorMap.get(-1),l=Number((a==null?void 0:a.speedOverGround)??0),c=a!=null&&a.updateTime?new Date(a.updateTime):new Date,h=Cesium__namespace.JulianDate.fromDate(c),o=createShipIconUrl(u,l>this.IS_MOVING_THRESHOLD);r.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((g=(y=this.opt)==null?void 0:y.distanceDisplayConditions)==null?void 0:g.far)??15e3),show:getHideAfterFiveMinutesProperty(h)}),r.billboard=new Cesium__namespace.BillboardGraphics({image:o,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.near)??4e3,((w=(_=this.opt)==null?void 0:_.distanceDisplayConditions)==null?void 0:w.far)??15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:h}),rotation:new Cesium__namespace.ConstantProperty((b=(O=r.properties)==null?void 0:O.getValue())!=null&&b.courseOverGroundTrue?-1*r.properties.getValue().courseOverGroundTrue:0)}),this.createShipPlane(r)}renderLabelEntity(r){var h,o,m,y,g,p,v;const a=(h=r.properties)==null?void 0:h.getValue(),d=a!=null&&a.updateTime?new Date(a.updateTime):new Date,u=Cesium__namespace.JulianDate.fromDate(d),l=((m=(o=r.properties)==null?void 0:o.getValue())==null?void 0:m.name)??((y=r.properties)!=null&&y.getValue().mmsi?"mmsi:"+((g=r.properties)==null?void 0:g.getValue().mmsi):"未知"),c=createRoundedRectImage({text:l});r.billboard=new Cesium__namespace.BillboardGraphics({image:new Cesium__namespace.ConstantProperty(c),width:new Cesium__namespace.ConstantProperty(Number(c.style.width.replace("px",""))),height:new Cesium__namespace.ConstantProperty(Number(c.style.height.replace("px",""))),scale:new Cesium__namespace.ConstantProperty(1),pixelOffset:new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(0,-20)),horizontalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.HorizontalOrigin.CENTER),verticalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.VerticalOrigin.CENTER),distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.far)??15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(u)})}createShipPlane(r){var p,v,_,w,O;const a=new Cesium__namespace.Entity({id:r.id+"_shadow",position:r.position,orientation:r.orientation,properties:r.properties});this.shadowEntityMap.set(r,a),this.db.entities.add(a);const d=(p=r.properties)==null?void 0:p.getValue(),u=d!=null&&d.updateTime?new Date(d.updateTime):new Date,l=Cesium__namespace.JulianDate.fromDate(u),c=Number((d==null?void 0:d.speedOverGround)??0),h=(d==null?void 0:d.designBeam)??((_=(v=this.opt)==null?void 0:v.defaultValue)==null?void 0:_.designBeam)??12,o=(d==null?void 0:d.designLength)??((O=(w=this.opt)==null?void 0:w.defaultValue)==null?void 0:O.designLength)??35,m=(d==null?void 0:d.shipTypeId)??-1,y=shipTypeColorMap.get(m)??shipTypeColorMap.get(-1),g=createShipIconV2({color:y,isMoving:c>this.IS_MOVING_THRESHOLD,...d,designBeam:h,designLength:o});a.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(h*g.scale.x,o*g.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var E,C,R;if(!this._viewer)return!0;const b=this._viewer.clock.currentTime,x=(E=r.position)==null?void 0:E.getValue(b);return x?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,x)<=(((R=(C=this.opt)==null?void 0:C.distanceDisplayConditions)==null?void 0:R.near)??4e3):!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:g.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:l})})})}hideEntityByCondition(r){this.hookFilterEntityFn&&this.off("createEntity",this.hookFilterEntityFn),this.hookFilterEntityFn=a=>{const d=(r==null?void 0:r(a))??!0;a.show=d;const u=this.shadowEntityMap.get(a);u&&(u.show=d);const l=this.labelDataSource.entities.getById(a.id+"_shadow1");l&&(l.show=d)},this.db.entities.values.forEach(a=>{var d;(d=this.hookFilterEntityFn)==null||d.call(this,a)}),r&&this.on("createEntity",this.hookFilterEntityFn)}}Cesium.Color.fromCssColorString("#FC4C02");Cesium.Color.WHITE;new Cesium.Color;new Array(4);var e$2=[],t$2=[];function n$2(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$2.indexOf(u);l===-1&&(l=e$2.push(u)-1,t$2[l]={}),r=t$2[l]&&t$2[l][a]?t$2[l][a]:t$2[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$2='.cesium-tool-tip{background:rgba(0,0,0,.6);border-radius:4px;color:#fff;left:0;line-height:30px;min-height:30px;min-width:100px;padding:0 10px;pointer-events:none;position:absolute;top:0;visibility:hidden;z-index:-1}.cesium-tool-tip:before{border-bottom:10px solid transparent;border-right:10px solid rgba(0,0,0,.6);border-top:10px solid transparent;content:"";display:block;left:-10px;pointer-events:none;position:absolute;top:calc(50% - 10px)}';n$2(css$2,{});Cesium.Color.YELLOW,Cesium.Color.YELLOW,Cesium.Color.DARKTURQUOISE.withAlpha(.5),Cesium.Color.BLUE,Cesium.Color.WHITE,Cesium.Color.YELLOW.withAlpha(.5),Cesium.Color.YELLOW.withAlpha(.5);Cesium.Color.WHITE,new Cesium.Color(.165,.165,.165,.8),new Cesium.Cartesian2(4,4),Cesium.LabelStyle.FILL_AND_OUTLINE,new Cesium.Cartesian2(4,0),new Cesium.NearFarScalar(1,.85,8e6,.75),Cesium.HeightReference.CLAMP_TO_GROUND;class Popup{constructor(i,r){j(this,"_position");j(this,"_screenPosition",new Cesium.Cartesian2);j(this,"_element");j(this,"_viewer");j(this,"_options");j(this,"_destroyed",!1);j(this,"_offset");j(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const a=this._viewer.scene.camera.position,d=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(d,a).isPointVisible(this._position)){this.switchElementShow(!1);return}}const i=Cesium.SceneTransforms.worldToWindowCoordinates(this._viewer.scene,this._position),{_element:r}=this;if(r&&i){if(this._screenPosition&&this._screenPosition.x===i.x&&this._screenPosition.y===i.y)return;this.switchElementShow(!0);const a=i.x-r.clientWidth/2+this._offset[0],d=i.y-r.clientHeight+this._offset[1];r.style.left=`${a}px`,r.style.top=`${d}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:a,element:d,offset:u}=r;if(!d)throw Error("no element!");this._position=a?Cesium.Cartesian3.fromDegrees(a[0],a[1],a[2]):null,this._element=d,this._offset=[(u==null?void 0:u[0])??0,(u==null?void 0:u[1])??0],this.addMapListener()}set position(i){if(!i){this.switchElementShow(!1),this._position=null,this._options.position=null;return}this._position=Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]),this._options.position=i,this.setPosition()}get position(){return this._options.position}get destroyed(){return this._destroyed}switchElementShow(i){this._element&&(this._element.style.display=i?"block":"none")}addMapListener(){var i;(i=this._viewer)==null||i.scene.postRender.addEventListener(this.setPosition)}destroy(){this._viewer.isDestroyed()||this._viewer.scene.postRender.removeEventListener(this.setPosition),this.setPosition=void 0,this._destroyed=!0}}var e$1=[],t$1=[];function n$1(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$1.indexOf(u);l===-1&&(l=e$1.push(u)-1,t$1[l]={}),r=t$1[l]&&t$1[l][a]?t$1[l][a]:t$1[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$1=".cesium-compass{cursor:pointer;height:60px;pointer-events:auto;position:absolute;right:15px;top:100px;user-select:none;width:60px}.cesium-compass .out-ring{fill:rgba(23,49,71,.702);background-repeat:no-repeat;background-size:contain;border-radius:50%;height:60px;left:0;position:absolute;top:0;transition:all .3s ease;width:60px}.cesium-compass .out-ring svg{height:60px;width:60px}.cesium-compass:hover .rotation_marker svg{height:70.2px;width:70.2px}.cesium-compass .gyro{align-items:center;background:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:30px;justify-content:center;margin:0 auto;padding:4px;position:relative;text-align:center;top:50%;transform:translateY(-50%);transition:all .3s ease;width:30px}.cesium-compass .gyro svg{height:20px;width:20px}.rotation_marker{background-repeat:no-repeat;background-size:contain;border-radius:50%;position:relative}.rotation_marker svg{height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:60px}.cesium-compass .gyro-active,.cesium-compass .gyro:hover{fill:#68adfe}";n$1(css$1,{});var e=[],t=[];function n(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e.indexOf(u);l===-1&&(l=e.push(u)-1,t[l]={}),r=t[l]&&t[l][a]?t[l][a]:t[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css=".cesium-zoom-controller{border-radius:100px;box-sizing:border-box;display:flex;flex-direction:column;line-height:1.2rem;pointer-events:auto;position:absolute;right:30px;text-align:center;top:187px;user-select:none}.cesium-zoom-controller .refresh,.cesium-zoom-controller .zoom-in,.cesium-zoom-controller .zoom-out{border-radius:14%;margin-bottom:5px}.cesium-zoom-controller .cesium-button{background:#2a2e39;border:none;margin-right:0;transition:all .3s cubic-bezier(.645,.045,.355,1);transition-delay:0s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.645,.045,.355,1)}.cesium-zoom-controller .cesium-button:hover{background:#48b;box-shadow:none}.cesium-zoom-controller .cesium-button:active{fill:#edffff;background:#adf;color:#edffff}.cesium-zoom-controller .cesium-toolbar-button{align-items:center;display:flex;height:30px;justify-content:center;width:30px}";n(css,{});var heatmap$1={exports:{}},heatmap=heatmap$1.exports,hasRequiredHeatmap;function requireHeatmap(){return hasRequiredHeatmap||(hasRequiredHeatmap=1,function(s){(function(i,r,a){s.exports?s.exports=a():r[i]=a()})("h337",heatmap,function(){var i={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},r=function(){var o=function(g){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=g.xField||g.defaultXField,this._yField=g.yField||g.defaultYField,this._valueField=g.valueField||g.defaultValueField,g.radius&&(this._cfgRadius=g.radius)},m=i.defaultRadius;return o.prototype={_organiseData:function(y,g){var p=y[this._xField],v=y[this._yField],_=this._radi,w=this._data,O=this._max,b=this._min,x=y[this._valueField]||1,T=y.radius||this._cfgRadius||m;w[p]||(w[p]=[],_[p]=[]),w[p][v]?w[p][v]+=x:(w[p][v]=x,_[p][v]=T);var E=w[p][v];return E>O?(g?this.setDataMax(E):this._max=E,!1):E<b?(g?this.setDataMin(E):this._min=E,!1):{x:p,y:v,value:x,radius:T,min:b,max:O}},_unOrganizeData:function(){var y=[],g=this._data,p=this._radi;for(var v in g)for(var _ in g[v])y.push({x:v,y:_,radius:p[v][_],value:g[v][_]});return{min:this._min,max:this._max,data:y}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var y=arguments[0],g=y.length;g--;)this.addData.call(this,y[g]);else{var p=this._organiseData(arguments[0],!0);p&&(this._data.length===0&&(this._min=this._max=p.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[p]}))}return this},setData:function(y){var g=y.data,p=g.length;this._data=[],this._radi=[];for(var v=0;v<p;v++)this._organiseData(g[v],!1);return this._max=y.max,this._min=y.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(y){return this._max=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(y){return this._min=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(y){this._coordinator=y},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},o}(),a=function(){var o=function(p){var v=p.gradient||p.defaultGradient,_=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0});_.width=256,_.height=1;var O=w.createLinearGradient(0,0,256,1);for(var b in v)O.addColorStop(b,v[b]);return w.fillStyle=O,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},m=function(p,v){var _=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0}),O=p,b=p;if(_.width=_.height=p*2,v==1)w.beginPath(),w.arc(O,b,p,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var x=w.createRadialGradient(O,b,p*v,O,b,p);x.addColorStop(0,"rgba(0,0,0,1)"),x.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=x,w.fillRect(0,0,2*p,2*p)}return _},y=function(b){for(var v=[],_=b.min,w=b.max,O=b.radi,b=b.data,x=Object.keys(b),T=x.length;T--;)for(var E=x[T],C=Object.keys(b[E]),R=C.length;R--;){var P=C[R],D=b[E][P],A=O[E][P];v.push({x:E,y:P,value:D,radius:A})}return{min:_,max:w,data:v}};function g(p){var v=p.container,_=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=p.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var O=getComputedStyle(p.container)||{};w.className="heatmap-canvas",this._width=w.width=_.width=p.width||+O.width.replace(/px/,""),this._height=w.height=_.height=p.height||+O.height.replace(/px/,""),this.shadowCtx=_.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=_.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=o(p),this._templates={},this._setStyles(p)}return g.prototype={renderPartial:function(p){p.data.length>0&&(this._drawAlpha(p),this._colorize())},renderAll:function(p){this._clear(),p.data.length>0&&(this._drawAlpha(y(p)),this._colorize())},_updateGradient:function(p){this._palette=o(p)},updateConfig:function(p){p.gradient&&this._updateGradient(p),this._setStyles(p)},setDimensions:function(p,v){this._width=p,this._height=v,this.canvas.width=this.shadowCanvas.width=p,this.canvas.height=this.shadowCanvas.height=v},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(p){this._blur=p.blur==0?0:p.blur||p.defaultBlur,p.backgroundColor&&(this.canvas.style.backgroundColor=p.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=p.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=p.height||this._height,this._opacity=(p.opacity||0)*255,this._maxOpacity=(p.maxOpacity||p.defaultMaxOpacity)*255,this._minOpacity=(p.minOpacity||p.defaultMinOpacity)*255,this._useGradientOpacity=!!p.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,_=this._max=w.max,w=w.data||[],O=w.length,b=1-this._blur;O--;){var x=w[O],T=x.x,E=x.y,C=x.radius,R=Math.min(x.value,_),P=T-C,D=E-C,A=this.shadowCtx,I;this._templates[C]?I=this._templates[C]:this._templates[C]=I=m(C,b);var $=(R-v)/(_-v);A.globalAlpha=$<.01?.01:$,A.drawImage(I,P,D),P<this._renderBoundaries[0]&&(this._renderBoundaries[0]=P),D<this._renderBoundaries[1]&&(this._renderBoundaries[1]=D),P+2*C>this._renderBoundaries[2]&&(this._renderBoundaries[2]=P+2*C),D+2*C>this._renderBoundaries[3]&&(this._renderBoundaries[3]=D+2*C)}},_colorize:function(){var p=this._renderBoundaries[0],v=this._renderBoundaries[1],_=this._renderBoundaries[2]-p,w=this._renderBoundaries[3]-v,O=this._width,b=this._height,x=this._opacity,T=this._maxOpacity,E=this._minOpacity,C=this._useGradientOpacity;p<0&&(p=0),v<0&&(v=0),p+_>O&&(_=O-p),v+w>b&&(w=b-v);for(var R=this.shadowCtx.getImageData(p,v,_,w),P=R.data,D=P.length,A=this._palette,I=3;I<D;I+=4){var $=P[I],F=$*4;if(F){var q;x>0?q=x:$<T?$<E?q=E:q=$:q=T,P[I-3]=A[F],P[I-2]=A[F+1],P[I-1]=A[F+2],P[I]=C?A[F+3]:q}}this.ctx.putImageData(R,p,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(p){var v,_=this.shadowCtx,w=_.getImageData(p.x,p.y,1,1),O=w.data[3],b=this._max,x=this._min;return v=Math.abs(b-x)*(O/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),d=function(){var o=!1;return i.defaultRenderer==="canvas2d"&&(o=a),o}(),u={merge:function(){for(var h={},o=arguments.length,m=0;m<o;m++){var y=arguments[m];for(var g in y)h[g]=y[g]}return h}},l=function(){var o=function(){function p(){this.cStore={}}return p.prototype={on:function(v,_,w){var O=this.cStore;O[v]||(O[v]=[]),O[v].push(function(b){return _.call(w,b)})},emit:function(v,_){var w=this.cStore;if(w[v])for(var O=w[v].length,b=0;b<O;b++){var x=w[v][b];x(_)}}},p}(),m=function(g){var p=g._renderer,v=g._coordinator,_=g._store;v.on("renderpartial",p.renderPartial,p),v.on("renderall",p.renderAll,p),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),_.setCoordinator(v)};function y(){var g=this._config=u.merge(i,arguments[0]||{});if(this._coordinator=new o,g.plugin){var p=g.plugin;if(i.plugins[p]){var v=i.plugins[p];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+p+"' not found. Maybe it was not registered.")}else this._renderer=new d(g),this._store=new r(g);m(this)}return y.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(g){return this._config=u.merge(this._config,g),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(g){return this._store.getValueAt?this._store.getValueAt(g):this._renderer.getValueAt?this._renderer.getValueAt(g):null}},y}(),c={create:function(h){return new l(h)},register:function(h,o){i.plugins[h]=o}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const Y=class Y extends EventEmitter{constructor(){super();j(this,"popupMap",new Map)}static getInstance(){return Y.instance||(Y.instance=new Y),Y.instance}popup(r){var c;const a=r.element;a.style.position="absolute";const d=r.viewer.container,u=()=>{l&&(l.destroy(),d.removeChild(a),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};d.appendChild(a),this.emit("onMount",r.id),(c=this.popupMap.get(r.id))==null||c.destroy();const l=new Popup(r.viewer,{position:r.position,offset:r.offset??[0,0],element:a});this.popupMap.set(r.id,{popup:l,destroy:u})}close(r){const a=this.popupMap.get(r);a&&(a.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};j(Y,"instance",null);let PopupCtrl=Y;function saveCameraParams(s){const i=s.camera;return{position:i.position,direction:i.direction,up:i.up,right:i.right,transform:i.transform}}function flyToCameraParams(s,i,r=1){s.camera.flyTo({destination:i.position,orientation:{direction:i.direction,up:i.up,right:i.right},duration:r})}const memoizeMap=new WeakMap;function ListenLeftClick(s){if(memoizeMap.has(s))return memoizeMap.get(s);const i=new EventEmitter;return new Cesium__namespace.ScreenSpaceEventHandler(s.scene.canvas).setInputAction(a=>{i.emit("click",a)},Cesium__namespace.ScreenSpaceEventType.LEFT_CLICK),memoizeMap.set(s,i),i}exports.ListenLeftClick=ListenLeftClick;exports.PopupCtrl=PopupCtrl;exports.ShipLayer=ShipLayer;exports.WmsLayer=WmsLayer;exports.WmsLayerController=WmsLayerController;exports.createTdtProvider=createTdtProvider;exports.createTdtTerrain=createTdtTerrain;exports.flyToCameraParams=flyToCameraParams;exports.invertToCanvas=invertToCanvas;exports.saveCameraParams=saveCameraParams;
@@ -257,7 +257,7 @@ const MAXBITS = 15, ENOUGH_LENS$1 = 852, ENOUGH_DISTS$1 = 592, CODES$1 = 0, LENS
257
257
  const h = c.bits;
258
258
  let a = 0, m = 0, y = 0, g = 0, p = 0, v = 0, w = 0, _ = 0, O = 0, b = 0, x, T, E, R, S, P = null, D;
259
259
  const A = new Uint16Array(MAXBITS + 1), I = new Uint16Array(MAXBITS + 1);
260
- let B = null, F, q, V;
260
+ let B = null, F, q, W;
261
261
  for (a = 0; a <= MAXBITS; a++)
262
262
  A[a] = 0;
263
263
  for (m = 0; m < o; m++)
@@ -280,9 +280,9 @@ const MAXBITS = 15, ENOUGH_LENS$1 = 852, ENOUGH_DISTS$1 = 592, CODES$1 = 0, LENS
280
280
  if (s === CODES$1 ? (P = B = l, D = 20) : s === LENS$1 ? (P = lbase, B = lext, D = 257) : (P = dbase, B = dext, D = 0), b = 0, m = 0, a = y, S = u, v = p, w = 0, E = -1, O = 1 << p, R = O - 1, s === LENS$1 && O > ENOUGH_LENS$1 || s === DISTS$1 && O > ENOUGH_DISTS$1)
281
281
  return 1;
282
282
  for (; ; ) {
283
- F = a - w, l[m] + 1 < D ? (q = 0, V = l[m]) : l[m] >= D ? (q = B[l[m] - D], V = P[l[m] - D]) : (q = 96, V = 0), x = 1 << a - w, T = 1 << v, y = T;
283
+ F = a - w, l[m] + 1 < D ? (q = 0, W = l[m]) : l[m] >= D ? (q = B[l[m] - D], W = P[l[m] - D]) : (q = 96, W = 0), x = 1 << a - w, T = 1 << v, y = T;
284
284
  do
285
- T -= x, d[S + (b >> w) + T] = F << 24 | q << 16 | V | 0;
285
+ T -= x, d[S + (b >> w) + T] = F << 24 | q << 16 | W | 0;
286
286
  while (T !== 0);
287
287
  for (x = 1 << a - 1; b & x; )
288
288
  x >>= 1;
@@ -4167,7 +4167,7 @@ function parse(s, i, r) {
4167
4167
  M,
4168
4168
  function(z) {
4169
4169
  if (z === "option")
4170
- W(M, z), h(";");
4170
+ V(M, z), h(";");
4171
4171
  else throw b(z);
4172
4172
  },
4173
4173
  function() {
@@ -4237,7 +4237,7 @@ function parse(s, i, r) {
4237
4237
  function I(C, k) {
4238
4238
  switch (k) {
4239
4239
  case "option":
4240
- return W(C, k), h(";"), !0;
4240
+ return V(C, k), h(";"), !0;
4241
4241
  case "message":
4242
4242
  return F(C, k), !0;
4243
4243
  case "enum":
@@ -4292,7 +4292,7 @@ function parse(s, i, r) {
4292
4292
  function q(C, k, N) {
4293
4293
  var $ = u();
4294
4294
  if ($ === "group") {
4295
- V(C, k);
4295
+ W(C, k);
4296
4296
  return;
4297
4297
  }
4298
4298
  for (; $.endsWith(".") || c().startsWith("."); )
@@ -4306,7 +4306,7 @@ function parse(s, i, r) {
4306
4306
  L,
4307
4307
  function(Z) {
4308
4308
  if (Z === "option")
4309
- W(L, Z), h(";");
4309
+ V(L, Z), h(";");
4310
4310
  else throw b(Z);
4311
4311
  },
4312
4312
  function() {
@@ -4324,7 +4324,7 @@ function parse(s, i, r) {
4324
4324
  !0
4325
4325
  );
4326
4326
  }
4327
- function V(C, k) {
4327
+ function W(C, k) {
4328
4328
  var N = u();
4329
4329
  if (!nameRe.test(N)) throw b(N, "name");
4330
4330
  var $ = util.lcFirst(N);
@@ -4335,7 +4335,7 @@ function parse(s, i, r) {
4335
4335
  z.filename = parse.filename, B(L, function(Z) {
4336
4336
  switch (Z) {
4337
4337
  case "option":
4338
- W(L, Z), h(";");
4338
+ V(L, Z), h(";");
4339
4339
  break;
4340
4340
  case "required":
4341
4341
  case "repeated":
@@ -4372,7 +4372,7 @@ function parse(s, i, r) {
4372
4372
  M,
4373
4373
  function(z) {
4374
4374
  if (z === "option")
4375
- W(M, z), h(";");
4375
+ V(M, z), h(";");
4376
4376
  else throw b(z);
4377
4377
  },
4378
4378
  function() {
@@ -4384,7 +4384,7 @@ function parse(s, i, r) {
4384
4384
  if (!nameRe.test(k = u())) throw b(k, "name");
4385
4385
  var N = new OneOf(O(k));
4386
4386
  B(N, function(M) {
4387
- M === "option" ? (W(N, M), h(";")) : (l(M), q(N, "optional"));
4387
+ M === "option" ? (V(N, M), h(";")) : (l(M), q(N, "optional"));
4388
4388
  }), C.add(N);
4389
4389
  }
4390
4390
  function U(C, k) {
@@ -4393,7 +4393,7 @@ function parse(s, i, r) {
4393
4393
  B(N, function(M) {
4394
4394
  switch (M) {
4395
4395
  case "option":
4396
- W(N, M), h(";");
4396
+ V(N, M), h(";");
4397
4397
  break;
4398
4398
  case "reserved":
4399
4399
  E(N.reserved || (N.reserved = []), !0);
@@ -4415,7 +4415,7 @@ function parse(s, i, r) {
4415
4415
  $,
4416
4416
  function(L) {
4417
4417
  if (L === "option")
4418
- W($, L), h(";");
4418
+ V($, L), h(";");
4419
4419
  else throw b(L);
4420
4420
  },
4421
4421
  function() {
@@ -4423,7 +4423,7 @@ function parse(s, i, r) {
4423
4423
  }
4424
4424
  ), C.add(k, N, $.comment, $.options);
4425
4425
  }
4426
- function W(C, k) {
4426
+ function V(C, k) {
4427
4427
  var N = h("(", !0);
4428
4428
  if (!typeRefRe.test(k = u())) throw b(k, "name");
4429
4429
  var $ = k, M = $, L;
@@ -4468,7 +4468,7 @@ function parse(s, i, r) {
4468
4468
  function te(C) {
4469
4469
  if (h("[", !0)) {
4470
4470
  do
4471
- W(C, "option");
4471
+ V(C, "option");
4472
4472
  while (h(",", !0));
4473
4473
  h("]");
4474
4474
  }
@@ -4492,7 +4492,7 @@ function parse(s, i, r) {
4492
4492
  var re = new Method(M, $, L, K, z, Z);
4493
4493
  re.comment = N, B(re, function(ie) {
4494
4494
  if (ie === "option")
4495
- W(re, ie), h(";");
4495
+ V(re, ie), h(";");
4496
4496
  else throw b(ie);
4497
4497
  }), C.add(re);
4498
4498
  }
@@ -4530,7 +4530,7 @@ function parse(s, i, r) {
4530
4530
  A();
4531
4531
  break;
4532
4532
  case "option":
4533
- W(_, H), h(";");
4533
+ V(_, H), h(";");
4534
4534
  break;
4535
4535
  default:
4536
4536
  if (I(_, H)) {
@@ -5831,23 +5831,23 @@ class ShipLayer extends EventEmitter {
5831
5831
  ), I.addSample(q, A);
5832
5832
  }
5833
5833
  if (o.position = I, x && (x.position = I), b && (b.position = I), o.properties)
5834
- for (const [q, V] of Object.entries(r.properties ?? {})) {
5834
+ for (const [q, W] of Object.entries(r.properties ?? {})) {
5835
5835
  if (q == "speedOverGround") {
5836
- const G = o.properties.getValue().speedOverGround ?? 0, X = Number(G) > this.IS_MOVING_THRESHOLD, U = Number(V) > this.IS_MOVING_THRESHOLD;
5836
+ const G = o.properties.getValue().speedOverGround ?? 0, X = Number(G) > this.IS_MOVING_THRESHOLD, U = Number(W) > this.IS_MOVING_THRESHOLD;
5837
5837
  if (X !== U && (o.billboard && (o.billboard.image = new Cesium.ConstantProperty(
5838
5838
  createShipIconUrl(E, U)
5839
5839
  )), x != null && x.plane)) {
5840
- const ee = ((a = r.properties) == null ? void 0 : a.designBeam) ?? ((y = (m = this.opt) == null ? void 0 : m.defaultValue) == null ? void 0 : y.designBeam) ?? 12, W = ((g = r.properties) == null ? void 0 : g.designLength) ?? ((v = (p = this.opt) == null ? void 0 : p.defaultValue) == null ? void 0 : v.designLength) ?? 35, J = createShipIconV2({
5840
+ const ee = ((a = r.properties) == null ? void 0 : a.designBeam) ?? ((y = (m = this.opt) == null ? void 0 : m.defaultValue) == null ? void 0 : y.designBeam) ?? 12, V = ((g = r.properties) == null ? void 0 : g.designLength) ?? ((v = (p = this.opt) == null ? void 0 : p.defaultValue) == null ? void 0 : v.designLength) ?? 35, J = createShipIconV2({
5841
5841
  color: E,
5842
5842
  isMoving: U,
5843
5843
  ...r.properties,
5844
5844
  designBeam: ee,
5845
- designLength: W
5845
+ designLength: V
5846
5846
  }), Q = (w = x.plane) == null ? void 0 : w.material;
5847
5847
  Q && (Q.image = new Cesium.ConstantProperty(J.url), x.plane.dimensions = new Cesium.ConstantProperty(
5848
- new Cesium.Cartesian2(ee * J.scale.x, W * J.scale.y)
5848
+ new Cesium.Cartesian2(ee * J.scale.x, V * J.scale.y)
5849
5849
  )), x.plane.dimensions = new Cesium.CallbackProperty(
5850
- () => new Cesium.Cartesian2(ee * J.scale.x, W * J.scale.y),
5850
+ () => new Cesium.Cartesian2(ee * J.scale.x, V * J.scale.y),
5851
5851
  !0
5852
5852
  );
5853
5853
  }
@@ -5855,7 +5855,7 @@ class ShipLayer extends EventEmitter {
5855
5855
  if (q == "courseOverGroundTrue") {
5856
5856
  const G = ((_ = r.properties) == null ? void 0 : _.courseOverGroundTrue) ?? 0;
5857
5857
  o.billboard.rotation = new Cesium.ConstantProperty(
5858
- typeof V == "number" ? -1 * V : 0
5858
+ typeof W == "number" ? -1 * W : 0
5859
5859
  );
5860
5860
  const X = new Cesium.ConstantProperty(
5861
5861
  Cesium.Transforms.headingPitchRollQuaternion(
@@ -5866,7 +5866,7 @@ class ShipLayer extends EventEmitter {
5866
5866
  x && (x.orientation = X);
5867
5867
  }
5868
5868
  if (q == "updateTime") {
5869
- const G = Cesium.JulianDate.fromDate(new Date(V));
5869
+ const G = Cesium.JulianDate.fromDate(new Date(W));
5870
5870
  o.billboard.color = createAlphaSampled({
5871
5871
  startTime: G
5872
5872
  });
@@ -5877,7 +5877,7 @@ class ShipLayer extends EventEmitter {
5877
5877
  const U = getHideAfterFiveMinutesProperty(G);
5878
5878
  b != null && b.billboard && (b.billboard.show = U), o.point.show = U;
5879
5879
  }
5880
- o.properties[q] = V, x != null && x.properties && (x.properties[q] = V);
5880
+ o.properties[q] = W, x != null && x.properties && (x.properties[q] = W);
5881
5881
  }
5882
5882
  } else
5883
5883
  this.renderFeature(r);
@@ -5936,7 +5936,7 @@ class ShipLayer extends EventEmitter {
5936
5936
  });
5937
5937
  }
5938
5938
  createShipPlane(r) {
5939
- var p;
5939
+ var p, v, w, _, O;
5940
5940
  const o = new Cesium.Entity({
5941
5941
  id: r.id + "_shadow",
5942
5942
  position: r.position,
@@ -5944,21 +5944,21 @@ class ShipLayer extends EventEmitter {
5944
5944
  properties: r.properties
5945
5945
  });
5946
5946
  this.shadowEntityMap.set(r, o), this.db.entities.add(o);
5947
- const d = (p = r.properties) == null ? void 0 : p.getValue(), u = d != null && d.updateTime ? new Date(d.updateTime) : /* @__PURE__ */ new Date(), l = Cesium.JulianDate.fromDate(u), c = Number((d == null ? void 0 : d.speedOverGround) ?? 0), h = (d == null ? void 0 : d.designLength) ?? 20, a = (d == null ? void 0 : d.designBeam) ?? 8, m = (d == null ? void 0 : d.shipTypeId) ?? -1, y = shipTypeColorMap.get(m) ?? shipTypeColorMap.get(-1), g = createShipIconV2({
5947
+ const d = (p = r.properties) == null ? void 0 : p.getValue(), u = d != null && d.updateTime ? new Date(d.updateTime) : /* @__PURE__ */ new Date(), l = Cesium.JulianDate.fromDate(u), c = Number((d == null ? void 0 : d.speedOverGround) ?? 0), h = (d == null ? void 0 : d.designBeam) ?? ((w = (v = this.opt) == null ? void 0 : v.defaultValue) == null ? void 0 : w.designBeam) ?? 12, a = (d == null ? void 0 : d.designLength) ?? ((O = (_ = this.opt) == null ? void 0 : _.defaultValue) == null ? void 0 : O.designLength) ?? 35, m = (d == null ? void 0 : d.shipTypeId) ?? -1, y = shipTypeColorMap.get(m) ?? shipTypeColorMap.get(-1), g = createShipIconV2({
5948
5948
  color: y,
5949
5949
  isMoving: c > this.IS_MOVING_THRESHOLD,
5950
5950
  ...d,
5951
- designBeam: (d == null ? void 0 : d.designBeam) ?? 8,
5952
- designLength: (d == null ? void 0 : d.designLength) ?? 20
5951
+ designBeam: h,
5952
+ designLength: a
5953
5953
  });
5954
5954
  o.plane = new Cesium.PlaneGraphics({
5955
5955
  plane: new Cesium.Plane(Cesium.Cartesian3.UNIT_Z, 0),
5956
- dimensions: new Cesium.Cartesian2(a * g.scale.x, h * g.scale.y),
5956
+ dimensions: new Cesium.Cartesian2(h * g.scale.x, a * g.scale.y),
5957
5957
  show: new Cesium.CallbackProperty(() => {
5958
- var O, b, x;
5958
+ var E, R, S;
5959
5959
  if (!this._viewer) return !0;
5960
- const v = this._viewer.clock.currentTime, w = (O = r.position) == null ? void 0 : O.getValue(v);
5961
- return w ? Cesium.Cartesian3.distance(this._viewer.camera.positionWC, w) <= (((x = (b = this.opt) == null ? void 0 : b.distanceDisplayConditions) == null ? void 0 : x.near) ?? 4e3) : !1;
5960
+ const b = this._viewer.clock.currentTime, x = (E = r.position) == null ? void 0 : E.getValue(b);
5961
+ return x ? Cesium.Cartesian3.distance(this._viewer.camera.positionWC, x) <= (((S = (R = this.opt) == null ? void 0 : R.distanceDisplayConditions) == null ? void 0 : S.near) ?? 4e3) : !1;
5962
5962
  }, !1),
5963
5963
  // 用回调按距离控制显示
5964
5964
  material: new Cesium.ImageMaterialProperty({
@@ -74,4 +74,4 @@
74
74
  <path id="svg_4" data-name="svg 4" class="cls-1" d="${m}"/>
75
75
  </g>
76
76
  <image id="img_1" width="${i}" height="${146/124*i}" transform="translate(${-i/2+a.x} ${a.y})" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAACSCAMAAACwjl5+AAAAq1BMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Nr6iZAAAAOXRSTlMABRshFgkSZg5qJmFdWlEqOXBFPYVJQYB1VXtNLpc1mzKguZCKtJONxc69yaukwa/SqN/k1trs6fBhRQqRAAAVcElEQVR42rSX3ZKaQBCFgxoIICh/ggjiIMPPMAOy6yZ5/yfLaTBVSa5istu1Vepe+M3p7jkHPz1Vmqav99umYLxsh7bvO6oeb8ZR1XUS7TaftU8fVdqX9cWpGBt5WeJvKbwbOJvyujEPlv5RcLBXZyesc1lyMSk5qWmS0zQxNQrGVF2Fpv9hdOg+2HFzZZwPQjFWFAxV4FUNJd5VcWr4u4+hgx0YcVgVchRtOSmW50wpVoA+lS0vWB6mifkxdE2H7jSOazaVfYtJo91yHKVSUmLq/Yihp2Zi09a9N1rb7Hxi07oN/dAOgnMwB4F9E3jtW1Y1oWea2yhbve/Oa583WWR4SRLnGHAPVkd3bblpA70XvcjDKjVs24ku70rX9NU5OgIeV9ect0L03a3rbve3l5e3+6273Vp0opVVmnrG1jkFl9UX7R3HfY5c2zCTOLxKNHzobzdCv3779voK/ls3tOi+ihPPcI5uFGRrXdPeZ8t16+y7zpbgVcHFWLb9fUZ/RX0D/e2txew5zxPTcNzIP+xBR+vfgb2x9oeTe3Rs04sLXuKmDWg5sb+jFnqH9ZejrL3t1o0Oh+CcrWG1/4v//GW1OwfR6XRybC+5SrBLPnTd/YXYC/3l7XYfJB+VVA3aHgX7/fli/TddA3ud7Q++758cI6kUVwo3rOu7t9/ht46rETe/iA3Az5cs261X+hfQ/4Otb9a7bB/sA9+1zbCYGIOx4FID/voV9AWOje8GxSaY3jW1XYzcsnbWf9E1DfNeW1l2yc6B75hxDjNVk6Q4Rdtp3x4zv3dt23Oy+bquUvsUZNYa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"/>
77
- </svg>`;return{url:URL.createObjectURL(new Blob([_],{type:"image/svg+xml"})),viewBox:p,scale:v}},s=>`${s.color},${s.isMoving},${s.designBeam??0},${s.designLength??0},${s.aisFromBow??0},${s.aisFromCenter??0}`),shipTypeColorMap=new Map([[-1,"#00FF00"],[70,"#95B3D7"],[37,"#00FF00"],[50,"#366092"],[51,"#366092"],[52,"#366092"],[53,"#366092"],[54,"#366092"],[55,"#366092"],[56,"#366092"],[57,"#366092"],[58,"#366092"],[59,"#366092"],[80,"red"],[81,"red"],[82,"red"],[83,"red"],[84,"red"],[85,"red"],[86,"red"],[87,"red"],[88,"red"],[89,"red"]]);function createAlphaSampled(s){const i=new Cesium__namespace.SampledProperty(Cesium__namespace.Color),r=(s==null?void 0:s.startTime)??Cesium__namespace.JulianDate.now(),a=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),d=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),u=Cesium__namespace.JulianDate.fromIso8601("2100-01-01T00:00:00Z"),l=(s==null?void 0:s.color)??Cesium__namespace.Color.WHITE;return i.addSample(r,l.withAlpha(1)),i.addSample(a,l.withAlpha(1)),i.addSample(d,l.withAlpha(.2)),i.addSample(u,l.withAlpha(.1)),i}function getHideAfterFiveMinutesProperty(s){const i=s??Cesium__namespace.JulianDate.now(),r=Cesium__namespace.JulianDate.addMinutes(i,5,new Cesium__namespace.JulianDate);return new Cesium__namespace.CallbackProperty(a=>a?Cesium__namespace.JulianDate.lessThan(a,r):!0,!1)}function createRoundedRectImage({text:s="未知",fill:i="#5582DF",stroke:r="#FFFFFF",strokeWidth:a=2,textColor:d="#FFFFFF",fontFamily:u="微软雅黑, Segoe UI, Helvetica, Arial, sans-serif",fontWeight:l="normal",fontSize:c=12,padding:h=6,radius:o=5}={}){const m=Math.max(0,s.length*c*.6+h*2),y=c*1.6,g=2,p=Math.ceil(a/2)+1,v=m+p*2,_=y+p*2,w=document.createElement("canvas");w.width=Math.round(v*g),w.height=Math.round(_*g),w.style.width=`${v}px`,w.style.height=`${_}px`;const O=w.getContext("2d");if(!O)throw new Error("无法获取2D绘图上下文");O.scale(g,g),O.clearRect(0,0,v,_),O.lineJoin="round",O.lineCap="round";const b=p,x=p,T=v-p,E=_-p,C=T-b,R=E-x,P=Math.min(o,Math.min(C,R)/2);O.beginPath(),O.moveTo(b+P,x),O.lineTo(T-P,x),O.quadraticCurveTo(T,x,T,x+P),O.lineTo(T,E-P),O.quadraticCurveTo(T,E,T-P,E),O.lineTo(b+P,E),O.quadraticCurveTo(b,E,b,E-P),O.lineTo(b,x+P),O.quadraticCurveTo(b,x,b+P,x),O.closePath(),i&&i!=="transparent"&&(O.fillStyle=i,O.fill()),O.lineWidth=a,O.strokeStyle=r,O.stroke();const D=Math.max(0,m-h*2);let A=c;for(O.fillStyle=d,O.textAlign="center",O.textBaseline="middle",O.font=`${l} ${A}px ${u}`;O.measureText(s).width>D&&A>10;)A-=1,O.font=`${l} ${A}px ${u}`;return O.fillText(s,v/2,_/2+1),w}function hookClusterEvent(s){s.clustering.clusterEvent.addEventListener((r,a)=>{const d=r[0],u=d.billboard,l=d.label,c=d.point;a.label.show=!1,a.point.show=!1,u&&(a.billboard=Cesium__namespace.clone(u)),l&&(a.label=Cesium__namespace.clone(l)),c?a.point=Cesium__namespace.clone(c):(a.billboard.show=!0,a.billboard.image=Cesium__namespace.buildModuleUrl("Widgets/Images/clusterIcon.png"))})}class ShipLayer extends EventEmitter{constructor(r,a,d){var u,l,c;super();j(this,"db");j(this,"labelDataSource",new Cesium__namespace.CustomDataSource("ship-labels"));j(this,"isMounted",!1);j(this,"_viewer",null);j(this,"entityMap",new Map);j(this,"IS_MOVING_THRESHOLD",1);j(this,"shadowEntityMap",new WeakMap);j(this,"hookFilterEntityFn");this.key=r,this.zIndex=a,this.opt=d,this.db=new Cesium__namespace.CustomDataSource(r),this.labelDataSource.clustering.enabled=((u=d==null?void 0:d.clustering)==null?void 0:u.enabled)??!0,this.labelDataSource.clustering.pixelRange=((l=d==null?void 0:d.clustering)==null?void 0:l.pixelRange)??15,this.labelDataSource.clustering.minimumClusterSize=((c=d==null?void 0:d.clustering)==null?void 0:c.minimumClusterSize)??2,hookClusterEvent(this.labelDataSource)}show(r){this.isMounted||(r.dataSources.add(this.db),r.dataSources.add(this.labelDataSource),this._viewer=r,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1,this.labelDataSource.show=!1)}contain(r){const a=r.id.replace(/_shadow\d*$/,"");return this.entityMap.has(a)}render(r){r.features.forEach(a=>{this.renderFeature(a)})}getIdByFeature(r){var d;const a=String(((d=r.properties)==null?void 0:d.mmsi)??r.id);if(!a)throw new Error("feature必须有mmsi或id");return"ship_mmsi_"+a}renderFeature(r){var o,m;const a=this.getIdByFeature(r),d=new Cesium__namespace.SampledPositionProperty;d.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,d.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const u=Cesium__namespace.Cartesian3.fromDegrees(r.geometry.coordinates[0],r.geometry.coordinates[1]);d.addSample(((o=this._viewer)==null?void 0:o.clock.currentTime)??Cesium__namespace.JulianDate.now(),u);const l=((m=r.properties)==null?void 0:m.courseOverGroundTrue)??0,c=new Cesium__namespace.Entity({id:a,position:d,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(u,new Cesium__namespace.HeadingPitchRoll(l,0,0))),properties:r.properties??{}});this.entityMap.set(a,c),this.db.entities.add(c),this.renderEntity(c);const h=new Cesium__namespace.Entity({id:a+"_shadow1",position:d,properties:r.properties??{}});this.labelDataSource.entities.add(h),this.renderLabelEntity(h),this.emit("createEntity",c)}update(r){var d,u,l,c,h,o,m,y,g,p,v,_,w,O;const a=this.db.entities.getById(this.getIdByFeature(r));if(a){const b=this.labelDataSource.entities.getById(a.id+"_shadow1"),x=this.shadowEntityMap.get(a),T=((d=r.properties)==null?void 0:d.shipTypeId)??-1,E=shipTypeColorMap.get(T)??shipTypeColorMap.get(-1),[C,R]=r.geometry.coordinates,P=((u=this._viewer)==null?void 0:u.clock.currentTime)??Cesium__namespace.JulianDate.now(),D=(l=a.position)==null?void 0:l.getValue(P),A=Cesium__namespace.Cartesian3.fromDegrees(C,R),I=new Cesium__namespace.SampledPositionProperty;I.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,I.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const $=(c=a.properties)==null?void 0:c.getValue().updateTime,F=(h=r.properties)==null?void 0:h.updateTime;if($&&F&&new Date(F).getTime()-new Date($).getTime()>=3*1e3*60)I.addSample(P,A);else{const q=Cesium__namespace.JulianDate.addSeconds(P,3,new Cesium__namespace.JulianDate);I.addSample(Cesium__namespace.JulianDate.addSeconds(P,1,new Cesium__namespace.JulianDate),D??A),I.addSample(q,A)}if(a.position=I,x&&(x.position=I),b&&(b.position=I),a.properties)for(const[q,Z]of Object.entries(r.properties??{})){if(q=="speedOverGround"){const G=a.properties.getValue().speedOverGround??0,J=Number(G)>this.IS_MOVING_THRESHOLD,X=Number(Z)>this.IS_MOVING_THRESHOLD;if(J!==X&&(a.billboard&&(a.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(E,X))),x!=null&&x.plane)){const ee=((o=r.properties)==null?void 0:o.designBeam)??((y=(m=this.opt)==null?void 0:m.defaultValue)==null?void 0:y.designBeam)??12,V=((g=r.properties)==null?void 0:g.designLength)??((v=(p=this.opt)==null?void 0:p.defaultValue)==null?void 0:v.designLength)??35,K=createShipIconV2({color:E,isMoving:X,...r.properties,designBeam:ee,designLength:V}),Q=(_=x.plane)==null?void 0:_.material;Q&&(Q.image=new Cesium__namespace.ConstantProperty(K.url),x.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(ee*K.scale.x,V*K.scale.y))),x.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(ee*K.scale.x,V*K.scale.y),!0)}}if(q=="courseOverGroundTrue"){const G=((w=r.properties)==null?void 0:w.courseOverGroundTrue)??0;a.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof Z=="number"?-1*Z:0);const J=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(A,new Cesium__namespace.HeadingPitchRoll(G,0,0)));x&&(x.orientation=J)}if(q=="updateTime"){const G=Cesium__namespace.JulianDate.fromDate(new Date(Z));a.billboard.color=createAlphaSampled({startTime:G});const J=(O=x==null?void 0:x.plane)==null?void 0:O.material;J&&(J.color=createAlphaSampled({startTime:G}));const X=getHideAfterFiveMinutesProperty(G);b!=null&&b.billboard&&(b.billboard.show=X),a.point.show=X}a.properties[q]=Z,x!=null&&x.properties&&(x.properties[q]=Z)}}else this.renderFeature(r)}renderEntity(r){var m,y,g,p,v,_,w,O,b;const a=(m=r.properties)==null?void 0:m.getValue(),d=(a==null?void 0:a.shipTypeId)??-1,u=shipTypeColorMap.get(d)??shipTypeColorMap.get(-1),l=Number((a==null?void 0:a.speedOverGround)??0),c=a!=null&&a.updateTime?new Date(a.updateTime):new Date,h=Cesium__namespace.JulianDate.fromDate(c),o=createShipIconUrl(u,l>this.IS_MOVING_THRESHOLD);r.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((g=(y=this.opt)==null?void 0:y.distanceDisplayConditions)==null?void 0:g.far)??15e3),show:getHideAfterFiveMinutesProperty(h)}),r.billboard=new Cesium__namespace.BillboardGraphics({image:o,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.near)??4e3,((w=(_=this.opt)==null?void 0:_.distanceDisplayConditions)==null?void 0:w.far)??15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:h}),rotation:new Cesium__namespace.ConstantProperty((b=(O=r.properties)==null?void 0:O.getValue())!=null&&b.courseOverGroundTrue?-1*r.properties.getValue().courseOverGroundTrue:0)}),this.createShipPlane(r)}renderLabelEntity(r){var h,o,m,y,g,p,v;const a=(h=r.properties)==null?void 0:h.getValue(),d=a!=null&&a.updateTime?new Date(a.updateTime):new Date,u=Cesium__namespace.JulianDate.fromDate(d),l=((m=(o=r.properties)==null?void 0:o.getValue())==null?void 0:m.name)??((y=r.properties)!=null&&y.getValue().mmsi?"mmsi:"+((g=r.properties)==null?void 0:g.getValue().mmsi):"未知"),c=createRoundedRectImage({text:l});r.billboard=new Cesium__namespace.BillboardGraphics({image:new Cesium__namespace.ConstantProperty(c),width:new Cesium__namespace.ConstantProperty(Number(c.style.width.replace("px",""))),height:new Cesium__namespace.ConstantProperty(Number(c.style.height.replace("px",""))),scale:new Cesium__namespace.ConstantProperty(1),pixelOffset:new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(0,-20)),horizontalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.HorizontalOrigin.CENTER),verticalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.VerticalOrigin.CENTER),distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.far)??15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(u)})}createShipPlane(r){var p;const a=new Cesium__namespace.Entity({id:r.id+"_shadow",position:r.position,orientation:r.orientation,properties:r.properties});this.shadowEntityMap.set(r,a),this.db.entities.add(a);const d=(p=r.properties)==null?void 0:p.getValue(),u=d!=null&&d.updateTime?new Date(d.updateTime):new Date,l=Cesium__namespace.JulianDate.fromDate(u),c=Number((d==null?void 0:d.speedOverGround)??0),h=(d==null?void 0:d.designLength)??20,o=(d==null?void 0:d.designBeam)??8,m=(d==null?void 0:d.shipTypeId)??-1,y=shipTypeColorMap.get(m)??shipTypeColorMap.get(-1),g=createShipIconV2({color:y,isMoving:c>this.IS_MOVING_THRESHOLD,...d,designBeam:(d==null?void 0:d.designBeam)??8,designLength:(d==null?void 0:d.designLength)??20});a.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(o*g.scale.x,h*g.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var O,b,x;if(!this._viewer)return!0;const v=this._viewer.clock.currentTime,_=(O=r.position)==null?void 0:O.getValue(v);return _?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,_)<=(((x=(b=this.opt)==null?void 0:b.distanceDisplayConditions)==null?void 0:x.near)??4e3):!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:g.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:l})})})}hideEntityByCondition(r){this.hookFilterEntityFn&&this.off("createEntity",this.hookFilterEntityFn),this.hookFilterEntityFn=a=>{const d=(r==null?void 0:r(a))??!0;a.show=d;const u=this.shadowEntityMap.get(a);u&&(u.show=d);const l=this.labelDataSource.entities.getById(a.id+"_shadow1");l&&(l.show=d)},this.db.entities.values.forEach(a=>{var d;(d=this.hookFilterEntityFn)==null||d.call(this,a)}),r&&this.on("createEntity",this.hookFilterEntityFn)}}Cesium.Color.fromCssColorString("#FC4C02"),Cesium.Color.WHITE,new Cesium.Color,new Array(4);var e$2=[],t$2=[];function n$2(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$2.indexOf(u);l===-1&&(l=e$2.push(u)-1,t$2[l]={}),r=t$2[l]&&t$2[l][a]?t$2[l][a]:t$2[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$2='.cesium-tool-tip{background:rgba(0,0,0,.6);border-radius:4px;color:#fff;left:0;line-height:30px;min-height:30px;min-width:100px;padding:0 10px;pointer-events:none;position:absolute;top:0;visibility:hidden;z-index:-1}.cesium-tool-tip:before{border-bottom:10px solid transparent;border-right:10px solid rgba(0,0,0,.6);border-top:10px solid transparent;content:"";display:block;left:-10px;pointer-events:none;position:absolute;top:calc(50% - 10px)}';n$2(css$2,{}),Cesium.Color.YELLOW,Cesium.Color.YELLOW,Cesium.Color.DARKTURQUOISE.withAlpha(.5),Cesium.Color.BLUE,Cesium.Color.WHITE,Cesium.Color.YELLOW.withAlpha(.5),Cesium.Color.YELLOW.withAlpha(.5),Cesium.Color.WHITE,new Cesium.Color(.165,.165,.165,.8),new Cesium.Cartesian2(4,4),Cesium.LabelStyle.FILL_AND_OUTLINE,new Cesium.Cartesian2(4,0),new Cesium.NearFarScalar(1,.85,8e6,.75),Cesium.HeightReference.CLAMP_TO_GROUND;class Popup{constructor(i,r){j(this,"_position");j(this,"_screenPosition",new Cesium.Cartesian2);j(this,"_element");j(this,"_viewer");j(this,"_options");j(this,"_destroyed",!1);j(this,"_offset");j(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const a=this._viewer.scene.camera.position,d=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(d,a).isPointVisible(this._position)){this.switchElementShow(!1);return}}const i=Cesium.SceneTransforms.worldToWindowCoordinates(this._viewer.scene,this._position),{_element:r}=this;if(r&&i){if(this._screenPosition&&this._screenPosition.x===i.x&&this._screenPosition.y===i.y)return;this.switchElementShow(!0);const a=i.x-r.clientWidth/2+this._offset[0],d=i.y-r.clientHeight+this._offset[1];r.style.left=`${a}px`,r.style.top=`${d}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:a,element:d,offset:u}=r;if(!d)throw Error("no element!");this._position=a?Cesium.Cartesian3.fromDegrees(a[0],a[1],a[2]):null,this._element=d,this._offset=[(u==null?void 0:u[0])??0,(u==null?void 0:u[1])??0],this.addMapListener()}set position(i){if(!i){this.switchElementShow(!1),this._position=null,this._options.position=null;return}this._position=Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]),this._options.position=i,this.setPosition()}get position(){return this._options.position}get destroyed(){return this._destroyed}switchElementShow(i){this._element&&(this._element.style.display=i?"block":"none")}addMapListener(){var i;(i=this._viewer)==null||i.scene.postRender.addEventListener(this.setPosition)}destroy(){this._viewer.isDestroyed()||this._viewer.scene.postRender.removeEventListener(this.setPosition),this.setPosition=void 0,this._destroyed=!0}}var e$1=[],t$1=[];function n$1(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$1.indexOf(u);l===-1&&(l=e$1.push(u)-1,t$1[l]={}),r=t$1[l]&&t$1[l][a]?t$1[l][a]:t$1[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$1=".cesium-compass{cursor:pointer;height:60px;pointer-events:auto;position:absolute;right:15px;top:100px;user-select:none;width:60px}.cesium-compass .out-ring{fill:rgba(23,49,71,.702);background-repeat:no-repeat;background-size:contain;border-radius:50%;height:60px;left:0;position:absolute;top:0;transition:all .3s ease;width:60px}.cesium-compass .out-ring svg{height:60px;width:60px}.cesium-compass:hover .rotation_marker svg{height:70.2px;width:70.2px}.cesium-compass .gyro{align-items:center;background:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:30px;justify-content:center;margin:0 auto;padding:4px;position:relative;text-align:center;top:50%;transform:translateY(-50%);transition:all .3s ease;width:30px}.cesium-compass .gyro svg{height:20px;width:20px}.rotation_marker{background-repeat:no-repeat;background-size:contain;border-radius:50%;position:relative}.rotation_marker svg{height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:60px}.cesium-compass .gyro-active,.cesium-compass .gyro:hover{fill:#68adfe}";n$1(css$1,{});var e=[],t=[];function n(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e.indexOf(u);l===-1&&(l=e.push(u)-1,t[l]={}),r=t[l]&&t[l][a]?t[l][a]:t[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css=".cesium-zoom-controller{border-radius:100px;box-sizing:border-box;display:flex;flex-direction:column;line-height:1.2rem;pointer-events:auto;position:absolute;right:30px;text-align:center;top:187px;user-select:none}.cesium-zoom-controller .refresh,.cesium-zoom-controller .zoom-in,.cesium-zoom-controller .zoom-out{border-radius:14%;margin-bottom:5px}.cesium-zoom-controller .cesium-button{background:#2a2e39;border:none;margin-right:0;transition:all .3s cubic-bezier(.645,.045,.355,1);transition-delay:0s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.645,.045,.355,1)}.cesium-zoom-controller .cesium-button:hover{background:#48b;box-shadow:none}.cesium-zoom-controller .cesium-button:active{fill:#edffff;background:#adf;color:#edffff}.cesium-zoom-controller .cesium-toolbar-button{align-items:center;display:flex;height:30px;justify-content:center;width:30px}";n(css,{});var heatmap$1={exports:{}},heatmap=heatmap$1.exports,hasRequiredHeatmap;function requireHeatmap(){return hasRequiredHeatmap||(hasRequiredHeatmap=1,function(s){(function(i,r,a){s.exports?s.exports=a():r[i]=a()})("h337",heatmap,function(){var i={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},r=function(){var o=function(g){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=g.xField||g.defaultXField,this._yField=g.yField||g.defaultYField,this._valueField=g.valueField||g.defaultValueField,g.radius&&(this._cfgRadius=g.radius)},m=i.defaultRadius;return o.prototype={_organiseData:function(y,g){var p=y[this._xField],v=y[this._yField],_=this._radi,w=this._data,O=this._max,b=this._min,x=y[this._valueField]||1,T=y.radius||this._cfgRadius||m;w[p]||(w[p]=[],_[p]=[]),w[p][v]?w[p][v]+=x:(w[p][v]=x,_[p][v]=T);var E=w[p][v];return E>O?(g?this.setDataMax(E):this._max=E,!1):E<b?(g?this.setDataMin(E):this._min=E,!1):{x:p,y:v,value:x,radius:T,min:b,max:O}},_unOrganizeData:function(){var y=[],g=this._data,p=this._radi;for(var v in g)for(var _ in g[v])y.push({x:v,y:_,radius:p[v][_],value:g[v][_]});return{min:this._min,max:this._max,data:y}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var y=arguments[0],g=y.length;g--;)this.addData.call(this,y[g]);else{var p=this._organiseData(arguments[0],!0);p&&(this._data.length===0&&(this._min=this._max=p.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[p]}))}return this},setData:function(y){var g=y.data,p=g.length;this._data=[],this._radi=[];for(var v=0;v<p;v++)this._organiseData(g[v],!1);return this._max=y.max,this._min=y.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(y){return this._max=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(y){return this._min=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(y){this._coordinator=y},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},o}(),a=function(){var o=function(p){var v=p.gradient||p.defaultGradient,_=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0});_.width=256,_.height=1;var O=w.createLinearGradient(0,0,256,1);for(var b in v)O.addColorStop(b,v[b]);return w.fillStyle=O,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},m=function(p,v){var _=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0}),O=p,b=p;if(_.width=_.height=p*2,v==1)w.beginPath(),w.arc(O,b,p,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var x=w.createRadialGradient(O,b,p*v,O,b,p);x.addColorStop(0,"rgba(0,0,0,1)"),x.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=x,w.fillRect(0,0,2*p,2*p)}return _},y=function(b){for(var v=[],_=b.min,w=b.max,O=b.radi,b=b.data,x=Object.keys(b),T=x.length;T--;)for(var E=x[T],C=Object.keys(b[E]),R=C.length;R--;){var P=C[R],D=b[E][P],A=O[E][P];v.push({x:E,y:P,value:D,radius:A})}return{min:_,max:w,data:v}};function g(p){var v=p.container,_=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=p.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var O=getComputedStyle(p.container)||{};w.className="heatmap-canvas",this._width=w.width=_.width=p.width||+O.width.replace(/px/,""),this._height=w.height=_.height=p.height||+O.height.replace(/px/,""),this.shadowCtx=_.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=_.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=o(p),this._templates={},this._setStyles(p)}return g.prototype={renderPartial:function(p){p.data.length>0&&(this._drawAlpha(p),this._colorize())},renderAll:function(p){this._clear(),p.data.length>0&&(this._drawAlpha(y(p)),this._colorize())},_updateGradient:function(p){this._palette=o(p)},updateConfig:function(p){p.gradient&&this._updateGradient(p),this._setStyles(p)},setDimensions:function(p,v){this._width=p,this._height=v,this.canvas.width=this.shadowCanvas.width=p,this.canvas.height=this.shadowCanvas.height=v},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(p){this._blur=p.blur==0?0:p.blur||p.defaultBlur,p.backgroundColor&&(this.canvas.style.backgroundColor=p.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=p.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=p.height||this._height,this._opacity=(p.opacity||0)*255,this._maxOpacity=(p.maxOpacity||p.defaultMaxOpacity)*255,this._minOpacity=(p.minOpacity||p.defaultMinOpacity)*255,this._useGradientOpacity=!!p.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,_=this._max=w.max,w=w.data||[],O=w.length,b=1-this._blur;O--;){var x=w[O],T=x.x,E=x.y,C=x.radius,R=Math.min(x.value,_),P=T-C,D=E-C,A=this.shadowCtx,I;this._templates[C]?I=this._templates[C]:this._templates[C]=I=m(C,b);var $=(R-v)/(_-v);A.globalAlpha=$<.01?.01:$,A.drawImage(I,P,D),P<this._renderBoundaries[0]&&(this._renderBoundaries[0]=P),D<this._renderBoundaries[1]&&(this._renderBoundaries[1]=D),P+2*C>this._renderBoundaries[2]&&(this._renderBoundaries[2]=P+2*C),D+2*C>this._renderBoundaries[3]&&(this._renderBoundaries[3]=D+2*C)}},_colorize:function(){var p=this._renderBoundaries[0],v=this._renderBoundaries[1],_=this._renderBoundaries[2]-p,w=this._renderBoundaries[3]-v,O=this._width,b=this._height,x=this._opacity,T=this._maxOpacity,E=this._minOpacity,C=this._useGradientOpacity;p<0&&(p=0),v<0&&(v=0),p+_>O&&(_=O-p),v+w>b&&(w=b-v);for(var R=this.shadowCtx.getImageData(p,v,_,w),P=R.data,D=P.length,A=this._palette,I=3;I<D;I+=4){var $=P[I],F=$*4;if(F){var q;x>0?q=x:$<T?$<E?q=E:q=$:q=T,P[I-3]=A[F],P[I-2]=A[F+1],P[I-1]=A[F+2],P[I]=C?A[F+3]:q}}this.ctx.putImageData(R,p,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(p){var v,_=this.shadowCtx,w=_.getImageData(p.x,p.y,1,1),O=w.data[3],b=this._max,x=this._min;return v=Math.abs(b-x)*(O/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),d=function(){var o=!1;return i.defaultRenderer==="canvas2d"&&(o=a),o}(),u={merge:function(){for(var h={},o=arguments.length,m=0;m<o;m++){var y=arguments[m];for(var g in y)h[g]=y[g]}return h}},l=function(){var o=function(){function p(){this.cStore={}}return p.prototype={on:function(v,_,w){var O=this.cStore;O[v]||(O[v]=[]),O[v].push(function(b){return _.call(w,b)})},emit:function(v,_){var w=this.cStore;if(w[v])for(var O=w[v].length,b=0;b<O;b++){var x=w[v][b];x(_)}}},p}(),m=function(g){var p=g._renderer,v=g._coordinator,_=g._store;v.on("renderpartial",p.renderPartial,p),v.on("renderall",p.renderAll,p),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),_.setCoordinator(v)};function y(){var g=this._config=u.merge(i,arguments[0]||{});if(this._coordinator=new o,g.plugin){var p=g.plugin;if(i.plugins[p]){var v=i.plugins[p];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+p+"' not found. Maybe it was not registered.")}else this._renderer=new d(g),this._store=new r(g);m(this)}return y.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(g){return this._config=u.merge(this._config,g),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(g){return this._store.getValueAt?this._store.getValueAt(g):this._renderer.getValueAt?this._renderer.getValueAt(g):null}},y}(),c={create:function(h){return new l(h)},register:function(h,o){i.plugins[h]=o}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const H=class H extends EventEmitter{constructor(){super();j(this,"popupMap",new Map)}static getInstance(){return H.instance||(H.instance=new H),H.instance}popup(r){var c;const a=r.element;a.style.position="absolute";const d=r.viewer.container,u=()=>{l&&(l.destroy(),d.removeChild(a),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};d.appendChild(a),this.emit("onMount",r.id),(c=this.popupMap.get(r.id))==null||c.destroy();const l=new Popup(r.viewer,{position:r.position,offset:r.offset??[0,0],element:a});this.popupMap.set(r.id,{popup:l,destroy:u})}close(r){const a=this.popupMap.get(r);a&&(a.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};j(H,"instance",null);let PopupCtrl=H;function saveCameraParams(s){const i=s.camera;return{position:i.position,direction:i.direction,up:i.up,right:i.right,transform:i.transform}}function flyToCameraParams(s,i,r=1){s.camera.flyTo({destination:i.position,orientation:{direction:i.direction,up:i.up,right:i.right},duration:r})}const memoizeMap=new WeakMap;function ListenLeftClick(s){if(memoizeMap.has(s))return memoizeMap.get(s);const i=new EventEmitter;return new Cesium__namespace.ScreenSpaceEventHandler(s.scene.canvas).setInputAction(a=>{i.emit("click",a)},Cesium__namespace.ScreenSpaceEventType.LEFT_CLICK),memoizeMap.set(s,i),i}exports.ListenLeftClick=ListenLeftClick,exports.PopupCtrl=PopupCtrl,exports.ShipLayer=ShipLayer,exports.WmsLayer=WmsLayer,exports.WmsLayerController=WmsLayerController,exports.createTdtProvider=createTdtProvider,exports.createTdtTerrain=createTdtTerrain,exports.flyToCameraParams=flyToCameraParams,exports.invertToCanvas=invertToCanvas,exports.saveCameraParams=saveCameraParams,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
77
+ </svg>`;return{url:URL.createObjectURL(new Blob([_],{type:"image/svg+xml"})),viewBox:p,scale:v}},s=>`${s.color},${s.isMoving},${s.designBeam??0},${s.designLength??0},${s.aisFromBow??0},${s.aisFromCenter??0}`),shipTypeColorMap=new Map([[-1,"#00FF00"],[70,"#95B3D7"],[37,"#00FF00"],[50,"#366092"],[51,"#366092"],[52,"#366092"],[53,"#366092"],[54,"#366092"],[55,"#366092"],[56,"#366092"],[57,"#366092"],[58,"#366092"],[59,"#366092"],[80,"red"],[81,"red"],[82,"red"],[83,"red"],[84,"red"],[85,"red"],[86,"red"],[87,"red"],[88,"red"],[89,"red"]]);function createAlphaSampled(s){const i=new Cesium__namespace.SampledProperty(Cesium__namespace.Color),r=(s==null?void 0:s.startTime)??Cesium__namespace.JulianDate.now(),a=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),d=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),u=Cesium__namespace.JulianDate.fromIso8601("2100-01-01T00:00:00Z"),l=(s==null?void 0:s.color)??Cesium__namespace.Color.WHITE;return i.addSample(r,l.withAlpha(1)),i.addSample(a,l.withAlpha(1)),i.addSample(d,l.withAlpha(.2)),i.addSample(u,l.withAlpha(.1)),i}function getHideAfterFiveMinutesProperty(s){const i=s??Cesium__namespace.JulianDate.now(),r=Cesium__namespace.JulianDate.addMinutes(i,5,new Cesium__namespace.JulianDate);return new Cesium__namespace.CallbackProperty(a=>a?Cesium__namespace.JulianDate.lessThan(a,r):!0,!1)}function createRoundedRectImage({text:s="未知",fill:i="#5582DF",stroke:r="#FFFFFF",strokeWidth:a=2,textColor:d="#FFFFFF",fontFamily:u="微软雅黑, Segoe UI, Helvetica, Arial, sans-serif",fontWeight:l="normal",fontSize:c=12,padding:h=6,radius:o=5}={}){const m=Math.max(0,s.length*c*.6+h*2),y=c*1.6,g=2,p=Math.ceil(a/2)+1,v=m+p*2,_=y+p*2,w=document.createElement("canvas");w.width=Math.round(v*g),w.height=Math.round(_*g),w.style.width=`${v}px`,w.style.height=`${_}px`;const O=w.getContext("2d");if(!O)throw new Error("无法获取2D绘图上下文");O.scale(g,g),O.clearRect(0,0,v,_),O.lineJoin="round",O.lineCap="round";const b=p,x=p,T=v-p,E=_-p,C=T-b,R=E-x,P=Math.min(o,Math.min(C,R)/2);O.beginPath(),O.moveTo(b+P,x),O.lineTo(T-P,x),O.quadraticCurveTo(T,x,T,x+P),O.lineTo(T,E-P),O.quadraticCurveTo(T,E,T-P,E),O.lineTo(b+P,E),O.quadraticCurveTo(b,E,b,E-P),O.lineTo(b,x+P),O.quadraticCurveTo(b,x,b+P,x),O.closePath(),i&&i!=="transparent"&&(O.fillStyle=i,O.fill()),O.lineWidth=a,O.strokeStyle=r,O.stroke();const D=Math.max(0,m-h*2);let A=c;for(O.fillStyle=d,O.textAlign="center",O.textBaseline="middle",O.font=`${l} ${A}px ${u}`;O.measureText(s).width>D&&A>10;)A-=1,O.font=`${l} ${A}px ${u}`;return O.fillText(s,v/2,_/2+1),w}function hookClusterEvent(s){s.clustering.clusterEvent.addEventListener((r,a)=>{const d=r[0],u=d.billboard,l=d.label,c=d.point;a.label.show=!1,a.point.show=!1,u&&(a.billboard=Cesium__namespace.clone(u)),l&&(a.label=Cesium__namespace.clone(l)),c?a.point=Cesium__namespace.clone(c):(a.billboard.show=!0,a.billboard.image=Cesium__namespace.buildModuleUrl("Widgets/Images/clusterIcon.png"))})}class ShipLayer extends EventEmitter{constructor(r,a,d){var u,l,c;super();j(this,"db");j(this,"labelDataSource",new Cesium__namespace.CustomDataSource("ship-labels"));j(this,"isMounted",!1);j(this,"_viewer",null);j(this,"entityMap",new Map);j(this,"IS_MOVING_THRESHOLD",1);j(this,"shadowEntityMap",new WeakMap);j(this,"hookFilterEntityFn");this.key=r,this.zIndex=a,this.opt=d,this.db=new Cesium__namespace.CustomDataSource(r),this.labelDataSource.clustering.enabled=((u=d==null?void 0:d.clustering)==null?void 0:u.enabled)??!0,this.labelDataSource.clustering.pixelRange=((l=d==null?void 0:d.clustering)==null?void 0:l.pixelRange)??15,this.labelDataSource.clustering.minimumClusterSize=((c=d==null?void 0:d.clustering)==null?void 0:c.minimumClusterSize)??2,hookClusterEvent(this.labelDataSource)}show(r){this.isMounted||(r.dataSources.add(this.db),r.dataSources.add(this.labelDataSource),this._viewer=r,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1,this.labelDataSource.show=!1)}contain(r){const a=r.id.replace(/_shadow\d*$/,"");return this.entityMap.has(a)}render(r){r.features.forEach(a=>{this.renderFeature(a)})}getIdByFeature(r){var d;const a=String(((d=r.properties)==null?void 0:d.mmsi)??r.id);if(!a)throw new Error("feature必须有mmsi或id");return"ship_mmsi_"+a}renderFeature(r){var o,m;const a=this.getIdByFeature(r),d=new Cesium__namespace.SampledPositionProperty;d.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,d.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const u=Cesium__namespace.Cartesian3.fromDegrees(r.geometry.coordinates[0],r.geometry.coordinates[1]);d.addSample(((o=this._viewer)==null?void 0:o.clock.currentTime)??Cesium__namespace.JulianDate.now(),u);const l=((m=r.properties)==null?void 0:m.courseOverGroundTrue)??0,c=new Cesium__namespace.Entity({id:a,position:d,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(u,new Cesium__namespace.HeadingPitchRoll(l,0,0))),properties:r.properties??{}});this.entityMap.set(a,c),this.db.entities.add(c),this.renderEntity(c);const h=new Cesium__namespace.Entity({id:a+"_shadow1",position:d,properties:r.properties??{}});this.labelDataSource.entities.add(h),this.renderLabelEntity(h),this.emit("createEntity",c)}update(r){var d,u,l,c,h,o,m,y,g,p,v,_,w,O;const a=this.db.entities.getById(this.getIdByFeature(r));if(a){const b=this.labelDataSource.entities.getById(a.id+"_shadow1"),x=this.shadowEntityMap.get(a),T=((d=r.properties)==null?void 0:d.shipTypeId)??-1,E=shipTypeColorMap.get(T)??shipTypeColorMap.get(-1),[C,R]=r.geometry.coordinates,P=((u=this._viewer)==null?void 0:u.clock.currentTime)??Cesium__namespace.JulianDate.now(),D=(l=a.position)==null?void 0:l.getValue(P),A=Cesium__namespace.Cartesian3.fromDegrees(C,R),I=new Cesium__namespace.SampledPositionProperty;I.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,I.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const $=(c=a.properties)==null?void 0:c.getValue().updateTime,F=(h=r.properties)==null?void 0:h.updateTime;if($&&F&&new Date(F).getTime()-new Date($).getTime()>=3*1e3*60)I.addSample(P,A);else{const q=Cesium__namespace.JulianDate.addSeconds(P,3,new Cesium__namespace.JulianDate);I.addSample(Cesium__namespace.JulianDate.addSeconds(P,1,new Cesium__namespace.JulianDate),D??A),I.addSample(q,A)}if(a.position=I,x&&(x.position=I),b&&(b.position=I),a.properties)for(const[q,Z]of Object.entries(r.properties??{})){if(q=="speedOverGround"){const G=a.properties.getValue().speedOverGround??0,J=Number(G)>this.IS_MOVING_THRESHOLD,X=Number(Z)>this.IS_MOVING_THRESHOLD;if(J!==X&&(a.billboard&&(a.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(E,X))),x!=null&&x.plane)){const ee=((o=r.properties)==null?void 0:o.designBeam)??((y=(m=this.opt)==null?void 0:m.defaultValue)==null?void 0:y.designBeam)??12,V=((g=r.properties)==null?void 0:g.designLength)??((v=(p=this.opt)==null?void 0:p.defaultValue)==null?void 0:v.designLength)??35,K=createShipIconV2({color:E,isMoving:X,...r.properties,designBeam:ee,designLength:V}),Q=(_=x.plane)==null?void 0:_.material;Q&&(Q.image=new Cesium__namespace.ConstantProperty(K.url),x.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(ee*K.scale.x,V*K.scale.y))),x.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(ee*K.scale.x,V*K.scale.y),!0)}}if(q=="courseOverGroundTrue"){const G=((w=r.properties)==null?void 0:w.courseOverGroundTrue)??0;a.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof Z=="number"?-1*Z:0);const J=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(A,new Cesium__namespace.HeadingPitchRoll(G,0,0)));x&&(x.orientation=J)}if(q=="updateTime"){const G=Cesium__namespace.JulianDate.fromDate(new Date(Z));a.billboard.color=createAlphaSampled({startTime:G});const J=(O=x==null?void 0:x.plane)==null?void 0:O.material;J&&(J.color=createAlphaSampled({startTime:G}));const X=getHideAfterFiveMinutesProperty(G);b!=null&&b.billboard&&(b.billboard.show=X),a.point.show=X}a.properties[q]=Z,x!=null&&x.properties&&(x.properties[q]=Z)}}else this.renderFeature(r)}renderEntity(r){var m,y,g,p,v,_,w,O,b;const a=(m=r.properties)==null?void 0:m.getValue(),d=(a==null?void 0:a.shipTypeId)??-1,u=shipTypeColorMap.get(d)??shipTypeColorMap.get(-1),l=Number((a==null?void 0:a.speedOverGround)??0),c=a!=null&&a.updateTime?new Date(a.updateTime):new Date,h=Cesium__namespace.JulianDate.fromDate(c),o=createShipIconUrl(u,l>this.IS_MOVING_THRESHOLD);r.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((g=(y=this.opt)==null?void 0:y.distanceDisplayConditions)==null?void 0:g.far)??15e3),show:getHideAfterFiveMinutesProperty(h)}),r.billboard=new Cesium__namespace.BillboardGraphics({image:o,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.near)??4e3,((w=(_=this.opt)==null?void 0:_.distanceDisplayConditions)==null?void 0:w.far)??15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:h}),rotation:new Cesium__namespace.ConstantProperty((b=(O=r.properties)==null?void 0:O.getValue())!=null&&b.courseOverGroundTrue?-1*r.properties.getValue().courseOverGroundTrue:0)}),this.createShipPlane(r)}renderLabelEntity(r){var h,o,m,y,g,p,v;const a=(h=r.properties)==null?void 0:h.getValue(),d=a!=null&&a.updateTime?new Date(a.updateTime):new Date,u=Cesium__namespace.JulianDate.fromDate(d),l=((m=(o=r.properties)==null?void 0:o.getValue())==null?void 0:m.name)??((y=r.properties)!=null&&y.getValue().mmsi?"mmsi:"+((g=r.properties)==null?void 0:g.getValue().mmsi):"未知"),c=createRoundedRectImage({text:l});r.billboard=new Cesium__namespace.BillboardGraphics({image:new Cesium__namespace.ConstantProperty(c),width:new Cesium__namespace.ConstantProperty(Number(c.style.width.replace("px",""))),height:new Cesium__namespace.ConstantProperty(Number(c.style.height.replace("px",""))),scale:new Cesium__namespace.ConstantProperty(1),pixelOffset:new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(0,-20)),horizontalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.HorizontalOrigin.CENTER),verticalOrigin:new Cesium__namespace.ConstantProperty(Cesium__namespace.VerticalOrigin.CENTER),distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,((v=(p=this.opt)==null?void 0:p.distanceDisplayConditions)==null?void 0:v.far)??15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(u)})}createShipPlane(r){var p,v,_,w,O;const a=new Cesium__namespace.Entity({id:r.id+"_shadow",position:r.position,orientation:r.orientation,properties:r.properties});this.shadowEntityMap.set(r,a),this.db.entities.add(a);const d=(p=r.properties)==null?void 0:p.getValue(),u=d!=null&&d.updateTime?new Date(d.updateTime):new Date,l=Cesium__namespace.JulianDate.fromDate(u),c=Number((d==null?void 0:d.speedOverGround)??0),h=(d==null?void 0:d.designBeam)??((_=(v=this.opt)==null?void 0:v.defaultValue)==null?void 0:_.designBeam)??12,o=(d==null?void 0:d.designLength)??((O=(w=this.opt)==null?void 0:w.defaultValue)==null?void 0:O.designLength)??35,m=(d==null?void 0:d.shipTypeId)??-1,y=shipTypeColorMap.get(m)??shipTypeColorMap.get(-1),g=createShipIconV2({color:y,isMoving:c>this.IS_MOVING_THRESHOLD,...d,designBeam:h,designLength:o});a.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(h*g.scale.x,o*g.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var E,C,R;if(!this._viewer)return!0;const b=this._viewer.clock.currentTime,x=(E=r.position)==null?void 0:E.getValue(b);return x?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,x)<=(((R=(C=this.opt)==null?void 0:C.distanceDisplayConditions)==null?void 0:R.near)??4e3):!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:g.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:l})})})}hideEntityByCondition(r){this.hookFilterEntityFn&&this.off("createEntity",this.hookFilterEntityFn),this.hookFilterEntityFn=a=>{const d=(r==null?void 0:r(a))??!0;a.show=d;const u=this.shadowEntityMap.get(a);u&&(u.show=d);const l=this.labelDataSource.entities.getById(a.id+"_shadow1");l&&(l.show=d)},this.db.entities.values.forEach(a=>{var d;(d=this.hookFilterEntityFn)==null||d.call(this,a)}),r&&this.on("createEntity",this.hookFilterEntityFn)}}Cesium.Color.fromCssColorString("#FC4C02"),Cesium.Color.WHITE,new Cesium.Color,new Array(4);var e$2=[],t$2=[];function n$2(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$2.indexOf(u);l===-1&&(l=e$2.push(u)-1,t$2[l]={}),r=t$2[l]&&t$2[l][a]?t$2[l][a]:t$2[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$2='.cesium-tool-tip{background:rgba(0,0,0,.6);border-radius:4px;color:#fff;left:0;line-height:30px;min-height:30px;min-width:100px;padding:0 10px;pointer-events:none;position:absolute;top:0;visibility:hidden;z-index:-1}.cesium-tool-tip:before{border-bottom:10px solid transparent;border-right:10px solid rgba(0,0,0,.6);border-top:10px solid transparent;content:"";display:block;left:-10px;pointer-events:none;position:absolute;top:calc(50% - 10px)}';n$2(css$2,{}),Cesium.Color.YELLOW,Cesium.Color.YELLOW,Cesium.Color.DARKTURQUOISE.withAlpha(.5),Cesium.Color.BLUE,Cesium.Color.WHITE,Cesium.Color.YELLOW.withAlpha(.5),Cesium.Color.YELLOW.withAlpha(.5),Cesium.Color.WHITE,new Cesium.Color(.165,.165,.165,.8),new Cesium.Cartesian2(4,4),Cesium.LabelStyle.FILL_AND_OUTLINE,new Cesium.Cartesian2(4,0),new Cesium.NearFarScalar(1,.85,8e6,.75),Cesium.HeightReference.CLAMP_TO_GROUND;class Popup{constructor(i,r){j(this,"_position");j(this,"_screenPosition",new Cesium.Cartesian2);j(this,"_element");j(this,"_viewer");j(this,"_options");j(this,"_destroyed",!1);j(this,"_offset");j(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const a=this._viewer.scene.camera.position,d=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(d,a).isPointVisible(this._position)){this.switchElementShow(!1);return}}const i=Cesium.SceneTransforms.worldToWindowCoordinates(this._viewer.scene,this._position),{_element:r}=this;if(r&&i){if(this._screenPosition&&this._screenPosition.x===i.x&&this._screenPosition.y===i.y)return;this.switchElementShow(!0);const a=i.x-r.clientWidth/2+this._offset[0],d=i.y-r.clientHeight+this._offset[1];r.style.left=`${a}px`,r.style.top=`${d}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:a,element:d,offset:u}=r;if(!d)throw Error("no element!");this._position=a?Cesium.Cartesian3.fromDegrees(a[0],a[1],a[2]):null,this._element=d,this._offset=[(u==null?void 0:u[0])??0,(u==null?void 0:u[1])??0],this.addMapListener()}set position(i){if(!i){this.switchElementShow(!1),this._position=null,this._options.position=null;return}this._position=Cesium.Cartesian3.fromDegrees(i[0],i[1],i[2]),this._options.position=i,this.setPosition()}get position(){return this._options.position}get destroyed(){return this._destroyed}switchElementShow(i){this._element&&(this._element.style.display=i?"block":"none")}addMapListener(){var i;(i=this._viewer)==null||i.scene.postRender.addEventListener(this.setPosition)}destroy(){this._viewer.isDestroyed()||this._viewer.scene.postRender.removeEventListener(this.setPosition),this.setPosition=void 0,this._destroyed=!0}}var e$1=[],t$1=[];function n$1(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e$1.indexOf(u);l===-1&&(l=e$1.push(u)-1,t$1[l]={}),r=t$1[l]&&t$1[l][a]?t$1[l][a]:t$1[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css$1=".cesium-compass{cursor:pointer;height:60px;pointer-events:auto;position:absolute;right:15px;top:100px;user-select:none;width:60px}.cesium-compass .out-ring{fill:rgba(23,49,71,.702);background-repeat:no-repeat;background-size:contain;border-radius:50%;height:60px;left:0;position:absolute;top:0;transition:all .3s ease;width:60px}.cesium-compass .out-ring svg{height:60px;width:60px}.cesium-compass:hover .rotation_marker svg{height:70.2px;width:70.2px}.cesium-compass .gyro{align-items:center;background:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:30px;justify-content:center;margin:0 auto;padding:4px;position:relative;text-align:center;top:50%;transform:translateY(-50%);transition:all .3s ease;width:30px}.cesium-compass .gyro svg{height:20px;width:20px}.rotation_marker{background-repeat:no-repeat;background-size:contain;border-radius:50%;position:relative}.rotation_marker svg{height:60px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:60px}.cesium-compass .gyro-active,.cesium-compass .gyro:hover{fill:#68adfe}";n$1(css$1,{});var e=[],t=[];function n(s,i){if(s&&typeof document<"u"){var r,a=i.prepend===!0?"prepend":"append",d=i.singleTag===!0,u=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(d){var l=e.indexOf(u);l===-1&&(l=e.push(u)-1,t[l]={}),r=t[l]&&t[l][a]?t[l][a]:t[l][a]=c()}else r=c();s.charCodeAt(0)===65279&&(s=s.substring(1)),r.styleSheet?r.styleSheet.cssText+=s:r.appendChild(document.createTextNode(s))}function c(){var h=document.createElement("style");if(h.setAttribute("type","text/css"),i.attributes)for(var o=Object.keys(i.attributes),m=0;m<o.length;m++)h.setAttribute(o[m],i.attributes[o[m]]);var y=a==="prepend"?"afterbegin":"beforeend";return u.insertAdjacentElement(y,h),h}}var css=".cesium-zoom-controller{border-radius:100px;box-sizing:border-box;display:flex;flex-direction:column;line-height:1.2rem;pointer-events:auto;position:absolute;right:30px;text-align:center;top:187px;user-select:none}.cesium-zoom-controller .refresh,.cesium-zoom-controller .zoom-in,.cesium-zoom-controller .zoom-out{border-radius:14%;margin-bottom:5px}.cesium-zoom-controller .cesium-button{background:#2a2e39;border:none;margin-right:0;transition:all .3s cubic-bezier(.645,.045,.355,1);transition-delay:0s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.645,.045,.355,1)}.cesium-zoom-controller .cesium-button:hover{background:#48b;box-shadow:none}.cesium-zoom-controller .cesium-button:active{fill:#edffff;background:#adf;color:#edffff}.cesium-zoom-controller .cesium-toolbar-button{align-items:center;display:flex;height:30px;justify-content:center;width:30px}";n(css,{});var heatmap$1={exports:{}},heatmap=heatmap$1.exports,hasRequiredHeatmap;function requireHeatmap(){return hasRequiredHeatmap||(hasRequiredHeatmap=1,function(s){(function(i,r,a){s.exports?s.exports=a():r[i]=a()})("h337",heatmap,function(){var i={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},r=function(){var o=function(g){this._coordinator={},this._data=[],this._radi=[],this._min=10,this._max=1,this._xField=g.xField||g.defaultXField,this._yField=g.yField||g.defaultYField,this._valueField=g.valueField||g.defaultValueField,g.radius&&(this._cfgRadius=g.radius)},m=i.defaultRadius;return o.prototype={_organiseData:function(y,g){var p=y[this._xField],v=y[this._yField],_=this._radi,w=this._data,O=this._max,b=this._min,x=y[this._valueField]||1,T=y.radius||this._cfgRadius||m;w[p]||(w[p]=[],_[p]=[]),w[p][v]?w[p][v]+=x:(w[p][v]=x,_[p][v]=T);var E=w[p][v];return E>O?(g?this.setDataMax(E):this._max=E,!1):E<b?(g?this.setDataMin(E):this._min=E,!1):{x:p,y:v,value:x,radius:T,min:b,max:O}},_unOrganizeData:function(){var y=[],g=this._data,p=this._radi;for(var v in g)for(var _ in g[v])y.push({x:v,y:_,radius:p[v][_],value:g[v][_]});return{min:this._min,max:this._max,data:y}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0)for(var y=arguments[0],g=y.length;g--;)this.addData.call(this,y[g]);else{var p=this._organiseData(arguments[0],!0);p&&(this._data.length===0&&(this._min=this._max=p.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[p]}))}return this},setData:function(y){var g=y.data,p=g.length;this._data=[],this._radi=[];for(var v=0;v<p;v++)this._organiseData(g[v],!1);return this._max=y.max,this._min=y.min||0,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},removeData:function(){},setDataMax:function(y){return this._max=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setDataMin:function(y){return this._min=y,this._onExtremaChange(),this._coordinator.emit("renderall",this._getInternalData()),this},setCoordinator:function(y){this._coordinator=y},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}},o}(),a=function(){var o=function(p){var v=p.gradient||p.defaultGradient,_=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0});_.width=256,_.height=1;var O=w.createLinearGradient(0,0,256,1);for(var b in v)O.addColorStop(b,v[b]);return w.fillStyle=O,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},m=function(p,v){var _=document.createElement("canvas"),w=_.getContext("2d",{willReadFrequently:!0}),O=p,b=p;if(_.width=_.height=p*2,v==1)w.beginPath(),w.arc(O,b,p,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var x=w.createRadialGradient(O,b,p*v,O,b,p);x.addColorStop(0,"rgba(0,0,0,1)"),x.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=x,w.fillRect(0,0,2*p,2*p)}return _},y=function(b){for(var v=[],_=b.min,w=b.max,O=b.radi,b=b.data,x=Object.keys(b),T=x.length;T--;)for(var E=x[T],C=Object.keys(b[E]),R=C.length;R--;){var P=C[R],D=b[E][P],A=O[E][P];v.push({x:E,y:P,value:D,radius:A})}return{min:_,max:w,data:v}};function g(p){var v=p.container,_=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=p.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var O=getComputedStyle(p.container)||{};w.className="heatmap-canvas",this._width=w.width=_.width=p.width||+O.width.replace(/px/,""),this._height=w.height=_.height=p.height||+O.height.replace(/px/,""),this.shadowCtx=_.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=_.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=o(p),this._templates={},this._setStyles(p)}return g.prototype={renderPartial:function(p){p.data.length>0&&(this._drawAlpha(p),this._colorize())},renderAll:function(p){this._clear(),p.data.length>0&&(this._drawAlpha(y(p)),this._colorize())},_updateGradient:function(p){this._palette=o(p)},updateConfig:function(p){p.gradient&&this._updateGradient(p),this._setStyles(p)},setDimensions:function(p,v){this._width=p,this._height=v,this.canvas.width=this.shadowCanvas.width=p,this.canvas.height=this.shadowCanvas.height=v},_clear:function(){this.shadowCtx.clearRect(0,0,this._width,this._height),this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(p){this._blur=p.blur==0?0:p.blur||p.defaultBlur,p.backgroundColor&&(this.canvas.style.backgroundColor=p.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=p.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=p.height||this._height,this._opacity=(p.opacity||0)*255,this._maxOpacity=(p.maxOpacity||p.defaultMaxOpacity)*255,this._minOpacity=(p.minOpacity||p.defaultMinOpacity)*255,this._useGradientOpacity=!!p.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,_=this._max=w.max,w=w.data||[],O=w.length,b=1-this._blur;O--;){var x=w[O],T=x.x,E=x.y,C=x.radius,R=Math.min(x.value,_),P=T-C,D=E-C,A=this.shadowCtx,I;this._templates[C]?I=this._templates[C]:this._templates[C]=I=m(C,b);var $=(R-v)/(_-v);A.globalAlpha=$<.01?.01:$,A.drawImage(I,P,D),P<this._renderBoundaries[0]&&(this._renderBoundaries[0]=P),D<this._renderBoundaries[1]&&(this._renderBoundaries[1]=D),P+2*C>this._renderBoundaries[2]&&(this._renderBoundaries[2]=P+2*C),D+2*C>this._renderBoundaries[3]&&(this._renderBoundaries[3]=D+2*C)}},_colorize:function(){var p=this._renderBoundaries[0],v=this._renderBoundaries[1],_=this._renderBoundaries[2]-p,w=this._renderBoundaries[3]-v,O=this._width,b=this._height,x=this._opacity,T=this._maxOpacity,E=this._minOpacity,C=this._useGradientOpacity;p<0&&(p=0),v<0&&(v=0),p+_>O&&(_=O-p),v+w>b&&(w=b-v);for(var R=this.shadowCtx.getImageData(p,v,_,w),P=R.data,D=P.length,A=this._palette,I=3;I<D;I+=4){var $=P[I],F=$*4;if(F){var q;x>0?q=x:$<T?$<E?q=E:q=$:q=T,P[I-3]=A[F],P[I-2]=A[F+1],P[I-1]=A[F+2],P[I]=C?A[F+3]:q}}this.ctx.putImageData(R,p,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(p){var v,_=this.shadowCtx,w=_.getImageData(p.x,p.y,1,1),O=w.data[3],b=this._max,x=this._min;return v=Math.abs(b-x)*(O/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),d=function(){var o=!1;return i.defaultRenderer==="canvas2d"&&(o=a),o}(),u={merge:function(){for(var h={},o=arguments.length,m=0;m<o;m++){var y=arguments[m];for(var g in y)h[g]=y[g]}return h}},l=function(){var o=function(){function p(){this.cStore={}}return p.prototype={on:function(v,_,w){var O=this.cStore;O[v]||(O[v]=[]),O[v].push(function(b){return _.call(w,b)})},emit:function(v,_){var w=this.cStore;if(w[v])for(var O=w[v].length,b=0;b<O;b++){var x=w[v][b];x(_)}}},p}(),m=function(g){var p=g._renderer,v=g._coordinator,_=g._store;v.on("renderpartial",p.renderPartial,p),v.on("renderall",p.renderAll,p),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),_.setCoordinator(v)};function y(){var g=this._config=u.merge(i,arguments[0]||{});if(this._coordinator=new o,g.plugin){var p=g.plugin;if(i.plugins[p]){var v=i.plugins[p];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+p+"' not found. Maybe it was not registered.")}else this._renderer=new d(g),this._store=new r(g);m(this)}return y.prototype={addData:function(){return this._store.addData.apply(this._store,arguments),this},removeData:function(){return this._store.removeData&&this._store.removeData.apply(this._store,arguments),this},setData:function(){return this._store.setData.apply(this._store,arguments),this},setDataMax:function(){return this._store.setDataMax.apply(this._store,arguments),this},setDataMin:function(){return this._store.setDataMin.apply(this._store,arguments),this},configure:function(g){return this._config=u.merge(this._config,g),this._renderer.updateConfig(this._config),this._coordinator.emit("renderall",this._store._getInternalData()),this},repaint:function(){return this._coordinator.emit("renderall",this._store._getInternalData()),this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(g){return this._store.getValueAt?this._store.getValueAt(g):this._renderer.getValueAt?this._renderer.getValueAt(g):null}},y}(),c={create:function(h){return new l(h)},register:function(h,o){i.plugins[h]=o}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const H=class H extends EventEmitter{constructor(){super();j(this,"popupMap",new Map)}static getInstance(){return H.instance||(H.instance=new H),H.instance}popup(r){var c;const a=r.element;a.style.position="absolute";const d=r.viewer.container,u=()=>{l&&(l.destroy(),d.removeChild(a),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};d.appendChild(a),this.emit("onMount",r.id),(c=this.popupMap.get(r.id))==null||c.destroy();const l=new Popup(r.viewer,{position:r.position,offset:r.offset??[0,0],element:a});this.popupMap.set(r.id,{popup:l,destroy:u})}close(r){const a=this.popupMap.get(r);a&&(a.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};j(H,"instance",null);let PopupCtrl=H;function saveCameraParams(s){const i=s.camera;return{position:i.position,direction:i.direction,up:i.up,right:i.right,transform:i.transform}}function flyToCameraParams(s,i,r=1){s.camera.flyTo({destination:i.position,orientation:{direction:i.direction,up:i.up,right:i.right},duration:r})}const memoizeMap=new WeakMap;function ListenLeftClick(s){if(memoizeMap.has(s))return memoizeMap.get(s);const i=new EventEmitter;return new Cesium__namespace.ScreenSpaceEventHandler(s.scene.canvas).setInputAction(a=>{i.emit("click",a)},Cesium__namespace.ScreenSpaceEventType.LEFT_CLICK),memoizeMap.set(s,i),i}exports.ListenLeftClick=ListenLeftClick,exports.PopupCtrl=PopupCtrl,exports.ShipLayer=ShipLayer,exports.WmsLayer=WmsLayer,exports.WmsLayerController=WmsLayerController,exports.createTdtProvider=createTdtProvider,exports.createTdtTerrain=createTdtTerrain,exports.flyToCameraParams=flyToCameraParams,exports.invertToCanvas=invertToCanvas,exports.saveCameraParams=saveCameraParams,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@poor-knight/cesium-utils",
3
- "version": "0.4.6",
3
+ "version": "0.4.8",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {