@poor-knight/cesium-utils 0.3.4 → 0.3.6

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="${p}"/>
75
75
  </g>
76
76
  <image id="img_1" width="${i}" height="${146/124*i}" transform="translate(${-i/2+u.x} ${u.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+bquUvsUZNYatdro/9p5DT3XV+vdzoL2w8mAvxQ5myYOV8Nd+3Xbcc/FMMi8YHVThcnWP6PpKEj/RzqxN6sVFFhZcLLTpr5emWLY9bKEdOz7y+sr7jnYHdlsK1id502cpiboFmRvdP0f6doM36yAt86nbRI2VZNDOhKNC4E2d2RwZHFd3w/0SNGWeQh/T5LEcP3LekZ/Ibj2D2zAddIOtu2lYVhBe46m0zMM3LSH+Du5a48dIIsR7djEYZh6nrk9+hnoQKOI/jx7hsNiItwyBFrYNLUSw5xipRiIjuoQK2I+Ec7FwjROPdNAugSXtb6wn4VrgC/0DXTD29BL0l4AywXAC7z7CUemcVGWguepl3j2duu4fgDtRNeonkE/lGPbd/uDC1f3AE/DRopyxLy7dhF+R6Ht6Hvfl0LAfiaKdANsN6KVJ7r2DF2b8UQn9vlwOm4Nw/C8JG0Y59O86X1PaAQKbJ0cBp96gYONYxFTpB+jU3QILkR/Dg70DH9Yq++6jjNrjwspmSxFf7+haNdfUbTvd3y80aOVUqpOwJ7DBelikckR+pmpL2xY6yXwoyiCr9tmWk9TAe0DdRua6ZajwId8/KsT6EtRFNdk60L3/nwm+Op5kyO2DmslX/UPCJWtnTQKXy1H3kPmA/2VCnyoB73lUsLd89A8Rj5kZxdKF1y4ZzeOdK8g/LzfI9NcxGmY44uVlAIr/gb0w9oX+uvcezFNKr9em9RwoTzbWZa1pnQh+rPuBjgOf4H4E1KlZvm1UArCO8DB/hmpRCc4nuQ4Q9erKgQdcEITXMfGPwfXdfJVJCP2PXI8/FBpmpwxJfr+Tzgpn1O1E6ou6iqGzxgu7fqKavOUv2soEo4Cn/bdTMMqrBAbBcdzKsFfCL7Uo+1ksy2vq2sTpgmM5rTPMPCNjlou+xMTJ2PdIFHpott4ao3jqq7rSQyI0+7nri/o5b6BDZdVOCS5u2c6PugbkDHzv/fYh79QAZ4FEaVKnMLZYTJi5PQksaw7isiERra1A5KN5yEOCrZpH/39brUE27PwxdjBPm3JW6EdMx/LceJwmY7w4FMRmVynF/T8yuU1TuPEtJEt7gGp/uj5X8G1GQ42iYe7BtHR9lApsrKZypFN40hhPofKfanbPO4WB5OTlKpKEsC3DmJ1pgP+t/SHsxKc2DB22zChHXTGR8YmGCzEi2E+AaoHeBAlShZMqUnm1HWyWPr1cAH9eTjYtGwzfKbHteSqUIyNUDhyjgBdCmDORym5hAnR6a7JD8bMdrtJKIii/lBZCMQQsHxEQggUXJqsmPd/OfeZIU2rxeSk1ja6upnLvXPm0ABfqxj1iS6ct0fpOIDQ3uC+cMIJKkkSAa/705HWDv4Zgio8nl1wL6eTZupubJlgu3bA0ZWaNsDlbDP9sboRa/5FprJarWzh04GiTecj5tHBv8wyckt0Pp+apuPrZizCpAKeZdkaczH6h4fgXrvYu6cNtszCK6Q1/FDq5kEU5tEiqnfB5lu4Z25L02l2n4qAZd+4s321Lf8Q29CwMZX1EzJHS4u+bUbVrsPG0r6Urk++JK2yzImHQz67RxW2uvtObCK6PEaX689uChxhKnEclJrZR4iXw0FPYcD5TT+6Lnrrogh5YlXGKc8Lmbo5G97mvnofjjyoEFN2+/06+8YEJ1uxof30rCcxR5i+3w/88b2uC7FHgzL0CWspA2ZImQuazQX8vdLd0MzPFJP0NKTOEa29Of903O2g3Q4bH37YJ1lLqscE26ed1hx9fIiuG+4hCfr3vTW4moYJfOpPz4fzQVg1GboM+qVPhCXe8As7n/qcVae5z3TB5VHe6e7nFODQZeWbKgiZmens0Nvz8/kMG5j3N17+SU2OrPgsHRscsKBwJuiKvAoctKc2dN/QoIMXOzJXofIi7y/MaKwtGEO/Fnj4uvvsx77mctMgthFadNj3fdU9xa2cLbfH0WgvKaWzg4YO02BT/RRb6N8vEl3vHrzdtTkXnOItMa3GogPsx+HQ1eBWZipBWgrfXI5dd4MjB+tjLv2n0HooW4fKa9WqqlZbp4NG9+GIdZeTJ8AjZRU04BgaXg/XG/5afte56RddYUfpZJwoxluY4DP56mehpUX0Sz6kyexlKlGs2nHIMqeB9vRXAot2OnQTWORs3tfD4I5e2BdYi+DfkMxFLc7pd3KKtjv50DwliWNb+GKkb41tQ3tFhne+yw4b7x+s74+0pDqIY+D4Grlprdj0EPyTxaS1DI1VS7TwYdE3Yz70Y4950Nqcj37wQkY+2DlracPjwMEsbZzYQJa1Qb9/1JBn00yGZo4WRUE5jH0OPJ86NhSbTjrc5GD907EbcuoGXoTxSpFNDwTdV4Hfvedycj32Yxag+iROopLZcSjUZ0Z8FS/Fy9TdX8Q35uqytImrHApUh8lWeRGH2O08tIn+/7Rwc1MuQDc9LAaVYpN7O/Zj00rdG7USzkdaymu1pLrEWjhoegpriVHWptrvZ1NzU6q3QaIWWD5VjCOeMUym/o3sHYpmbyivQC/pM+7p+68I+J3cdM2mhEMCosNDSysKAuVgMYwA4Xr7NwLLIjFIhKWuFWOLKh00C4xyN4cvsy0e4qWyU1Y9DtRcVXtZ5uPEWtLr0/cFTNR8wFVqWYsezkBnt10T4zLd46HsTNJ93yZ0GO6eF0XrKOs0Igi9VRDNSoMIC8yhp6lKp8tpiF07nI69bOpeuKwcsfRKxrBT8Ah2M9T6gWmUzIrn11UBIQnzZ1PUqXw45KTgLZudx9WP17z6LtvhEnCbI7RyobFr20o1lxJcyf7p9k0V63+XrHs/lGYIQVUB/6aJYrb0pbB8tXLJn0Kps0bmaUSGOfSnpVIYLf8vxRJeZvCpz21vBDENmoXPCE0sOVpwNhU+26k2fEZ/MQI/hDLyhgOs81PUeCUBSh3fdf1a/qerq6m8n4pU73LWVnJVjI3KYQuOFuCiW2uvYMeWF9IQX2HRgdfsPE1ntre1tP7y/c/bhQ65OsGAs6BI1kJgtNo/O1taiofQxd4Cjz2lhVE5NSPdhQPNXiql+l+VqJig85+g55hqECixbdXib8a2AP9kcNnpHBCrxCeZnACk85tPjOSu/G/5u712ZT5IRaitANyU3YwN9hKcNbfWVjEECR5YZJhyFT6QBwaX+qu1VGRfDaa+ha7Dhhtg6RzzrRz9m8VV6P+p3C1NdmrTl+VTevsweW35yDQziwTxSjR9F84yFaIP9GEs3eJilsHPdqSXJU8XXAFRbRUj3/Jh+z1gAwlMQRPGJayD21cS39SPXUN7LVQ4+zBWDbL0eaKQsS2uO3ZqVi5t9LAZdjGbWk3h4+glvwOX7LoovRS9AK4Jdk7K/PHf8y1VDpuB+WnDK3vaasPTqyFD1yZutOg39nt0ZdlmoCH671pEF3wvo8TVvyxMFNZc9Zh5nZk2Gh9lFMU8GwycdYOP/6BFN75fXK8l97wWRBw27rdccjmp+xwhP9lpkbThV2KXYEGXHDf96OkP4+a6szQQRdEfairpFBFDTcUQEo2+/xu61tkTS6Fetn6lBXTN5cy5zCgufh34p27bOkyfK+fohnTYRRdOoORnN5kSnuPDu2ewd+F0PHUas3cwh3QFaW/iX5T3f7oGf8S1u/1bS/2adWa43E1nksSYR7iXILx8Oz5TvkXDt2/uqgLvGVRfXdt7/GDV0t8/SweOzbZjdZ1Og98r1GWviYTnC6x064Wh4gphlZVbS311MvEruefTfqd51io/MGce7i0Ty43NwE02swuvoQHu9r4xzSxKk3XpWKnyF5fx70uupknnGXIDovsDTB/Fg5GFbu8kFLKFSweejUc1Ch/aR3jmwq67L3+V9uE+rSncZD6Ac79a+rgVmX6/34VDF89yc8InR4zGwx7oC4mR+SE56d9k3mFJ7fokj2kDxk5QNa5BF76TTwg3jXHa8XE0Vq+80HTYHCAziobWwQYMJV72dNCrQTfm4lzbYFybZ+GVzqwx/TWTEO6g42DIAJbRcWPQ+w4LFjC2B1XQRf2pz9OItRy0UwZ+qjp5xmUZ1xJUw94NqJ5fnum5g8WkSXSDhdCK1eqqEW2rFxT156qph5EX6M4PDmYxrlGpWq6Sxa5BVXzYqtipEYksFGq612nC0mGP5CR4PFODrtzNmydvptH9CMfMiTpelzrgw3GsYe2159lxxdJPcA0sTvxybBQNOqrGkuFQfEY4/vygCgS+pWZ1aY1RW4AP0JfL5ZjTRU4Hjeid/oez01P9ZSfhDuOg/bbRFdPG6xxil6X3eo9swHmxQLPewPzoOqMoHK95A25k2YVXYe755afbjQYw824/1nnJOHnfzrIDN/ggr6pe0v3raNcZeMWsm8CdrJEJqS9hTfQa1O6nG9+52QXymUqchwoOlBDLHPiKW3u+ws9tmC7O/WAG6T9Qo+eUyXiv/UJZth0HDtrA4gQycybpYxm5Zjyj4GuyHezcBR34PPF95szI4MpcznzugL/Bf+3Dy9RpWgJv4Ow/Rg2f4/XcNUd1t3lUl+OAU7W1iPVpiV7wFIE7cDsOXDk8NfNnklc00OXFblDyYQZbnTdPSTwtGMmZq+u2wmopcJw3l6QTzwVqon0F9TvsY1UN5iKyMbulexYux67c5Fb5zgR8gL60jBYnXCfqVPv8VhnXNvDs8Ecaxt2lBsyqwSboMPRX8peuCXHx2qWHMxz1pi6Dsz/Htb5Jp1Ui+lNEjarnfR8O+Ii1mRfQC913aK3x8ygr9PUTF8nIiLvpfcUiWWyOu31Ga5EeduC2q8MxOGyHIbQHzbKUXjgFklj3pSqLvagW1VdqQ2N0EBoR1YVQeRSAIu/Aiaj8hq2n0XuSQ2Yoa7UfBKU2/6P89OD14E4UYKaIBK68AfRYOnqFI+H0G7hrl8gK/GqIMnonLVKHVZv7UjmlwUcHXrs5n+534XFvgGVv4CoWD5uVhuYkQNNQkMG9b8l/1WA0KfjHFAzXrLQ4rxQsXU/RPLtwZO7GgBv2XoeZmVrhDP4/6H6crhvVTCQqrpzWgsWgFj1vdVfZ4FYpv4Abpa9T7bMVX1/7r55rm1DLMprmNp/jY8D3roe+iWmyM+NGn9g70dk0TBturfr0b3h9rax+qHNsTDeuHXxmPfS9Q0zheliC/2ypOrlWm3xNqfTXGY/JuZuDCk4vgJfnNK5I3+m51vbbuwNH87G7DfiY23/J2Y4TEs6ZIqpSDTzqA/9ywPAWquh4d3S6LCg+02nP9PtrR/UB8r5Ni9k31wv/WgYJx3/tnen+HvVEFo9xNbrKoY+JFgxjuoPGyJt4u/UdRTvbom9G2romVOMNHeVUdSeqgbeBTn1K1asxNIctrQYBTQ/aPijVmqk3fxj4rG9zsg0rMLi+Bhbhyi+kWCWymUVXWgw8KXuPpj4oHxXEh8dJeLLAZMwOaHZfs/e8F1j8gi/Q4bNBUhbfvTy9iDIUzCaKLlu53yrVxcoaT20eOPQ/wUHzacFJZJOemstSrhfLla/ykmRO5b3+cbXG/AEnbfYWcws8brQv9RUOVDKqrhvbNHd3aPA6RuRiPeqm1Obdas+cHahEszgXu2aPxb97hqvesFoT+kP4LlHgs6i7P6voU3R/VL6WhBW8fx7vVlMuXMnewHuIDzzeBrye1mTW7n94kh/428uTgJaZSdezKkcdePQCh42EO+mhO10eeRiMuckRVcnHVXDymg9sr/+pwcn7qmfdepdNWFsbI3w1d3ukv/v6qzoz2lEQBqJoVjQx/P8Hb6/nwoUyK9Xwskd3LYVynNrOxKgoxM3Q6MjZRrM6n5NgvIsjz2oP3u+CMkSuXcffebSnDvQEOtOh0iw5drqT1Yfks9yT4kdgpAmHTkwzw1zLWq/GPyVvWszAO9nMum6hxZSJQ32gXV3hkKkTjTaYzOrI//hJUXKGU+DyoUnVcS+OGe2ZW0PXWO906Y94rXMdY5YABCbu4YZtPqSlPsmx64Xvplz1LO3rrHOjfG/jDq5JGBs0OeCQBtF71SyhNyxf8kwdeOQa4zlDLjC+gcGWK2Ts28jL0JPhCzn2sO/ozmveHLrlOktNQx573Mrw+pMcptd48guaPelIl985n7aOWTGKGmq58jvR42HmeO8fwQBG61bMeuSxJ8NC5I4g8sm4lYamx829vb04/eR33KOc/L6VW0YES0Rn4JY1C/3FstgqeZCcVe3BLmXB5U11GlLXwsxYy5c9Hio3S57gb1DVz/lAd83s2J0ipEaOC3lZW4TlhG8Q5B2khLvZIa/+2GbrLkNdy7Ez89SIL8C9+7yRk0137n7DEXrsPE2a4XD+FjcLXchdE3sv75lug50pZnaf2rPbBfIvwA2jcoh9iZ//PGjxKPu4HHe3yc7cWfPU9+9hlRfZpSZyIH4gkGGezDecu9kGsSt+eGeoScy4R+Ry93v+oWfNozrDEIaiHXRD7DXkDONmzdY7oGbuAxPH/wEwphW49aD/MlAP40uv1I7bCf2a+KP+wF2p1f3pdBHHJfycnf43/AJwK37vPZnSygAAAABJRU5ErkJggg=="/>
77
- </svg>`;return{url:URL.createObjectURL(new Blob([b],{type:"image/svg+xml"})),viewBox:h,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(),u=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),m=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),o=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(u,l.withAlpha(1)),i.addSample(m,l.withAlpha(.2)),i.addSample(o,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(u=>u?Cesium__namespace.JulianDate.lessThan(u,r):!0,!1)}class ShipLayer{constructor(i,r){z(this,"db");z(this,"isMounted",!1);z(this,"_viewer",null);z(this,"entityMap",new Map);z(this,"IS_MOVING_THRESHOLD",1);z(this,"shadowEntityMap",new WeakMap);this.key=i,this.zIndex=r,this.db=new Cesium__namespace.CustomDataSource(i)}show(i){this.isMounted||(i.dataSources.add(this.db),this._viewer=i,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1)}render(i){i.features.forEach(r=>{this.renderFeature(r)})}renderFeature(i){var c,d;const r=String(i.id),u=new Cesium__namespace.SampledPositionProperty;u.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,u.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const m=Cesium__namespace.Cartesian3.fromDegrees(i.geometry.coordinates[0],i.geometry.coordinates[1]);u.addSample(((c=this._viewer)==null?void 0:c.clock.currentTime)??Cesium__namespace.JulianDate.now(),m);const o=((d=i.properties)==null?void 0:d.courseOverGroundTrue)??0,l=new Cesium__namespace.Entity({id:r,position:u,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(m,new Cesium__namespace.HeadingPitchRoll(o,0,0))),properties:i.properties??{}});this.entityMap.set(r,l),this.db.entities.add(l),this.renderEntity(l)}update(i){var u,m,o,l,c,d,a,p;const r=this.db.entities.getById(String(i.id));if(r){const y=this.shadowEntityMap.get(r),g=((u=i.properties)==null?void 0:u.shipTypeId)??-1,h=shipTypeColorMap.get(g)??shipTypeColorMap.get(-1),[v,b]=i.geometry.coordinates,w=((m=this._viewer)==null?void 0:m.clock.currentTime)??Cesium__namespace.JulianDate.now(),T=(o=r.position)==null?void 0:o.getValue(w),_=Cesium__namespace.JulianDate.addSeconds(w,3,new Cesium__namespace.JulianDate),x=Cesium__namespace.Cartesian3.fromDegrees(v,b),O=new Cesium__namespace.SampledPositionProperty;if(O.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,O.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,O instanceof Cesium__namespace.SampledPositionProperty&&(O.addSample(Cesium__namespace.JulianDate.addSeconds(w,1,new Cesium__namespace.JulianDate),T??x),O.addSample(_,x)),r.position=O,y&&(y.position=O),r.properties)for(const[R,E]of Object.entries(i.properties??{})){if(R=="speedOverGround"){const C=r.properties.getValue().speedOverGround??0,N=Number(C)>this.IS_MOVING_THRESHOLD,A=Number(E)>this.IS_MOVING_THRESHOLD;if(N!==A&&(r.billboard&&(r.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(h,A))),y!=null&&y.plane)){const D=((l=i.properties)==null?void 0:l.designBeam)??8,P=((c=i.properties)==null?void 0:c.designLength)??20,M=createShipIconV2({color:h,isMoving:A,...i.properties,designBeam:D,designLength:P}),q=(d=y.plane)==null?void 0:d.material;q&&(q.image=new Cesium__namespace.ConstantProperty(M.url),y.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y))),y.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y),!0)}}if(R=="courseOverGroundTrue"){const C=((a=i.properties)==null?void 0:a.courseOverGroundTrue)??0;r.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof E=="number"?-1*E:0);const N=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(x,new Cesium__namespace.HeadingPitchRoll(C,0,0)));y&&(y.orientation=N)}if(R=="updateTime"){const C=Cesium__namespace.JulianDate.fromDate(new Date(E));r.billboard.color=createAlphaSampled({startTime:C});const N=(p=y==null?void 0:y.plane)==null?void 0:p.material;N&&(N.color=createAlphaSampled({startTime:C}));const A=getHideAfterFiveMinutesProperty(C);r.label.show=A,r.point.show=A}r.properties[R]=E}}else this.renderFeature(i)}renderEntity(i){var a,p,y,g,h,v,b;const r=(a=i.properties)==null?void 0:a.getValue(),u=(r==null?void 0:r.shipTypeId)??-1,m=shipTypeColorMap.get(u)??shipTypeColorMap.get(-1),o=Number((r==null?void 0:r.speedOverGround)??0),l=r!=null&&r.updateTime?new Date(r.updateTime):new Date,c=Cesium__namespace.JulianDate.fromDate(l),d=createShipIconUrl(m,o>this.IS_MOVING_THRESHOLD);i.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(15e3),show:getHideAfterFiveMinutesProperty(c)}),i.billboard=new Cesium__namespace.BillboardGraphics({image:d,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(4e3,15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:c}),rotation:new Cesium__namespace.ConstantProperty((y=(p=i.properties)==null?void 0:p.getValue())!=null&&y.courseOverGroundTrue?-1*i.properties.getValue().courseOverGroundTrue:0)}),i.label=new Cesium__namespace.LabelGraphics({font:'12px normal "微软雅黑"',backgroundColor:Cesium__namespace.Color.fromCssColorString("#E9F4FC"),fillColor:Cesium__namespace.Color.BLACK,outlineColor:Cesium__namespace.Color.BLACK,outlineWidth:2,showBackground:!0,style:Cesium__namespace.LabelStyle.FILL,pixelOffset:new Cesium__namespace.Cartesian2(0,-20),scale:1,scaleByDistance:new Cesium__namespace.NearFarScalar(3e3,1,1e4,.55),text:((h=(g=i.properties)==null?void 0:g.getValue())==null?void 0:h.name)??((v=i.properties)!=null&&v.getValue().mmsi?"mmsi:"+((b=i.properties)==null?void 0:b.getValue().mmsi):"未知"),horizontalOrigin:Cesium__namespace.HorizontalOrigin.CENTER,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(c)}),this.createShipPlane(i)}createShipPlane(i){var g;const r=new Cesium__namespace.Entity({id:i.id+"_shadow",position:i.position,orientation:i.orientation});this.shadowEntityMap.set(i,r),this.db.entities.add(r);const u=(g=i.properties)==null?void 0:g.getValue(),m=u!=null&&u.updateTime?new Date(u.updateTime):new Date,o=Cesium__namespace.JulianDate.fromDate(m),l=Number((u==null?void 0:u.speedOverGround)??0),c=(u==null?void 0:u.designLength)??20,d=(u==null?void 0:u.designBeam)??8,a=(u==null?void 0:u.shipTypeId)??-1,p=shipTypeColorMap.get(a)??shipTypeColorMap.get(-1),y=createShipIconV2({color:p,isMoving:l>this.IS_MOVING_THRESHOLD,...u,designBeam:(u==null?void 0:u.designBeam)??8,designLength:(u==null?void 0:u.designLength)??20});r.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(d*y.scale.x,c*y.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var w;if(!this._viewer)return!0;const h=this._viewer.clock.currentTime,v=(w=i.position)==null?void 0:w.getValue(h);return v?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,v)<=4e3:!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:y.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:o})})})}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$2.indexOf(o);l===-1&&(l=e$2.push(o)-1,t$2[l]={}),r=t$2[l]&&t$2[l][u]?t$2[l][u]:t$2[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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){z(this,"_position");z(this,"_screenPosition",new Cesium.Cartesian2);z(this,"_element");z(this,"_viewer");z(this,"_options");z(this,"_destroyed",!1);z(this,"_offset");z(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const u=this._viewer.scene.camera.position,m=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(m,u).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 u=i.x-r.clientWidth/2+this._offset[0],m=i.y-r.clientHeight+this._offset[1];r.style.left=`${u}px`,r.style.top=`${m}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:u,element:m,offset:o}=r;if(!m)throw Error("no element!");this._position=u?Cesium.Cartesian3.fromDegrees(u[0],u[1],u[2]):null,this._element=m,this._offset=[(o==null?void 0:o[0])??0,(o==null?void 0:o[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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$1.indexOf(o);l===-1&&(l=e$1.push(o)-1,t$1[l]={}),r=t$1[l]&&t$1[l][u]?t$1[l][u]:t$1[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e.indexOf(o);l===-1&&(l=e.push(o)-1,t[l]={}),r=t[l]&&t[l][u]?t[l][u]:t[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u){s.exports?s.exports=u():r[i]=u()})("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 a=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)},p=i.defaultRadius;return a.prototype={_organiseData:function(y,g){var h=y[this._xField],v=y[this._yField],b=this._radi,w=this._data,T=this._max,_=this._min,x=y[this._valueField]||1,O=y.radius||this._cfgRadius||p;w[h]||(w[h]=[],b[h]=[]),w[h][v]?w[h][v]+=x:(w[h][v]=x,b[h][v]=O);var R=w[h][v];return R>T?(g?this.setDataMax(R):this._max=R,!1):R<_?(g?this.setDataMin(R):this._min=R,!1):{x:h,y:v,value:x,radius:O,min:_,max:T}},_unOrganizeData:function(){var y=[],g=this._data,h=this._radi;for(var v in g)for(var b in g[v])y.push({x:v,y:b,radius:h[v][b],value:g[v][b]});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 h=this._organiseData(arguments[0],!0);h&&(this._data.length===0&&(this._min=this._max=h.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[h]}))}return this},setData:function(y){var g=y.data,h=g.length;this._data=[],this._radi=[];for(var v=0;v<h;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()}},a}(),u=function(){var a=function(h){var v=h.gradient||h.defaultGradient,b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0});b.width=256,b.height=1;var T=w.createLinearGradient(0,0,256,1);for(var _ in v)T.addColorStop(_,v[_]);return w.fillStyle=T,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},p=function(h,v){var b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0}),T=h,_=h;if(b.width=b.height=h*2,v==1)w.beginPath(),w.arc(T,_,h,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var x=w.createRadialGradient(T,_,h*v,T,_,h);x.addColorStop(0,"rgba(0,0,0,1)"),x.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=x,w.fillRect(0,0,2*h,2*h)}return b},y=function(_){for(var v=[],b=_.min,w=_.max,T=_.radi,_=_.data,x=Object.keys(_),O=x.length;O--;)for(var R=x[O],E=Object.keys(_[R]),C=E.length;C--;){var N=E[C],A=_[R][N],D=T[R][N];v.push({x:R,y:N,value:A,radius:D})}return{min:b,max:w,data:v}};function g(h){var v=h.container,b=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=h.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var T=getComputedStyle(h.container)||{};w.className="heatmap-canvas",this._width=w.width=b.width=h.width||+T.width.replace(/px/,""),this._height=w.height=b.height=h.height||+T.height.replace(/px/,""),this.shadowCtx=b.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=b.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=a(h),this._templates={},this._setStyles(h)}return g.prototype={renderPartial:function(h){h.data.length>0&&(this._drawAlpha(h),this._colorize())},renderAll:function(h){this._clear(),h.data.length>0&&(this._drawAlpha(y(h)),this._colorize())},_updateGradient:function(h){this._palette=a(h)},updateConfig:function(h){h.gradient&&this._updateGradient(h),this._setStyles(h)},setDimensions:function(h,v){this._width=h,this._height=v,this.canvas.width=this.shadowCanvas.width=h,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(h){this._blur=h.blur==0?0:h.blur||h.defaultBlur,h.backgroundColor&&(this.canvas.style.backgroundColor=h.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=h.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=h.height||this._height,this._opacity=(h.opacity||0)*255,this._maxOpacity=(h.maxOpacity||h.defaultMaxOpacity)*255,this._minOpacity=(h.minOpacity||h.defaultMinOpacity)*255,this._useGradientOpacity=!!h.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,b=this._max=w.max,w=w.data||[],T=w.length,_=1-this._blur;T--;){var x=w[T],O=x.x,R=x.y,E=x.radius,C=Math.min(x.value,b),N=O-E,A=R-E,D=this.shadowCtx,P;this._templates[E]?P=this._templates[E]:this._templates[E]=P=p(E,_);var M=(C-v)/(b-v);D.globalAlpha=M<.01?.01:M,D.drawImage(P,N,A),N<this._renderBoundaries[0]&&(this._renderBoundaries[0]=N),A<this._renderBoundaries[1]&&(this._renderBoundaries[1]=A),N+2*E>this._renderBoundaries[2]&&(this._renderBoundaries[2]=N+2*E),A+2*E>this._renderBoundaries[3]&&(this._renderBoundaries[3]=A+2*E)}},_colorize:function(){var h=this._renderBoundaries[0],v=this._renderBoundaries[1],b=this._renderBoundaries[2]-h,w=this._renderBoundaries[3]-v,T=this._width,_=this._height,x=this._opacity,O=this._maxOpacity,R=this._minOpacity,E=this._useGradientOpacity;h<0&&(h=0),v<0&&(v=0),h+b>T&&(b=T-h),v+w>_&&(w=_-v);for(var C=this.shadowCtx.getImageData(h,v,b,w),N=C.data,A=N.length,D=this._palette,P=3;P<A;P+=4){var M=N[P],q=M*4;if(q){var F;x>0?F=x:M<O?M<R?F=R:F=M:F=O,N[P-3]=D[q],N[P-2]=D[q+1],N[P-1]=D[q+2],N[P]=E?D[q+3]:F}}this.ctx.putImageData(C,h,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(h){var v,b=this.shadowCtx,w=b.getImageData(h.x,h.y,1,1),T=w.data[3],_=this._max,x=this._min;return v=Math.abs(_-x)*(T/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),m=function(){var a=!1;return i.defaultRenderer==="canvas2d"&&(a=u),a}(),o={merge:function(){for(var d={},a=arguments.length,p=0;p<a;p++){var y=arguments[p];for(var g in y)d[g]=y[g]}return d}},l=function(){var a=function(){function h(){this.cStore={}}return h.prototype={on:function(v,b,w){var T=this.cStore;T[v]||(T[v]=[]),T[v].push(function(_){return b.call(w,_)})},emit:function(v,b){var w=this.cStore;if(w[v])for(var T=w[v].length,_=0;_<T;_++){var x=w[v][_];x(b)}}},h}(),p=function(g){var h=g._renderer,v=g._coordinator,b=g._store;v.on("renderpartial",h.renderPartial,h),v.on("renderall",h.renderAll,h),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),b.setCoordinator(v)};function y(){var g=this._config=o.merge(i,arguments[0]||{});if(this._coordinator=new a,g.plugin){var h=g.plugin;if(i.plugins[h]){var v=i.plugins[h];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+h+"' not found. Maybe it was not registered.")}else this._renderer=new m(g),this._store=new r(g);p(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=o.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(d){return new l(d)},register:function(d,a){i.plugins[d]=a}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const G=class G extends EventEmitter{constructor(){super();z(this,"popupMap",new Map)}static getInstance(){return G.instance||(G.instance=new G),G.instance}popup(r){var c;const u=r.element;u.style.position="absolute";const m=r.viewer.container,o=()=>{l&&(l.destroy(),m.removeChild(u),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};m.appendChild(u),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:u});this.popupMap.set(r.id,{popup:l,destroy:o})}close(r){const u=this.popupMap.get(r);u&&(u.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};z(G,"instance",null);let PopupCtrl=G;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(u=>{i.emit("click",u)},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.saveCameraParams=saveCameraParams;
77
+ </svg>`;return{url:URL.createObjectURL(new Blob([b],{type:"image/svg+xml"})),viewBox:h,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(),u=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),m=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),o=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(u,l.withAlpha(1)),i.addSample(m,l.withAlpha(.2)),i.addSample(o,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(u=>u?Cesium__namespace.JulianDate.lessThan(u,r):!0,!1)}class ShipLayer{constructor(i,r){z(this,"db");z(this,"isMounted",!1);z(this,"_viewer",null);z(this,"entityMap",new Map);z(this,"IS_MOVING_THRESHOLD",1);z(this,"shadowEntityMap",new WeakMap);this.key=i,this.zIndex=r,this.db=new Cesium__namespace.CustomDataSource(i)}show(i){this.isMounted||(i.dataSources.add(this.db),this._viewer=i,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1)}render(i){i.features.forEach(r=>{this.renderFeature(r)})}renderFeature(i){var c,d;const r=String(i.id),u=new Cesium__namespace.SampledPositionProperty;u.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,u.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const m=Cesium__namespace.Cartesian3.fromDegrees(i.geometry.coordinates[0],i.geometry.coordinates[1]);u.addSample(((c=this._viewer)==null?void 0:c.clock.currentTime)??Cesium__namespace.JulianDate.now(),m);const o=((d=i.properties)==null?void 0:d.courseOverGroundTrue)??0,l=new Cesium__namespace.Entity({id:r,position:u,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(m,new Cesium__namespace.HeadingPitchRoll(o,0,0))),properties:i.properties??{}});this.entityMap.set(r,l),this.db.entities.add(l),this.renderEntity(l)}update(i){var u,m,o,l,c,d,a,p;const r=this.db.entities.getById(String(i.id));if(r){const y=this.shadowEntityMap.get(r),g=((u=i.properties)==null?void 0:u.shipTypeId)??-1,h=shipTypeColorMap.get(g)??shipTypeColorMap.get(-1),[v,b]=i.geometry.coordinates,w=((m=this._viewer)==null?void 0:m.clock.currentTime)??Cesium__namespace.JulianDate.now(),T=(o=r.position)==null?void 0:o.getValue(w),_=Cesium__namespace.JulianDate.addSeconds(w,3,new Cesium__namespace.JulianDate),x=Cesium__namespace.Cartesian3.fromDegrees(v,b),O=new Cesium__namespace.SampledPositionProperty;if(O.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,O.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,O instanceof Cesium__namespace.SampledPositionProperty&&(O.addSample(Cesium__namespace.JulianDate.addSeconds(w,1,new Cesium__namespace.JulianDate),T??x),O.addSample(_,x)),r.position=O,y&&(y.position=O),r.properties)for(const[R,E]of Object.entries(i.properties??{})){if(R=="speedOverGround"){const C=r.properties.getValue().speedOverGround??0,N=Number(C)>this.IS_MOVING_THRESHOLD,A=Number(E)>this.IS_MOVING_THRESHOLD;if(N!==A&&(r.billboard&&(r.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(h,A))),y!=null&&y.plane)){const D=((l=i.properties)==null?void 0:l.designBeam)??8,P=((c=i.properties)==null?void 0:c.designLength)??20,M=createShipIconV2({color:h,isMoving:A,...i.properties,designBeam:D,designLength:P}),q=(d=y.plane)==null?void 0:d.material;q&&(q.image=new Cesium__namespace.ConstantProperty(M.url),y.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y))),y.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y),!0)}}if(R=="courseOverGroundTrue"){const C=((a=i.properties)==null?void 0:a.courseOverGroundTrue)??0;r.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof E=="number"?-1*E:0);const N=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(x,new Cesium__namespace.HeadingPitchRoll(C,0,0)));y&&(y.orientation=N)}if(R=="updateTime"){const C=Cesium__namespace.JulianDate.fromDate(new Date(E));r.billboard.color=createAlphaSampled({startTime:C});const N=(p=y==null?void 0:y.plane)==null?void 0:p.material;N&&(N.color=createAlphaSampled({startTime:C}));const A=getHideAfterFiveMinutesProperty(C);r.label.show=A,r.point.show=A}r.properties[R]=E,y!=null&&y.properties&&(y.properties[R]=E)}}else this.renderFeature(i)}renderEntity(i){var a,p,y,g,h,v,b;const r=(a=i.properties)==null?void 0:a.getValue(),u=(r==null?void 0:r.shipTypeId)??-1,m=shipTypeColorMap.get(u)??shipTypeColorMap.get(-1),o=Number((r==null?void 0:r.speedOverGround)??0),l=r!=null&&r.updateTime?new Date(r.updateTime):new Date,c=Cesium__namespace.JulianDate.fromDate(l),d=createShipIconUrl(m,o>this.IS_MOVING_THRESHOLD);i.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(15e3),show:getHideAfterFiveMinutesProperty(c)}),i.billboard=new Cesium__namespace.BillboardGraphics({image:d,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(4e3,15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:c}),rotation:new Cesium__namespace.ConstantProperty((y=(p=i.properties)==null?void 0:p.getValue())!=null&&y.courseOverGroundTrue?-1*i.properties.getValue().courseOverGroundTrue:0)}),i.label=new Cesium__namespace.LabelGraphics({font:'12px normal "微软雅黑"',backgroundColor:Cesium__namespace.Color.fromCssColorString("#E9F4FC"),fillColor:Cesium__namespace.Color.BLACK,outlineColor:Cesium__namespace.Color.BLACK,outlineWidth:2,showBackground:!0,style:Cesium__namespace.LabelStyle.FILL,pixelOffset:new Cesium__namespace.Cartesian2(0,-20),scale:1,scaleByDistance:new Cesium__namespace.NearFarScalar(3e3,1,1e4,.55),text:((h=(g=i.properties)==null?void 0:g.getValue())==null?void 0:h.name)??((v=i.properties)!=null&&v.getValue().mmsi?"mmsi:"+((b=i.properties)==null?void 0:b.getValue().mmsi):"未知"),horizontalOrigin:Cesium__namespace.HorizontalOrigin.CENTER,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(c)}),this.createShipPlane(i)}createShipPlane(i){var g;const r=new Cesium__namespace.Entity({id:i.id+"_shadow",position:i.position,orientation:i.orientation,properties:i.properties});this.shadowEntityMap.set(i,r),this.db.entities.add(r);const u=(g=i.properties)==null?void 0:g.getValue(),m=u!=null&&u.updateTime?new Date(u.updateTime):new Date,o=Cesium__namespace.JulianDate.fromDate(m),l=Number((u==null?void 0:u.speedOverGround)??0),c=(u==null?void 0:u.designLength)??20,d=(u==null?void 0:u.designBeam)??8,a=(u==null?void 0:u.shipTypeId)??-1,p=shipTypeColorMap.get(a)??shipTypeColorMap.get(-1),y=createShipIconV2({color:p,isMoving:l>this.IS_MOVING_THRESHOLD,...u,designBeam:(u==null?void 0:u.designBeam)??8,designLength:(u==null?void 0:u.designLength)??20});r.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(d*y.scale.x,c*y.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var w;if(!this._viewer)return!0;const h=this._viewer.clock.currentTime,v=(w=i.position)==null?void 0:w.getValue(h);return v?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,v)<=4e3:!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:y.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:o})})})}hideEntityByCondition(i){this.db.entities.values.forEach(r=>{const u=i(r);r.show=u;const m=this.shadowEntityMap.get(r);m&&(m.show=u)})}showAllEntity(){this.db.entities.values.forEach(i=>{i.show=!0})}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$2.indexOf(o);l===-1&&(l=e$2.push(o)-1,t$2[l]={}),r=t$2[l]&&t$2[l][u]?t$2[l][u]:t$2[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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){z(this,"_position");z(this,"_screenPosition",new Cesium.Cartesian2);z(this,"_element");z(this,"_viewer");z(this,"_options");z(this,"_destroyed",!1);z(this,"_offset");z(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const u=this._viewer.scene.camera.position,m=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(m,u).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 u=i.x-r.clientWidth/2+this._offset[0],m=i.y-r.clientHeight+this._offset[1];r.style.left=`${u}px`,r.style.top=`${m}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:u,element:m,offset:o}=r;if(!m)throw Error("no element!");this._position=u?Cesium.Cartesian3.fromDegrees(u[0],u[1],u[2]):null,this._element=m,this._offset=[(o==null?void 0:o[0])??0,(o==null?void 0:o[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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$1.indexOf(o);l===-1&&(l=e$1.push(o)-1,t$1[l]={}),r=t$1[l]&&t$1[l][u]?t$1[l][u]:t$1[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e.indexOf(o);l===-1&&(l=e.push(o)-1,t[l]={}),r=t[l]&&t[l][u]?t[l][u]:t[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u){s.exports?s.exports=u():r[i]=u()})("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 a=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)},p=i.defaultRadius;return a.prototype={_organiseData:function(y,g){var h=y[this._xField],v=y[this._yField],b=this._radi,w=this._data,T=this._max,_=this._min,x=y[this._valueField]||1,O=y.radius||this._cfgRadius||p;w[h]||(w[h]=[],b[h]=[]),w[h][v]?w[h][v]+=x:(w[h][v]=x,b[h][v]=O);var R=w[h][v];return R>T?(g?this.setDataMax(R):this._max=R,!1):R<_?(g?this.setDataMin(R):this._min=R,!1):{x:h,y:v,value:x,radius:O,min:_,max:T}},_unOrganizeData:function(){var y=[],g=this._data,h=this._radi;for(var v in g)for(var b in g[v])y.push({x:v,y:b,radius:h[v][b],value:g[v][b]});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 h=this._organiseData(arguments[0],!0);h&&(this._data.length===0&&(this._min=this._max=h.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[h]}))}return this},setData:function(y){var g=y.data,h=g.length;this._data=[],this._radi=[];for(var v=0;v<h;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()}},a}(),u=function(){var a=function(h){var v=h.gradient||h.defaultGradient,b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0});b.width=256,b.height=1;var T=w.createLinearGradient(0,0,256,1);for(var _ in v)T.addColorStop(_,v[_]);return w.fillStyle=T,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},p=function(h,v){var b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0}),T=h,_=h;if(b.width=b.height=h*2,v==1)w.beginPath(),w.arc(T,_,h,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var x=w.createRadialGradient(T,_,h*v,T,_,h);x.addColorStop(0,"rgba(0,0,0,1)"),x.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=x,w.fillRect(0,0,2*h,2*h)}return b},y=function(_){for(var v=[],b=_.min,w=_.max,T=_.radi,_=_.data,x=Object.keys(_),O=x.length;O--;)for(var R=x[O],E=Object.keys(_[R]),C=E.length;C--;){var N=E[C],A=_[R][N],D=T[R][N];v.push({x:R,y:N,value:A,radius:D})}return{min:b,max:w,data:v}};function g(h){var v=h.container,b=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=h.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var T=getComputedStyle(h.container)||{};w.className="heatmap-canvas",this._width=w.width=b.width=h.width||+T.width.replace(/px/,""),this._height=w.height=b.height=h.height||+T.height.replace(/px/,""),this.shadowCtx=b.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=b.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=a(h),this._templates={},this._setStyles(h)}return g.prototype={renderPartial:function(h){h.data.length>0&&(this._drawAlpha(h),this._colorize())},renderAll:function(h){this._clear(),h.data.length>0&&(this._drawAlpha(y(h)),this._colorize())},_updateGradient:function(h){this._palette=a(h)},updateConfig:function(h){h.gradient&&this._updateGradient(h),this._setStyles(h)},setDimensions:function(h,v){this._width=h,this._height=v,this.canvas.width=this.shadowCanvas.width=h,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(h){this._blur=h.blur==0?0:h.blur||h.defaultBlur,h.backgroundColor&&(this.canvas.style.backgroundColor=h.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=h.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=h.height||this._height,this._opacity=(h.opacity||0)*255,this._maxOpacity=(h.maxOpacity||h.defaultMaxOpacity)*255,this._minOpacity=(h.minOpacity||h.defaultMinOpacity)*255,this._useGradientOpacity=!!h.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,b=this._max=w.max,w=w.data||[],T=w.length,_=1-this._blur;T--;){var x=w[T],O=x.x,R=x.y,E=x.radius,C=Math.min(x.value,b),N=O-E,A=R-E,D=this.shadowCtx,P;this._templates[E]?P=this._templates[E]:this._templates[E]=P=p(E,_);var M=(C-v)/(b-v);D.globalAlpha=M<.01?.01:M,D.drawImage(P,N,A),N<this._renderBoundaries[0]&&(this._renderBoundaries[0]=N),A<this._renderBoundaries[1]&&(this._renderBoundaries[1]=A),N+2*E>this._renderBoundaries[2]&&(this._renderBoundaries[2]=N+2*E),A+2*E>this._renderBoundaries[3]&&(this._renderBoundaries[3]=A+2*E)}},_colorize:function(){var h=this._renderBoundaries[0],v=this._renderBoundaries[1],b=this._renderBoundaries[2]-h,w=this._renderBoundaries[3]-v,T=this._width,_=this._height,x=this._opacity,O=this._maxOpacity,R=this._minOpacity,E=this._useGradientOpacity;h<0&&(h=0),v<0&&(v=0),h+b>T&&(b=T-h),v+w>_&&(w=_-v);for(var C=this.shadowCtx.getImageData(h,v,b,w),N=C.data,A=N.length,D=this._palette,P=3;P<A;P+=4){var M=N[P],q=M*4;if(q){var F;x>0?F=x:M<O?M<R?F=R:F=M:F=O,N[P-3]=D[q],N[P-2]=D[q+1],N[P-1]=D[q+2],N[P]=E?D[q+3]:F}}this.ctx.putImageData(C,h,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(h){var v,b=this.shadowCtx,w=b.getImageData(h.x,h.y,1,1),T=w.data[3],_=this._max,x=this._min;return v=Math.abs(_-x)*(T/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),m=function(){var a=!1;return i.defaultRenderer==="canvas2d"&&(a=u),a}(),o={merge:function(){for(var d={},a=arguments.length,p=0;p<a;p++){var y=arguments[p];for(var g in y)d[g]=y[g]}return d}},l=function(){var a=function(){function h(){this.cStore={}}return h.prototype={on:function(v,b,w){var T=this.cStore;T[v]||(T[v]=[]),T[v].push(function(_){return b.call(w,_)})},emit:function(v,b){var w=this.cStore;if(w[v])for(var T=w[v].length,_=0;_<T;_++){var x=w[v][_];x(b)}}},h}(),p=function(g){var h=g._renderer,v=g._coordinator,b=g._store;v.on("renderpartial",h.renderPartial,h),v.on("renderall",h.renderAll,h),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),b.setCoordinator(v)};function y(){var g=this._config=o.merge(i,arguments[0]||{});if(this._coordinator=new a,g.plugin){var h=g.plugin;if(i.plugins[h]){var v=i.plugins[h];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+h+"' not found. Maybe it was not registered.")}else this._renderer=new m(g),this._store=new r(g);p(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=o.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(d){return new l(d)},register:function(d,a){i.plugins[d]=a}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const G=class G extends EventEmitter{constructor(){super();z(this,"popupMap",new Map)}static getInstance(){return G.instance||(G.instance=new G),G.instance}popup(r){var c;const u=r.element;u.style.position="absolute";const m=r.viewer.container,o=()=>{l&&(l.destroy(),m.removeChild(u),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};m.appendChild(u),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:u});this.popupMap.set(r.id,{popup:l,destroy:o})}close(r){const u=this.popupMap.get(r);u&&(u.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};z(G,"instance",null);let PopupCtrl=G;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(u=>{i.emit("click",u)},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.saveCameraParams=saveCameraParams;
@@ -105,6 +105,9 @@ export declare class ShipLayer implements Layer {
105
105
  private renderEntity;
106
106
  private shadowEntityMap;
107
107
  private createShipPlane;
108
+ /**显隐entity,回调返回显示隐藏的状态 */
109
+ hideEntityByCondition(validateFn: (entity: Cesium.Entity) => boolean): void;
110
+ showAllEntity(): void;
108
111
  }
109
112
 
110
113
  export declare class WmsLayer implements Layer {
@@ -4116,9 +4116,9 @@ function parse(s, i, r) {
4116
4116
  return A;
4117
4117
  } : util.camelCase;
4118
4118
  function w(A, k, N) {
4119
- var B = parse.filename;
4119
+ var L = parse.filename;
4120
4120
  return N || (parse.filename = null), Error(
4121
- "illegal " + (k || "token") + " '" + A + "' (" + (B ? B + ", " : "") + "line " + m.line + ")"
4121
+ "illegal " + (k || "token") + " '" + A + "' (" + (L ? L + ", " : "") + "line " + m.line + ")"
4122
4122
  );
4123
4123
  }
4124
4124
  function x() {
@@ -4154,24 +4154,24 @@ function parse(s, i, r) {
4154
4154
  }
4155
4155
  }
4156
4156
  function R(A, k) {
4157
- var N, B;
4157
+ var N, L;
4158
4158
  do
4159
- k && ((N = c()) === '"' || N === "'") ? A.push(x()) : A.push([B = S(o()), d("to", !0) ? S(o()) : B]);
4159
+ k && ((N = c()) === '"' || N === "'") ? A.push(x()) : A.push([L = S(o()), d("to", !0) ? S(o()) : L]);
4160
4160
  while (d(",", !0));
4161
- var L = {
4161
+ var B = {
4162
4162
  options: void 0
4163
4163
  };
4164
- L.setOption = function(M, j) {
4164
+ B.setOption = function(M, j) {
4165
4165
  this.options === void 0 && (this.options = {}), this.options[M] = j;
4166
4166
  }, $(
4167
- L,
4167
+ B,
4168
4168
  function(j) {
4169
4169
  if (j === "option")
4170
- Z(L, j), d(";");
4170
+ Z(B, j), d(";");
4171
4171
  else throw w(j);
4172
4172
  },
4173
4173
  function() {
4174
- X(L);
4174
+ X(B);
4175
4175
  }
4176
4176
  );
4177
4177
  }
@@ -4250,31 +4250,31 @@ function parse(s, i, r) {
4250
4250
  return !1;
4251
4251
  }
4252
4252
  function $(A, k, N) {
4253
- var B = m.line;
4253
+ var L = m.line;
4254
4254
  if (A && (typeof A.comment != "string" && (A.comment = a()), A.filename = parse.filename), d("{", !0)) {
4255
- for (var L; (L = o()) !== "}"; ) k(L);
4255
+ for (var B; (B = o()) !== "}"; ) k(B);
4256
4256
  d(";", !0);
4257
4257
  } else
4258
- N && N(), d(";"), A && (typeof A.comment != "string" || u) && (A.comment = a(B) || A.comment);
4258
+ N && N(), d(";"), A && (typeof A.comment != "string" || u) && (A.comment = a(L) || A.comment);
4259
4259
  }
4260
4260
  function q(A, k) {
4261
4261
  if (!nameRe.test(k = o())) throw w(k, "type name");
4262
4262
  var N = new Type(k);
4263
- $(N, function(L) {
4264
- if (!I(N, L))
4265
- switch (L) {
4263
+ $(N, function(B) {
4264
+ if (!I(N, B))
4265
+ switch (B) {
4266
4266
  case "map":
4267
4267
  te(N);
4268
4268
  break;
4269
4269
  case "required":
4270
4270
  case "repeated":
4271
- F(N, L);
4271
+ F(N, B);
4272
4272
  break;
4273
4273
  case "optional":
4274
4274
  b ? F(N, "proto3_optional") : F(N, "optional");
4275
4275
  break;
4276
4276
  case "oneof":
4277
- re(N, L);
4277
+ re(N, B);
4278
4278
  break;
4279
4279
  case "extensions":
4280
4280
  R(N.extensions || (N.extensions = []));
@@ -4283,25 +4283,25 @@ function parse(s, i, r) {
4283
4283
  R(N.reserved || (N.reserved = []), !0);
4284
4284
  break;
4285
4285
  default:
4286
- if (!b || !typeRefRe.test(L)) throw w(L);
4287
- l(L), F(N, "optional");
4286
+ if (!b || !typeRefRe.test(B)) throw w(B);
4287
+ l(B), F(N, "optional");
4288
4288
  break;
4289
4289
  }
4290
4290
  }), A.add(N);
4291
4291
  }
4292
4292
  function F(A, k, N) {
4293
- var B = o();
4294
- if (B === "group") {
4293
+ var L = o();
4294
+ if (L === "group") {
4295
4295
  U(A, k);
4296
4296
  return;
4297
4297
  }
4298
- for (; B.endsWith(".") || c().startsWith("."); )
4299
- B += o();
4300
- if (!typeRefRe.test(B)) throw w(B, "type");
4301
- var L = o();
4302
- if (!nameRe.test(L)) throw w(L, "name");
4303
- L = T(L), d("=");
4304
- var M = new Field(L, S(o()), B, k, N);
4298
+ for (; L.endsWith(".") || c().startsWith("."); )
4299
+ L += o();
4300
+ if (!typeRefRe.test(L)) throw w(L, "type");
4301
+ var B = o();
4302
+ if (!nameRe.test(B)) throw w(B, "name");
4303
+ B = T(B), d("=");
4304
+ var M = new Field(B, S(o()), L, k, N);
4305
4305
  if ($(
4306
4306
  M,
4307
4307
  function(W) {
@@ -4313,11 +4313,11 @@ function parse(s, i, r) {
4313
4313
  X(M);
4314
4314
  }
4315
4315
  ), k === "proto3_optional") {
4316
- var j = new OneOf("_" + L);
4316
+ var j = new OneOf("_" + B);
4317
4317
  M.setOption("proto3_optional", !0), j.add(M), A.add(j);
4318
4318
  } else
4319
4319
  A.add(M);
4320
- !b && M.repeated && (types.packed[B] !== void 0 || types.basic[B] === void 0) && M.setOption(
4320
+ !b && M.repeated && (types.packed[L] !== void 0 || types.basic[L] === void 0) && M.setOption(
4321
4321
  "packed",
4322
4322
  !1,
4323
4323
  /* ifNotSet */
@@ -4327,11 +4327,11 @@ function parse(s, i, r) {
4327
4327
  function U(A, k) {
4328
4328
  var N = o();
4329
4329
  if (!nameRe.test(N)) throw w(N, "name");
4330
- var B = util.lcFirst(N);
4331
- N === B && (N = util.ucFirst(N)), d("=");
4332
- var L = S(o()), M = new Type(N);
4330
+ var L = util.lcFirst(N);
4331
+ N === L && (N = util.ucFirst(N)), d("=");
4332
+ var B = S(o()), M = new Type(N);
4333
4333
  M.group = !0;
4334
- var j = new Field(B, L, N, k);
4334
+ var j = new Field(L, B, N, k);
4335
4335
  j.filename = parse.filename, $(M, function(W) {
4336
4336
  switch (W) {
4337
4337
  case "option":
@@ -4364,72 +4364,72 @@ function parse(s, i, r) {
4364
4364
  var N = o();
4365
4365
  if (!typeRefRe.test(N)) throw w(N, "type");
4366
4366
  d(">");
4367
- var B = o();
4368
- if (!nameRe.test(B)) throw w(B, "name");
4367
+ var L = o();
4368
+ if (!nameRe.test(L)) throw w(L, "name");
4369
4369
  d("=");
4370
- var L = new MapField(T(B), S(o()), k, N);
4370
+ var B = new MapField(T(L), S(o()), k, N);
4371
4371
  $(
4372
- L,
4372
+ B,
4373
4373
  function(j) {
4374
4374
  if (j === "option")
4375
- Z(L, j), d(";");
4375
+ Z(B, j), d(";");
4376
4376
  else throw w(j);
4377
4377
  },
4378
4378
  function() {
4379
- X(L);
4379
+ X(B);
4380
4380
  }
4381
- ), A.add(L);
4381
+ ), A.add(B);
4382
4382
  }
4383
4383
  function re(A, k) {
4384
4384
  if (!nameRe.test(k = o())) throw w(k, "name");
4385
4385
  var N = new OneOf(T(k));
4386
- $(N, function(L) {
4387
- L === "option" ? (Z(N, L), d(";")) : (l(L), F(N, "optional"));
4386
+ $(N, function(B) {
4387
+ B === "option" ? (Z(N, B), d(";")) : (l(B), F(N, "optional"));
4388
4388
  }), A.add(N);
4389
4389
  }
4390
4390
  function Q(A, k) {
4391
4391
  if (!nameRe.test(k = o())) throw w(k, "name");
4392
4392
  var N = new Enum(k);
4393
- $(N, function(L) {
4394
- switch (L) {
4393
+ $(N, function(B) {
4394
+ switch (B) {
4395
4395
  case "option":
4396
- Z(N, L), d(";");
4396
+ Z(N, B), d(";");
4397
4397
  break;
4398
4398
  case "reserved":
4399
4399
  R(N.reserved || (N.reserved = []), !0);
4400
4400
  break;
4401
4401
  default:
4402
- ie(N, L);
4402
+ ie(N, B);
4403
4403
  }
4404
4404
  }), A.add(N);
4405
4405
  }
4406
4406
  function ie(A, k) {
4407
4407
  if (!nameRe.test(k)) throw w(k, "name");
4408
4408
  d("=");
4409
- var N = S(o(), !0), B = {
4409
+ var N = S(o(), !0), L = {
4410
4410
  options: void 0
4411
4411
  };
4412
- B.setOption = function(L, M) {
4413
- this.options === void 0 && (this.options = {}), this.options[L] = M;
4412
+ L.setOption = function(B, M) {
4413
+ this.options === void 0 && (this.options = {}), this.options[B] = M;
4414
4414
  }, $(
4415
- B,
4415
+ L,
4416
4416
  function(M) {
4417
4417
  if (M === "option")
4418
- Z(B, M), d(";");
4418
+ Z(L, M), d(";");
4419
4419
  else throw w(M);
4420
4420
  },
4421
4421
  function() {
4422
- X(B);
4422
+ X(L);
4423
4423
  }
4424
- ), A.add(k, N, B.comment, B.options);
4424
+ ), A.add(k, N, L.comment, L.options);
4425
4425
  }
4426
4426
  function Z(A, k) {
4427
4427
  var N = d("(", !0);
4428
4428
  if (!typeRefRe.test(k = o())) throw w(k, "name");
4429
- var B = k, L = B, M;
4430
- N && (d(")"), B = "(" + B + ")", L = B, k = c(), fqTypeRefRe.test(k) && (M = k.slice(1), B += k, o())), d("=");
4431
- var j = ee(A, B);
4432
- ne(A, L, j, M);
4429
+ var L = k, B = L, M;
4430
+ N && (d(")"), L = "(" + L + ")", B = L, k = c(), fqTypeRefRe.test(k) && (M = k.slice(1), L += k, o())), d("=");
4431
+ var j = ee(A, L);
4432
+ ne(A, B, j, M);
4433
4433
  }
4434
4434
  function ee(A, k) {
4435
4435
  if (d("{", !0)) {
@@ -4438,21 +4438,21 @@ function parse(s, i, r) {
4438
4438
  throw w(H, "name");
4439
4439
  if (H === null)
4440
4440
  throw w(H, "end of input");
4441
- var B, L = H;
4442
- if (d(":", !0), c() === "{") B = ee(A, k + "." + H);
4441
+ var L, B = H;
4442
+ if (d(":", !0), c() === "{") L = ee(A, k + "." + H);
4443
4443
  else if (c() === "[") {
4444
- B = [];
4444
+ L = [];
4445
4445
  var M;
4446
4446
  if (d("[", !0)) {
4447
4447
  do
4448
- M = O(), B.push(M);
4448
+ M = O(), L.push(M);
4449
4449
  while (d(",", !0));
4450
4450
  d("]"), typeof M < "u" && K(A, k + "." + H, M);
4451
4451
  }
4452
4452
  } else
4453
- B = O(), K(A, k + "." + H, B);
4454
- var j = N[L];
4455
- j && (B = [].concat(j).concat(B)), N[L] = B, d(",", !0), d(";", !0);
4453
+ L = O(), K(A, k + "." + H, L);
4454
+ var j = N[B];
4455
+ j && (L = [].concat(j).concat(L)), N[B] = L, d(",", !0), d(";", !0);
4456
4456
  }
4457
4457
  return N;
4458
4458
  }
@@ -4462,8 +4462,8 @@ function parse(s, i, r) {
4462
4462
  function K(A, k, N) {
4463
4463
  A.setOption && A.setOption(k, N);
4464
4464
  }
4465
- function ne(A, k, N, B) {
4466
- A.setParsedOption && A.setParsedOption(k, N, B);
4465
+ function ne(A, k, N, L) {
4466
+ A.setParsedOption && A.setParsedOption(k, N, L);
4467
4467
  }
4468
4468
  function X(A) {
4469
4469
  if (d("[", !0)) {
@@ -4477,19 +4477,19 @@ function parse(s, i, r) {
4477
4477
  function se(A, k) {
4478
4478
  if (!nameRe.test(k = o())) throw w(k, "service name");
4479
4479
  var N = new Service(k);
4480
- $(N, function(L) {
4481
- if (!I(N, L))
4482
- if (L === "rpc") ae(N, L);
4483
- else throw w(L);
4480
+ $(N, function(B) {
4481
+ if (!I(N, B))
4482
+ if (B === "rpc") ae(N, B);
4483
+ else throw w(B);
4484
4484
  }), A.add(N);
4485
4485
  }
4486
4486
  function ae(A, k) {
4487
- var N = a(), B = k;
4487
+ var N = a(), L = k;
4488
4488
  if (!nameRe.test(k = o())) throw w(k, "name");
4489
- var L = k, M, j, V, W;
4489
+ var B = k, M, j, V, W;
4490
4490
  if (d("("), d("stream", !0) && (j = !0), !typeRefRe.test(k = o()) || (M = k, d(")"), d("returns"), d("("), d("stream", !0) && (W = !0), !typeRefRe.test(k = o()))) throw w(k);
4491
4491
  V = k, d(")");
4492
- var J = new Method(L, B, M, V, j, W);
4492
+ var J = new Method(B, L, M, V, j, W);
4493
4493
  J.comment = N, $(J, function(Y) {
4494
4494
  if (Y === "option")
4495
4495
  Z(J, Y), d(";");
@@ -4499,18 +4499,18 @@ function parse(s, i, r) {
4499
4499
  function oe(A, k) {
4500
4500
  if (!typeRefRe.test(k = o())) throw w(k, "reference");
4501
4501
  var N = k;
4502
- $(null, function(L) {
4503
- switch (L) {
4502
+ $(null, function(B) {
4503
+ switch (B) {
4504
4504
  case "required":
4505
4505
  case "repeated":
4506
- F(A, L, N);
4506
+ F(A, B, N);
4507
4507
  break;
4508
4508
  case "optional":
4509
4509
  b ? F(A, "proto3_optional", N) : F(A, "optional", N);
4510
4510
  break;
4511
4511
  default:
4512
- if (!b || !typeRefRe.test(L)) throw w(L);
4513
- l(L), F(A, "optional", N);
4512
+ if (!b || !typeRefRe.test(B)) throw w(B);
4513
+ l(B), F(A, "optional", N);
4514
4514
  break;
4515
4515
  }
4516
4516
  });
@@ -5781,7 +5781,7 @@ class ShipLayer {
5781
5781
  const C = getHideAfterFiveMinutesProperty(S);
5782
5782
  r.label.show = C, r.point.show = C;
5783
5783
  }
5784
- r.properties[R] = E;
5784
+ r.properties[R] = E, y != null && y.properties && (y.properties[R] = E);
5785
5785
  }
5786
5786
  } else
5787
5787
  this.renderFeature(i);
@@ -5834,7 +5834,8 @@ class ShipLayer {
5834
5834
  const r = new Cesium.Entity({
5835
5835
  id: i.id + "_shadow",
5836
5836
  position: i.position,
5837
- orientation: i.orientation
5837
+ orientation: i.orientation,
5838
+ properties: i.properties
5838
5839
  });
5839
5840
  this.shadowEntityMap.set(i, r), this.db.entities.add(r);
5840
5841
  const u = (g = i.properties) == null ? void 0 : g.getValue(), m = u != null && u.updateTime ? new Date(u.updateTime) : /* @__PURE__ */ new Date(), o = Cesium.JulianDate.fromDate(m), l = Number((u == null ? void 0 : u.speedOverGround) ?? 0), c = (u == null ? void 0 : u.designLength) ?? 20, d = (u == null ? void 0 : u.designBeam) ?? 8, a = (u == null ? void 0 : u.shipTypeId) ?? -1, p = shipTypeColorMap.get(a) ?? shipTypeColorMap.get(-1), y = createShipIconV2({
@@ -5863,6 +5864,20 @@ class ShipLayer {
5863
5864
  })
5864
5865
  });
5865
5866
  }
5867
+ /**显隐entity,回调返回显示隐藏的状态 */
5868
+ hideEntityByCondition(i) {
5869
+ this.db.entities.values.forEach((r) => {
5870
+ const u = i(r);
5871
+ r.show = u;
5872
+ const m = this.shadowEntityMap.get(r);
5873
+ m && (m.show = u);
5874
+ });
5875
+ }
5876
+ showAllEntity() {
5877
+ this.db.entities.values.forEach((i) => {
5878
+ i.show = !0;
5879
+ });
5880
+ }
5866
5881
  }
5867
5882
  Color.fromCssColorString("#FC4C02");
5868
5883
  Color.WHITE;
@@ -74,4 +74,4 @@
74
74
  <path id="svg_4" data-name="svg 4" class="cls-1" d="${p}"/>
75
75
  </g>
76
76
  <image id="img_1" width="${i}" height="${146/124*i}" transform="translate(${-i/2+u.x} ${u.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([b],{type:"image/svg+xml"})),viewBox:h,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(),u=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),m=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),o=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(u,l.withAlpha(1)),i.addSample(m,l.withAlpha(.2)),i.addSample(o,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(u=>u?Cesium__namespace.JulianDate.lessThan(u,r):!0,!1)}class ShipLayer{constructor(i,r){z(this,"db");z(this,"isMounted",!1);z(this,"_viewer",null);z(this,"entityMap",new Map);z(this,"IS_MOVING_THRESHOLD",1);z(this,"shadowEntityMap",new WeakMap);this.key=i,this.zIndex=r,this.db=new Cesium__namespace.CustomDataSource(i)}show(i){this.isMounted||(i.dataSources.add(this.db),this._viewer=i,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1)}render(i){i.features.forEach(r=>{this.renderFeature(r)})}renderFeature(i){var c,d;const r=String(i.id),u=new Cesium__namespace.SampledPositionProperty;u.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,u.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const m=Cesium__namespace.Cartesian3.fromDegrees(i.geometry.coordinates[0],i.geometry.coordinates[1]);u.addSample(((c=this._viewer)==null?void 0:c.clock.currentTime)??Cesium__namespace.JulianDate.now(),m);const o=((d=i.properties)==null?void 0:d.courseOverGroundTrue)??0,l=new Cesium__namespace.Entity({id:r,position:u,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(m,new Cesium__namespace.HeadingPitchRoll(o,0,0))),properties:i.properties??{}});this.entityMap.set(r,l),this.db.entities.add(l),this.renderEntity(l)}update(i){var u,m,o,l,c,d,a,p;const r=this.db.entities.getById(String(i.id));if(r){const y=this.shadowEntityMap.get(r),g=((u=i.properties)==null?void 0:u.shipTypeId)??-1,h=shipTypeColorMap.get(g)??shipTypeColorMap.get(-1),[v,b]=i.geometry.coordinates,w=((m=this._viewer)==null?void 0:m.clock.currentTime)??Cesium__namespace.JulianDate.now(),T=(o=r.position)==null?void 0:o.getValue(w),_=Cesium__namespace.JulianDate.addSeconds(w,3,new Cesium__namespace.JulianDate),O=Cesium__namespace.Cartesian3.fromDegrees(v,b),x=new Cesium__namespace.SampledPositionProperty;if(x.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,x.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,x instanceof Cesium__namespace.SampledPositionProperty&&(x.addSample(Cesium__namespace.JulianDate.addSeconds(w,1,new Cesium__namespace.JulianDate),T??O),x.addSample(_,O)),r.position=x,y&&(y.position=x),r.properties)for(const[R,E]of Object.entries(i.properties??{})){if(R=="speedOverGround"){const C=r.properties.getValue().speedOverGround??0,N=Number(C)>this.IS_MOVING_THRESHOLD,A=Number(E)>this.IS_MOVING_THRESHOLD;if(N!==A&&(r.billboard&&(r.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(h,A))),y!=null&&y.plane)){const D=((l=i.properties)==null?void 0:l.designBeam)??8,P=((c=i.properties)==null?void 0:c.designLength)??20,M=createShipIconV2({color:h,isMoving:A,...i.properties,designBeam:D,designLength:P}),q=(d=y.plane)==null?void 0:d.material;q&&(q.image=new Cesium__namespace.ConstantProperty(M.url),y.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y))),y.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y),!0)}}if(R=="courseOverGroundTrue"){const C=((a=i.properties)==null?void 0:a.courseOverGroundTrue)??0;r.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof E=="number"?-1*E:0);const N=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(O,new Cesium__namespace.HeadingPitchRoll(C,0,0)));y&&(y.orientation=N)}if(R=="updateTime"){const C=Cesium__namespace.JulianDate.fromDate(new Date(E));r.billboard.color=createAlphaSampled({startTime:C});const N=(p=y==null?void 0:y.plane)==null?void 0:p.material;N&&(N.color=createAlphaSampled({startTime:C}));const A=getHideAfterFiveMinutesProperty(C);r.label.show=A,r.point.show=A}r.properties[R]=E}}else this.renderFeature(i)}renderEntity(i){var a,p,y,g,h,v,b;const r=(a=i.properties)==null?void 0:a.getValue(),u=(r==null?void 0:r.shipTypeId)??-1,m=shipTypeColorMap.get(u)??shipTypeColorMap.get(-1),o=Number((r==null?void 0:r.speedOverGround)??0),l=r!=null&&r.updateTime?new Date(r.updateTime):new Date,c=Cesium__namespace.JulianDate.fromDate(l),d=createShipIconUrl(m,o>this.IS_MOVING_THRESHOLD);i.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(15e3),show:getHideAfterFiveMinutesProperty(c)}),i.billboard=new Cesium__namespace.BillboardGraphics({image:d,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(4e3,15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:c}),rotation:new Cesium__namespace.ConstantProperty((y=(p=i.properties)==null?void 0:p.getValue())!=null&&y.courseOverGroundTrue?-1*i.properties.getValue().courseOverGroundTrue:0)}),i.label=new Cesium__namespace.LabelGraphics({font:'12px normal "微软雅黑"',backgroundColor:Cesium__namespace.Color.fromCssColorString("#E9F4FC"),fillColor:Cesium__namespace.Color.BLACK,outlineColor:Cesium__namespace.Color.BLACK,outlineWidth:2,showBackground:!0,style:Cesium__namespace.LabelStyle.FILL,pixelOffset:new Cesium__namespace.Cartesian2(0,-20),scale:1,scaleByDistance:new Cesium__namespace.NearFarScalar(3e3,1,1e4,.55),text:((h=(g=i.properties)==null?void 0:g.getValue())==null?void 0:h.name)??((v=i.properties)!=null&&v.getValue().mmsi?"mmsi:"+((b=i.properties)==null?void 0:b.getValue().mmsi):"未知"),horizontalOrigin:Cesium__namespace.HorizontalOrigin.CENTER,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(c)}),this.createShipPlane(i)}createShipPlane(i){var g;const r=new Cesium__namespace.Entity({id:i.id+"_shadow",position:i.position,orientation:i.orientation});this.shadowEntityMap.set(i,r),this.db.entities.add(r);const u=(g=i.properties)==null?void 0:g.getValue(),m=u!=null&&u.updateTime?new Date(u.updateTime):new Date,o=Cesium__namespace.JulianDate.fromDate(m),l=Number((u==null?void 0:u.speedOverGround)??0),c=(u==null?void 0:u.designLength)??20,d=(u==null?void 0:u.designBeam)??8,a=(u==null?void 0:u.shipTypeId)??-1,p=shipTypeColorMap.get(a)??shipTypeColorMap.get(-1),y=createShipIconV2({color:p,isMoving:l>this.IS_MOVING_THRESHOLD,...u,designBeam:(u==null?void 0:u.designBeam)??8,designLength:(u==null?void 0:u.designLength)??20});r.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(d*y.scale.x,c*y.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var w;if(!this._viewer)return!0;const h=this._viewer.clock.currentTime,v=(w=i.position)==null?void 0:w.getValue(h);return v?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,v)<=4e3:!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:y.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:o})})})}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$2.indexOf(o);l===-1&&(l=e$2.push(o)-1,t$2[l]={}),r=t$2[l]&&t$2[l][u]?t$2[l][u]:t$2[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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){z(this,"_position");z(this,"_screenPosition",new Cesium.Cartesian2);z(this,"_element");z(this,"_viewer");z(this,"_options");z(this,"_destroyed",!1);z(this,"_offset");z(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const u=this._viewer.scene.camera.position,m=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(m,u).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 u=i.x-r.clientWidth/2+this._offset[0],m=i.y-r.clientHeight+this._offset[1];r.style.left=`${u}px`,r.style.top=`${m}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:u,element:m,offset:o}=r;if(!m)throw Error("no element!");this._position=u?Cesium.Cartesian3.fromDegrees(u[0],u[1],u[2]):null,this._element=m,this._offset=[(o==null?void 0:o[0])??0,(o==null?void 0:o[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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$1.indexOf(o);l===-1&&(l=e$1.push(o)-1,t$1[l]={}),r=t$1[l]&&t$1[l][u]?t$1[l][u]:t$1[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e.indexOf(o);l===-1&&(l=e.push(o)-1,t[l]={}),r=t[l]&&t[l][u]?t[l][u]:t[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u){s.exports?s.exports=u():r[i]=u()})("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 a=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)},p=i.defaultRadius;return a.prototype={_organiseData:function(y,g){var h=y[this._xField],v=y[this._yField],b=this._radi,w=this._data,T=this._max,_=this._min,O=y[this._valueField]||1,x=y.radius||this._cfgRadius||p;w[h]||(w[h]=[],b[h]=[]),w[h][v]?w[h][v]+=O:(w[h][v]=O,b[h][v]=x);var R=w[h][v];return R>T?(g?this.setDataMax(R):this._max=R,!1):R<_?(g?this.setDataMin(R):this._min=R,!1):{x:h,y:v,value:O,radius:x,min:_,max:T}},_unOrganizeData:function(){var y=[],g=this._data,h=this._radi;for(var v in g)for(var b in g[v])y.push({x:v,y:b,radius:h[v][b],value:g[v][b]});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 h=this._organiseData(arguments[0],!0);h&&(this._data.length===0&&(this._min=this._max=h.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[h]}))}return this},setData:function(y){var g=y.data,h=g.length;this._data=[],this._radi=[];for(var v=0;v<h;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()}},a}(),u=function(){var a=function(h){var v=h.gradient||h.defaultGradient,b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0});b.width=256,b.height=1;var T=w.createLinearGradient(0,0,256,1);for(var _ in v)T.addColorStop(_,v[_]);return w.fillStyle=T,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},p=function(h,v){var b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0}),T=h,_=h;if(b.width=b.height=h*2,v==1)w.beginPath(),w.arc(T,_,h,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var O=w.createRadialGradient(T,_,h*v,T,_,h);O.addColorStop(0,"rgba(0,0,0,1)"),O.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=O,w.fillRect(0,0,2*h,2*h)}return b},y=function(_){for(var v=[],b=_.min,w=_.max,T=_.radi,_=_.data,O=Object.keys(_),x=O.length;x--;)for(var R=O[x],E=Object.keys(_[R]),C=E.length;C--;){var N=E[C],A=_[R][N],D=T[R][N];v.push({x:R,y:N,value:A,radius:D})}return{min:b,max:w,data:v}};function g(h){var v=h.container,b=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=h.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var T=getComputedStyle(h.container)||{};w.className="heatmap-canvas",this._width=w.width=b.width=h.width||+T.width.replace(/px/,""),this._height=w.height=b.height=h.height||+T.height.replace(/px/,""),this.shadowCtx=b.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=b.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=a(h),this._templates={},this._setStyles(h)}return g.prototype={renderPartial:function(h){h.data.length>0&&(this._drawAlpha(h),this._colorize())},renderAll:function(h){this._clear(),h.data.length>0&&(this._drawAlpha(y(h)),this._colorize())},_updateGradient:function(h){this._palette=a(h)},updateConfig:function(h){h.gradient&&this._updateGradient(h),this._setStyles(h)},setDimensions:function(h,v){this._width=h,this._height=v,this.canvas.width=this.shadowCanvas.width=h,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(h){this._blur=h.blur==0?0:h.blur||h.defaultBlur,h.backgroundColor&&(this.canvas.style.backgroundColor=h.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=h.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=h.height||this._height,this._opacity=(h.opacity||0)*255,this._maxOpacity=(h.maxOpacity||h.defaultMaxOpacity)*255,this._minOpacity=(h.minOpacity||h.defaultMinOpacity)*255,this._useGradientOpacity=!!h.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,b=this._max=w.max,w=w.data||[],T=w.length,_=1-this._blur;T--;){var O=w[T],x=O.x,R=O.y,E=O.radius,C=Math.min(O.value,b),N=x-E,A=R-E,D=this.shadowCtx,P;this._templates[E]?P=this._templates[E]:this._templates[E]=P=p(E,_);var M=(C-v)/(b-v);D.globalAlpha=M<.01?.01:M,D.drawImage(P,N,A),N<this._renderBoundaries[0]&&(this._renderBoundaries[0]=N),A<this._renderBoundaries[1]&&(this._renderBoundaries[1]=A),N+2*E>this._renderBoundaries[2]&&(this._renderBoundaries[2]=N+2*E),A+2*E>this._renderBoundaries[3]&&(this._renderBoundaries[3]=A+2*E)}},_colorize:function(){var h=this._renderBoundaries[0],v=this._renderBoundaries[1],b=this._renderBoundaries[2]-h,w=this._renderBoundaries[3]-v,T=this._width,_=this._height,O=this._opacity,x=this._maxOpacity,R=this._minOpacity,E=this._useGradientOpacity;h<0&&(h=0),v<0&&(v=0),h+b>T&&(b=T-h),v+w>_&&(w=_-v);for(var C=this.shadowCtx.getImageData(h,v,b,w),N=C.data,A=N.length,D=this._palette,P=3;P<A;P+=4){var M=N[P],q=M*4;if(q){var F;O>0?F=O:M<x?M<R?F=R:F=M:F=x,N[P-3]=D[q],N[P-2]=D[q+1],N[P-1]=D[q+2],N[P]=E?D[q+3]:F}}this.ctx.putImageData(C,h,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(h){var v,b=this.shadowCtx,w=b.getImageData(h.x,h.y,1,1),T=w.data[3],_=this._max,O=this._min;return v=Math.abs(_-O)*(T/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),m=function(){var a=!1;return i.defaultRenderer==="canvas2d"&&(a=u),a}(),o={merge:function(){for(var d={},a=arguments.length,p=0;p<a;p++){var y=arguments[p];for(var g in y)d[g]=y[g]}return d}},l=function(){var a=function(){function h(){this.cStore={}}return h.prototype={on:function(v,b,w){var T=this.cStore;T[v]||(T[v]=[]),T[v].push(function(_){return b.call(w,_)})},emit:function(v,b){var w=this.cStore;if(w[v])for(var T=w[v].length,_=0;_<T;_++){var O=w[v][_];O(b)}}},h}(),p=function(g){var h=g._renderer,v=g._coordinator,b=g._store;v.on("renderpartial",h.renderPartial,h),v.on("renderall",h.renderAll,h),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),b.setCoordinator(v)};function y(){var g=this._config=o.merge(i,arguments[0]||{});if(this._coordinator=new a,g.plugin){var h=g.plugin;if(i.plugins[h]){var v=i.plugins[h];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+h+"' not found. Maybe it was not registered.")}else this._renderer=new m(g),this._store=new r(g);p(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=o.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(d){return new l(d)},register:function(d,a){i.plugins[d]=a}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const H=class H extends EventEmitter{constructor(){super();z(this,"popupMap",new Map)}static getInstance(){return H.instance||(H.instance=new H),H.instance}popup(r){var c;const u=r.element;u.style.position="absolute";const m=r.viewer.container,o=()=>{l&&(l.destroy(),m.removeChild(u),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};m.appendChild(u),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:u});this.popupMap.set(r.id,{popup:l,destroy:o})}close(r){const u=this.popupMap.get(r);u&&(u.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};z(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(u=>{i.emit("click",u)},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.saveCameraParams=saveCameraParams,Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})});
77
+ </svg>`;return{url:URL.createObjectURL(new Blob([b],{type:"image/svg+xml"})),viewBox:h,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(),u=Cesium__namespace.JulianDate.addMinutes(r,1,new Cesium__namespace.JulianDate),m=Cesium__namespace.JulianDate.addMinutes(r,5,new Cesium__namespace.JulianDate),o=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(u,l.withAlpha(1)),i.addSample(m,l.withAlpha(.2)),i.addSample(o,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(u=>u?Cesium__namespace.JulianDate.lessThan(u,r):!0,!1)}class ShipLayer{constructor(i,r){z(this,"db");z(this,"isMounted",!1);z(this,"_viewer",null);z(this,"entityMap",new Map);z(this,"IS_MOVING_THRESHOLD",1);z(this,"shadowEntityMap",new WeakMap);this.key=i,this.zIndex=r,this.db=new Cesium__namespace.CustomDataSource(i)}show(i){this.isMounted||(i.dataSources.add(this.db),this._viewer=i,this.isMounted=!0),this.db.show=!0}hide(){this.isMounted&&(this.db.show=!1)}render(i){i.features.forEach(r=>{this.renderFeature(r)})}renderFeature(i){var c,d;const r=String(i.id),u=new Cesium__namespace.SampledPositionProperty;u.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,u.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD;const m=Cesium__namespace.Cartesian3.fromDegrees(i.geometry.coordinates[0],i.geometry.coordinates[1]);u.addSample(((c=this._viewer)==null?void 0:c.clock.currentTime)??Cesium__namespace.JulianDate.now(),m);const o=((d=i.properties)==null?void 0:d.courseOverGroundTrue)??0,l=new Cesium__namespace.Entity({id:r,position:u,orientation:new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(m,new Cesium__namespace.HeadingPitchRoll(o,0,0))),properties:i.properties??{}});this.entityMap.set(r,l),this.db.entities.add(l),this.renderEntity(l)}update(i){var u,m,o,l,c,d,a,p;const r=this.db.entities.getById(String(i.id));if(r){const y=this.shadowEntityMap.get(r),g=((u=i.properties)==null?void 0:u.shipTypeId)??-1,h=shipTypeColorMap.get(g)??shipTypeColorMap.get(-1),[v,b]=i.geometry.coordinates,w=((m=this._viewer)==null?void 0:m.clock.currentTime)??Cesium__namespace.JulianDate.now(),T=(o=r.position)==null?void 0:o.getValue(w),_=Cesium__namespace.JulianDate.addSeconds(w,3,new Cesium__namespace.JulianDate),O=Cesium__namespace.Cartesian3.fromDegrees(v,b),x=new Cesium__namespace.SampledPositionProperty;if(x.backwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,x.forwardExtrapolationType=Cesium__namespace.ExtrapolationType.HOLD,x instanceof Cesium__namespace.SampledPositionProperty&&(x.addSample(Cesium__namespace.JulianDate.addSeconds(w,1,new Cesium__namespace.JulianDate),T??O),x.addSample(_,O)),r.position=x,y&&(y.position=x),r.properties)for(const[R,E]of Object.entries(i.properties??{})){if(R=="speedOverGround"){const C=r.properties.getValue().speedOverGround??0,N=Number(C)>this.IS_MOVING_THRESHOLD,A=Number(E)>this.IS_MOVING_THRESHOLD;if(N!==A&&(r.billboard&&(r.billboard.image=new Cesium__namespace.ConstantProperty(createShipIconUrl(h,A))),y!=null&&y.plane)){const D=((l=i.properties)==null?void 0:l.designBeam)??8,P=((c=i.properties)==null?void 0:c.designLength)??20,M=createShipIconV2({color:h,isMoving:A,...i.properties,designBeam:D,designLength:P}),q=(d=y.plane)==null?void 0:d.material;q&&(q.image=new Cesium__namespace.ConstantProperty(M.url),y.plane.dimensions=new Cesium__namespace.ConstantProperty(new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y))),y.plane.dimensions=new Cesium__namespace.CallbackProperty(()=>new Cesium__namespace.Cartesian2(D*M.scale.x,P*M.scale.y),!0)}}if(R=="courseOverGroundTrue"){const C=((a=i.properties)==null?void 0:a.courseOverGroundTrue)??0;r.billboard.rotation=new Cesium__namespace.ConstantProperty(typeof E=="number"?-1*E:0);const N=new Cesium__namespace.ConstantProperty(Cesium__namespace.Transforms.headingPitchRollQuaternion(O,new Cesium__namespace.HeadingPitchRoll(C,0,0)));y&&(y.orientation=N)}if(R=="updateTime"){const C=Cesium__namespace.JulianDate.fromDate(new Date(E));r.billboard.color=createAlphaSampled({startTime:C});const N=(p=y==null?void 0:y.plane)==null?void 0:p.material;N&&(N.color=createAlphaSampled({startTime:C}));const A=getHideAfterFiveMinutesProperty(C);r.label.show=A,r.point.show=A}r.properties[R]=E,y!=null&&y.properties&&(y.properties[R]=E)}}else this.renderFeature(i)}renderEntity(i){var a,p,y,g,h,v,b;const r=(a=i.properties)==null?void 0:a.getValue(),u=(r==null?void 0:r.shipTypeId)??-1,m=shipTypeColorMap.get(u)??shipTypeColorMap.get(-1),o=Number((r==null?void 0:r.speedOverGround)??0),l=r!=null&&r.updateTime?new Date(r.updateTime):new Date,c=Cesium__namespace.JulianDate.fromDate(l),d=createShipIconUrl(m,o>this.IS_MOVING_THRESHOLD);i.point=new Cesium__namespace.PointGraphics({pixelSize:4,color:Cesium__namespace.Color.fromCssColorString("#8AF22C"),disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(15e3),show:getHideAfterFiveMinutesProperty(c)}),i.billboard=new Cesium__namespace.BillboardGraphics({image:d,width:14,height:70,disableDepthTestDistance:3e6,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(4e3,15e3),pixelOffset:new Cesium__namespace.Cartesian2(0,0),alignedAxis:Cesium__namespace.Cartesian3.UNIT_Z,color:createAlphaSampled({startTime:c}),rotation:new Cesium__namespace.ConstantProperty((y=(p=i.properties)==null?void 0:p.getValue())!=null&&y.courseOverGroundTrue?-1*i.properties.getValue().courseOverGroundTrue:0)}),i.label=new Cesium__namespace.LabelGraphics({font:'12px normal "微软雅黑"',backgroundColor:Cesium__namespace.Color.fromCssColorString("#E9F4FC"),fillColor:Cesium__namespace.Color.BLACK,outlineColor:Cesium__namespace.Color.BLACK,outlineWidth:2,showBackground:!0,style:Cesium__namespace.LabelStyle.FILL,pixelOffset:new Cesium__namespace.Cartesian2(0,-20),scale:1,scaleByDistance:new Cesium__namespace.NearFarScalar(3e3,1,1e4,.55),text:((h=(g=i.properties)==null?void 0:g.getValue())==null?void 0:h.name)??((v=i.properties)!=null&&v.getValue().mmsi?"mmsi:"+((b=i.properties)==null?void 0:b.getValue().mmsi):"未知"),horizontalOrigin:Cesium__namespace.HorizontalOrigin.CENTER,distanceDisplayCondition:new Cesium__namespace.DistanceDisplayCondition(0,15e3),disableDepthTestDistance:5e3,show:getHideAfterFiveMinutesProperty(c)}),this.createShipPlane(i)}createShipPlane(i){var g;const r=new Cesium__namespace.Entity({id:i.id+"_shadow",position:i.position,orientation:i.orientation,properties:i.properties});this.shadowEntityMap.set(i,r),this.db.entities.add(r);const u=(g=i.properties)==null?void 0:g.getValue(),m=u!=null&&u.updateTime?new Date(u.updateTime):new Date,o=Cesium__namespace.JulianDate.fromDate(m),l=Number((u==null?void 0:u.speedOverGround)??0),c=(u==null?void 0:u.designLength)??20,d=(u==null?void 0:u.designBeam)??8,a=(u==null?void 0:u.shipTypeId)??-1,p=shipTypeColorMap.get(a)??shipTypeColorMap.get(-1),y=createShipIconV2({color:p,isMoving:l>this.IS_MOVING_THRESHOLD,...u,designBeam:(u==null?void 0:u.designBeam)??8,designLength:(u==null?void 0:u.designLength)??20});r.plane=new Cesium__namespace.PlaneGraphics({plane:new Cesium__namespace.Plane(Cesium__namespace.Cartesian3.UNIT_Z,0),dimensions:new Cesium__namespace.Cartesian2(d*y.scale.x,c*y.scale.y),show:new Cesium__namespace.CallbackProperty(()=>{var w;if(!this._viewer)return!0;const h=this._viewer.clock.currentTime,v=(w=i.position)==null?void 0:w.getValue(h);return v?Cesium__namespace.Cartesian3.distance(this._viewer.camera.positionWC,v)<=4e3:!1},!1),material:new Cesium__namespace.ImageMaterialProperty({image:y.url,transparent:!0,repeat:new Cesium__namespace.Cartesian2(1,1),color:createAlphaSampled({startTime:o})})})}hideEntityByCondition(i){this.db.entities.values.forEach(r=>{const u=i(r);r.show=u;const m=this.shadowEntityMap.get(r);m&&(m.show=u)})}showAllEntity(){this.db.entities.values.forEach(i=>{i.show=!0})}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$2.indexOf(o);l===-1&&(l=e$2.push(o)-1,t$2[l]={}),r=t$2[l]&&t$2[l][u]?t$2[l][u]:t$2[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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){z(this,"_position");z(this,"_screenPosition",new Cesium.Cartesian2);z(this,"_element");z(this,"_viewer");z(this,"_options");z(this,"_destroyed",!1);z(this,"_offset");z(this,"setPosition",()=>{if(this._position&&this._viewer&&this._position){if(this._viewer.scene.mode===Cesium.SceneMode.SCENE3D){const u=this._viewer.scene.camera.position,m=new Cesium.BoundingSphere(new Cesium.Cartesian3(0,0,0),635e4);if(!new Cesium.Occluder(m,u).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 u=i.x-r.clientWidth/2+this._offset[0],m=i.y-r.clientHeight+this._offset[1];r.style.left=`${u}px`,r.style.top=`${m}px`,this._screenPosition=i}}});this._viewer=i,this._options=r;const{position:u,element:m,offset:o}=r;if(!m)throw Error("no element!");this._position=u?Cesium.Cartesian3.fromDegrees(u[0],u[1],u[2]):null,this._element=m,this._offset=[(o==null?void 0:o[0])??0,(o==null?void 0:o[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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e$1.indexOf(o);l===-1&&(l=e$1.push(o)-1,t$1[l]={}),r=t$1[l]&&t$1[l][u]?t$1[l][u]:t$1[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u=i.prepend===!0?"prepend":"append",m=i.singleTag===!0,o=typeof i.container=="string"?document.querySelector(i.container):document.getElementsByTagName("head")[0];if(m){var l=e.indexOf(o);l===-1&&(l=e.push(o)-1,t[l]={}),r=t[l]&&t[l][u]?t[l][u]:t[l][u]=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 d=document.createElement("style");if(d.setAttribute("type","text/css"),i.attributes)for(var a=Object.keys(i.attributes),p=0;p<a.length;p++)d.setAttribute(a[p],i.attributes[a[p]]);var y=u==="prepend"?"afterbegin":"beforeend";return o.insertAdjacentElement(y,d),d}}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,u){s.exports?s.exports=u():r[i]=u()})("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 a=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)},p=i.defaultRadius;return a.prototype={_organiseData:function(y,g){var h=y[this._xField],v=y[this._yField],b=this._radi,w=this._data,T=this._max,_=this._min,O=y[this._valueField]||1,x=y.radius||this._cfgRadius||p;w[h]||(w[h]=[],b[h]=[]),w[h][v]?w[h][v]+=O:(w[h][v]=O,b[h][v]=x);var R=w[h][v];return R>T?(g?this.setDataMax(R):this._max=R,!1):R<_?(g?this.setDataMin(R):this._min=R,!1):{x:h,y:v,value:O,radius:x,min:_,max:T}},_unOrganizeData:function(){var y=[],g=this._data,h=this._radi;for(var v in g)for(var b in g[v])y.push({x:v,y:b,radius:h[v][b],value:g[v][b]});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 h=this._organiseData(arguments[0],!0);h&&(this._data.length===0&&(this._min=this._max=h.value),this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[h]}))}return this},setData:function(y){var g=y.data,h=g.length;this._data=[],this._radi=[];for(var v=0;v<h;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()}},a}(),u=function(){var a=function(h){var v=h.gradient||h.defaultGradient,b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0});b.width=256,b.height=1;var T=w.createLinearGradient(0,0,256,1);for(var _ in v)T.addColorStop(_,v[_]);return w.fillStyle=T,w.fillRect(0,0,256,1),w.getImageData(0,0,256,1).data},p=function(h,v){var b=document.createElement("canvas"),w=b.getContext("2d",{willReadFrequently:!0}),T=h,_=h;if(b.width=b.height=h*2,v==1)w.beginPath(),w.arc(T,_,h,0,2*Math.PI,!1),w.fillStyle="rgba(0,0,0,1)",w.fill();else{var O=w.createRadialGradient(T,_,h*v,T,_,h);O.addColorStop(0,"rgba(0,0,0,1)"),O.addColorStop(1,"rgba(0,0,0,0)"),w.fillStyle=O,w.fillRect(0,0,2*h,2*h)}return b},y=function(_){for(var v=[],b=_.min,w=_.max,T=_.radi,_=_.data,O=Object.keys(_),x=O.length;x--;)for(var R=O[x],E=Object.keys(_[R]),C=E.length;C--;){var N=E[C],A=_[R][N],D=T[R][N];v.push({x:R,y:N,value:A,radius:D})}return{min:b,max:w,data:v}};function g(h){var v=h.container,b=this.shadowCanvas=document.createElement("canvas"),w=this.canvas=h.canvas||document.createElement("canvas");this._renderBoundaries=[1e4,1e4,0,0];var T=getComputedStyle(h.container)||{};w.className="heatmap-canvas",this._width=w.width=b.width=h.width||+T.width.replace(/px/,""),this._height=w.height=b.height=h.height||+T.height.replace(/px/,""),this.shadowCtx=b.getContext("2d",{willReadFrequently:!0}),this.ctx=w.getContext("2d",{willReadFrequently:!0}),w.style.cssText=b.style.cssText="position:absolute;left:0;top:0;",v.style.position="relative",v.appendChild(w),this._palette=a(h),this._templates={},this._setStyles(h)}return g.prototype={renderPartial:function(h){h.data.length>0&&(this._drawAlpha(h),this._colorize())},renderAll:function(h){this._clear(),h.data.length>0&&(this._drawAlpha(y(h)),this._colorize())},_updateGradient:function(h){this._palette=a(h)},updateConfig:function(h){h.gradient&&this._updateGradient(h),this._setStyles(h)},setDimensions:function(h,v){this._width=h,this._height=v,this.canvas.width=this.shadowCanvas.width=h,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(h){this._blur=h.blur==0?0:h.blur||h.defaultBlur,h.backgroundColor&&(this.canvas.style.backgroundColor=h.backgroundColor),this._width=this.canvas.width=this.shadowCanvas.width=h.width||this._width,this._height=this.canvas.height=this.shadowCanvas.height=h.height||this._height,this._opacity=(h.opacity||0)*255,this._maxOpacity=(h.maxOpacity||h.defaultMaxOpacity)*255,this._minOpacity=(h.minOpacity||h.defaultMinOpacity)*255,this._useGradientOpacity=!!h.useGradientOpacity},_drawAlpha:function(w){for(var v=this._min=w.min,b=this._max=w.max,w=w.data||[],T=w.length,_=1-this._blur;T--;){var O=w[T],x=O.x,R=O.y,E=O.radius,C=Math.min(O.value,b),N=x-E,A=R-E,D=this.shadowCtx,P;this._templates[E]?P=this._templates[E]:this._templates[E]=P=p(E,_);var M=(C-v)/(b-v);D.globalAlpha=M<.01?.01:M,D.drawImage(P,N,A),N<this._renderBoundaries[0]&&(this._renderBoundaries[0]=N),A<this._renderBoundaries[1]&&(this._renderBoundaries[1]=A),N+2*E>this._renderBoundaries[2]&&(this._renderBoundaries[2]=N+2*E),A+2*E>this._renderBoundaries[3]&&(this._renderBoundaries[3]=A+2*E)}},_colorize:function(){var h=this._renderBoundaries[0],v=this._renderBoundaries[1],b=this._renderBoundaries[2]-h,w=this._renderBoundaries[3]-v,T=this._width,_=this._height,O=this._opacity,x=this._maxOpacity,R=this._minOpacity,E=this._useGradientOpacity;h<0&&(h=0),v<0&&(v=0),h+b>T&&(b=T-h),v+w>_&&(w=_-v);for(var C=this.shadowCtx.getImageData(h,v,b,w),N=C.data,A=N.length,D=this._palette,P=3;P<A;P+=4){var M=N[P],q=M*4;if(q){var F;O>0?F=O:M<x?M<R?F=R:F=M:F=x,N[P-3]=D[q],N[P-2]=D[q+1],N[P-1]=D[q+2],N[P]=E?D[q+3]:F}}this.ctx.putImageData(C,h,v),this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(h){var v,b=this.shadowCtx,w=b.getImageData(h.x,h.y,1,1),T=w.data[3],_=this._max,O=this._min;return v=Math.abs(_-O)*(T/255)>>0,v},getDataURL:function(){return this.canvas.toDataURL()}},g}(),m=function(){var a=!1;return i.defaultRenderer==="canvas2d"&&(a=u),a}(),o={merge:function(){for(var d={},a=arguments.length,p=0;p<a;p++){var y=arguments[p];for(var g in y)d[g]=y[g]}return d}},l=function(){var a=function(){function h(){this.cStore={}}return h.prototype={on:function(v,b,w){var T=this.cStore;T[v]||(T[v]=[]),T[v].push(function(_){return b.call(w,_)})},emit:function(v,b){var w=this.cStore;if(w[v])for(var T=w[v].length,_=0;_<T;_++){var O=w[v][_];O(b)}}},h}(),p=function(g){var h=g._renderer,v=g._coordinator,b=g._store;v.on("renderpartial",h.renderPartial,h),v.on("renderall",h.renderAll,h),v.on("extremachange",function(w){g._config.onExtremaChange&&g._config.onExtremaChange({min:w.min,max:w.max,gradient:g._config.gradient||g._config.defaultGradient})}),b.setCoordinator(v)};function y(){var g=this._config=o.merge(i,arguments[0]||{});if(this._coordinator=new a,g.plugin){var h=g.plugin;if(i.plugins[h]){var v=i.plugins[h];this._renderer=new v.renderer(g),this._store=new v.store(g)}else throw new Error("Plugin '"+h+"' not found. Maybe it was not registered.")}else this._renderer=new m(g),this._store=new r(g);p(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=o.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(d){return new l(d)},register:function(d,a){i.plugins[d]=a}};return c})}(heatmap$1)),heatmap$1.exports}requireHeatmap();const H=class H extends EventEmitter{constructor(){super();z(this,"popupMap",new Map)}static getInstance(){return H.instance||(H.instance=new H),H.instance}popup(r){var c;const u=r.element;u.style.position="absolute";const m=r.viewer.container,o=()=>{l&&(l.destroy(),m.removeChild(u),this.popupMap.delete(r.id),this.emit("onUnmount",r.id))};m.appendChild(u),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:u});this.popupMap.set(r.id,{popup:l,destroy:o})}close(r){const u=this.popupMap.get(r);u&&(u.destroy(),this.popupMap.delete(r),this.emit("onUnmount",r))}closeAll(){this.popupMap.forEach(r=>r.destroy()),this.popupMap.clear()}};z(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(u=>{i.emit("click",u)},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.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.3.4",
3
+ "version": "0.3.6",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {