mixdashboards 1.0.76 → 1.0.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BaseComponent-CQaDWNO0.js → BaseComponent-Dwhb9Mde.js} +3 -3
- package/dist/{BaseComponent-BmhMoM4H.cjs → BaseComponent-bzb58Hhs.cjs} +1 -1
- package/dist/{EChartComponentBase-i76OGL3z.js → EChartComponentBase-BmS2KONN.js} +2 -2
- package/dist/{EChartComponentBase-D9EUh4BZ.cjs → EChartComponentBase-CMN_pOMr.cjs} +1 -1
- package/dist/{EmergencyPlanPanel-BiAHvTfh.cjs → EmergencyPlanPanel-CVusdpDo.cjs} +1 -1
- package/dist/{EmergencyPlanPanel-B9S3Ru5-.js → EmergencyPlanPanel-FtvC-aXY.js} +1 -1
- package/dist/{HistoryPlanDialog-BU4GayEm.cjs → HistoryPlanDialog-CrYylrTC.cjs} +1 -1
- package/dist/{HistoryPlanDialog-CbbeFm-i.js → HistoryPlanDialog-DliuSi0p.js} +1 -1
- package/dist/{MonitoringMap-FGDoA0fw.cjs → MonitoringMap-CBnv001f.cjs} +1 -1
- package/dist/{MonitoringMap-B6tXBdvK.js → MonitoringMap-DB3R5nAJ.js} +2 -2
- package/dist/{UniverSheet-D8sflrTb.js → UniverSheet-DFyIjurx.js} +2 -2
- package/dist/{UniverSheet-D7y2pceH.cjs → UniverSheet-jy9kOyPN.cjs} +1 -1
- package/dist/{accelerationChart-DTlwSA0N.cjs → accelerationChart-Ceo371ch.cjs} +1 -1
- package/dist/{accelerationChart-bch4O3t-.js → accelerationChart-Q_Q_QlU7.js} +2 -2
- package/dist/{actionItem-Cw67YwsR.js → actionItem-BzMI_4-S.js} +2 -2
- package/dist/{actionItem-cdsgUvaC.cjs → actionItem-DB74CPi2.cjs} +1 -1
- package/dist/{alarmLevelChart-BynSRHG2.js → alarmLevelChart-Bp3SLCMe.js} +2 -2
- package/dist/{alarmLevelChart-BMjTLxB5.cjs → alarmLevelChart-CxmiBIKh.cjs} +1 -1
- package/dist/{alertTable-3VhkUZSf.cjs → alertTable-B1w_i0VB.cjs} +1 -1
- package/dist/{alertTable-CiwuaydQ.js → alertTable-DXzTm7mA.js} +2 -2
- package/dist/{aliasObjectSelectorDemo-BLoecZkV.cjs → aliasObjectSelectorDemo-CRuq8zju.cjs} +1 -1
- package/dist/{aliasObjectSelectorDemo-DfdRxb4I.js → aliasObjectSelectorDemo-Dfanalux.js} +1 -1
- package/dist/{annualRainfallChart-CHcr4-0D.js → annualRainfallChart-D4Rhc84p.js} +2 -2
- package/dist/{annualRainfallChart-DKR-A_PT.cjs → annualRainfallChart-DEeyac7q.cjs} +1 -1
- package/dist/{aqi-Gu-pAovO.js → aqi-BzCTxj0q.js} +36 -28
- package/dist/{aqi-D7VqP1QE.cjs → aqi-CBknBfTF.cjs} +2 -2
- package/dist/{aqiIndass-Bjj6n1aj.js → aqiIndass-BJGsJsmz.js} +2 -2
- package/dist/{aqiIndass-nfYUZ3UM.cjs → aqiIndass-CUs24FxP.cjs} +1 -1
- package/dist/{areaDeformCurve-fpGWmq05.cjs → areaDeformCurve-B8VGdoKK.cjs} +1 -1
- package/dist/{areaDeformCurve-nwlcUBDv.js → areaDeformCurve-bSAkB3Pt.js} +2 -2
- package/dist/{arrayCard-TfcgLrHv.js → arrayCard-BkD5sytz.js} +2 -2
- package/dist/{arrayCard-UoDqAGbN.cjs → arrayCard-kh5WRweD.cjs} +1 -1
- package/dist/{audio-BYgGYoEr.js → audio-BTrvZwCy.js} +2 -2
- package/dist/{audio-DdUv9Ot-.cjs → audio-DwJN2gca.cjs} +1 -1
- package/dist/{bar-SfGiFl1r.js → bar-DYIb4143.js} +2 -2
- package/dist/{bar-CkBXc7t1.cjs → bar-DsyyzcxB.cjs} +1 -1
- package/dist/{bmp-CY-Hb2x1.cjs → bmp-DbEyuBZw.cjs} +1 -1
- package/dist/{bmp-BbtdzIrI.js → bmp-Dt3mSkAr.js} +2 -2
- package/dist/{box-B4C_mirv.cjs → box--u3HQFj9.cjs} +1 -1
- package/dist/{box-CV41cJuX.js → box-D7RsK5Qp.js} +2 -2
- package/dist/{chartConfigPanel-D650rSn7.js → chartConfigPanel-CD-csrX-.js} +1 -1
- package/dist/{chartConfigPanel-DBlqAbbH.cjs → chartConfigPanel-DybQRqg6.cjs} +1 -1
- package/dist/{circleBar-U3iXMQr5.js → circleBar-4md65KCX.js} +2 -2
- package/dist/{circleBar-DkV7xPBl.cjs → circleBar-DJY37bwB.cjs} +1 -1
- package/dist/{clock-zKVUU8pu.js → clock-Cj0HsizY.js} +2 -2
- package/dist/{clock-CjgMeOhp.cjs → clock-Dc9jgxHT.cjs} +1 -1
- package/dist/{clt-DwI8i7zI.cjs → clt-CBbtQxMc.cjs} +1 -1
- package/dist/{clt-BsIA-YPQ.js → clt-uJT1jgHk.js} +2 -2
- package/dist/{cmc-BX9ichBB.cjs → cmc-CeTCKLBx.cjs} +1 -1
- package/dist/{cmc-CgpHejR2.js → cmc-JJ6eTxB3.js} +2 -2
- package/dist/{cmp-CTqtxzo4.cjs → cmp-CGZ_2BdE.cjs} +1 -1
- package/dist/{cmp-CS34lG7V.js → cmp-D9qlHJoW.js} +2 -2
- package/dist/{conclusionCard-N6pA6Q9P.js → conclusionCard-BsLeh3yq.js} +2 -2
- package/dist/{conclusionCard-wvtJmV_8.cjs → conclusionCard-CwLwj3zj.cjs} +1 -1
- package/dist/{controlList-Zz5ABe5b.js → controlList-CYNS0ArB.js} +2 -2
- package/dist/{controlList-BUAMdHA3.cjs → controlList-l2ZYM6m5.cjs} +1 -1
- package/dist/{controlRecordList-Dx0zj7js.js → controlRecordList-BZmCvISO.js} +2 -2
- package/dist/{controlRecordList-CMR4y_Ml.cjs → controlRecordList-N79_cTON.cjs} +1 -1
- package/dist/{controlRecordListAPP-ZDCKmz_8.cjs → controlRecordListAPP-DOzMDV4x.cjs} +1 -1
- package/dist/{controlRecordListAPP-bL9oqWzQ.js → controlRecordListAPP-aDj520mp.js} +2 -2
- package/dist/{crd-8tMwNlgx.cjs → crd-CV4kMUTB.cjs} +1 -1
- package/dist/{crd-DZPpD6XY.js → crd-bm_BHuoV.js} +2 -2
- package/dist/{ctrBtn-eCu0UDtW.cjs → ctrBtn-Cs6ZmfyJ.cjs} +1 -1
- package/dist/{ctrBtn-6Ql9ulTr.js → ctrBtn-DYceHTAq.js} +3 -3
- package/dist/{ctrSet-BwFVH1Mk.js → ctrSet-B6PlTSBE.js} +3 -3
- package/dist/{ctrSet-pX-zVivo.cjs → ctrSet-XqnGgYPn.cjs} +1 -1
- package/dist/{ctrSwitch-D95SI-aJ.cjs → ctrSwitch-B9lHJgQn.cjs} +1 -1
- package/dist/{ctrSwitch-b6hHf4QF.js → ctrSwitch-E0FM_4f2.js} +3 -3
- package/dist/{dataManagement-VucRLCK4.js → dataManagement-BAHa-OHl.js} +2 -2
- package/dist/{dataManagement-DubA1TV1.cjs → dataManagement-bKmkV2VY.cjs} +1 -1
- package/dist/{dataReport-CALIw14D.js → dataReport-B60Rb4sb.js} +2 -2
- package/dist/{dataReport-CkF5J7X1.cjs → dataReport-JcrjpK_j.cjs} +1 -1
- package/dist/{dataTable-C1rBH_p9.js → dataTable-BmvewFlr.js} +1 -1
- package/dist/{dataTable-C2q_CX5D.cjs → dataTable-CX6uktOu.cjs} +1 -1
- package/dist/{datetime-TBTeWqlf.cjs → datetime-BPM_lGiY.cjs} +1 -1
- package/dist/{datetime-Cq8scz5Q.js → datetime-DARBbZJx.js} +2 -2
- package/dist/{deepClusterSlipSurface-Cm50wbjv.js → deepClusterSlipSurface-BF77Vp7G.js} +2 -2
- package/dist/{deepClusterSlipSurface-CFaxRVmM.cjs → deepClusterSlipSurface-IywdiDlA.cjs} +1 -1
- package/dist/{deepDataMatrix-DyStA98d.js → deepDataMatrix--zgQoWer.js} +2 -2
- package/dist/{deepDataMatrix-CAYSav3X.cjs → deepDataMatrix-sRXkGqdm.cjs} +1 -1
- package/dist/{deepDisplacement3D-B3Iju2KK.cjs → deepDisplacement3D-BET8Ftuc.cjs} +1 -1
- package/dist/{deepDisplacement3D-Bat-Wc3i.js → deepDisplacement3D-BYt49pzj.js} +2 -2
- package/dist/{deepDisplacementChart-D5rHoC9r.js → deepDisplacementChart-B2zPpsk6.js} +2 -2
- package/dist/{deepDisplacementChart-CYMpNu_W.js → deepDisplacementChart-BGBhipUx.js} +3 -3
- package/dist/{deepDisplacementChart-CX9ALM89.cjs → deepDisplacementChart-BuuM485C.cjs} +1 -1
- package/dist/{deepDisplacementChart-C-Tr4DdI.cjs → deepDisplacementChart-D7loYUI5.cjs} +1 -1
- package/dist/{deepDisplacementView-DnjwQmEW.js → deepDisplacementView-Bwk9p_Qc.js} +1 -1
- package/dist/{deepDisplacementView-DTSsODJQ.cjs → deepDisplacementView-CTBH3IxP.cjs} +1 -1
- package/dist/{deepNodeTemperatureChart-CLKg72UA.js → deepNodeTemperatureChart-BqTigCTs.js} +2 -2
- package/dist/{deepNodeTemperatureChart-C9NRJ49Y.cjs → deepNodeTemperatureChart-CTLHLf0w.cjs} +1 -1
- package/dist/{deepTangentAngleChart-DklHYHhm.js → deepTangentAngleChart-5oxzMpMF.js} +2 -2
- package/dist/{deepTangentAngleChart-C9aFSFrD.cjs → deepTangentAngleChart-CHxB8OFL.cjs} +1 -1
- package/dist/{deepTemperatureField-CcnVGgbf.js → deepTemperatureField-Bhk89D3D.js} +3 -3
- package/dist/{deepTemperatureField-CXBL4_LS.cjs → deepTemperatureField-Cr6YbuR_.cjs} +1 -1
- package/dist/{deepTrendChart-De7ebpk4.js → deepTrendChart-CAbdVR8d.js} +2 -2
- package/dist/{deepTrendChart-OGW08BX-.cjs → deepTrendChart-Ch94j4W9.cjs} +1 -1
- package/dist/{deviceOnlineStatus-_3Txb8Tg.js → deviceOnlineStatus-C5ODwFsY.js} +2 -2
- package/dist/{deviceOnlineStatus-DarcMtY4.cjs → deviceOnlineStatus-DxsTb4Vb.cjs} +1 -1
- package/dist/{deviceStatus-BiJw8rnz.cjs → deviceStatus-CjFTpCaU.cjs} +1 -1
- package/dist/{deviceStatus-CL6E-pQ0.js → deviceStatus-DPfOQCSX.js} +2 -2
- package/dist/{displacementDataTable-DmAqr-JK.cjs → displacementDataTable-BIqBEkul.cjs} +1 -1
- package/dist/{displacementDataTable-tKtGe2xd.js → displacementDataTable-DG36VWok.js} +2 -2
- package/dist/{displacementTrajectoryChart-Dh6oPB0p.js → displacementTrajectoryChart-Cpmj24Jn.js} +2 -2
- package/dist/{displacementTrajectoryChart-DG2YdSqq.cjs → displacementTrajectoryChart-DRltcPfa.cjs} +1 -1
- package/dist/{displacementTrendChart-BHORe0qO.js → displacementTrendChart-D1yfRFQb.js} +2 -2
- package/dist/{displacementTrendChart-CT140vXG.cjs → displacementTrendChart-DpD79zii.cjs} +1 -1
- package/dist/{dxf-CVa4Vfm3.cjs → dxf-C_9cH0WU.cjs} +1 -1
- package/dist/{dxf-CjcHSJq-.js → dxf-zbCakRgh.js} +2 -2
- package/dist/dzc-CejqHneE.cjs +2 -0
- package/dist/{dzc-DDXNSuie.js → dzc-CfPVaIgj.js} +46 -38
- package/dist/{emergencyPlan-Vim4E6h7.js → emergencyPlan-LbeRH-P9.js} +3 -3
- package/dist/{emergencyPlan-D0AMuD-3.cjs → emergencyPlan-dEwML5xC.cjs} +1 -1
- package/dist/{evn-D2mdSoFB.cjs → evn-BvgQ3o3T.cjs} +1 -1
- package/dist/{evn-CdMN8gIC.js → evn-DsD_MKQd.js} +2 -2
- package/dist/{evolutionChart-P0l6P0Bc.js → evolutionChart-B4C9qB3I.js} +3 -3
- package/dist/{evolutionChart-I8XVW05I.cjs → evolutionChart-Dt5-xRsy.cjs} +1 -1
- package/dist/{fileViewer-DvntGv0b.js → fileViewer-B0LdLy2P.js} +2 -2
- package/dist/{fileViewer-D7sAA8-W.cjs → fileViewer-DZIREgL0.cjs} +1 -1
- package/dist/{filterBar-8gex5oR-.js → filterBar-Bt6w4_xK.js} +2 -2
- package/dist/{filterBar-GSTji96g.cjs → filterBar-D_jcuqwP.cjs} +1 -1
- package/dist/{fireCombustionCurve-B3jAhOft.js → fireCombustionCurve-C2rWY89D.js} +3 -3
- package/dist/{fireCombustionCurve-DrMmHf3N.cjs → fireCombustionCurve-CHRd1nSv.cjs} +1 -1
- package/dist/{fireFilterBar-CH6iK0Xg.js → fireFilterBar-CpwHRisZ.js} +2 -2
- package/dist/{fireFilterBar-Dy9DcHij.cjs → fireFilterBar-DX8qH1rr.cjs} +1 -1
- package/dist/{fireHistoryTable-n6L3juWp.cjs → fireHistoryTable-B38M6w5w.cjs} +1 -1
- package/dist/{fireHistoryTable-CHxHqPs0.js → fireHistoryTable-DcSgHt5q.js} +2 -2
- package/dist/{gag-BsO4kmp1.js → gag-BErw_nsf.js} +2 -2
- package/dist/{gag-BzjuwBvY.cjs → gag-qDNPdFJu.cjs} +1 -1
- package/dist/{gasStationList-7JzUcISs.js → gasStationList-BREZbC_k.js} +2 -2
- package/dist/{gasStationList-QwqTDEAG.cjs → gasStationList-NhJa4GO6.cjs} +1 -1
- package/dist/{geo3dViewer-Cf-jHpvF.cjs → geo3dViewer-D9uSt0up.cjs} +1 -1
- package/dist/{geo3dViewer-doEpUC_J.js → geo3dViewer-zAN1eIza.js} +3 -3
- package/dist/{glbModel-C6L--3dO.cjs → glbModel-C4FiDMM5.cjs} +1 -1
- package/dist/{glbModel-BgFIj_es.js → glbModel-i6HvK0m8.js} +2 -2
- package/dist/{globalObjectSelector-CdfiXRjg.js → globalObjectSelector-BrVwJEgp.js} +1 -1
- package/dist/{globalObjectSelector-P_irB0rv.cjs → globalObjectSelector-CR74psMa.cjs} +1 -1
- package/dist/{gnssFilterBar-DPNshMIx.js → gnssFilterBar-BEHXIIKI.js} +2 -2
- package/dist/{gnssFilterBar-CIwyv2yc.cjs → gnssFilterBar-BkfBQWXF.cjs} +1 -1
- package/dist/{gnssHistoryTable-j5FL6oYs.cjs → gnssHistoryTable-CQ-7ESYj.cjs} +1 -1
- package/dist/{gnssHistoryTable-C7x4-Tpp.js → gnssHistoryTable-DDWGE_ge.js} +2 -2
- package/dist/{gnssMapView-BWcS4hqj.js → gnssMapView-C9iRAzym.js} +4 -4
- package/dist/{gnssMapView-_VaJWBcE.cjs → gnssMapView-P6ed3l_W.cjs} +2 -2
- package/dist/{gnssSectionProfile-hpyiGI-6.js → gnssSectionProfile-BIqyABEf.js} +2 -2
- package/dist/{gnssSectionProfile-DGbTO7lV.cjs → gnssSectionProfile-CIZnF7VA.cjs} +1 -1
- package/dist/{gnssTimeSeriesChart-CNT6xaNs.cjs → gnssTimeSeriesChart-BgIM5U-H.cjs} +1 -1
- package/dist/{gnssTimeSeriesChart-rL9oG1ly.js → gnssTimeSeriesChart-DqH9JFBF.js} +2 -2
- package/dist/{gnssXYTrajectory-B1LZAepw.js → gnssXYTrajectory-BviUjxG9.js} +2 -2
- package/dist/{gnssXYTrajectory-CwAjhPRc.cjs → gnssXYTrajectory-CH8864n6.cjs} +1 -1
- package/dist/{grd-rJXqEimt.cjs → grd-BhpBxrpa.cjs} +1 -1
- package/dist/{grd-BLab9IY0.js → grd-DfkGlcW6.js} +2 -2
- package/dist/{grdIndass-gGrZ7gRV.js → grdIndass-ByznFwzc.js} +2 -2
- package/dist/{grdIndass-niY4UOwz.cjs → grdIndass-DhMfHz31.cjs} +1 -1
- package/dist/{grg-Dnro7bLg.js → grg-CVBoetQY.js} +2 -2
- package/dist/{grg-C1L5yeyY.cjs → grg-uzBlEm_K.cjs} +1 -1
- package/dist/{gridview-DxUsv2ny.cjs → gridview-CyXCqWKq.cjs} +1 -1
- package/dist/{gridview-BhjWlD0J.js → gridview-Dt3i1t5d.js} +2 -2
- package/dist/{groundwaterFilterBar-bNhTkX1C.js → groundwaterFilterBar-BbS81e9a.js} +2 -2
- package/dist/{groundwaterFilterBar-C-2e7S04.cjs → groundwaterFilterBar-C4xCPqa_.cjs} +1 -1
- package/dist/{groundwaterProfileChart-dhzmwfwz.js → groundwaterProfileChart-BBPFrt5W.js} +3 -3
- package/dist/{groundwaterProfileChart-BxKGPuOe.cjs → groundwaterProfileChart-DvjFvCm5.cjs} +2 -2
- package/dist/{groundwaterTimeCurve-BtzP6icm.js → groundwaterTimeCurve-CKlvc2nQ.js} +3 -3
- package/dist/{groundwaterTimeCurve-CTQPlTUr.cjs → groundwaterTimeCurve-Cb3xlM78.cjs} +1 -1
- package/dist/{groupCard-D00ElZoy.js → groupCard-BBzDl9uX.js} +2 -2
- package/dist/{groupCard-D4gdaVqR.cjs → groupCard-BVdjzdqF.cjs} +1 -1
- package/dist/{headerBar-MFw1W0qa.cjs → headerBar-B5Z8UviF.cjs} +1 -1
- package/dist/{headerBar-DEHj8fJr.js → headerBar-Dty08mHR.js} +2 -2
- package/dist/{history-BRkb914v.js → history-TkSKA8F1.js} +1 -1
- package/dist/{history-D1R2RAZQ.cjs → history-yI8XiwXi.cjs} +1 -1
- package/dist/{index-77aUdspY.cjs → index-6QhTSPkL.cjs} +13 -13
- package/dist/{index-BZpYmpDy.js → index-YNdVib_6.js} +3338 -3159
- package/dist/{insarDeformChart-pbOnnoN-.js → insarDeformChart-C9UkWIL9.js} +2 -2
- package/dist/{insarDeformChart-5EVWIkpL.cjs → insarDeformChart-Dr9Ve1vY.cjs} +1 -1
- package/dist/{insarImageViewer-DQJBN4YM.cjs → insarImageViewer-DAKBn2vV.cjs} +1 -1
- package/dist/{insarImageViewer-D3bbQA6g.js → insarImageViewer-DZbq2xch.js} +2 -2
- package/dist/{kds-D5seJB3L.cjs → kds-BkH8cJCu.cjs} +1 -1
- package/dist/{kds-gTJOwHbM.js → kds-__I8-o5i.js} +2 -2
- package/dist/{kpiCard-Cx6VNK6L.js → kpiCard-BzuF0qdE.js} +2 -2
- package/dist/{kpiCard-Bz-fg6sL.cjs → kpiCard-fRfv1QPb.cjs} +1 -1
- package/dist/{landslideMap-5erIcZo7.js → landslideMap-D84pku4Y.js} +3 -3
- package/dist/{landslideMap-D7_QpwmM.cjs → landslideMap-zD8SU2Lh.cjs} +1 -1
- package/dist/{landslideWarning-CzaddgWf.js → landslideWarning-0mckvEoZ.js} +5 -5
- package/dist/{landslideWarning-C3FZqrxT.cjs → landslideWarning-Cq-di-hN.cjs} +1 -1
- package/dist/{layerTabs-Dc1Xb11W.cjs → layerTabs-C2zq6a5M.cjs} +1 -1
- package/dist/{layerTabs-DqbOykS2.js → layerTabs-COzqQ9mn.js} +2 -2
- package/dist/{leaflet-src-BY2SMh9y.js → leaflet-src-2tPn7QVH.js} +1 -1
- package/dist/{leaflet-src-Brb8KUL5.cjs → leaflet-src-D8MF2j44.cjs} +1 -1
- package/dist/{lerc-Chm_GVte.js → lerc-BCmG0CMS.js} +2 -2
- package/dist/{lerc-DGuyYCKG.cjs → lerc-BHcVhBOn.cjs} +1 -1
- package/dist/{lin-tqtSA5ci.js → lin-CQ6TCBCr.js} +59 -51
- package/dist/{lin-8x2j8aGa.cjs → lin-niA_T9Ql.cjs} +2 -2
- package/dist/{linIndass-DHFymSVI.js → linIndass-J9rdji6E.js} +2 -2
- package/dist/{linIndass-Dxo_bzrZ.cjs → linIndass-nZx16Vos.cjs} +1 -1
- package/dist/{lst-BV6EbDPs.cjs → lst-Cw1XCAv0.cjs} +1 -1
- package/dist/{lst-BejIuO0f.js → lst-DieyrYCh.js} +2 -2
- package/dist/{manualEntry-DObI0OAq.js → manualEntry-CCmyPMJm.js} +2 -2
- package/dist/{manualEntry-Bt4cs6kn.cjs → manualEntry-ChhTpAF2.cjs} +1 -1
- package/dist/{mapBackground-oVOBK3zr.cjs → mapBackground-BzOdjhnZ.cjs} +1 -1
- package/dist/{mapBackground-Cuym5Dqr.js → mapBackground-CiiG2nHi.js} +3 -3
- package/dist/{mappingList-Dzq0zMfs.js → mappingList-CoBD8D27.js} +2 -2
- package/dist/{mappingList-BEWAqLd4.cjs → mappingList-D42mILiq.cjs} +1 -1
- package/dist/{markdownViewer-Bz50jkb6.js → markdownViewer-C3HUXDvf.js} +2 -2
- package/dist/{markdownViewer-V5b1xhPh.cjs → markdownViewer-DHs9ekCh.cjs} +1 -1
- package/dist/{mix-control-modal-DzVLdO3S.js → mix-control-modal-BEwriuWS.js} +1 -1
- package/dist/{mix-control-modal-I6DqPm04.cjs → mix-control-modal-DGd2S6Jd.cjs} +1 -1
- package/dist/{mixGrid-tVSdKPms.js → mixGrid-CBenxHD_.js} +2 -2
- package/dist/{mixGrid-_ur8VKLD.cjs → mixGrid-Cnq99D09.cjs} +1 -1
- package/dist/mixdashboards.cjs +1 -1
- package/dist/mixdashboards.css +1 -1
- package/dist/mixdashboards.js +1 -1
- package/dist/{mixiotObjectListApi-D5vNNWgT.js → mixiotObjectListApi-CKJLXcnf.js} +1 -1
- package/dist/{mixiotObjectListApi-BUQ-RZ3L.cjs → mixiotObjectListApi-e1qL7PHh.cjs} +1 -1
- package/dist/{mjpegCamera-DnAPpFJU.js → mjpegCamera-D8lB701i.js} +2 -2
- package/dist/{mjpegCamera-CjWe8BEK.cjs → mjpegCamera-DDFrZo-x.cjs} +1 -1
- package/dist/{monitorAlert-qmVSQ1lc.cjs → monitorAlert-C-mo-lDe.cjs} +1 -1
- package/dist/{monitorAlert-B-fTYPn6.js → monitorAlert-Z1dFDfPh.js} +2 -2
- package/dist/{monitorData-YhGSUq3H.cjs → monitorData-CNRfV5Wt.cjs} +1 -1
- package/dist/{monitorData-Dopc660L.js → monitorData-DZhO9Gos.js} +2 -2
- package/dist/{monitorSpeedChart-Dsvr_QPB.js → monitorSpeedChart-C5pN46lO.js} +1 -1
- package/dist/{monitorSpeedChart-Brj_YHsO.cjs → monitorSpeedChart-DrRdMdGD.cjs} +1 -1
- package/dist/{mxa-D4WkyBYZ.js → mxa-BFQ70ksk.js} +39 -31
- package/dist/mxa-COpw24fq.cjs +2 -0
- package/dist/{myValue-DYtBtOJ2.js → myValue-Dosl4Ro5.js} +2 -2
- package/dist/{myValue-C0tq-asC.cjs → myValue-Eb3asTOC.cjs} +1 -1
- package/dist/{myValueList-Ddpn1S68.js → myValueList-Dkc10vr6.js} +2 -2
- package/dist/{myValueList-BJctRTNd.cjs → myValueList-mcqRZanE.cjs} +1 -1
- package/dist/{objectList-Csf0hVwo.cjs → objectList-D4owr3ED.cjs} +1 -1
- package/dist/{objectList-G4wXFDwe.js → objectList-FWkZ6PAs.js} +3 -3
- package/dist/{objectListAPP-UZN4iuTn.cjs → objectListAPP-Bzevu1od.cjs} +1 -1
- package/dist/{objectListAPP-BrmUj4At.js → objectListAPP-CdfeZTgm.js} +3 -3
- package/dist/{photo-BYH_qg5O.cjs → photo-Dmxxqgrg.cjs} +1 -1
- package/dist/{photo-BEPeK7U8.js → photo-DxXTYq73.js} +2 -2
- package/dist/pie-BxpiCEYe.cjs +2 -0
- package/dist/{pie-CEVKe1lL.js → pie-COixdWUz.js} +85 -75
- package/dist/{placeholder-Bwv3VyEg.js → placeholder-CLLNLxRC.js} +1 -1
- package/dist/{placeholder-BezBEQGo.cjs → placeholder-Ole-Or58.cjs} +1 -1
- package/dist/{pressBtn-1LCNz2gE.js → pressBtn-C7Y-B8Dz.js} +3 -3
- package/dist/{pressBtn-CJZTyY8I.cjs → pressBtn-DwKg9PbD.cjs} +1 -1
- package/dist/{processTable-CHDazqah.js → processTable-CTkwZWWJ.js} +2 -2
- package/dist/{processTable-HtDeg1by.cjs → processTable-DDcKkjJx.cjs} +1 -1
- package/dist/{progressBar-BP4SmPZK.cjs → progressBar-7qHg67Sf.cjs} +1 -1
- package/dist/{progressBar-C3NcWUrS.js → progressBar-9npgJ9jD.js} +2 -2
- package/dist/{progressCircle-Bo9-Qva_.js → progressCircle-DP08TX08.js} +2 -2
- package/dist/{progressCircle-CDqK1iFt.cjs → progressCircle-Xgjnl1KF.cjs} +1 -1
- package/dist/{qrcode-VmYwvClG.js → qrcode-ClTSNzEN.js} +2 -2
- package/dist/{qrcode-qD6tOm4F.cjs → qrcode-D6wDMo-f.cjs} +1 -1
- package/dist/raceBar-C8mVFHnd.cjs +2 -0
- package/dist/{raceBar-DR2-luKW.js → raceBar-CTmsN8VC.js} +109 -101
- package/dist/{rad-1Jy1KDzt.js → rad-DWCSD35t.js} +2 -2
- package/dist/{rad-D7-YZJNO.cjs → rad-Dxaakm82.cjs} +1 -1
- package/dist/{radarMapViewer-KPhNE5XX.cjs → radarMapViewer-U7IQJjQs.cjs} +1 -1
- package/dist/{radarMapViewer-ByQXe0Mu.js → radarMapViewer-eEBE3MS-.js} +2 -2
- package/dist/{rainfallFilterBar-C1obotPf.js → rainfallFilterBar-DJTDGu7Z.js} +2 -2
- package/dist/{rainfallFilterBar-CVQpQp82.cjs → rainfallFilterBar-ow_wdOwq.cjs} +1 -1
- package/dist/{rainfallTimeCurve-DU2tt-Ls.cjs → rainfallTimeCurve-BL1I5Z2D.cjs} +1 -1
- package/dist/{rainfallTimeCurve-B2rEx3T_.js → rainfallTimeCurve-CwGmJhxu.js} +3 -3
- package/dist/{rangeLin-COsJkCky.cjs → rangeLin-BEz9xapa.cjs} +1 -1
- package/dist/{rangeLin-CdfUCFQr.js → rangeLin-BqcJpIva.js} +2 -2
- package/dist/{realtimeEvolutionMap-aR63xPW_.js → realtimeEvolutionMap-NOkyU7G3.js} +2 -2
- package/dist/{realtimeEvolutionMap-B7GT8MOq.cjs → realtimeEvolutionMap-mzXlR8gS.cjs} +1 -1
- package/dist/{regionBar-BYF7IaGA.cjs → regionBar-CEfz0Yol.cjs} +1 -1
- package/dist/{regionBar-DB-secNe.js → regionBar-DDk-2UWS.js} +2 -2
- package/dist/{request-CBsG4ipL.js → request-BIXfJXjX.js} +1 -1
- package/dist/{request-CvdHjG34.cjs → request-BfG3yDz6.cjs} +1 -1
- package/dist/{retainer1-1CFk4InO.cjs → retainer1-Ch1oZMeA.cjs} +1 -1
- package/dist/{retainer1-CMzTlM5Z.js → retainer1-Cz5rXIJj.js} +3 -3
- package/dist/{retainer2-DliOH7it.cjs → retainer2-DJ1R2GJE.cjs} +1 -1
- package/dist/{retainer2-DW4ewYX7.js → retainer2-DeelXgAZ.js} +3 -3
- package/dist/{retainerRecordList-DV7Tx39d.cjs → retainerRecordList-D3MsCnqy.cjs} +1 -1
- package/dist/{retainerRecordList-Bcm6leuD.js → retainerRecordList-DyhfjtfF.js} +2 -2
- package/dist/{retainerRecordListAPP-BDRwp8T3.js → retainerRecordListAPP-3Gr7db3D.js} +2 -2
- package/dist/{retainerRecordListAPP-CJ-u0Tj2.cjs → retainerRecordListAPP-B_hCyRak.cjs} +1 -1
- package/dist/{ringTopN-rd2UwH9f.cjs → ringTopN-fLinQVwX.cjs} +1 -1
- package/dist/{ringTopN-Duq0pzm_.js → ringTopN-t9xaVCWg.js} +2 -2
- package/dist/{riskRegionTable-BE_ggcEV.js → riskRegionTable-BThwQbTf.js} +2 -2
- package/dist/{riskRegionTable-CbPB8mlY.cjs → riskRegionTable-CagcISBC.cjs} +1 -1
- package/dist/{sankey-BqBn6_rx.cjs → sankey-BY_nwThw.cjs} +1 -1
- package/dist/{sankey-CnKm9PZe.js → sankey-Bwm0omQr.js} +2 -2
- package/dist/{scd-BgJ5P7co.cjs → scd-Bs1dG1w8.cjs} +1 -1
- package/dist/{scd-BaBLoem8.js → scd-DeYC1Rqx.js} +2 -2
- package/dist/{sideMenu-BgiQL2P1.cjs → sideMenu-CAEh3bwF.cjs} +1 -1
- package/dist/{sideMenu-CUal1UQY.js → sideMenu-Db_Nc_xz.js} +2 -2
- package/dist/{slopeStability-Y2tDzJeh.cjs → slopeStability-BWg6jhBB.cjs} +1 -1
- package/dist/{slopeStability-B9YbQLCE.js → slopeStability-CVC68Qcj.js} +2 -2
- package/dist/{speedCurve-DERBMtE1.js → speedCurve-CK4CXHeC.js} +2 -2
- package/dist/{speedCurve-Kll2RRJ8.cjs → speedCurve-DNNEIz4o.cjs} +1 -1
- package/dist/{stressFilterBar-BGI4gVfE.cjs → stressFilterBar-Cigl3IyR.cjs} +1 -1
- package/dist/{stressFilterBar-CHRWFnpP.js → stressFilterBar-DQ8nq8jV.js} +2 -2
- package/dist/{stressTimeCurve-hrlqSYS3.js → stressTimeCurve-BEANw1F8.js} +3 -3
- package/dist/{stressTimeCurve-DE5KiXEt.cjs → stressTimeCurve-BiduKfcg.cjs} +1 -1
- package/dist/{swiper-DNHC412s.js → swiper-BgkvIN5U.js} +2 -2
- package/dist/{swiper-CnGllhBQ.cjs → swiper-MIRXMnxk.cjs} +1 -1
- package/dist/{terminalConfigList-BlHAsyCm.js → terminalConfigList-B3lqvQel.js} +2 -2
- package/dist/{terminalConfigList-C45EANO4.cjs → terminalConfigList-C3zRbQvM.cjs} +1 -1
- package/dist/{terminalList-CNI3_FGb.cjs → terminalList-ArxJ1jdO.cjs} +1 -1
- package/dist/{terminalList-UGjkhyf4.js → terminalList-BevfdySj.js} +2 -2
- package/dist/{terminalListAPP-CIJZMdxI.js → terminalListAPP-CbpVft_s.js} +2 -2
- package/dist/{terminalListAPP-6fPXF-yJ.cjs → terminalListAPP-Cs0nnBfc.cjs} +1 -1
- package/dist/{textbox-BD_LQ0EN.js → textbox-CjkfmdaO.js} +2 -2
- package/dist/{textbox-yNPnOaan.cjs → textbox-DC9YLTn5.cjs} +1 -1
- package/dist/{timeQueryBar-3qiV0IV9.cjs → timeQueryBar-B69eldHQ.cjs} +1 -1
- package/dist/{timeQueryBar-B-uPtN25.js → timeQueryBar-CXd9yNgD.js} +1 -1
- package/dist/{timeSeries-DdQI4oZU.js → timeSeries-CLnLd-gX.js} +3 -3
- package/dist/{timeSeries-BTUuojvj.cjs → timeSeries-fB14CgRy.cjs} +1 -1
- package/dist/{timeSeriesCurve-TGXshTzl.js → timeSeriesCurve-CMcCzR13.js} +3 -3
- package/dist/{timeSeriesCurve-Cj_FbK4x.cjs → timeSeriesCurve-DOaxDpjr.cjs} +1 -1
- package/dist/{toggleBtn-BXcQfnTB.cjs → toggleBtn-BiUyrx_o.cjs} +1 -1
- package/dist/{toggleBtn-BMxqm5WG.js → toggleBtn-CWmuTxSD.js} +2 -2
- package/dist/{trajectoryConfigPanel-CqoKO0hL.cjs → trajectoryConfigPanel-D7IDlQIH.cjs} +1 -1
- package/dist/{trajectoryConfigPanel-uRLWdXUb.js → trajectoryConfigPanel-DKLN3KY5.js} +1 -1
- package/dist/{trajectoryScatter-Dph8PSdN.cjs → trajectoryScatter-CL-2FKZe.cjs} +1 -1
- package/dist/{trajectoryScatter-DPE4cC8N.js → trajectoryScatter-TEactc8J.js} +2 -2
- package/dist/{universalConfigPanel-Db-pC67o.cjs → universalConfigPanel-B8JIiLXp.cjs} +1 -1
- package/dist/{universalConfigPanel-CI1CuBmr.js → universalConfigPanel-wicv4Ypw.js} +1 -1
- package/dist/{universalTable-DMrgtBrw.js → universalTable-8e3LrZvD.js} +2 -2
- package/dist/{universalTable-dQObEQog.cjs → universalTable-BlTdL3c0.cjs} +1 -1
- package/dist/{video-DEhLie80.js → video-DpRcCZZQ.js} +2 -2
- package/dist/{video-DbsKQhVD.cjs → video-nPkrKQyL.cjs} +1 -1
- package/dist/{videoMonitor-DLBtivXO.cjs → videoMonitor-DOVw5mE0.cjs} +1 -1
- package/dist/{videoMonitor-BS6_LYUb.js → videoMonitor-Z_7cZk5Y.js} +2 -2
- package/dist/{vlu-DaSjPY3I.js → vlu-BQCrHSlq.js} +2 -2
- package/dist/{vlu-DXk_wQf-.cjs → vlu-DEIgGiO-.cjs} +1 -1
- package/dist/{warningOverview-CKCEs_Jj.js → warningOverview-C7J5aXTJ.js} +3 -3
- package/dist/{warningOverview-DAUlXzr0.cjs → warningOverview-DXJNk5bT.cjs} +1 -1
- package/dist/{weather-BAI0IWNH.cjs → weather-B1Pfcn75.cjs} +1 -1
- package/dist/{weather-XUj6pFwM.js → weather-C1sjTcwC.js} +2 -2
- package/dist/{windLin-C9dsCT1w.cjs → windLin-QKZKJ1h_.cjs} +1 -1
- package/dist/{windLin-Bt4q2eUT.js → windLin-vlM63Hu7.js} +2 -2
- package/package.json +1 -1
- package/dist/dzc-DK16oTVj.cjs +0 -2
- package/dist/mxa-BzdI7BLB.cjs +0 -2
- package/dist/pie-B57zDxJV.cjs +0 -2
- package/dist/raceBar-uAs91hyk.cjs +0 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";var wn=Object.defineProperty,xn=Object.defineProperties;var bn=Object.getOwnPropertyDescriptors;var At=Object.getOwnPropertySymbols;var vn=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable;var Q=Math.pow,Ct=(o,e,t)=>e in o?wn(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,Ze=(o,e)=>{for(var t in e||(e={}))vn.call(e,t)&&Ct(o,t,e[t]);if(At)for(var t of At(e))Sn.call(e,t)&&Ct(o,t,e[t]);return o},We=(o,e)=>xn(o,bn(e));var _=(o,e,t)=>new Promise((r,n)=>{var i=f=>{try{a(t.next(f))}catch(u){n(u)}},l=f=>{try{a(t.throw(f))}catch(u){n(u)}},a=f=>f.done?r(f.value):Promise.resolve(f.value).then(i,l);a((t=t.apply(o,e)).next())});const Pe=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/dialog/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/select/style/css");require("element-plus/es/components/option/style/css");const s=require("vue");require("html2canvas");const Vn=require("./BaseComponent-
|
|
1
|
+
"use strict";var wn=Object.defineProperty,xn=Object.defineProperties;var bn=Object.getOwnPropertyDescriptors;var At=Object.getOwnPropertySymbols;var vn=Object.prototype.hasOwnProperty,Sn=Object.prototype.propertyIsEnumerable;var Q=Math.pow,Ct=(o,e,t)=>e in o?wn(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,Ze=(o,e)=>{for(var t in e||(e={}))vn.call(e,t)&&Ct(o,t,e[t]);if(At)for(var t of At(e))Sn.call(e,t)&&Ct(o,t,e[t]);return o},We=(o,e)=>xn(o,bn(e));var _=(o,e,t)=>new Promise((r,n)=>{var i=f=>{try{a(t.next(f))}catch(u){n(u)}},l=f=>{try{a(t.throw(f))}catch(u){n(u)}},a=f=>f.done?r(f.value):Promise.resolve(f.value).then(i,l);a((t=t.apply(o,e)).next())});const Pe=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/dialog/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/select/style/css");require("element-plus/es/components/option/style/css");const s=require("vue");require("html2canvas");const Vn=require("./BaseComponent-bzb58Hhs.cjs"),rt=require("./index-6QhTSPkL.cjs"),Fe=require("./leaflet-src-D8MF2j44.cjs");require("./index-CJgyJTvc.cjs");const T=require("./three.module-CjayKmiG.cjs"),Mn=require("./GLTFLoader-DhebSl5W.cjs"),An=require("./OrbitControls-uuLGjaqy.cjs"),Tt=require("./ele-lin-icon-Dke_1AmT.cjs"),Cn=require("./echarts-BB8O2KSA.cjs"),Tn=/^[og]\s*(.+)?/,Fn=/^mtllib /,En=/^usemtl /,Dn=/^usemap /,Ft=/\s+/,Et=new T.Vector3,Je=new T.Vector3,Dt=new T.Vector3,Lt=new T.Vector3,W=new T.Vector3,Ue=new T.Color;function Ln(){const o={objects:[],object:{},vertices:[],normals:[],colors:[],uvs:[],materials:{},materialLibraries:[],startObject:function(e,t){if(this.object&&this.object.fromDeclaration===!1){this.object.name=e,this.object.fromDeclaration=t!==!1;return}const r=this.object&&typeof this.object.currentMaterial=="function"?this.object.currentMaterial():void 0;if(this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0),this.object={name:e||"",fromDeclaration:t!==!1,geometry:{vertices:[],normals:[],colors:[],uvs:[],hasUVIndices:!1},materials:[],smooth:!0,startMaterial:function(n,i){const l=this._finalize(!1);l&&(l.inherited||l.groupCount<=0)&&this.materials.splice(l.index,1);const a={index:this.materials.length,name:n||"",mtllib:Array.isArray(i)&&i.length>0?i[i.length-1]:"",smooth:l!==void 0?l.smooth:this.smooth,groupStart:l!==void 0?l.groupEnd:0,groupEnd:-1,groupCount:-1,inherited:!1,clone:function(f){const u={index:typeof f=="number"?f:this.index,name:this.name,mtllib:this.mtllib,smooth:this.smooth,groupStart:0,groupEnd:-1,groupCount:-1,inherited:!1};return u.clone=this.clone.bind(u),u}};return this.materials.push(a),a},currentMaterial:function(){if(this.materials.length>0)return this.materials[this.materials.length-1]},_finalize:function(n){const i=this.currentMaterial();if(i&&i.groupEnd===-1&&(i.groupEnd=this.geometry.vertices.length/3,i.groupCount=i.groupEnd-i.groupStart,i.inherited=!1),n&&this.materials.length>1)for(let l=this.materials.length-1;l>=0;l--)this.materials[l].groupCount<=0&&this.materials.splice(l,1);return n&&this.materials.length===0&&this.materials.push({name:"",smooth:this.smooth}),i}},r&&r.name&&typeof r.clone=="function"){const n=r.clone(0);n.inherited=!0,this.object.materials.push(n)}this.objects.push(this.object)},finalize:function(){this.object&&typeof this.object._finalize=="function"&&this.object._finalize(!0)},parseVertexIndex:function(e,t){const r=parseInt(e,10);return(r>=0?r-1:r+t/3)*3},parseNormalIndex:function(e,t){const r=parseInt(e,10);return(r>=0?r-1:r+t/3)*3},parseUVIndex:function(e,t){const r=parseInt(e,10);return(r>=0?r-1:r+t/2)*2},addVertex:function(e,t,r){const n=this.vertices,i=this.object.geometry.vertices;i.push(n[e+0],n[e+1],n[e+2]),i.push(n[t+0],n[t+1],n[t+2]),i.push(n[r+0],n[r+1],n[r+2])},addVertexPoint:function(e){const t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addVertexLine:function(e){const t=this.vertices;this.object.geometry.vertices.push(t[e+0],t[e+1],t[e+2])},addNormal:function(e,t,r){const n=this.normals,i=this.object.geometry.normals;i.push(n[e+0],n[e+1],n[e+2]),i.push(n[t+0],n[t+1],n[t+2]),i.push(n[r+0],n[r+1],n[r+2])},addFaceNormal:function(e,t,r){const n=this.vertices,i=this.object.geometry.normals;Et.fromArray(n,e),Je.fromArray(n,t),Dt.fromArray(n,r),W.subVectors(Dt,Je),Lt.subVectors(Et,Je),W.cross(Lt),W.normalize(),i.push(W.x,W.y,W.z),i.push(W.x,W.y,W.z),i.push(W.x,W.y,W.z)},addColor:function(e,t,r){const n=this.colors,i=this.object.geometry.colors;n[e]!==void 0&&i.push(n[e+0],n[e+1],n[e+2]),n[t]!==void 0&&i.push(n[t+0],n[t+1],n[t+2]),n[r]!==void 0&&i.push(n[r+0],n[r+1],n[r+2])},addUV:function(e,t,r){const n=this.uvs,i=this.object.geometry.uvs;i.push(n[e+0],n[e+1]),i.push(n[t+0],n[t+1]),i.push(n[r+0],n[r+1])},addDefaultUV:function(){const e=this.object.geometry.uvs;e.push(0,0),e.push(0,0),e.push(0,0)},addUVLine:function(e){const t=this.uvs;this.object.geometry.uvs.push(t[e+0],t[e+1])},addFace:function(e,t,r,n,i,l,a,f,u){const p=this.vertices.length;let h=this.parseVertexIndex(e,p),g=this.parseVertexIndex(t,p),y=this.parseVertexIndex(r,p);if(this.addVertex(h,g,y),this.addColor(h,g,y),a!==void 0&&a!==""){const w=this.normals.length;h=this.parseNormalIndex(a,w),g=this.parseNormalIndex(f,w),y=this.parseNormalIndex(u,w),this.addNormal(h,g,y)}else this.addFaceNormal(h,g,y);if(n!==void 0&&n!==""){const w=this.uvs.length;h=this.parseUVIndex(n,w),g=this.parseUVIndex(i,w),y=this.parseUVIndex(l,w),this.addUV(h,g,y),this.object.geometry.hasUVIndices=!0}else this.addDefaultUV()},addPointGeometry:function(e){this.object.geometry.type="Points";const t=this.vertices.length;for(let r=0,n=e.length;r<n;r++){const i=this.parseVertexIndex(e[r],t);this.addVertexPoint(i),this.addColor(i)}},addLineGeometry:function(e,t){this.object.geometry.type="Line";const r=this.vertices.length,n=this.uvs.length;for(let i=0,l=e.length;i<l;i++)this.addVertexLine(this.parseVertexIndex(e[i],r));for(let i=0,l=t.length;i<l;i++)this.addUVLine(this.parseUVIndex(t[i],n))}};return o.startObject("",!1),o}class In extends T.Loader{constructor(e){super(e),this.materials=null}load(e,t,r,n){const i=this,l=new T.FileLoader(this.manager);l.setPath(this.path),l.setRequestHeader(this.requestHeader),l.setWithCredentials(this.withCredentials),l.load(e,function(a){try{t(i.parse(a))}catch(f){n?n(f):console.error(f),i.manager.itemError(e)}},r,n)}setMaterials(e){return this.materials=e,this}parse(e){const t=new Ln;e.indexOf(`\r
|
|
2
2
|
`)!==-1&&(e=e.replace(/\r\n/g,`
|
|
3
3
|
`)),e.indexOf(`\\
|
|
4
4
|
`)!==-1&&(e=e.replace(/\\\n/g,""));const r=e.split(`
|
|
5
5
|
`);let n=[];for(let a=0,f=r.length;a<f;a++){const u=r[a].trimStart();if(u.length===0)continue;const p=u.charAt(0);if(p!=="#")if(p==="v"){const h=u.split(Ft);switch(h[0]){case"v":t.vertices.push(parseFloat(h[1]),parseFloat(h[2]),parseFloat(h[3])),h.length>=7?(Ue.setRGB(parseFloat(h[4]),parseFloat(h[5]),parseFloat(h[6]),T.SRGBColorSpace),t.colors.push(Ue.r,Ue.g,Ue.b)):t.colors.push(void 0,void 0,void 0);break;case"vn":t.normals.push(parseFloat(h[1]),parseFloat(h[2]),parseFloat(h[3]));break;case"vt":t.uvs.push(parseFloat(h[1]),parseFloat(h[2]));break}}else if(p==="f"){const g=u.slice(1).trim().split(Ft),y=[];for(let V=0,v=g.length;V<v;V++){const C=g[V];if(C.length>0){const M=C.split("/");y.push(M)}}const w=y[0];for(let V=1,v=y.length-1;V<v;V++){const C=y[V],M=y[V+1];t.addFace(w[0],C[0],M[0],w[1],C[1],M[1],w[2],C[2],M[2])}}else if(p==="l"){const h=u.substring(1).trim().split(" ");let g=[];const y=[];if(u.indexOf("/")===-1)g=h;else for(let w=0,V=h.length;w<V;w++){const v=h[w].split("/");v[0]!==""&&g.push(v[0]),v[1]!==""&&y.push(v[1])}t.addLineGeometry(g,y)}else if(p==="p"){const g=u.slice(1).trim().split(" ");t.addPointGeometry(g)}else if((n=Tn.exec(u))!==null){const h=(" "+n[0].slice(1).trim()).slice(1);t.startObject(h)}else if(En.test(u))t.object.startMaterial(u.substring(7).trim(),t.materialLibraries);else if(Fn.test(u))t.materialLibraries.push(u.substring(7).trim());else if(Dn.test(u))console.warn('THREE.OBJLoader: Rendering identifier "usemap" not supported. Textures must be defined in MTL files.');else if(p==="s"){if(n=u.split(" "),n.length>1){const g=n[1].trim().toLowerCase();t.object.smooth=g!=="0"&&g!=="off"}else t.object.smooth=!0;const h=t.object.currentMaterial();h&&(h.smooth=t.object.smooth)}else{if(u==="\0")continue;console.warn('THREE.OBJLoader: Unexpected line: "'+u+'"')}}t.finalize();const i=new T.Group;if(i.materialLibraries=[].concat(t.materialLibraries),!(t.objects.length===1&&t.objects[0].geometry.vertices.length===0)===!0)for(let a=0,f=t.objects.length;a<f;a++){const u=t.objects[a],p=u.geometry,h=u.materials,g=p.type==="Line",y=p.type==="Points";let w=!1;if(p.vertices.length===0)continue;const V=new T.BufferGeometry;V.setAttribute("position",new T.Float32BufferAttribute(p.vertices,3)),p.normals.length>0&&V.setAttribute("normal",new T.Float32BufferAttribute(p.normals,3)),p.colors.length>0&&(w=!0,V.setAttribute("color",new T.Float32BufferAttribute(p.colors,3))),p.hasUVIndices===!0&&V.setAttribute("uv",new T.Float32BufferAttribute(p.uvs,2));const v=[];for(let M=0,D=h.length;M<D;M++){const E=h[M],R=E.name+"_"+E.smooth+"_"+w;let m=t.materials[R];if(this.materials!==null){if(m=this.materials.create(E.name),g&&m&&!(m instanceof T.LineBasicMaterial)){const k=new T.LineBasicMaterial;T.Material.prototype.copy.call(k,m),k.color.copy(m.color),m=k}else if(y&&m&&!(m instanceof T.PointsMaterial)){const k=new T.PointsMaterial({size:10,sizeAttenuation:!1});T.Material.prototype.copy.call(k,m),k.color.copy(m.color),k.map=m.map,m=k}}m===void 0&&(g?m=new T.LineBasicMaterial:y?m=new T.PointsMaterial({size:1,sizeAttenuation:!1}):m=new T.MeshPhongMaterial,m.name=E.name,m.flatShading=!E.smooth,m.vertexColors=w,t.materials[R]=m),v.push(m)}let C;if(v.length>1){for(let M=0,D=h.length;M<D;M++){const E=h[M];V.addGroup(E.groupStart,E.groupCount,M)}g?C=new T.LineSegments(V,v):y?C=new T.Points(V,v):C=new T.Mesh(V,v)}else g?C=new T.LineSegments(V,v[0]):y?C=new T.Points(V,v[0]):C=new T.Mesh(V,v[0]);C.name=u.name,i.add(C)}else if(t.vertices.length>0){const a=new T.PointsMaterial({size:1,sizeAttenuation:!1}),f=new T.BufferGeometry;f.setAttribute("position",new T.Float32BufferAttribute(t.vertices,3)),t.colors.length>0&&t.colors[0]!==void 0&&(f.setAttribute("color",new T.Float32BufferAttribute(t.colors,3)),a.vertexColors=!0);const u=new T.Points(f,a);i.add(u)}return i}}function j(o){return(e,...t)=>Nn(o,e,t)}function xe(o,e){return j(Bt(o,e).get)}const{apply:Nn,getOwnPropertyDescriptor:Bt,getPrototypeOf:it,ownKeys:Pn}=Reflect,{iterator:Le,toStringTag:Un}=Symbol,Rn=Object,{create:ot,defineProperty:kn}=Rn,_n=Array,Bn=_n.prototype,Ot=Bn[Le],On=j(Ot),Gt=ArrayBuffer,Gn=Gt.prototype;xe(Gn,"byteLength");const It=typeof SharedArrayBuffer!="undefined"?SharedArrayBuffer:null;It&&xe(It.prototype,"byteLength");const jt=it(Uint8Array);jt.from;const X=jt.prototype;X[Le];j(X.keys);j(X.values);j(X.entries);j(X.set);j(X.reverse);j(X.fill);j(X.copyWithin);j(X.sort);j(X.slice);j(X.subarray);xe(X,"buffer");xe(X,"byteOffset");xe(X,"length");xe(X,Un);const jn=Uint8Array,zt=Uint16Array,st=Uint32Array,zn=Float32Array,De=it([][Le]()),Yt=j(De.next),Yn=j((function*(){})().next),Kn=it(De),$n=DataView.prototype,Xn=j($n.getUint16),at=WeakMap,Kt=at.prototype,$t=j(Kt.get),qn=j(Kt.set),Xt=new at,Hn=ot(null,{next:{value:function(){const e=$t(Xt,this);return Yt(e)}},[Le]:{value:function(){return this}}});function Zn(o){if(o[Le]===Ot&&De.next===Yt)return o;const e=ot(Hn);return qn(Xt,e,On(o)),e}const Wn=new at,Jn=ot(Kn,{next:{value:function(){const e=$t(Wn,this);return Yn(e)},writable:!0,configurable:!0}});for(const o of Pn(De))o!=="next"&&kn(Jn,o,Bt(De,o));const qt=new Gt(4),Qn=new zn(qt),er=new st(qt),ne=new zt(512),re=new jn(512);for(let o=0;o<256;++o){const e=o-127;e<-24?(ne[o]=0,ne[o|256]=32768,re[o]=24,re[o|256]=24):e<-14?(ne[o]=1024>>-e-14,ne[o|256]=1024>>-e-14|32768,re[o]=-e-1,re[o|256]=-e-1):e<=15?(ne[o]=e+15<<10,ne[o|256]=e+15<<10|32768,re[o]=13,re[o|256]=13):e<128?(ne[o]=31744,ne[o|256]=64512,re[o]=24,re[o|256]=24):(ne[o]=31744,ne[o|256]=64512,re[o]=13,re[o|256]=13)}const lt=new st(2048);for(let o=1;o<1024;++o){let e=o<<13,t=0;for(;(e&8388608)===0;)e<<=1,t-=8388608;e&=-8388609,t+=947912704,lt[o]=e|t}for(let o=1024;o<2048;++o)lt[o]=939524096+(o-1024<<13);const be=new st(64);for(let o=1;o<31;++o)be[o]=o<<23;be[31]=1199570944;be[32]=2147483648;for(let o=33;o<63;++o)be[o]=2147483648+(o-32<<23);be[63]=3347054592;const Ht=new zt(64);for(let o=1;o<64;++o)o!==32&&(Ht[o]=1024);function tr(o){const e=o>>10;return er[0]=lt[Ht[e]+(o&1023)]+be[e],Qn[0]}function Zt(o,e,...t){return tr(Xn(o,e,...Zn(t)))}var Re={exports:{}},Nt;function nr(){if(Nt)return Re.exports;Nt=1;function o(e,t,r){const n=r&&r.debug||!1;n&&console.log("[xml-utils] getting "+t+" in "+e);const i=typeof e=="object"?e.outer:e,l=i.slice(0,i.indexOf(">")+1),a=['"',"'"];for(let f=0;f<a.length;f++){const u=a[f],p=t+"\\="+u+"([^"+u+"]*)"+u;n&&console.log("[xml-utils] pattern:",p);const g=new RegExp(p).exec(l);if(n&&console.log("[xml-utils] match:",g),g)return g[1]}}return Re.exports=o,Re.exports.default=o,Re.exports}var rr=nr();const Qe=rt.getDefaultExportFromCjs(rr);var ke={exports:{}},_e={exports:{}},Be={exports:{}},Pt;function ir(){if(Pt)return Be.exports;Pt=1;function o(e,t,r){const i=new RegExp(t).exec(e.slice(r));return i?r+i.index:-1}return Be.exports=o,Be.exports.default=o,Be.exports}var Oe={exports:{}},Ut;function or(){if(Ut)return Oe.exports;Ut=1;function o(e,t,r){const i=new RegExp(t).exec(e.slice(r));return i?r+i.index+i[0].length-1:-1}return Oe.exports=o,Oe.exports.default=o,Oe.exports}var Ge={exports:{}},Rt;function sr(){if(Rt)return Ge.exports;Rt=1;function o(e,t){const r=new RegExp(t,"g"),n=e.match(r);return n?n.length:0}return Ge.exports=o,Ge.exports.default=o,Ge.exports}var kt;function ar(){if(kt)return _e.exports;kt=1;const o=ir(),e=or(),t=sr();function r(n,i,l){const a=l&&l.debug||!1,f=!(l&&typeof l.nested===!1),u=l&&l.startIndex||0;a&&console.log("[xml-utils] starting findTagByName with",i," and ",l);const p=o(n,`<${i}[
|
|
6
6
|
>/]`,u);if(a&&console.log("[xml-utils] start:",p),p===-1)return;const h=n.slice(p+i.length);let g=e(h,"^[^<]*[ /]>",0);const y=g!==-1&&h[g-1]==="/";if(a&&console.log("[xml-utils] selfClosing:",y),y===!1)if(f){let C=0,M=1,D=0;for(;(g=e(h,"[ /]"+i+">",C))!==-1;){const E=h.substring(C,g+1);if(M+=t(E,"<"+i+`[
|
|
7
|
-
>]`),D+=t(E,"</"+i+">"),D>=M)break;C=g}}else g=e(h,"[ /]"+i+">",0);const w=p+i.length+g+1;if(a&&console.log("[xml-utils] end:",w),w===-1)return;const V=n.slice(p,w);let v;return y?v=null:v=V.slice(V.indexOf(">")+1,V.lastIndexOf("<")),{inner:v,outer:V,start:p,end:w}}return _e.exports=r,_e.exports.default=r,_e.exports}var _t;function lr(){if(_t)return ke.exports;_t=1;const o=ar();function e(t,r,n){const i=[],l=n&&n.debug||!1,a=n&&typeof n.nested=="boolean"?n.nested:!0;let f=n&&n.startIndex||0,u;for(;u=o(t,r,{debug:l,startIndex:f});)a?f=u.start+1+r.length:f=u.end,i.push(u);return l&&console.log("findTagsByName found",i.length,"tags"),i}return ke.exports=e,ke.exports.default=e,ke.exports}var cr=lr();const ur=rt.getDefaultExportFromCjs(cr),Ee={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},ie={};for(const o in Ee)Ee.hasOwnProperty(o)&&(ie[Ee[o]]=parseInt(o,10));const fr=[ie.BitsPerSample,ie.ExtraSamples,ie.SampleFormat,ie.StripByteCounts,ie.StripOffsets,ie.StripRowCounts,ie.TileByteCounts,ie.TileOffsets,ie.SubIFDs],et={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},I={};for(const o in et)et.hasOwnProperty(o)&&(I[et[o]]=parseInt(o,10));const H={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,CMYK:5,YCbCr:6,CIELab:8},dr={Unspecified:0},hr={AddCompression:1},mr={None:0,Deflate:1,Zstandard:2},gr={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"};function pr(o,e){const{width:t,height:r}=o,n=new Uint8Array(t*r*3);let i;for(let l=0,a=0;l<o.length;++l,a+=3)i=256-o[l]/e*256,n[a]=i,n[a+1]=i,n[a+2]=i;return n}function yr(o,e){const{width:t,height:r}=o,n=new Uint8Array(t*r*3);let i;for(let l=0,a=0;l<o.length;++l,a+=3)i=o[l]/e*256,n[a]=i,n[a+1]=i,n[a+2]=i;return n}function wr(o,e){const{width:t,height:r}=o,n=new Uint8Array(t*r*3),i=e.length/3,l=e.length/3*2;for(let a=0,f=0;a<o.length;++a,f+=3){const u=o[a];n[f]=e[u]/65536*256,n[f+1]=e[u+i]/65536*256,n[f+2]=e[u+l]/65536*256}return n}function xr(o){const{width:e,height:t}=o,r=new Uint8Array(e*t*3);for(let n=0,i=0;n<o.length;n+=4,i+=3){const l=o[n],a=o[n+1],f=o[n+2],u=o[n+3];r[i]=255*((255-l)/256)*((255-u)/256),r[i+1]=255*((255-a)/256)*((255-u)/256),r[i+2]=255*((255-f)/256)*((255-u)/256)}return r}function br(o){const{width:e,height:t}=o,r=new Uint8ClampedArray(e*t*3);for(let n=0,i=0;n<o.length;n+=3,i+=3){const l=o[n],a=o[n+1],f=o[n+2];r[i]=l+1.402*(f-128),r[i+1]=l-.34414*(a-128)-.71414*(f-128),r[i+2]=l+1.772*(a-128)}return r}const vr=.95047,Sr=1,Vr=1.08883;function Mr(o){const{width:e,height:t}=o,r=new Uint8Array(e*t*3);for(let n=0,i=0;n<o.length;n+=3,i+=3){const l=o[n+0],a=o[n+1]<<24>>24,f=o[n+2]<<24>>24;let u=(l+16)/116,p=a/500+u,h=u-f/200,g,y,w;p=vr*(p*p*p>.008856?p*p*p:(p-16/116)/7.787),u=Sr*(u*u*u>.008856?u*u*u:(u-16/116)/7.787),h=Vr*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),g=p*3.2406+u*-1.5372+h*-.4986,y=p*-.9689+u*1.8758+h*.0415,w=p*.0557+u*-.204+h*1.057,g=g>.0031308?1.055*Q(g,1/2.4)-.055:12.92*g,y=y>.0031308?1.055*Q(y,1/2.4)-.055:12.92*y,w=w>.0031308?1.055*Q(w,1/2.4)-.055:12.92*w,r[i]=Math.max(0,Math.min(1,g))*255,r[i+1]=Math.max(0,Math.min(1,y))*255,r[i+2]=Math.max(0,Math.min(1,w))*255}return r}const Wt=new Map;function le(o,e){Array.isArray(o)||(o=[o]),o.forEach(t=>Wt.set(t,e))}function Ar(o){return _(this,null,function*(){const e=Wt.get(o.Compression);if(!e)throw new Error(`Unknown compression method identifier: ${o.Compression}`);const t=yield e();return new t(o)})}le([void 0,1],()=>Promise.resolve().then(()=>require("./raw-B_Sr9gDq.cjs")).then(o=>o.default));le(5,()=>Promise.resolve().then(()=>require("./lzw-DA3XeqBg.cjs")).then(o=>o.default));le(6,()=>{throw new Error("old style JPEG compression is not supported.")});le(7,()=>Promise.resolve().then(()=>require("./jpeg-DLeEjPcb.cjs")).then(o=>o.default));le([8,32946],()=>Promise.resolve().then(()=>require("./deflate-De_6nNhk.cjs")).then(o=>o.default));le(32773,()=>Promise.resolve().then(()=>require("./packbits-fIig5HbM.cjs")).then(o=>o.default));le(34887,()=>Promise.resolve().then(()=>require("./lerc-DGuyYCKG.cjs")).then(o=>_(null,null,function*(){return yield o.zstd.init(),o})).then(o=>o.default));le(50001,()=>Promise.resolve().then(()=>require("./webimage-DQl5wElJ.cjs")).then(o=>o.default));function ze(o,e,t,r=1){return new(Object.getPrototypeOf(o)).constructor(e*t*r)}function Cr(o,e,t,r,n){const i=e/r,l=t/n;return o.map(a=>{const f=ze(a,r,n);for(let u=0;u<n;++u){const p=Math.min(Math.round(l*u),t-1);for(let h=0;h<r;++h){const g=Math.min(Math.round(i*h),e-1),y=a[p*e+g];f[u*r+h]=y}}return f})}function we(o,e,t){return(1-t)*o+t*e}function Tr(o,e,t,r,n){const i=e/r,l=t/n;return o.map(a=>{const f=ze(a,r,n);for(let u=0;u<n;++u){const p=l*u,h=Math.floor(p),g=Math.min(Math.ceil(p),t-1);for(let y=0;y<r;++y){const w=i*y,V=w%1,v=Math.floor(w),C=Math.min(Math.ceil(w),e-1),M=a[h*e+v],D=a[h*e+C],E=a[g*e+v],R=a[g*e+C],m=we(we(M,D,V),we(E,R,V),p%1);f[u*r+y]=m}}return f})}function Fr(o,e,t,r,n,i="nearest"){switch(i.toLowerCase()){case"nearest":return Cr(o,e,t,r,n);case"bilinear":case"linear":return Tr(o,e,t,r,n);default:throw new Error(`Unsupported resampling method: '${i}'`)}}function Er(o,e,t,r,n,i){const l=e/r,a=t/n,f=ze(o,r,n,i);for(let u=0;u<n;++u){const p=Math.min(Math.round(a*u),t-1);for(let h=0;h<r;++h){const g=Math.min(Math.round(l*h),e-1);for(let y=0;y<i;++y){const w=o[p*e*i+g*i+y];f[u*r*i+h*i+y]=w}}}return f}function Dr(o,e,t,r,n,i){const l=e/r,a=t/n,f=ze(o,r,n,i);for(let u=0;u<n;++u){const p=a*u,h=Math.floor(p),g=Math.min(Math.ceil(p),t-1);for(let y=0;y<r;++y){const w=l*y,V=w%1,v=Math.floor(w),C=Math.min(Math.ceil(w),e-1);for(let M=0;M<i;++M){const D=o[h*e*i+v*i+M],E=o[h*e*i+C*i+M],R=o[g*e*i+v*i+M],m=o[g*e*i+C*i+M],k=we(we(D,E,V),we(R,m,V),p%1);f[u*r*i+y*i+M]=k}}}return f}function Lr(o,e,t,r,n,i,l="nearest"){switch(l.toLowerCase()){case"nearest":return Er(o,e,t,r,n,i);case"bilinear":case"linear":return Dr(o,e,t,r,n,i);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Ir(o,e,t){let r=0;for(let n=e;n<t;++n)r+=o[n];return r}function tt(o,e,t){switch(o){case 1:if(e<=8)return new Uint8Array(t);if(e<=16)return new Uint16Array(t);if(e<=32)return new Uint32Array(t);break;case 2:if(e===8)return new Int8Array(t);if(e===16)return new Int16Array(t);if(e===32)return new Int32Array(t);break;case 3:switch(e){case 16:case 32:return new Float32Array(t);case 64:return new Float64Array(t)}break}throw Error("Unsupported data format/bitsPerSample")}function Nr(o,e){return(o===1||o===2)&&e<=32&&e%8===0?!1:!(o===3&&(e===16||e===32||e===64))}function Pr(o,e,t,r,n,i,l){const a=new DataView(o),f=t===2?l*i:l*i*r,u=t===2?1:r,p=tt(e,n,f),h=parseInt("1".repeat(n),2);if(e===1){let g;t===1?g=r*n:g=n;let y=i*g;(y&7)!==0&&(y=y+7&-8);for(let w=0;w<l;++w){const V=w*y;for(let v=0;v<i;++v){const C=V+v*u*n;for(let M=0;M<u;++M){const D=C+M*n,E=(w*i+v)*u+M,R=Math.floor(D/8),m=D%8;if(m+n<=8)p[E]=a.getUint8(R)>>8-n-m&h;else if(m+n<=16)p[E]=a.getUint16(R)>>16-n-m&h;else if(m+n<=24){const k=a.getUint16(R)<<8|a.getUint8(R+2);p[E]=k>>24-n-m&h}else p[E]=a.getUint32(R)>>32-n-m&h}}}}return p.buffer}class Ur{constructor(e,t,r,n,i,l){this.fileDirectory=e,this.geoKeys=t,this.dataView=r,this.littleEndian=n,this.tiles=i?{}:null,this.isTiled=!e.StripOffsets;const a=e.PlanarConfiguration;if(this.planarConfiguration=typeof a=="undefined"?1:a,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel!="undefined"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip!="undefined"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}getBytesPerPixel(){let e=0;for(let t=0;t<this.fileDirectory.BitsPerSample.length;++t)e+=this.getSampleByteSize(t);return e}getSampleByteSize(e){if(e>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${e} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[e]/8)}getReaderForSample(e){const t=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1,r=this.fileDirectory.BitsPerSample[e];switch(t){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(n,i){return Zt(this,n,i)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(e=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1}getBitsPerSample(e=0){return this.fileDirectory.BitsPerSample[e]}getArrayForSample(e,t){const r=this.getSampleFormat(e),n=this.getBitsPerSample(e);return tt(r,n,t)}getTileOrStrip(e,t,r,n,i){return _(this,null,function*(){const l=Math.ceil(this.getWidth()/this.getTileWidth()),a=Math.ceil(this.getHeight()/this.getTileHeight());let f;const{tiles:u}=this;this.planarConfiguration===1?f=t*l+e:this.planarConfiguration===2&&(f=r*l*a+t*l+e);let p,h;this.isTiled?(p=this.fileDirectory.TileOffsets[f],h=this.fileDirectory.TileByteCounts[f]):(p=this.fileDirectory.StripOffsets[f],h=this.fileDirectory.StripByteCounts[f]);const g=(yield this.source.fetch([{offset:p,length:h}],i))[0];let y;return u===null||!u[f]?(y=_(this,null,function*(){let w=yield n.decode(this.fileDirectory,g);const V=this.getSampleFormat(),v=this.getBitsPerSample();return Nr(V,v)&&(w=Pr(w,V,this.planarConfiguration,this.getSamplesPerPixel(),v,this.getTileWidth(),this.getBlockHeight(t))),w}),u!==null&&(u[f]=y)):y=u[f],{x:e,y:t,sample:r,data:yield y}})}_readRaster(e,t,r,n,i,l,a,f,u){return _(this,null,function*(){const p=this.getTileWidth(),h=this.getTileHeight(),g=this.getWidth(),y=this.getHeight(),w=Math.max(Math.floor(e[0]/p),0),V=Math.min(Math.ceil(e[2]/p),Math.ceil(g/p)),v=Math.max(Math.floor(e[1]/h),0),C=Math.min(Math.ceil(e[3]/h),Math.ceil(y/h)),M=e[2]-e[0];let D=this.getBytesPerPixel();const E=[],R=[];for(let O=0;O<t.length;++O)this.planarConfiguration===1?E.push(Ir(this.fileDirectory.BitsPerSample,0,t[O])/8):E.push(0),R.push(this.getReaderForSample(t[O]));const m=[],{littleEndian:k}=this;for(let O=v;O<C;++O)for(let se=w;se<V;++se){let ae;this.planarConfiguration===1&&(ae=this.getTileOrStrip(se,O,0,i,u));for(let z=0;z<t.length;++z){const U=z,$=t[z];this.planarConfiguration===2&&(D=this.getSampleByteSize($),ae=this.getTileOrStrip(se,O,$,i,u));const oe=ae.then(ce=>{const Ye=ce.data,Ie=new DataView(Ye),ve=this.getBlockHeight(ce.y),ue=ce.y*h,he=ce.x*p,Se=ue+ve,Ke=(ce.x+1)*p,me=R[U],Ne=Math.min(ve,ve-(Se-e[3]),y-ue),$e=Math.min(p,p-(Ke-e[2]),g-he);for(let fe=Math.max(0,e[1]-ue);fe<Ne;++fe)for(let de=Math.max(0,e[0]-he);de<$e;++de){const Xe=(fe*p+de)*D,Ve=me.call(Ie,Xe+E[U],k);let ge;n?(ge=(fe+ue-e[1])*M*t.length+(de+he-e[0])*t.length+U,r[ge]=Ve):(ge=(fe+ue-e[1])*M+de+he-e[0],r[U][ge]=Ve)}});m.push(oe)}}if(yield Promise.all(m),l&&e[2]-e[0]!==l||a&&e[3]-e[1]!==a){let O;return n?O=Lr(r,e[2]-e[0],e[3]-e[1],l,a,t.length,f):O=Fr(r,e[2]-e[0],e[3]-e[1],l,a,f),O.width=l,O.height=a,O}return r.width=l||e[2]-e[0],r.height=a||e[3]-e[1],r})}readRasters(){return _(this,arguments,function*({window:e,samples:t=[],interleave:r,pool:n=null,width:i,height:l,resampleMethod:a,fillValue:f,signal:u}={}){const p=e||[0,0,this.getWidth(),this.getHeight()];if(p[0]>p[2]||p[1]>p[3])throw new Error("Invalid subsets");const h=p[2]-p[0],g=p[3]-p[1],y=h*g,w=this.getSamplesPerPixel();if(!t||!t.length)for(let M=0;M<w;++M)t.push(M);else for(let M=0;M<t.length;++M)if(t[M]>=w)return Promise.reject(new RangeError(`Invalid sample index '${t[M]}'.`));let V;if(r){const M=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,D=Math.max.apply(null,this.fileDirectory.BitsPerSample);V=tt(M,D,y*t.length),f&&V.fill(f)}else{V=[];for(let M=0;M<t.length;++M){const D=this.getArrayForSample(t[M],y);Array.isArray(f)&&M<f.length?D.fill(f[M]):f&&!Array.isArray(f)&&D.fill(f),V.push(D)}}const v=n||(yield Ar(this.fileDirectory));return yield this._readRaster(p,t,V,r,v,i,l,a,u)})}readRGB(){return _(this,arguments,function*({window:e,interleave:t=!0,pool:r=null,width:n,height:i,resampleMethod:l,enableAlpha:a=!1,signal:f}={}){const u=e||[0,0,this.getWidth(),this.getHeight()];if(u[0]>u[2]||u[1]>u[3])throw new Error("Invalid subsets");const p=this.fileDirectory.PhotometricInterpretation;if(p===H.RGB){let C=[0,1,2];if(this.fileDirectory.ExtraSamples!==dr.Unspecified&&a){C=[];for(let M=0;M<this.fileDirectory.BitsPerSample.length;M+=1)C.push(M)}return this.readRasters({window:e,interleave:t,samples:C,pool:r,width:n,height:i,resampleMethod:l,signal:f})}let h;switch(p){case H.WhiteIsZero:case H.BlackIsZero:case H.Palette:h=[0];break;case H.CMYK:h=[0,1,2,3];break;case H.YCbCr:case H.CIELab:h=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const g={window:u,interleave:!0,samples:h,pool:r,width:n,height:i,resampleMethod:l,signal:f},{fileDirectory:y}=this,w=yield this.readRasters(g),V=Q(2,this.fileDirectory.BitsPerSample[0]);let v;switch(p){case H.WhiteIsZero:v=pr(w,V);break;case H.BlackIsZero:v=yr(w,V);break;case H.Palette:v=wr(w,y.ColorMap);break;case H.CMYK:v=xr(w);break;case H.YCbCr:v=br(w);break;case H.CIELab:v=Mr(w);break;default:throw new Error("Unsupported photometric interpretation.")}if(!t){const C=new Uint8Array(v.length/3),M=new Uint8Array(v.length/3),D=new Uint8Array(v.length/3);for(let E=0,R=0;E<v.length;E+=3,++R)C[R]=v[E],M[R]=v[E+1],D[R]=v[E+2];v=[C,M,D]}return v.width=w.width,v.height=w.height,v})}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];const e=[];for(let t=0;t<this.fileDirectory.ModelTiepoint.length;t+=6)e.push({i:this.fileDirectory.ModelTiepoint[t],j:this.fileDirectory.ModelTiepoint[t+1],k:this.fileDirectory.ModelTiepoint[t+2],x:this.fileDirectory.ModelTiepoint[t+3],y:this.fileDirectory.ModelTiepoint[t+4],z:this.fileDirectory.ModelTiepoint[t+5]});return e}getGDALMetadata(e=null){const t={};if(!this.fileDirectory.GDAL_METADATA)return null;const r=this.fileDirectory.GDAL_METADATA;let n=ur(r,"Item");e===null?n=n.filter(i=>Qe(i,"sample")===void 0):n=n.filter(i=>Number(Qe(i,"sample"))===e);for(let i=0;i<n.length;++i){const l=n[i];t[Qe(l,"name")]=l.inner}return t}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;const e=this.fileDirectory.GDAL_NODATA;return Number(e.substring(0,e.length-1))}getOrigin(){const e=this.fileDirectory.ModelTiepoint,t=this.fileDirectory.ModelTransformation;if(e&&e.length===6)return[e[3],e[4],e[5]];if(t)return[t[3],t[7],t[11]];throw new Error("The image does not have an affine transformation.")}getResolution(e=null){const t=this.fileDirectory.ModelPixelScale,r=this.fileDirectory.ModelTransformation;if(t)return[t[0],-t[1],t[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(e){const[n,i,l]=e.getResolution();return[n*e.getWidth()/this.getWidth(),i*e.getHeight()/this.getHeight(),l*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(e=!1){const t=this.getHeight(),r=this.getWidth();if(this.fileDirectory.ModelTransformation&&!e){const[n,i,l,a,f,u,p,h]=this.fileDirectory.ModelTransformation,y=[[0,0],[0,t],[r,0],[r,t]].map(([v,C])=>[a+n*v+i*C,h+f*v+u*C]),w=y.map(v=>v[0]),V=y.map(v=>v[1]);return[Math.min(...w),Math.min(...V),Math.max(...w),Math.max(...V)]}else{const n=this.getOrigin(),i=this.getResolution(),l=n[0],a=n[1],f=l+i[0]*r,u=a+i[1]*t;return[Math.min(l,f),Math.min(a,u),Math.max(l,f),Math.max(a,u)]}}}class Rr{constructor(e){this._dataView=new DataView(e)}get buffer(){return this._dataView.buffer}getUint64(e,t){const r=this.getUint32(e,t),n=this.getUint32(e+4,t);let i;if(t){if(i=r+Q(2,32)*n,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}if(i=Q(2,32)*r+n,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}getInt64(e,t){let r=0;const n=(this._dataView.getUint8(e+(t?7:0))&128)>0;let i=!0;for(let l=0;l<8;l++){let a=this._dataView.getUint8(e+(t?l:7-l));n&&(i?a!==0&&(a=~(a-1)&255,i=!1):a=~a&255),r+=a*Q(256,l)}return n&&(r=-r),r}getUint8(e,t){return this._dataView.getUint8(e,t)}getInt8(e,t){return this._dataView.getInt8(e,t)}getUint16(e,t){return this._dataView.getUint16(e,t)}getInt16(e,t){return this._dataView.getInt16(e,t)}getUint32(e,t){return this._dataView.getUint32(e,t)}getInt32(e,t){return this._dataView.getInt32(e,t)}getFloat16(e,t){return Zt(this._dataView,e,t)}getFloat32(e,t){return this._dataView.getFloat32(e,t)}getFloat64(e,t){return this._dataView.getFloat64(e,t)}}class kr{constructor(e,t,r,n){this._dataView=new DataView(e),this._sliceOffset=t,this._littleEndian=r,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(e,t){return this.sliceOffset<=e&&this.sliceTop>=e+t}readUint8(e){return this._dataView.getUint8(e-this._sliceOffset,this._littleEndian)}readInt8(e){return this._dataView.getInt8(e-this._sliceOffset,this._littleEndian)}readUint16(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}readInt16(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}readUint32(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}readInt32(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}readFloat32(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}readFloat64(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}readUint64(e){const t=this.readUint32(e),r=this.readUint32(e+4);let n;if(this._littleEndian){if(n=t+Q(2,32)*r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=Q(2,32)*t+r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(e){let t=0;const r=(this._dataView.getUint8(e+(this._littleEndian?7:0))&128)>0;let n=!0;for(let i=0;i<8;i++){let l=this._dataView.getUint8(e+(this._littleEndian?i:7-i));r&&(n?l!==0&&(l=~(l-1)&255,n=!1):l=~l&255),t+=l*Q(256,i)}return r&&(t=-t),t}readOffset(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}}class _r{fetch(e,t=void 0){return _(this,null,function*(){return Promise.all(e.map(r=>this.fetchSlice(r,t)))})}fetchSlice(e){return _(this,null,function*(){throw new Error(`fetching of slice ${e} not possible, not implemented`)})}get fileSize(){return null}close(){return _(this,null,function*(){})}}class ct extends Error{constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="AbortError"}}class Br extends _r{constructor(e){super(),this.arrayBuffer=e}fetchSlice(e,t){if(t&&t.aborted)throw new ct("Request aborted");return this.arrayBuffer.slice(e.offset,e.offset+e.length)}}function Or(o){return new Br(o)}function nt(o){switch(o){case I.BYTE:case I.ASCII:case I.SBYTE:case I.UNDEFINED:return 1;case I.SHORT:case I.SSHORT:return 2;case I.LONG:case I.SLONG:case I.FLOAT:case I.IFD:return 4;case I.RATIONAL:case I.SRATIONAL:case I.DOUBLE:case I.LONG8:case I.SLONG8:case I.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${o}`)}}function Gr(o){const e=o.GeoKeyDirectory;if(!e)return null;const t={};for(let r=4;r<=e[3]*4;r+=4){const n=gr[e[r]],i=e[r+1]?Ee[e[r+1]]:null,l=e[r+2],a=e[r+3];let f=null;if(!i)f=a;else{if(f=o[i],typeof f=="undefined"||f===null)throw new Error(`Could not get value of geoKey '${n}'.`);typeof f=="string"?f=f.substring(a,a+l-1):f.subarray&&(f=f.subarray(a,a+l),l===1&&(f=f[0]))}t[n]=f}return t}function ye(o,e,t,r){let n=null,i=null;const l=nt(e);switch(e){case I.BYTE:case I.ASCII:case I.UNDEFINED:n=new Uint8Array(t),i=o.readUint8;break;case I.SBYTE:n=new Int8Array(t),i=o.readInt8;break;case I.SHORT:n=new Uint16Array(t),i=o.readUint16;break;case I.SSHORT:n=new Int16Array(t),i=o.readInt16;break;case I.LONG:case I.IFD:n=new Uint32Array(t),i=o.readUint32;break;case I.SLONG:n=new Int32Array(t),i=o.readInt32;break;case I.LONG8:case I.IFD8:n=new Array(t),i=o.readUint64;break;case I.SLONG8:n=new Array(t),i=o.readInt64;break;case I.RATIONAL:n=new Uint32Array(t*2),i=o.readUint32;break;case I.SRATIONAL:n=new Int32Array(t*2),i=o.readInt32;break;case I.FLOAT:n=new Float32Array(t),i=o.readFloat32;break;case I.DOUBLE:n=new Float64Array(t),i=o.readFloat64;break;default:throw new RangeError(`Invalid field type: ${e}`)}if(e===I.RATIONAL||e===I.SRATIONAL)for(let a=0;a<t;a+=2)n[a]=i.call(o,r+a*l),n[a+1]=i.call(o,r+(a*l+4));else for(let a=0;a<t;++a)n[a]=i.call(o,r+a*l);return e===I.ASCII?new TextDecoder("utf-8").decode(n):n}class jr{constructor(e,t,r){this.fileDirectory=e,this.geoKeyDirectory=t,this.nextIFDByteOffset=r}}class je extends Error{constructor(e){super(`No image at index ${e}`),this.index=e}}class zr{readRasters(){return _(this,arguments,function*(e={}){const{window:t,width:r,height:n}=e;let{resX:i,resY:l,bbox:a}=e;const f=yield this.getImage();let u=f;const p=yield this.getImageCount(),h=f.getBoundingBox();if(t&&a)throw new Error('Both "bbox" and "window" passed.');if(r||n){if(t){const[w,V]=f.getOrigin(),[v,C]=f.getResolution();a=[w+t[0]*v,V+t[1]*C,w+t[2]*v,V+t[3]*C]}const y=a||h;if(r){if(i)throw new Error("Both width and resX passed");i=(y[2]-y[0])/r}if(n){if(l)throw new Error("Both width and resY passed");l=(y[3]-y[1])/n}}if(i||l){const y=[];for(let w=0;w<p;++w){const V=yield this.getImage(w),{SubfileType:v,NewSubfileType:C}=V.fileDirectory;(w===0||v===2||C&1)&&y.push(V)}y.sort((w,V)=>w.getWidth()-V.getWidth());for(let w=0;w<y.length;++w){const V=y[w],v=(h[2]-h[0])/V.getWidth(),C=(h[3]-h[1])/V.getHeight();if(u=V,i&&i>v||l&&l>C)break}}let g=t;if(a){const[y,w]=f.getOrigin(),[V,v]=u.getResolution(f);g=[Math.round((a[0]-y)/V),Math.round((a[1]-w)/v),Math.round((a[2]-y)/V),Math.round((a[3]-w)/v)],g=[Math.min(g[0],g[2]),Math.min(g[1],g[3]),Math.max(g[0],g[2]),Math.max(g[1],g[3])]}return u.readRasters(We(Ze({},e),{window:g}))})}}class ut extends zr{constructor(e,t,r,n,i={}){super(),this.source=e,this.littleEndian=t,this.bigTiff=r,this.firstIFDOffset=n,this.cache=i.cache||!1,this.ifdRequests=[],this.ghostValues=null}getSlice(e,t){return _(this,null,function*(){const r=this.bigTiff?4048:1024;return new kr((yield this.source.fetch([{offset:e,length:typeof t!="undefined"?t:r}]))[0],e,this.littleEndian,this.bigTiff)})}parseFileDirectoryAt(e){return _(this,null,function*(){const t=this.bigTiff?20:12,r=this.bigTiff?8:2;let n=yield this.getSlice(e);const i=this.bigTiff?n.readUint64(e):n.readUint16(e),l=i*t+(this.bigTiff?16:6);n.covers(e,l)||(n=yield this.getSlice(e,l));const a={};let f=e+(this.bigTiff?8:2);for(let h=0;h<i;f+=t,++h){const g=n.readUint16(f),y=n.readUint16(f+2),w=this.bigTiff?n.readUint64(f+4):n.readUint32(f+4);let V,v;const C=nt(y),M=f+(this.bigTiff?12:8);if(C*w<=(this.bigTiff?8:4))V=ye(n,y,w,M);else{const D=n.readOffset(M),E=nt(y)*w;if(n.covers(D,E))V=ye(n,y,w,D);else{const R=yield this.getSlice(D,E);V=ye(R,y,w,D)}}w===1&&fr.indexOf(g)===-1&&!(y===I.RATIONAL||y===I.SRATIONAL)?v=V[0]:v=V,a[Ee[g]]=v}const u=Gr(a),p=n.readOffset(e+r+t*i);return new jr(a,u,p)})}requestIFD(e){return _(this,null,function*(){if(this.ifdRequests[e])return this.ifdRequests[e];if(e===0)return this.ifdRequests[e]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[e];if(!this.ifdRequests[e-1])try{this.ifdRequests[e-1]=this.requestIFD(e-1)}catch(t){throw t instanceof je?new je(e):t}return this.ifdRequests[e]=_(this,null,function*(){const t=yield this.ifdRequests[e-1];if(t.nextIFDByteOffset===0)throw new je(e);return this.parseFileDirectoryAt(t.nextIFDByteOffset)}),this.ifdRequests[e]})}getImage(e=0){return _(this,null,function*(){const t=yield this.requestIFD(e);return new Ur(t.fileDirectory,t.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)})}getImageCount(){return _(this,null,function*(){let e=0,t=!0;for(;t;)try{yield this.requestIFD(e),++e}catch(r){if(r instanceof je)t=!1;else throw r}return e})}getGhostValues(){return _(this,null,function*(){const e=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const t="GDAL_STRUCTURAL_METADATA_SIZE=",r=t.length+100;let n=yield this.getSlice(e,r);if(t===ye(n,I.ASCII,t.length,e)){const l=ye(n,I.ASCII,r,e).split(`
|
|
7
|
+
>]`),D+=t(E,"</"+i+">"),D>=M)break;C=g}}else g=e(h,"[ /]"+i+">",0);const w=p+i.length+g+1;if(a&&console.log("[xml-utils] end:",w),w===-1)return;const V=n.slice(p,w);let v;return y?v=null:v=V.slice(V.indexOf(">")+1,V.lastIndexOf("<")),{inner:v,outer:V,start:p,end:w}}return _e.exports=r,_e.exports.default=r,_e.exports}var _t;function lr(){if(_t)return ke.exports;_t=1;const o=ar();function e(t,r,n){const i=[],l=n&&n.debug||!1,a=n&&typeof n.nested=="boolean"?n.nested:!0;let f=n&&n.startIndex||0,u;for(;u=o(t,r,{debug:l,startIndex:f});)a?f=u.start+1+r.length:f=u.end,i.push(u);return l&&console.log("findTagsByName found",i.length,"tags"),i}return ke.exports=e,ke.exports.default=e,ke.exports}var cr=lr();const ur=rt.getDefaultExportFromCjs(cr),Ee={315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",340:"SMinSampleValue",341:"SMaxSampleValue",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop",33550:"ModelPixelScale",33922:"ModelTiepoint",34264:"ModelTransformation",34735:"GeoKeyDirectory",34736:"GeoDoubleParams",34737:"GeoAsciiParams",50674:"LercParameters"},ie={};for(const o in Ee)Ee.hasOwnProperty(o)&&(ie[Ee[o]]=parseInt(o,10));const fr=[ie.BitsPerSample,ie.ExtraSamples,ie.SampleFormat,ie.StripByteCounts,ie.StripOffsets,ie.StripRowCounts,ie.TileByteCounts,ie.TileOffsets,ie.SubIFDs],et={1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE",13:"IFD",16:"LONG8",17:"SLONG8",18:"IFD8"},I={};for(const o in et)et.hasOwnProperty(o)&&(I[et[o]]=parseInt(o,10));const H={WhiteIsZero:0,BlackIsZero:1,RGB:2,Palette:3,CMYK:5,YCbCr:6,CIELab:8},dr={Unspecified:0},hr={AddCompression:1},mr={None:0,Deflate:1,Zstandard:2},gr={1024:"GTModelTypeGeoKey",1025:"GTRasterTypeGeoKey",1026:"GTCitationGeoKey",2048:"GeographicTypeGeoKey",2049:"GeogCitationGeoKey",2050:"GeogGeodeticDatumGeoKey",2051:"GeogPrimeMeridianGeoKey",2052:"GeogLinearUnitsGeoKey",2053:"GeogLinearUnitSizeGeoKey",2054:"GeogAngularUnitsGeoKey",2055:"GeogAngularUnitSizeGeoKey",2056:"GeogEllipsoidGeoKey",2057:"GeogSemiMajorAxisGeoKey",2058:"GeogSemiMinorAxisGeoKey",2059:"GeogInvFlatteningGeoKey",2060:"GeogAzimuthUnitsGeoKey",2061:"GeogPrimeMeridianLongGeoKey",2062:"GeogTOWGS84GeoKey",3072:"ProjectedCSTypeGeoKey",3073:"PCSCitationGeoKey",3074:"ProjectionGeoKey",3075:"ProjCoordTransGeoKey",3076:"ProjLinearUnitsGeoKey",3077:"ProjLinearUnitSizeGeoKey",3078:"ProjStdParallel1GeoKey",3079:"ProjStdParallel2GeoKey",3080:"ProjNatOriginLongGeoKey",3081:"ProjNatOriginLatGeoKey",3082:"ProjFalseEastingGeoKey",3083:"ProjFalseNorthingGeoKey",3084:"ProjFalseOriginLongGeoKey",3085:"ProjFalseOriginLatGeoKey",3086:"ProjFalseOriginEastingGeoKey",3087:"ProjFalseOriginNorthingGeoKey",3088:"ProjCenterLongGeoKey",3089:"ProjCenterLatGeoKey",3090:"ProjCenterEastingGeoKey",3091:"ProjCenterNorthingGeoKey",3092:"ProjScaleAtNatOriginGeoKey",3093:"ProjScaleAtCenterGeoKey",3094:"ProjAzimuthAngleGeoKey",3095:"ProjStraightVertPoleLongGeoKey",3096:"ProjRectifiedGridAngleGeoKey",4096:"VerticalCSTypeGeoKey",4097:"VerticalCitationGeoKey",4098:"VerticalDatumGeoKey",4099:"VerticalUnitsGeoKey"};function pr(o,e){const{width:t,height:r}=o,n=new Uint8Array(t*r*3);let i;for(let l=0,a=0;l<o.length;++l,a+=3)i=256-o[l]/e*256,n[a]=i,n[a+1]=i,n[a+2]=i;return n}function yr(o,e){const{width:t,height:r}=o,n=new Uint8Array(t*r*3);let i;for(let l=0,a=0;l<o.length;++l,a+=3)i=o[l]/e*256,n[a]=i,n[a+1]=i,n[a+2]=i;return n}function wr(o,e){const{width:t,height:r}=o,n=new Uint8Array(t*r*3),i=e.length/3,l=e.length/3*2;for(let a=0,f=0;a<o.length;++a,f+=3){const u=o[a];n[f]=e[u]/65536*256,n[f+1]=e[u+i]/65536*256,n[f+2]=e[u+l]/65536*256}return n}function xr(o){const{width:e,height:t}=o,r=new Uint8Array(e*t*3);for(let n=0,i=0;n<o.length;n+=4,i+=3){const l=o[n],a=o[n+1],f=o[n+2],u=o[n+3];r[i]=255*((255-l)/256)*((255-u)/256),r[i+1]=255*((255-a)/256)*((255-u)/256),r[i+2]=255*((255-f)/256)*((255-u)/256)}return r}function br(o){const{width:e,height:t}=o,r=new Uint8ClampedArray(e*t*3);for(let n=0,i=0;n<o.length;n+=3,i+=3){const l=o[n],a=o[n+1],f=o[n+2];r[i]=l+1.402*(f-128),r[i+1]=l-.34414*(a-128)-.71414*(f-128),r[i+2]=l+1.772*(a-128)}return r}const vr=.95047,Sr=1,Vr=1.08883;function Mr(o){const{width:e,height:t}=o,r=new Uint8Array(e*t*3);for(let n=0,i=0;n<o.length;n+=3,i+=3){const l=o[n+0],a=o[n+1]<<24>>24,f=o[n+2]<<24>>24;let u=(l+16)/116,p=a/500+u,h=u-f/200,g,y,w;p=vr*(p*p*p>.008856?p*p*p:(p-16/116)/7.787),u=Sr*(u*u*u>.008856?u*u*u:(u-16/116)/7.787),h=Vr*(h*h*h>.008856?h*h*h:(h-16/116)/7.787),g=p*3.2406+u*-1.5372+h*-.4986,y=p*-.9689+u*1.8758+h*.0415,w=p*.0557+u*-.204+h*1.057,g=g>.0031308?1.055*Q(g,1/2.4)-.055:12.92*g,y=y>.0031308?1.055*Q(y,1/2.4)-.055:12.92*y,w=w>.0031308?1.055*Q(w,1/2.4)-.055:12.92*w,r[i]=Math.max(0,Math.min(1,g))*255,r[i+1]=Math.max(0,Math.min(1,y))*255,r[i+2]=Math.max(0,Math.min(1,w))*255}return r}const Wt=new Map;function le(o,e){Array.isArray(o)||(o=[o]),o.forEach(t=>Wt.set(t,e))}function Ar(o){return _(this,null,function*(){const e=Wt.get(o.Compression);if(!e)throw new Error(`Unknown compression method identifier: ${o.Compression}`);const t=yield e();return new t(o)})}le([void 0,1],()=>Promise.resolve().then(()=>require("./raw-B_Sr9gDq.cjs")).then(o=>o.default));le(5,()=>Promise.resolve().then(()=>require("./lzw-DA3XeqBg.cjs")).then(o=>o.default));le(6,()=>{throw new Error("old style JPEG compression is not supported.")});le(7,()=>Promise.resolve().then(()=>require("./jpeg-DLeEjPcb.cjs")).then(o=>o.default));le([8,32946],()=>Promise.resolve().then(()=>require("./deflate-De_6nNhk.cjs")).then(o=>o.default));le(32773,()=>Promise.resolve().then(()=>require("./packbits-fIig5HbM.cjs")).then(o=>o.default));le(34887,()=>Promise.resolve().then(()=>require("./lerc-BHcVhBOn.cjs")).then(o=>_(null,null,function*(){return yield o.zstd.init(),o})).then(o=>o.default));le(50001,()=>Promise.resolve().then(()=>require("./webimage-DQl5wElJ.cjs")).then(o=>o.default));function ze(o,e,t,r=1){return new(Object.getPrototypeOf(o)).constructor(e*t*r)}function Cr(o,e,t,r,n){const i=e/r,l=t/n;return o.map(a=>{const f=ze(a,r,n);for(let u=0;u<n;++u){const p=Math.min(Math.round(l*u),t-1);for(let h=0;h<r;++h){const g=Math.min(Math.round(i*h),e-1),y=a[p*e+g];f[u*r+h]=y}}return f})}function we(o,e,t){return(1-t)*o+t*e}function Tr(o,e,t,r,n){const i=e/r,l=t/n;return o.map(a=>{const f=ze(a,r,n);for(let u=0;u<n;++u){const p=l*u,h=Math.floor(p),g=Math.min(Math.ceil(p),t-1);for(let y=0;y<r;++y){const w=i*y,V=w%1,v=Math.floor(w),C=Math.min(Math.ceil(w),e-1),M=a[h*e+v],D=a[h*e+C],E=a[g*e+v],R=a[g*e+C],m=we(we(M,D,V),we(E,R,V),p%1);f[u*r+y]=m}}return f})}function Fr(o,e,t,r,n,i="nearest"){switch(i.toLowerCase()){case"nearest":return Cr(o,e,t,r,n);case"bilinear":case"linear":return Tr(o,e,t,r,n);default:throw new Error(`Unsupported resampling method: '${i}'`)}}function Er(o,e,t,r,n,i){const l=e/r,a=t/n,f=ze(o,r,n,i);for(let u=0;u<n;++u){const p=Math.min(Math.round(a*u),t-1);for(let h=0;h<r;++h){const g=Math.min(Math.round(l*h),e-1);for(let y=0;y<i;++y){const w=o[p*e*i+g*i+y];f[u*r*i+h*i+y]=w}}}return f}function Dr(o,e,t,r,n,i){const l=e/r,a=t/n,f=ze(o,r,n,i);for(let u=0;u<n;++u){const p=a*u,h=Math.floor(p),g=Math.min(Math.ceil(p),t-1);for(let y=0;y<r;++y){const w=l*y,V=w%1,v=Math.floor(w),C=Math.min(Math.ceil(w),e-1);for(let M=0;M<i;++M){const D=o[h*e*i+v*i+M],E=o[h*e*i+C*i+M],R=o[g*e*i+v*i+M],m=o[g*e*i+C*i+M],k=we(we(D,E,V),we(R,m,V),p%1);f[u*r*i+y*i+M]=k}}}return f}function Lr(o,e,t,r,n,i,l="nearest"){switch(l.toLowerCase()){case"nearest":return Er(o,e,t,r,n,i);case"bilinear":case"linear":return Dr(o,e,t,r,n,i);default:throw new Error(`Unsupported resampling method: '${l}'`)}}function Ir(o,e,t){let r=0;for(let n=e;n<t;++n)r+=o[n];return r}function tt(o,e,t){switch(o){case 1:if(e<=8)return new Uint8Array(t);if(e<=16)return new Uint16Array(t);if(e<=32)return new Uint32Array(t);break;case 2:if(e===8)return new Int8Array(t);if(e===16)return new Int16Array(t);if(e===32)return new Int32Array(t);break;case 3:switch(e){case 16:case 32:return new Float32Array(t);case 64:return new Float64Array(t)}break}throw Error("Unsupported data format/bitsPerSample")}function Nr(o,e){return(o===1||o===2)&&e<=32&&e%8===0?!1:!(o===3&&(e===16||e===32||e===64))}function Pr(o,e,t,r,n,i,l){const a=new DataView(o),f=t===2?l*i:l*i*r,u=t===2?1:r,p=tt(e,n,f),h=parseInt("1".repeat(n),2);if(e===1){let g;t===1?g=r*n:g=n;let y=i*g;(y&7)!==0&&(y=y+7&-8);for(let w=0;w<l;++w){const V=w*y;for(let v=0;v<i;++v){const C=V+v*u*n;for(let M=0;M<u;++M){const D=C+M*n,E=(w*i+v)*u+M,R=Math.floor(D/8),m=D%8;if(m+n<=8)p[E]=a.getUint8(R)>>8-n-m&h;else if(m+n<=16)p[E]=a.getUint16(R)>>16-n-m&h;else if(m+n<=24){const k=a.getUint16(R)<<8|a.getUint8(R+2);p[E]=k>>24-n-m&h}else p[E]=a.getUint32(R)>>32-n-m&h}}}}return p.buffer}class Ur{constructor(e,t,r,n,i,l){this.fileDirectory=e,this.geoKeys=t,this.dataView=r,this.littleEndian=n,this.tiles=i?{}:null,this.isTiled=!e.StripOffsets;const a=e.PlanarConfiguration;if(this.planarConfiguration=typeof a=="undefined"?1:a,this.planarConfiguration!==1&&this.planarConfiguration!==2)throw new Error("Invalid planar configuration.");this.source=l}getFileDirectory(){return this.fileDirectory}getGeoKeys(){return this.geoKeys}getWidth(){return this.fileDirectory.ImageWidth}getHeight(){return this.fileDirectory.ImageLength}getSamplesPerPixel(){return typeof this.fileDirectory.SamplesPerPixel!="undefined"?this.fileDirectory.SamplesPerPixel:1}getTileWidth(){return this.isTiled?this.fileDirectory.TileWidth:this.getWidth()}getTileHeight(){return this.isTiled?this.fileDirectory.TileLength:typeof this.fileDirectory.RowsPerStrip!="undefined"?Math.min(this.fileDirectory.RowsPerStrip,this.getHeight()):this.getHeight()}getBlockWidth(){return this.getTileWidth()}getBlockHeight(e){return this.isTiled||(e+1)*this.getTileHeight()<=this.getHeight()?this.getTileHeight():this.getHeight()-e*this.getTileHeight()}getBytesPerPixel(){let e=0;for(let t=0;t<this.fileDirectory.BitsPerSample.length;++t)e+=this.getSampleByteSize(t);return e}getSampleByteSize(e){if(e>=this.fileDirectory.BitsPerSample.length)throw new RangeError(`Sample index ${e} is out of range.`);return Math.ceil(this.fileDirectory.BitsPerSample[e]/8)}getReaderForSample(e){const t=this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1,r=this.fileDirectory.BitsPerSample[e];switch(t){case 1:if(r<=8)return DataView.prototype.getUint8;if(r<=16)return DataView.prototype.getUint16;if(r<=32)return DataView.prototype.getUint32;break;case 2:if(r<=8)return DataView.prototype.getInt8;if(r<=16)return DataView.prototype.getInt16;if(r<=32)return DataView.prototype.getInt32;break;case 3:switch(r){case 16:return function(n,i){return Zt(this,n,i)};case 32:return DataView.prototype.getFloat32;case 64:return DataView.prototype.getFloat64}break}throw Error("Unsupported data format/bitsPerSample")}getSampleFormat(e=0){return this.fileDirectory.SampleFormat?this.fileDirectory.SampleFormat[e]:1}getBitsPerSample(e=0){return this.fileDirectory.BitsPerSample[e]}getArrayForSample(e,t){const r=this.getSampleFormat(e),n=this.getBitsPerSample(e);return tt(r,n,t)}getTileOrStrip(e,t,r,n,i){return _(this,null,function*(){const l=Math.ceil(this.getWidth()/this.getTileWidth()),a=Math.ceil(this.getHeight()/this.getTileHeight());let f;const{tiles:u}=this;this.planarConfiguration===1?f=t*l+e:this.planarConfiguration===2&&(f=r*l*a+t*l+e);let p,h;this.isTiled?(p=this.fileDirectory.TileOffsets[f],h=this.fileDirectory.TileByteCounts[f]):(p=this.fileDirectory.StripOffsets[f],h=this.fileDirectory.StripByteCounts[f]);const g=(yield this.source.fetch([{offset:p,length:h}],i))[0];let y;return u===null||!u[f]?(y=_(this,null,function*(){let w=yield n.decode(this.fileDirectory,g);const V=this.getSampleFormat(),v=this.getBitsPerSample();return Nr(V,v)&&(w=Pr(w,V,this.planarConfiguration,this.getSamplesPerPixel(),v,this.getTileWidth(),this.getBlockHeight(t))),w}),u!==null&&(u[f]=y)):y=u[f],{x:e,y:t,sample:r,data:yield y}})}_readRaster(e,t,r,n,i,l,a,f,u){return _(this,null,function*(){const p=this.getTileWidth(),h=this.getTileHeight(),g=this.getWidth(),y=this.getHeight(),w=Math.max(Math.floor(e[0]/p),0),V=Math.min(Math.ceil(e[2]/p),Math.ceil(g/p)),v=Math.max(Math.floor(e[1]/h),0),C=Math.min(Math.ceil(e[3]/h),Math.ceil(y/h)),M=e[2]-e[0];let D=this.getBytesPerPixel();const E=[],R=[];for(let O=0;O<t.length;++O)this.planarConfiguration===1?E.push(Ir(this.fileDirectory.BitsPerSample,0,t[O])/8):E.push(0),R.push(this.getReaderForSample(t[O]));const m=[],{littleEndian:k}=this;for(let O=v;O<C;++O)for(let se=w;se<V;++se){let ae;this.planarConfiguration===1&&(ae=this.getTileOrStrip(se,O,0,i,u));for(let z=0;z<t.length;++z){const U=z,$=t[z];this.planarConfiguration===2&&(D=this.getSampleByteSize($),ae=this.getTileOrStrip(se,O,$,i,u));const oe=ae.then(ce=>{const Ye=ce.data,Ie=new DataView(Ye),ve=this.getBlockHeight(ce.y),ue=ce.y*h,he=ce.x*p,Se=ue+ve,Ke=(ce.x+1)*p,me=R[U],Ne=Math.min(ve,ve-(Se-e[3]),y-ue),$e=Math.min(p,p-(Ke-e[2]),g-he);for(let fe=Math.max(0,e[1]-ue);fe<Ne;++fe)for(let de=Math.max(0,e[0]-he);de<$e;++de){const Xe=(fe*p+de)*D,Ve=me.call(Ie,Xe+E[U],k);let ge;n?(ge=(fe+ue-e[1])*M*t.length+(de+he-e[0])*t.length+U,r[ge]=Ve):(ge=(fe+ue-e[1])*M+de+he-e[0],r[U][ge]=Ve)}});m.push(oe)}}if(yield Promise.all(m),l&&e[2]-e[0]!==l||a&&e[3]-e[1]!==a){let O;return n?O=Lr(r,e[2]-e[0],e[3]-e[1],l,a,t.length,f):O=Fr(r,e[2]-e[0],e[3]-e[1],l,a,f),O.width=l,O.height=a,O}return r.width=l||e[2]-e[0],r.height=a||e[3]-e[1],r})}readRasters(){return _(this,arguments,function*({window:e,samples:t=[],interleave:r,pool:n=null,width:i,height:l,resampleMethod:a,fillValue:f,signal:u}={}){const p=e||[0,0,this.getWidth(),this.getHeight()];if(p[0]>p[2]||p[1]>p[3])throw new Error("Invalid subsets");const h=p[2]-p[0],g=p[3]-p[1],y=h*g,w=this.getSamplesPerPixel();if(!t||!t.length)for(let M=0;M<w;++M)t.push(M);else for(let M=0;M<t.length;++M)if(t[M]>=w)return Promise.reject(new RangeError(`Invalid sample index '${t[M]}'.`));let V;if(r){const M=this.fileDirectory.SampleFormat?Math.max.apply(null,this.fileDirectory.SampleFormat):1,D=Math.max.apply(null,this.fileDirectory.BitsPerSample);V=tt(M,D,y*t.length),f&&V.fill(f)}else{V=[];for(let M=0;M<t.length;++M){const D=this.getArrayForSample(t[M],y);Array.isArray(f)&&M<f.length?D.fill(f[M]):f&&!Array.isArray(f)&&D.fill(f),V.push(D)}}const v=n||(yield Ar(this.fileDirectory));return yield this._readRaster(p,t,V,r,v,i,l,a,u)})}readRGB(){return _(this,arguments,function*({window:e,interleave:t=!0,pool:r=null,width:n,height:i,resampleMethod:l,enableAlpha:a=!1,signal:f}={}){const u=e||[0,0,this.getWidth(),this.getHeight()];if(u[0]>u[2]||u[1]>u[3])throw new Error("Invalid subsets");const p=this.fileDirectory.PhotometricInterpretation;if(p===H.RGB){let C=[0,1,2];if(this.fileDirectory.ExtraSamples!==dr.Unspecified&&a){C=[];for(let M=0;M<this.fileDirectory.BitsPerSample.length;M+=1)C.push(M)}return this.readRasters({window:e,interleave:t,samples:C,pool:r,width:n,height:i,resampleMethod:l,signal:f})}let h;switch(p){case H.WhiteIsZero:case H.BlackIsZero:case H.Palette:h=[0];break;case H.CMYK:h=[0,1,2,3];break;case H.YCbCr:case H.CIELab:h=[0,1,2];break;default:throw new Error("Invalid or unsupported photometric interpretation.")}const g={window:u,interleave:!0,samples:h,pool:r,width:n,height:i,resampleMethod:l,signal:f},{fileDirectory:y}=this,w=yield this.readRasters(g),V=Q(2,this.fileDirectory.BitsPerSample[0]);let v;switch(p){case H.WhiteIsZero:v=pr(w,V);break;case H.BlackIsZero:v=yr(w,V);break;case H.Palette:v=wr(w,y.ColorMap);break;case H.CMYK:v=xr(w);break;case H.YCbCr:v=br(w);break;case H.CIELab:v=Mr(w);break;default:throw new Error("Unsupported photometric interpretation.")}if(!t){const C=new Uint8Array(v.length/3),M=new Uint8Array(v.length/3),D=new Uint8Array(v.length/3);for(let E=0,R=0;E<v.length;E+=3,++R)C[R]=v[E],M[R]=v[E+1],D[R]=v[E+2];v=[C,M,D]}return v.width=w.width,v.height=w.height,v})}getTiePoints(){if(!this.fileDirectory.ModelTiepoint)return[];const e=[];for(let t=0;t<this.fileDirectory.ModelTiepoint.length;t+=6)e.push({i:this.fileDirectory.ModelTiepoint[t],j:this.fileDirectory.ModelTiepoint[t+1],k:this.fileDirectory.ModelTiepoint[t+2],x:this.fileDirectory.ModelTiepoint[t+3],y:this.fileDirectory.ModelTiepoint[t+4],z:this.fileDirectory.ModelTiepoint[t+5]});return e}getGDALMetadata(e=null){const t={};if(!this.fileDirectory.GDAL_METADATA)return null;const r=this.fileDirectory.GDAL_METADATA;let n=ur(r,"Item");e===null?n=n.filter(i=>Qe(i,"sample")===void 0):n=n.filter(i=>Number(Qe(i,"sample"))===e);for(let i=0;i<n.length;++i){const l=n[i];t[Qe(l,"name")]=l.inner}return t}getGDALNoData(){if(!this.fileDirectory.GDAL_NODATA)return null;const e=this.fileDirectory.GDAL_NODATA;return Number(e.substring(0,e.length-1))}getOrigin(){const e=this.fileDirectory.ModelTiepoint,t=this.fileDirectory.ModelTransformation;if(e&&e.length===6)return[e[3],e[4],e[5]];if(t)return[t[3],t[7],t[11]];throw new Error("The image does not have an affine transformation.")}getResolution(e=null){const t=this.fileDirectory.ModelPixelScale,r=this.fileDirectory.ModelTransformation;if(t)return[t[0],-t[1],t[2]];if(r)return r[1]===0&&r[4]===0?[r[0],-r[5],r[10]]:[Math.sqrt(r[0]*r[0]+r[4]*r[4]),-Math.sqrt(r[1]*r[1]+r[5]*r[5]),r[10]];if(e){const[n,i,l]=e.getResolution();return[n*e.getWidth()/this.getWidth(),i*e.getHeight()/this.getHeight(),l*e.getWidth()/this.getWidth()]}throw new Error("The image does not have an affine transformation.")}pixelIsArea(){return this.geoKeys.GTRasterTypeGeoKey===1}getBoundingBox(e=!1){const t=this.getHeight(),r=this.getWidth();if(this.fileDirectory.ModelTransformation&&!e){const[n,i,l,a,f,u,p,h]=this.fileDirectory.ModelTransformation,y=[[0,0],[0,t],[r,0],[r,t]].map(([v,C])=>[a+n*v+i*C,h+f*v+u*C]),w=y.map(v=>v[0]),V=y.map(v=>v[1]);return[Math.min(...w),Math.min(...V),Math.max(...w),Math.max(...V)]}else{const n=this.getOrigin(),i=this.getResolution(),l=n[0],a=n[1],f=l+i[0]*r,u=a+i[1]*t;return[Math.min(l,f),Math.min(a,u),Math.max(l,f),Math.max(a,u)]}}}class Rr{constructor(e){this._dataView=new DataView(e)}get buffer(){return this._dataView.buffer}getUint64(e,t){const r=this.getUint32(e,t),n=this.getUint32(e+4,t);let i;if(t){if(i=r+Q(2,32)*n,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}if(i=Q(2,32)*r+n,!Number.isSafeInteger(i))throw new Error(`${i} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return i}getInt64(e,t){let r=0;const n=(this._dataView.getUint8(e+(t?7:0))&128)>0;let i=!0;for(let l=0;l<8;l++){let a=this._dataView.getUint8(e+(t?l:7-l));n&&(i?a!==0&&(a=~(a-1)&255,i=!1):a=~a&255),r+=a*Q(256,l)}return n&&(r=-r),r}getUint8(e,t){return this._dataView.getUint8(e,t)}getInt8(e,t){return this._dataView.getInt8(e,t)}getUint16(e,t){return this._dataView.getUint16(e,t)}getInt16(e,t){return this._dataView.getInt16(e,t)}getUint32(e,t){return this._dataView.getUint32(e,t)}getInt32(e,t){return this._dataView.getInt32(e,t)}getFloat16(e,t){return Zt(this._dataView,e,t)}getFloat32(e,t){return this._dataView.getFloat32(e,t)}getFloat64(e,t){return this._dataView.getFloat64(e,t)}}class kr{constructor(e,t,r,n){this._dataView=new DataView(e),this._sliceOffset=t,this._littleEndian=r,this._bigTiff=n}get sliceOffset(){return this._sliceOffset}get sliceTop(){return this._sliceOffset+this.buffer.byteLength}get littleEndian(){return this._littleEndian}get bigTiff(){return this._bigTiff}get buffer(){return this._dataView.buffer}covers(e,t){return this.sliceOffset<=e&&this.sliceTop>=e+t}readUint8(e){return this._dataView.getUint8(e-this._sliceOffset,this._littleEndian)}readInt8(e){return this._dataView.getInt8(e-this._sliceOffset,this._littleEndian)}readUint16(e){return this._dataView.getUint16(e-this._sliceOffset,this._littleEndian)}readInt16(e){return this._dataView.getInt16(e-this._sliceOffset,this._littleEndian)}readUint32(e){return this._dataView.getUint32(e-this._sliceOffset,this._littleEndian)}readInt32(e){return this._dataView.getInt32(e-this._sliceOffset,this._littleEndian)}readFloat32(e){return this._dataView.getFloat32(e-this._sliceOffset,this._littleEndian)}readFloat64(e){return this._dataView.getFloat64(e-this._sliceOffset,this._littleEndian)}readUint64(e){const t=this.readUint32(e),r=this.readUint32(e+4);let n;if(this._littleEndian){if(n=t+Q(2,32)*r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}if(n=Q(2,32)*t+r,!Number.isSafeInteger(n))throw new Error(`${n} exceeds MAX_SAFE_INTEGER. Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues`);return n}readInt64(e){let t=0;const r=(this._dataView.getUint8(e+(this._littleEndian?7:0))&128)>0;let n=!0;for(let i=0;i<8;i++){let l=this._dataView.getUint8(e+(this._littleEndian?i:7-i));r&&(n?l!==0&&(l=~(l-1)&255,n=!1):l=~l&255),t+=l*Q(256,i)}return r&&(t=-t),t}readOffset(e){return this._bigTiff?this.readUint64(e):this.readUint32(e)}}class _r{fetch(e,t=void 0){return _(this,null,function*(){return Promise.all(e.map(r=>this.fetchSlice(r,t)))})}fetchSlice(e){return _(this,null,function*(){throw new Error(`fetching of slice ${e} not possible, not implemented`)})}get fileSize(){return null}close(){return _(this,null,function*(){})}}class ct extends Error{constructor(e){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,ct),this.name="AbortError"}}class Br extends _r{constructor(e){super(),this.arrayBuffer=e}fetchSlice(e,t){if(t&&t.aborted)throw new ct("Request aborted");return this.arrayBuffer.slice(e.offset,e.offset+e.length)}}function Or(o){return new Br(o)}function nt(o){switch(o){case I.BYTE:case I.ASCII:case I.SBYTE:case I.UNDEFINED:return 1;case I.SHORT:case I.SSHORT:return 2;case I.LONG:case I.SLONG:case I.FLOAT:case I.IFD:return 4;case I.RATIONAL:case I.SRATIONAL:case I.DOUBLE:case I.LONG8:case I.SLONG8:case I.IFD8:return 8;default:throw new RangeError(`Invalid field type: ${o}`)}}function Gr(o){const e=o.GeoKeyDirectory;if(!e)return null;const t={};for(let r=4;r<=e[3]*4;r+=4){const n=gr[e[r]],i=e[r+1]?Ee[e[r+1]]:null,l=e[r+2],a=e[r+3];let f=null;if(!i)f=a;else{if(f=o[i],typeof f=="undefined"||f===null)throw new Error(`Could not get value of geoKey '${n}'.`);typeof f=="string"?f=f.substring(a,a+l-1):f.subarray&&(f=f.subarray(a,a+l),l===1&&(f=f[0]))}t[n]=f}return t}function ye(o,e,t,r){let n=null,i=null;const l=nt(e);switch(e){case I.BYTE:case I.ASCII:case I.UNDEFINED:n=new Uint8Array(t),i=o.readUint8;break;case I.SBYTE:n=new Int8Array(t),i=o.readInt8;break;case I.SHORT:n=new Uint16Array(t),i=o.readUint16;break;case I.SSHORT:n=new Int16Array(t),i=o.readInt16;break;case I.LONG:case I.IFD:n=new Uint32Array(t),i=o.readUint32;break;case I.SLONG:n=new Int32Array(t),i=o.readInt32;break;case I.LONG8:case I.IFD8:n=new Array(t),i=o.readUint64;break;case I.SLONG8:n=new Array(t),i=o.readInt64;break;case I.RATIONAL:n=new Uint32Array(t*2),i=o.readUint32;break;case I.SRATIONAL:n=new Int32Array(t*2),i=o.readInt32;break;case I.FLOAT:n=new Float32Array(t),i=o.readFloat32;break;case I.DOUBLE:n=new Float64Array(t),i=o.readFloat64;break;default:throw new RangeError(`Invalid field type: ${e}`)}if(e===I.RATIONAL||e===I.SRATIONAL)for(let a=0;a<t;a+=2)n[a]=i.call(o,r+a*l),n[a+1]=i.call(o,r+(a*l+4));else for(let a=0;a<t;++a)n[a]=i.call(o,r+a*l);return e===I.ASCII?new TextDecoder("utf-8").decode(n):n}class jr{constructor(e,t,r){this.fileDirectory=e,this.geoKeyDirectory=t,this.nextIFDByteOffset=r}}class je extends Error{constructor(e){super(`No image at index ${e}`),this.index=e}}class zr{readRasters(){return _(this,arguments,function*(e={}){const{window:t,width:r,height:n}=e;let{resX:i,resY:l,bbox:a}=e;const f=yield this.getImage();let u=f;const p=yield this.getImageCount(),h=f.getBoundingBox();if(t&&a)throw new Error('Both "bbox" and "window" passed.');if(r||n){if(t){const[w,V]=f.getOrigin(),[v,C]=f.getResolution();a=[w+t[0]*v,V+t[1]*C,w+t[2]*v,V+t[3]*C]}const y=a||h;if(r){if(i)throw new Error("Both width and resX passed");i=(y[2]-y[0])/r}if(n){if(l)throw new Error("Both width and resY passed");l=(y[3]-y[1])/n}}if(i||l){const y=[];for(let w=0;w<p;++w){const V=yield this.getImage(w),{SubfileType:v,NewSubfileType:C}=V.fileDirectory;(w===0||v===2||C&1)&&y.push(V)}y.sort((w,V)=>w.getWidth()-V.getWidth());for(let w=0;w<y.length;++w){const V=y[w],v=(h[2]-h[0])/V.getWidth(),C=(h[3]-h[1])/V.getHeight();if(u=V,i&&i>v||l&&l>C)break}}let g=t;if(a){const[y,w]=f.getOrigin(),[V,v]=u.getResolution(f);g=[Math.round((a[0]-y)/V),Math.round((a[1]-w)/v),Math.round((a[2]-y)/V),Math.round((a[3]-w)/v)],g=[Math.min(g[0],g[2]),Math.min(g[1],g[3]),Math.max(g[0],g[2]),Math.max(g[1],g[3])]}return u.readRasters(We(Ze({},e),{window:g}))})}}class ut extends zr{constructor(e,t,r,n,i={}){super(),this.source=e,this.littleEndian=t,this.bigTiff=r,this.firstIFDOffset=n,this.cache=i.cache||!1,this.ifdRequests=[],this.ghostValues=null}getSlice(e,t){return _(this,null,function*(){const r=this.bigTiff?4048:1024;return new kr((yield this.source.fetch([{offset:e,length:typeof t!="undefined"?t:r}]))[0],e,this.littleEndian,this.bigTiff)})}parseFileDirectoryAt(e){return _(this,null,function*(){const t=this.bigTiff?20:12,r=this.bigTiff?8:2;let n=yield this.getSlice(e);const i=this.bigTiff?n.readUint64(e):n.readUint16(e),l=i*t+(this.bigTiff?16:6);n.covers(e,l)||(n=yield this.getSlice(e,l));const a={};let f=e+(this.bigTiff?8:2);for(let h=0;h<i;f+=t,++h){const g=n.readUint16(f),y=n.readUint16(f+2),w=this.bigTiff?n.readUint64(f+4):n.readUint32(f+4);let V,v;const C=nt(y),M=f+(this.bigTiff?12:8);if(C*w<=(this.bigTiff?8:4))V=ye(n,y,w,M);else{const D=n.readOffset(M),E=nt(y)*w;if(n.covers(D,E))V=ye(n,y,w,D);else{const R=yield this.getSlice(D,E);V=ye(R,y,w,D)}}w===1&&fr.indexOf(g)===-1&&!(y===I.RATIONAL||y===I.SRATIONAL)?v=V[0]:v=V,a[Ee[g]]=v}const u=Gr(a),p=n.readOffset(e+r+t*i);return new jr(a,u,p)})}requestIFD(e){return _(this,null,function*(){if(this.ifdRequests[e])return this.ifdRequests[e];if(e===0)return this.ifdRequests[e]=this.parseFileDirectoryAt(this.firstIFDOffset),this.ifdRequests[e];if(!this.ifdRequests[e-1])try{this.ifdRequests[e-1]=this.requestIFD(e-1)}catch(t){throw t instanceof je?new je(e):t}return this.ifdRequests[e]=_(this,null,function*(){const t=yield this.ifdRequests[e-1];if(t.nextIFDByteOffset===0)throw new je(e);return this.parseFileDirectoryAt(t.nextIFDByteOffset)}),this.ifdRequests[e]})}getImage(e=0){return _(this,null,function*(){const t=yield this.requestIFD(e);return new Ur(t.fileDirectory,t.geoKeyDirectory,this.dataView,this.littleEndian,this.cache,this.source)})}getImageCount(){return _(this,null,function*(){let e=0,t=!0;for(;t;)try{yield this.requestIFD(e),++e}catch(r){if(r instanceof je)t=!1;else throw r}return e})}getGhostValues(){return _(this,null,function*(){const e=this.bigTiff?16:8;if(this.ghostValues)return this.ghostValues;const t="GDAL_STRUCTURAL_METADATA_SIZE=",r=t.length+100;let n=yield this.getSlice(e,r);if(t===ye(n,I.ASCII,t.length,e)){const l=ye(n,I.ASCII,r,e).split(`
|
|
8
8
|
`)[0],a=Number(l.split("=")[1].split(" ")[0])+l.length;a>r&&(n=yield this.getSlice(e,a));const f=ye(n,I.ASCII,a,e);this.ghostValues={},f.split(`
|
|
9
9
|
`).filter(u=>u.length>0).map(u=>u.split("=")).forEach(([u,p])=>{this.ghostValues[u]=p})}return this.ghostValues})}static fromSource(e,t,r){return _(this,null,function*(){const n=(yield e.fetch([{offset:0,length:1024}],r))[0],i=new Rr(n),l=i.getUint16(0,0);let a;if(l===18761)a=!0;else if(l===19789)a=!1;else throw new TypeError("Invalid byte order value.");const f=i.getUint16(2,a);let u;if(f===42)u=!1;else if(f===43){if(u=!0,i.getUint16(4,a)!==8)throw new Error("Unsupported offset byte-size.")}else throw new TypeError("Invalid magic number.");const p=u?i.getUint64(8,a):i.getUint32(4,a);return new ut(e,a,u,p,t)})}close(){return typeof this.source.close=="function"?this.source.close():!1}}function Yr(o,e){return _(this,null,function*(){return ut.fromSource(Or(o),e)})}class Kr{constructor(e){this.scene=null,this.camera=null,this.renderer=null,this.controls=null,this.animationId=null,this.container=null,this.resizeHandler=null,this.dblClickHandler=null,this.animate=()=>{this.animationId=requestAnimationFrame(this.animate),this.controls&&this.controls.update(),this.renderer&&this.scene&&this.camera&&this.renderer.render(this.scene,this.camera)},this.container=e,this.init()}init(){if(!this.container)return;this.dispose();const e=this.container.clientWidth,t=this.container.clientHeight;this.scene=new T.Scene,this.scene.background=new T.Color(16777215),this.camera=new T.PerspectiveCamera(75,e/t,.1,1e4),this.camera.position.z=5,this.renderer=new T.WebGLRenderer({antialias:!0,alpha:!0}),this.renderer.setSize(e,t),this.renderer.setPixelRatio(window.devicePixelRatio),this.container.appendChild(this.renderer.domElement),this.controls=new An.OrbitControls(this.camera,this.renderer.domElement),this.controls.enableDamping=!0,this.controls.dampingFactor=.08,this.controls.screenSpacePanning=!0,this.controls.enablePan=!0,this.controls.minDistance=1,this.controls.maxDistance=5e3,this.controls.target.set(0,0,0),this.controls.update(),this.dblClickHandler=i=>{this.container&&this.container.contains(i.target)&&this.resetView()},this.container.addEventListener("dblclick",this.dblClickHandler);const r=new T.AmbientLight(16777215,.6);this.scene.add(r);const n=new T.DirectionalLight(16777215,.8);n.position.set(5,10,5),this.scene.add(n),this.resizeHandler=()=>this.onWindowResize(),window.addEventListener("resize",this.resizeHandler),this.animate()}onWindowResize(){if(!this.container||!this.camera||!this.renderer)return;const e=this.container.clientWidth,t=this.container.clientHeight;this.camera.aspect=e/t,this.camera.updateProjectionMatrix(),this.renderer.setSize(e,t)}resetView(){!this.camera||!this.controls||(this.camera.position.set(0,0,5),this.controls.target.set(0,0,0),this.camera.lookAt(0,0,0),this.controls.update())}fitCameraToObject(e){if(!this.camera||!this.controls)return;const t=new T.Box3().setFromObject(e),r=t.getSize(new T.Vector3),n=t.getCenter(new T.Vector3),i=Math.max(r.x,r.y,r.z)||1,l=this.camera.fov*(Math.PI/180),a=i/2/Math.tan(l/2)*1.6;this.camera.position.set(n.x,n.y,n.z+a),this.camera.near=Math.max(.1,a/1e3),this.camera.far=Math.max(1e4,a*10),this.camera.updateProjectionMatrix(),this.controls.target.copy(n),this.controls.update()}loadGeologyModel(e){return _(this,null,function*(){if(!this.scene||!e)return;e.toLowerCase().endsWith(".glb")||e.toLowerCase().endsWith(".gltf")?new Mn.GLTFLoader().load(e,n=>{this.scene.add(n.scene);const l=new T.Box3().setFromObject(n.scene).getSize(new T.Vector3),f=4/(Math.max(l.x,l.y,l.z)||1);n.scene.scale.multiplyScalar(f),this.fitCameraToObject(n.scene)},void 0,n=>{console.error("Failed to load GLTF model:",n)}):new In().load(e,n=>{this.scene.add(n);const l=new T.Box3().setFromObject(n).getSize(new T.Vector3),f=4/(Math.max(l.x,l.y,l.z)||1);n.scale.multiplyScalar(f),this.fitCameraToObject(n)},void 0,n=>{console.error("Failed to load OBJ model:",n)})})}loadDTMTerrain(e){return _(this,null,function*(){if(!(!this.scene||!e))try{const r=yield(yield fetch(e)).arrayBuffer(),i=yield(yield Yr(r)).getImage(),l=yield i.readRasters(),a=i.getWidth(),f=i.getHeight(),u=l[0],p=Math.max(1,Math.floor(Math.max(a,f)/100)),h=new T.BufferGeometry,g=[],y=[];let w=0;for(let C=0;C<u.length;C+=p)w=Math.max(w,u[C]);for(let C=0;C<f;C+=p)for(let M=0;M<a;M+=p){const D=C*a+M,E=(u[D]||0)/w*3-1.5;g.push(M/a*4-2,E,C/f*4-2);const R=u[D]/w,m=new T.Color().setHSL(.6-R*.6,1,.5);y.push(m.r,m.g,m.b)}h.setAttribute("position",new T.BufferAttribute(new Float32Array(g),3)),h.setAttribute("color",new T.BufferAttribute(new Float32Array(y),3)),h.computeVertexNormals();const V=new T.MeshPhongMaterial({vertexColors:!0,side:T.DoubleSide}),v=new T.Mesh(h,V);this.scene.add(v),this.fitCameraToObject(v)}catch(t){console.error("Failed to load DTM TIFF:",t)}})}loadUAVImage(e){return _(this,null,function*(){if(!this.scene||!e)return;new T.TextureLoader().load(e,r=>{const n=r.image.width/r.image.height,i=new T.PlaneGeometry(4*n,4),l=new T.MeshBasicMaterial({map:r}),a=new T.Mesh(i,l);this.scene.add(a),this.fitCameraToObject(a)},void 0,r=>{console.error("Failed to load UAV image:",r)})})}clearScene(){if(!this.scene)return;for(;this.scene.children.length>0;){const r=this.scene.children[0];r instanceof T.Mesh&&(r.geometry.dispose(),Array.isArray(r.material)?r.material.forEach(n=>n.dispose()):r.material.dispose()),this.scene.remove(r)}const e=new T.AmbientLight(16777215,.6);this.scene.add(e);const t=new T.DirectionalLight(16777215,.8);t.position.set(5,10,5),this.scene.add(t)}dispose(){this.animationId&&cancelAnimationFrame(this.animationId),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.container&&this.dblClickHandler&&(this.container.removeEventListener("dblclick",this.dblClickHandler),this.dblClickHandler=null),this.controls&&(this.controls.dispose(),this.controls=null),this.renderer&&this.container&&this.renderer.domElement.parentNode===this.container&&this.container.removeChild(this.renderer.domElement),this.renderer&&this.renderer.dispose(),this.scene=null,this.camera=null,this.renderer=null,this.animationId=null}}const $r={class:"filter-tabs"},Xr={class:"toolbar-right"},qr={key:0,class:"pick-hint-bar"},Hr={class:"map-model-overlay"},Zr={key:0,class:"map-mode-edit-tip"},Wr=["viewBox"],Jr=["d","stroke"],Qr=["x1","y1","x2","y2"],ei=["onClick","onMouseenter"],ti={class:"point-bubble"},ni={class:"point-id"},ri=["innerHTML"],ii={class:"drawer-cards"},oi=["onClick"],si={class:"card-icon"},ai={class:"card-label"},li={class:"profile-dialog-header"},ci={class:"profile-header-btns"},ui={DEFAULT_ICON:Tt.DEFAULT_ICON,ACTIVE_ICON:Tt.ACTIVE_ICON,NAME_CN:"GNSS地图监测视图",NAME_EN:"GNSS Map Monitor View",ORDER:10,PLATFORM:["pc","screen"]},fi={bgColor:{value:"#0b1a31",type:"color",label:"setting.bgColor"},toolbarBg:{value:"#ffffff",type:"color",label:"工具栏背景色"},toolbarFontSize:{value:12,type:"number",label:"工具栏字体大小",min:10,max:20},geologyMapUrl:{value:"",type:"string",label:"地质模型地图URL"},dtmMapUrl:{value:"",type:"string",label:"DTM面地图URL"},uavMapUrl:{value:"",type:"string",label:"无人机地图URL"},satelliteMapUrl:{value:"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",type:"string",label:"Esri卫星影像URL"},mapCenterLon:{value:119.40331,type:"number",label:"地图中心经度",min:-180,max:180},mapCenterLat:{value:45.369465,type:"number",label:"地图中心纬度",min:-90,max:90},mapZoomLevel:{value:10,type:"number",label:"地图缩放级别",min:1,max:18},mapElevation:{value:1e3,type:"number",label:"参考高程(m)"},pointCount:{value:80,type:"number",label:"模拟监测点数量",min:20,max:200},linkChannel:{value:"gnss",type:"select",label:"联动频道",options:[{label:"GNSS监测",value:"gnss"},{label:"边坡监测",value:"slope"},{label:"自定义",value:"custom"}]},customChannel:{value:"",type:"string",label:"自定义频道名",showWhen:{linkChannel:"custom"}}},di=[{name:"GNSS001",object_id:"",fvDeviceName:"",deviceType:"GNSS",x:1e3,y:400,elevation:"",region:"北帮",lineName:"北帮线",row1Label:"累计位移",row1FV:"",row1Unit:"mm",row2Label:"当前速度",row2FV:"",row2Unit:"mm/h",row3Label:"X/Y/H变化",row3FV:"",row3Unit:"mm",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"GNSS002",object_id:"",fvDeviceName:"",deviceType:"GNSS",x:1300,y:400,elevation:"",region:"北帮",lineName:"北帮线",row1Label:"累计位移",row1FV:"",row1Unit:"mm",row2Label:"当前速度",row2FV:"",row2Unit:"mm/h",row3Label:"X/Y/H变化",row3FV:"",row3Unit:"mm",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"GNSS003",object_id:"",fvDeviceName:"",deviceType:"GNSS",x:1600,y:400,elevation:"",region:"北帮",lineName:"北帮线",row1Label:"累计位移",row1FV:"",row1Unit:"mm",row2Label:"当前速度",row2FV:"",row2Unit:"mm/h",row3Label:"X/Y/H变化",row3FV:"",row3Unit:"mm",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"DEEP001",object_id:"",fvDeviceName:"",deviceType:"深部位移",x:500,y:1200,elevation:"",region:"西帮",lineName:"",row1Label:"深层位移",row1FV:"",row1Unit:"mm",row2Label:"测斜深度",row2FV:"",row2Unit:"m",row3Label:"",row3FV:"",row3Unit:"",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"RADAR001",object_id:"",fvDeviceName:"",deviceType:"雷达",x:2500,y:1e3,elevation:"",region:"东帮",lineName:"",row1Label:"形变量",row1FV:"",row1Unit:"mm",row2Label:"形变速度",row2FV:"",row2Unit:"mm/d",row3Label:"",row3FV:"",row3Unit:"",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"CRACK001",object_id:"",fvDeviceName:"",deviceType:"裂缝",x:1500,y:1250,elevation:"",region:"中央区",lineName:"",row1Label:"裂缝宽度",row1FV:"",row1Unit:"mm",row2Label:"开裂速度",row2FV:"",row2Unit:"mm/d",row3Label:"",row3FV:"",row3Unit:"",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"FIRE001",object_id:"",fvDeviceName:"",deviceType:"煤自燃",x:1200,y:2100,elevation:"",region:"南帮",lineName:"",row1Label:"温度",row1FV:"",row1Unit:"℃",row2Label:"CO浓度",row2FV:"",row2Unit:"ppm",row3Label:"",row3FV:"",row3Unit:"",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""},{name:"WATER001",object_id:"",fvDeviceName:"",deviceType:"降雨",x:1800,y:2100,elevation:"",region:"南帮",lineName:"",row1Label:"降雨量",row1FV:"",row1Unit:"mm",row2Label:"雨强",row2FV:"",row2Unit:"mm/h",row3Label:"",row3FV:"",row3Unit:"",row4Label:"",row4FV:"",row4Unit:"",row5Label:"",row5FV:"",row5Unit:"",arrowXFV:"",arrowYFV:""}],hi=["object_id","name","fvDeviceName","deviceType","x","y","elevation","region","lineName","row1Label","row1FV","row1Unit","row2Label","row2FV","row2Unit","row3Label","row3FV","row3Unit","row4Label","row4FV","row4Unit","row5Label","row5FV","row5Unit","arrowXFV","arrowYFV"],mi=["mosaic"],gi={useAlias:!1,multiObject:!0,source:"mosaic"},pi=200,yi={DEFAULT:ui,OPTIONS:fi,DATA:di,PARAMS:hi,SOURCE:mi,COMMON:gi,ITEMS:pi},wi=s.defineComponent(We(Ze({},yi),{__name:"gnssMapView",props:{conf:{type:Object,default:()=>({})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(o){const e=o,t=3e3,r=2500,n={GNSS:"GNSS",gnss:"GNSS",DEEP:"DEEP",deep:"DEEP",深部位移:"DEEP",RADAR:"RADAR",radar:"RADAR",雷达:"RADAR",SURFACE:"SURFACE",surface:"SURFACE",地表:"SURFACE",CRACK:"CRACK",crack:"CRACK",裂缝:"CRACK",FIRE:"FIRE",fire:"FIRE",煤自燃:"FIRE",WATER:"WATER",water:"WATER",降雨:"WATER",GROUND:"GROUND",ground:"GROUND",地下水:"GROUND",STRESS:"STRESS",stress:"STRESS",应力:"STRESS",VIB:"VIB",vib:"VIB",爆破震动:"VIB",SAT:"SAT",sat:"SAT",遥感卫星:"SAT"},i={GNSS:"📍",DEEP:"⚓",RADAR:"📡",SURFACE:"📐",CRACK:"🧱",FIRE:"🔥",WATER:"💧",GROUND:"🌍",STRESS:"📊",VIB:"💥",SAT:"🛸"},l=[{key:"GNSS",label:"GNSS监测",icon:"📍"},{key:"DEEP",label:"深部位移监测",icon:"⚓"},{key:"RADAR",label:"雷达监测",icon:"📡"},{key:"SURFACE",label:"地质写实",icon:"📐"},{key:"CRACK",label:"裂缝监测",icon:"🧱"},{key:"FIRE",label:"煤自燃监测",icon:"🔥"},{key:"WATER",label:"降雨监测",icon:"💧"},{key:"GROUND",label:"地下水监测",icon:"🌍"},{key:"STRESS",label:"应力监测",icon:"📊"},{key:"VIB",label:"振动监测",icon:"💥"},{key:"SAT",label:"遥感监测",icon:"🛸"}],a=["#F57676","#FFA500","#fadb14","#66B1FF","#71C446"],f=[{name:"北帮",xRange:[800,2200],yRange:[200,600]},{name:"南帮",xRange:[800,2200],yRange:[1900,2300]},{name:"西帮",xRange:[200,700],yRange:[800,1700]},{name:"东帮",xRange:[2300,2800],yRange:[800,1700]},{name:"中央区",xRange:[1100,1900],yRange:[1e3,1500]}],u=["#F57676","#FFA500","#66B1FF","#71C446","#9254de","#13c2c2"];class p extends Vn.BaseComponent{extractStyles(){var A,L,b,F,P,G,N,B,Z,Y,K,q,ee,J,pe,Me,Ae,Ce,Te;const c=(A=this.props.conf)==null?void 0:A.options,x=((L=c==null?void 0:c.linkChannel)==null?void 0:L.value)||"gnss",S=((b=c==null?void 0:c.customChannel)==null?void 0:b.value)||"";return{bgColor:((F=c==null?void 0:c.bgColor)==null?void 0:F.value)||"#0b1a31",toolbarBg:((P=c==null?void 0:c.toolbarBg)==null?void 0:P.value)||"#ffffff",toolbarFontSize:((G=c==null?void 0:c.toolbarFontSize)==null?void 0:G.value)||12,geologyMapUrl:((N=c==null?void 0:c.geologyMapUrl)==null?void 0:N.value)||"",dtmMapUrl:((B=c==null?void 0:c.dtmMapUrl)==null?void 0:B.value)||"",uavMapUrl:((Z=c==null?void 0:c.uavMapUrl)==null?void 0:Z.value)||"",satelliteMapUrl:((Y=c==null?void 0:c.satelliteMapUrl)==null?void 0:Y.value)||"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",mapCenterLon:(q=(K=c==null?void 0:c.mapCenterLon)==null?void 0:K.value)!=null?q:119.40331,mapCenterLat:(J=(ee=c==null?void 0:c.mapCenterLat)==null?void 0:ee.value)!=null?J:45.369465,mapZoomLevel:(Me=(pe=c==null?void 0:c.mapZoomLevel)==null?void 0:pe.value)!=null?Me:10,mapElevation:(Ce=(Ae=c==null?void 0:c.mapElevation)==null?void 0:Ae.value)!=null?Ce:1e3,pointCount:((Te=c==null?void 0:c.pointCount)==null?void 0:Te.value)||80,linkChannel:x==="custom"&&S?S:x}}onLinkEvent(c){ln(c)}setSocketData(c){if(!(c!=null&&c.data))return;const x=c.object_id||"";if(!x)return;const S=E.value.find(F=>F.objectId===x);if(!S)return;const A=c.data,L=F=>{const P=parseFloat(F);return isNaN(P)?String(F):P.toFixed(2)};let b=!1;if(S.fvXCoord&&A[S.fvXCoord]!=null){const F=parseFloat(A[S.fvXCoord]);isNaN(F)||(S.x=F,b=!0)}if(S.fvYCoord&&A[S.fvYCoord]!=null){const F=parseFloat(A[S.fvYCoord]);isNaN(F)||(S.y=F,b=!0)}if(b&&qe(E.value),S.fvDeviceName&&A[S.fvDeviceName]!=null&&(S.liveValues.deviceName=String(A[S.fvDeviceName])),S.fvElevation&&A[S.fvElevation]!=null&&(S.liveValues.elevation=L(A[S.fvElevation])),S.rows.forEach((F,P)=>{if(!F.fv)return;const N=F.fv.split("|").map(B=>B.trim()).map(B=>A[B]!=null?L(A[B]):null).filter(Boolean);N.length&&(S.liveValues[`row_${P}`]=N.join("/"))}),S.arrowXFV&&A[S.arrowXFV]!=null&&(S.liveValues.arrowX=L(A[S.arrowXFV])),S.arrowYFV&&A[S.arrowYFV]!=null&&(S.liveValues.arrowY=L(A[S.arrowYFV])),S.arrowXFV||S.arrowYFV){const F=parseFloat(S.liveValues.arrowX||"0")||0,P=parseFloat(S.liveValues.arrowY||"0")||0;(F!==0||P!==0)&&(S.liveValues.arrowAngle=String(Math.round(Math.atan2(P,F)*180/Math.PI*10)/10))}}}const h=new p(e,"gnssMapView");h.setupLifecycle();const g=h.getStyle(),y=s.ref(null),w=s.ref(null),V=s.ref(null),v=s.ref(null),C=s.ref(!1),M=s.reactive(new Set(l.map(d=>d.key)));let D=null;const E=s.ref([]),R=s.ref([]),m=s.reactive({scale:.4,posX:0,posY:0,displayMode:"geology",selectedRegion:"全部",selectedLine:"全部",selectedPoints:["__ALL__"]});let k=null,O=null;const se=s.ref(!1),ae=s.reactive({x:0,y:0}),z=s.reactive({visible:!1,x:0,y:0,content:""}),U=s.reactive({picking:!1,pickedPoints:[],dialogVisible:!1});let $=null;const oe=s.ref(""),ce={onWheel:d=>{d.preventDefault(),en(d)},onMousedown:d=>tn(d),onMousemove:d=>nn(d),onMouseup:()=>ft(),onMouseleave:()=>ft()},Ye=s.computed(()=>({backgroundColor:g.value.bgColor})),Ie=s.computed(()=>({geology:g.value.geologyMapUrl,dtm:g.value.dtmMapUrl,uav:g.value.uavMapUrl,leaflet:g.value.satelliteMapUrl})[m.displayMode]||""),ve=s.computed(()=>({transform:`translate(${m.posX}px, ${m.posY}px) scale(${m.scale})`,width:t+"px",height:r+"px",backgroundImage:Ie.value?`url(${Ie.value})`:"none"})),ue=s.computed(()=>{const d=new Set;return E.value.forEach(c=>{c.region&&d.add(c.region)}),Array.from(d)}),he=s.computed(()=>R.value.map(d=>d.name)),Se=s.computed(()=>E.value.filter(d=>{const c=m.selectedRegion==="全部"||d.region===m.selectedRegion,x=m.selectedLine==="全部"||d.lineName===m.selectedLine;return c&&x}).map(d=>({value:d.id,label:`${d.deviceId}${d.region?`(${d.region})`:""}`}))),Ke=s.computed(()=>{const d=m.selectedPoints||[];if(d.length===0||d.includes("__ALL__"))return"全部监测点";if(d.length===1){const c=Se.value.find(x=>x.value===d[0]);return(c==null?void 0:c.label)||"已选1个监测点"}return`已选${d.length}个监测点`}),me=s.computed(()=>{const d=m.selectedPoints||[],c=d.length===0||d.includes("__ALL__");return E.value.filter(x=>{const S=M.has(x.type),A=m.selectedRegion==="全部"||x.region===m.selectedRegion,L=m.selectedLine==="全部"||x.lineName===m.selectedLine,b=c||d.includes(x.id);return S&&A&&L&&b})}),Ne=d=>{if(!Array.isArray(d)){m.selectedPoints=["__ALL__"];return}const c=new Set(Se.value.map(S=>S.value));let x=d.filter(S=>S==="__ALL__"||c.has(S));if(x.includes("__ALL__")&&x.length>1&&(x=x.filter(S=>S!=="__ALL__")),x.length===0){m.selectedPoints=["__ALL__"];return}m.selectedPoints=x},$e=s.computed(()=>M.has("GNSS")?R.value.filter(d=>m.selectedRegion!=="全部"&&d.region!==m.selectedRegion||m.selectedLine!=="全部"&&d.name!==m.selectedLine?!1:d.pointIds.filter(x=>me.value.some(S=>S.id===x)).length>=2):[]),fe=d=>{const c=d.isOnline?a[d.alarmIdx]||"#71C446":"#999";return{left:d.x+"px",top:d.y+"px",backgroundColor:c,color:c}},de=d=>U.pickedPoints.some(c=>c.id===d.id),Xe=s.computed(()=>{var d;return((d=e.conf)==null?void 0:d.data)||[]}),Ve=()=>{const d=Xe.value;d.length>0?Jt(d):Qt()},ge={GNSS:[{label:"累计位移",unit:"mm"},{label:"当前速度",unit:"mm/h"},{label:"X/Y/H变化",unit:"mm"}],DEEP:[{label:"深层位移",unit:"mm"},{label:"测斜深度",unit:"m"}],RADAR:[{label:"形变量",unit:"mm"},{label:"形变速度",unit:"mm/d"}],SURFACE:[{label:"垂直位移",unit:"mm"},{label:"水平位移",unit:"mm"}],CRACK:[{label:"裂缝宽度",unit:"mm"},{label:"开列速度",unit:"mm/d"}],FIRE:[{label:"温度",unit:"℃"},{label:"CO浓度",unit:"ppm"}],WATER:[{label:"降雨量",unit:"mm"},{label:"雨强",unit:"mm/h"}],GROUND:[{label:"水位",unit:"m"},{label:"渗透压力",unit:"kPa"}],STRESS:[{label:"应力值",unit:"MPa"},{label:"变化量",unit:"MPa"}],VIB:[{label:"振动速度",unit:"cm/s"},{label:"振动频率",unit:"Hz"}],SAT:[{label:"地表形变",unit:"mm"},{label:"变化速率",unit:"mm/y"}]},Jt=d=>{const c=[];d.forEach((x,S)=>{var J,pe,Me,Ae,Ce,Te,xt,bt,vt,St;const A=x.name||x.deviceId||"",L=x.deviceType||x.type||"GNSS",b=n[L]||n[(J=L.toUpperCase)==null?void 0:J.call(L)]||"GNSS",F=x.x,P=x.y,G=F!==""&&F!=null&&!isNaN(Number(F)),N=P!==""&&P!=null&&!isNaN(Number(P)),B=G?Number(F):-9999,Z=N?Number(P):-9999,Y=G?"":String(F||""),K=N?"":String(P||""),q=ge[b]||[],ee=[];for(let te=0;te<5;te++){const Vt=x[`row${te+1}FV`]||"",Mt=x[`row${te+1}Label`]||((pe=q[te])==null?void 0:pe.label)||"",yn=(Ae=x[`row${te+1}Unit`])!=null?Ae:((Me=q[te])==null?void 0:Me.unit)||"";(Vt||Mt)&&ee.push({label:Mt,fv:Vt,unit:yn})}if(ee.length===0){x.fvDisplacement&&ee.push({label:((Ce=q[0])==null?void 0:Ce.label)||"累计位移",fv:x.fvDisplacement,unit:((Te=q[0])==null?void 0:Te.unit)||x.unitDisplacement||"mm"}),x.fvSpeed&&ee.push({label:((xt=q[1])==null?void 0:xt.label)||"当前速度",fv:x.fvSpeed,unit:((bt=q[1])==null?void 0:bt.unit)||x.unitSpeed||"mm/h"});const te=[x.fvX,x.fvY,x.fvH].filter(Boolean);te.length&&ee.push({label:((vt=q[2])==null?void 0:vt.label)||"X/Y/H变化",fv:te.join("|"),unit:((St=q[2])==null?void 0:St.unit)||x.unitXYH||"mm"})}c.push({id:A||`pt-${S}`,type:b,alarmIdx:typeof x.alarmIdx=="number"?x.alarmIdx:4,isOnline:x.isOnline!==!1,deviceId:A||`${b}${S}`,region:x.region||"未分区",x:B,y:Z,isOnDetectionLine:!!x.lineName,lineName:x.lineName||"",objectId:x.object_id||"",fvDeviceName:x.fvDeviceName||"",fvXCoord:Y,fvYCoord:K,fvElevation:x.elevation||x.高程||"",rows:ee,arrowXFV:x.arrowXFV||"",arrowYFV:x.arrowYFV||"",liveValues:{}})}),E.value=c,qe(c)},Qt=()=>{const d=g.value.pointCount||80,c=Object.keys(i),x=[],S=[],A=60,L={};f.forEach(b=>L[b.name]=0);for(let b=0;b<d;b++){let F=c[b%c.length];b<7?F="RADAR":F==="RADAR"&&(F="GNSS");const P=b*7%5,G=b%8!==0,N=f[b%f.length];let B=!1,Z="";F==="GNSS"&&L[N.name]<3&&(B=!0,Z=`${N.name}线`,L[N.name]++);let Y=0,K=0,q=0;for(;q<100;){if(B){const J=L[N.name]-1;N.name==="北帮"||N.name==="南帮"?(K=(N.yRange[0]+N.yRange[1])/2,Y=N.xRange[0]+300+J*250):(Y=(N.xRange[0]+N.xRange[1])/2,K=N.yRange[0]+300+J*250)}else Y=N.xRange[0]+Math.random()*(N.xRange[1]-N.xRange[0]),K=N.yRange[0]+Math.random()*(N.yRange[1]-N.yRange[0]);if(!S.some(J=>Math.hypot(Y-J.x,K-J.y)<A))break;q++}S.push({x:Y,y:K}),x.push({id:`pt-${b}`,type:F,alarmIdx:P,isOnline:G,deviceId:`${F}${b}`,region:N.name,x:Y,y:K,isOnDetectionLine:B,lineName:Z,objectId:"",fvDeviceName:"",fvXCoord:"",fvYCoord:"",fvElevation:"",rows:[],arrowXFV:"",arrowYFV:"",liveValues:{}})}E.value=x,qe(x)},qe=d=>{const c=new Map;d.filter(A=>A.lineName&&A.x!==-9999&&A.y!==-9999).forEach(A=>{c.has(A.lineName)||c.set(A.lineName,[]),c.get(A.lineName).push(A)});const x=[];let S=0;c.forEach((A,L)=>{var P,G,N,B;const b=Math.abs(((P=A[A.length-1])==null?void 0:P.x)-((G=A[0])==null?void 0:G.x)),F=Math.abs(((N=A[A.length-1])==null?void 0:N.y)-((B=A[0])==null?void 0:B.y));if(A.sort((Z,Y)=>b>=F?Z.x-Y.x:Z.y-Y.y),A.length>=2){const Z=`M ${A[0].x+16} ${A[0].y+16} `+A.slice(1).map(K=>`L ${K.x+16} ${K.y+16}`).join(" "),Y=A[0].region||"";x.push({name:L,region:Y,color:u[S%u.length],path:Z,pointIds:A.map(K=>K.id)}),S++}}),R.value=x},en=d=>{const c=y.value;if(!c)return;const x=Math.min(Math.max(.15,m.scale+d.deltaY*-.001),2.5),S=c.getBoundingClientRect(),A=d.clientX-S.left,L=d.clientY-S.top,b=x/m.scale;m.posX=A-(A-m.posX)*b,m.posY=L-(L-m.posY)*b,m.scale=x},tn=d=>{d.button===0&&(se.value=!0,ae.x=d.clientX-m.posX,ae.y=d.clientY-m.posY)},nn=d=>{se.value&&(m.posX=d.clientX-ae.x,m.posY=d.clientY-ae.y)},ft=()=>{se.value=!1},rn=()=>{const d=y.value;if(!d){m.scale=.4,m.posX=0,m.posY=0;return}const c=d.clientWidth,x=d.clientHeight;if(c===0||x===0){m.scale=.4,m.posX=0,m.posY=0;return}const S=c/t,A=x/r,L=Math.min(S,A)*.9;m.scale=Math.max(.15,Math.min(L,1.5)),m.posX=(c-t*m.scale)/2,m.posY=(x-r*m.scale)/2},dt=d=>{if(e.mode!=="edit"){if(U.picking){const c=U.pickedPoints.findIndex(x=>x.id===d.id);if(c>=0){U.pickedPoints.splice(c,1);return}U.pickedPoints.length<2&&U.pickedPoints.push(d),U.pickedPoints.length===2&&(U.picking=!1,U.dialogVisible=!0);return}d.isOnline&&(oe.value=d.id,setTimeout(()=>{oe.value===d.id&&(oe.value="")},3e3),h.publish({objectId:d.objectId,deviceId:d.deviceId,point:d.deviceId,deviceType:d.type,region:d.region,alarmIdx:d.alarmIdx}))}},on=(d,c)=>{var L,b;z.visible=!0,z.x=d.clientX-(((L=y.value)==null?void 0:L.getBoundingClientRect().left)||0)+15,z.y=d.clientY-(((b=y.value)==null?void 0:b.getBoundingClientRect().top)||0)+15;const x=c.liveValues;let S="";c.rows.forEach((F,P)=>{var B;if(!F.fv)return;const G=(B=x[`row_${P}`])!=null?B:"--",N=F.label||"测量值";S+=`<div>${N}: <b style="color:#fff">${G}</b>${F.unit?" "+F.unit:""}</div>`}),S||(S='<div style="color:rgba(255,255,255,0.4);font-size:11px">暂未配置测量字段</div>');const A=c.fvDeviceName&&x.deviceName?x.deviceName:c.deviceId;z.content=`
|
|
10
10
|
<b style="color:#85C6F1;">[${c.region}] ${A}</b>
|
|
@@ -19,8 +19,8 @@ import "element-plus/es/components/button/style/css";
|
|
|
19
19
|
import { defineComponent as pe, ref as v, computed as C, watch as me, nextTick as K, onMounted as fe, onBeforeUnmount as ge, openBlock as I, createElementBlock as $, normalizeStyle as Q, createElementVNode as l, toDisplayString as p, unref as he, createVNode as f, withCtx as G, createTextVNode as w, Fragment as Se, renderList as _e, normalizeClass as ye, renderSlot as Ce } from "vue";
|
|
20
20
|
import "./index-eIsZnzkc.js";
|
|
21
21
|
import "html2canvas";
|
|
22
|
-
import { B as be } from "./BaseComponent-
|
|
23
|
-
import { _ as ke } from "./index-
|
|
22
|
+
import { B as be } from "./BaseComponent-Dwhb9Mde.js";
|
|
23
|
+
import { _ as ke } from "./index-YNdVib_6.js";
|
|
24
24
|
import { A as Ne, D as xe } from "./ele-lin-icon-Dax-ZiWV.js";
|
|
25
25
|
import { i as Me } from "./echarts-Bp7QN4X6.js";
|
|
26
26
|
const Ge = { class: "profile-card" }, we = { class: "profile-header" }, Ee = { class: "header-left" }, Te = { class: "profile-title" }, Pe = { class: "header-right" }, Ae = { class: "profile-body" }, Ve = { class: "control-panel" }, Oe = { class: "panel-block" }, Ie = { class: "point-list" }, $e = ["onClick"], De = { class: "point-meta" }, Be = { class: "point-name" }, Re = { class: "point-sub" }, ze = { class: "point-check" }, Le = { class: "panel-block" }, Ue = { class: "param-grid" }, Fe = { class: "param-item" }, je = { class: "param-item" }, He = { class: "param-item" }, We = { class: "param-item" }, qe = { class: "tip-line" }, Je = { class: "chart-panel" }, Ke = { class: "chart-toolbar" }, Qe = { class: "chart-info" }, Xe = { class: "chart-label" }, Ye = { class: "chart-sub" }, Ze = { class: "chart-actions" }, el = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Q=Object.defineProperty,X=Object.defineProperties;var Y=Object.getOwnPropertyDescriptors;var q=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable;var $=(d,s,r)=>s in d?Q(d,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[s]=r,L=(d,s)=>{for(var r in s||(s={}))Z.call(s,r)&&$(d,r,s[r]);if(q)for(var r of q(s))ee.call(s,r)&&$(d,r,s[r]);return d},z=(d,s)=>X(d,Y(s));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/switch/style/css");require("element-plus/es/components/input-number/style/css");require("element-plus/es/components/input/style/css");require("element-plus/es/components/button/style/css");const e=require("vue");require("./index-CJgyJTvc.cjs");require("html2canvas");const te=require("./BaseComponent-BmhMoM4H.cjs"),le=require("./index-77aUdspY.cjs"),R=require("./ele-lin-icon-Dke_1AmT.cjs"),oe=require("./echarts-BB8O2KSA.cjs"),ne={class:"profile-card"},ae={class:"profile-header"},se={class:"header-left"},ie={class:"profile-title"},re={class:"header-right"},ce={class:"profile-body"},de={class:"control-panel"},ue={class:"panel-block"},ve={class:"point-list"},me=["onClick"],pe={class:"point-meta"},fe={class:"point-name"},ge={class:"point-sub"},Se={class:"point-check"},he={class:"panel-block"},Ne={class:"param-grid"},ye={class:"param-item"},_e={class:"param-item"},Ce={class:"param-item"},Ve={class:"param-item"},Ee={class:"tip-line"},be={class:"chart-panel"},ke={class:"chart-toolbar"},xe={class:"chart-info"},Te={class:"chart-label"},Me={class:"chart-sub"},we={class:"chart-actions"},Ge={DEFAULT_ICON:R.DEFAULT_ICON,ACTIVE_ICON:R.ACTIVE_ICON,NAME_CN:"GNSS单线剖面",NAME_EN:"GNSS Section Profile",ORDER:3,PLATFORM:["pc","screen"]},De={title:{value:"单线剖面",type:"string",label:"组件标题"},bgColor:{value:"#f5f7fa",type:"color",label:"背景色"},panelBgColor:{value:"#ffffff",type:"color",label:"面板背景色"},lineColor:{value:"#3373CC",type:"color",label:"剖面主线颜色"},referenceColor:{value:"#f5222d",type:"color",label:"参考线颜色"},showExport:{value:!0,type:"boolean",label:"允许导出"},showMock:{value:!0,type:"boolean",label:"允许切换模拟数据"},linkChannel:{value:"gnss",type:"select",label:"联动频道",options:[{label:"GNSS监测",value:"gnss"},{label:"自定义",value:"custom"}]},customChannel:{value:"",type:"string",label:"自定义频道名",showWhen:{linkChannel:"custom"}}},Ie=[{id:"gnss-001",name:"GNSS001",deviceType:"GNSS",region:"北帮",color:"#3373CC"},{id:"gnss-002",name:"GNSS002",deviceType:"GNSS",region:"北帮",color:"#91cc75"},{id:"gnss-003",name:"GNSS003",deviceType:"GNSS",region:"南帮",color:"#fac858"},{id:"gnss-004",name:"GNSS004",deviceType:"GNSS",region:"东帮",color:"#ee6666"}],Oe=["id","name","deviceType","region","color"],Pe=["mosaic"],Ae={useAlias:!1,multiObject:!0,source:"mosaic"},Be={DEFAULT:Ge,OPTIONS:De,DATA:Ie,PARAMS:Oe,SOURCE:Pe,COMMON:Ae},qe=e.defineComponent(z(L({},Be),{__name:"gnssSectionProfile",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(d){const s=d;class r extends te.BaseComponent{extractStyles(){var f,v,o,c,C,S,O,P,A,B;const t=(f=this.props.conf)==null?void 0:f.options,n=((v=t==null?void 0:t.linkChannel)==null?void 0:v.value)||"gnss",u=((o=t==null?void 0:t.customChannel)==null?void 0:o.value)||"";return{title:((c=t==null?void 0:t.title)==null?void 0:c.value)||"单线剖面",bgColor:((C=t==null?void 0:t.bgColor)==null?void 0:C.value)||"#f5f7fa",panelBgColor:((S=t==null?void 0:t.panelBgColor)==null?void 0:S.value)||"#ffffff",lineColor:((O=t==null?void 0:t.lineColor)==null?void 0:O.value)||"#3373CC",referenceColor:((P=t==null?void 0:t.referenceColor)==null?void 0:P.value)||"#f5222d",showExport:((A=t==null?void 0:t.showExport)==null?void 0:A.value)!==!1,showMock:((B=t==null?void 0:t.showMock)==null?void 0:B.value)!==!1,linkChannel:n==="custom"&&u?u:n}}}const E=new r(s,"gnssSectionProfile");E.setupLifecycle();const m=E.getStyle(),b=e.ref(null);let i=null;const w=e.ref(!1),h=e.ref(!0),g=e.ref("GNSS单线剖面"),k=e.ref(30),x=e.ref(!0),T=e.ref(!0),l=e.ref([]),p=e.ref([]),N=e.ref([]),G=e.computed(()=>{var t;const a=((t=s.conf)==null?void 0:t.data)||[];return a.length?a.map((n,u)=>({id:String(n.id||n.deviceId||`pt-${u}`),name:String(n.name||n.deviceId||`点位${u+1}`),deviceType:String(n.deviceType||"GNSS"),region:String(n.region||"未分区"),color:String(n.color||["#3373CC","#91cc75","#fac858","#ee6666"][u%4])})):[]}),y=e.computed(()=>G.value.length?G.value:[{id:"mock-1",name:"GNSS001",deviceType:"GNSS",region:"北帮",color:"#3373CC"},{id:"mock-2",name:"GNSS002",deviceType:"GNSS",region:"北帮",color:"#91cc75"},{id:"mock-3",name:"GNSS003",deviceType:"GNSS",region:"南帮",color:"#fac858"},{id:"mock-4",name:"GNSS004",deviceType:"GNSS",region:"东帮",color:"#ee6666"}]),U=e.computed(()=>({backgroundColor:m.value.bgColor})),F=e.computed(()=>l.value.length>=2?`已选 ${l.value[0].name} → ${l.value[1].name}`:"请选择两个点位生成剖面"),j=e.computed(()=>l.value.length===0?"请点击两个监测点作为剖面起终点。":l.value.length===1?`已选起点:${l.value[0].name}`:`起点:${l.value[0].name},终点:${l.value[1].name}`),D=()=>{b.value&&(i&&i.dispose(),i=oe.init(b.value),w.value=!0,i.setOption(M()))},I=()=>{var v;const a=Math.max(10,Math.min(k.value||30,120)),t=[],n=[],u=[],f=l.value.length&&l.value[0].name.length+((v=l.value[1])==null?void 0:v.name.length)||0;for(let o=0;o<a;o++){const c=o/(a-1),C=Math.round(c*1e3);t.push(C);const S=1e3+Math.sin(c*Math.PI)*160+Math.sin(c*Math.PI*2.4)*35+f%40;n.push(Math.round(S*10)/10),u.push(Math.round((S-70-Math.cos(c*Math.PI*1.3)*25)*10)/10)}return{distance:t,elevation:n,reference:u}},M=()=>{const a=p.value.length?[{name:"剖面曲线",type:"line",data:p.value,smooth:!0,symbol:"none",lineStyle:{color:m.value.lineColor,width:2.5}},{name:"参考线",type:"line",data:N.value,smooth:!0,symbol:"none",lineStyle:{color:m.value.referenceColor,width:2,type:"dashed"}}]:[];return{backgroundColor:m.value.panelBgColor,grid:{left:55,right:30,top:50,bottom:55},title:{text:g.value,left:"center",top:10,textStyle:{color:"#333",fontSize:16}},tooltip:{trigger:"axis"},legend:{bottom:6,data:["剖面曲线","参考线"]},xAxis:{type:"category",boundaryGap:!1,name:x.value?"距离(m)":"",data:p.value.map((t,n)=>`${n}`),axisLabel:{color:"#666"}},yAxis:{type:"value",name:T.value?"高程(m)":"",axisLabel:{color:"#666"},splitLine:{lineStyle:{color:"#e8e8e8",type:"dashed"}}},series:a}},_=()=>{if(l.value.length<2)return;const a=(h.value,I());N.value=a.reference,p.value=a.elevation,i&&i.setOption(M(),!0)},H=a=>{const t=l.value.findIndex(n=>n.id===a.id);t>=0?l.value.splice(t,1):l.value.length<2?l.value.push(a):l.value=[l.value[1],a],l.value.length===2&&_()},W=()=>{l.value=[],p.value=[],N.value=[],i&&i.setOption(M(),!0)},J=()=>{m.value.showMock&&(h.value=!h.value,l.value.length===2&&_())},K=()=>{if(!i||!m.value.showExport)return;const a=document.createElement("a");a.href=i.getDataURL({type:"png",pixelRatio:2,backgroundColor:"#fff"}),a.download=`${g.value}_${Date.now()}.png`,a.click()};return e.watch(()=>s.conf,()=>{s.mode==="edit"&&(l.value=[],p.value=[],N.value=[],e.nextTick(()=>D()))},{deep:!0}),e.onMounted(()=>{E.init(),e.nextTick(()=>{D(),s.mode==="edit"&&y.value.length>=2&&(l.value=[y.value[0],y.value[1]],_())})}),e.onBeforeUnmount(()=>{i&&(i.dispose(),i=null)}),(a,t)=>{const n=V.ElButton,u=V.ElInput,f=V.ElInputNumber,v=V.ElSwitch;return e.openBlock(),e.createElementBlock("div",{class:"gnss-section-profile",style:e.normalizeStyle(U.value)},[e.createElementVNode("div",ne,[e.createElementVNode("div",ae,[e.createElementVNode("div",se,[t[4]||(t[4]=e.createElementVNode("span",{class:"indicator-dot blue"},null,-1)),e.createElementVNode("span",ie,e.toDisplayString(e.unref(m).title),1)]),e.createElementVNode("div",re,[e.createVNode(n,{size:"small",onClick:W,disabled:!l.value.length},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("清空选择",-1)])]),_:1},8,["disabled"]),e.createVNode(n,{size:"small",type:"primary",onClick:J},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.value?"切换真实数据模式":"切换模拟数据模式"),1)]),_:1}),e.createVNode(n,{size:"small",type:"success",onClick:K,disabled:!w.value},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("导出图像",-1)])]),_:1},8,["disabled"])])]),e.createElementVNode("div",ce,[e.createElementVNode("div",de,[e.createElementVNode("div",ue,[t[7]||(t[7]=e.createElementVNode("div",{class:"block-title"},"剖面点选择",-1)),t[8]||(t[8]=e.createElementVNode("div",{class:"block-desc"},"依次选择起点和终点,生成一条单线剖面。",-1)),e.createElementVNode("div",ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,o=>(e.openBlock(),e.createElementBlock("div",{key:o.id,class:e.normalizeClass(["point-item",{active:l.value.some(c=>c.id===o.id)}]),onClick:c=>H(o)},[e.createElementVNode("div",{class:"point-dot",style:e.normalizeStyle({backgroundColor:o.color})},null,4),e.createElementVNode("div",pe,[e.createElementVNode("div",fe,e.toDisplayString(o.name),1),e.createElementVNode("div",ge,e.toDisplayString(o.region)+" · "+e.toDisplayString(o.deviceType),1)]),e.createElementVNode("div",Se,e.toDisplayString(l.value.some(c=>c.id===o.id)?"✓":""),1)],10,me))),128))])]),e.createElementVNode("div",he,[t[13]||(t[13]=e.createElementVNode("div",{class:"block-title"},"剖面参数",-1)),e.createElementVNode("div",Ne,[e.createElementVNode("div",ye,[t[9]||(t[9]=e.createElementVNode("span",null,"剖面名称",-1)),e.createVNode(u,{modelValue:g.value,"onUpdate:modelValue":t[0]||(t[0]=o=>g.value=o),size:"small"},null,8,["modelValue"])]),e.createElementVNode("div",_e,[t[10]||(t[10]=e.createElementVNode("span",null,"显示点位数",-1)),e.createVNode(f,{modelValue:k.value,"onUpdate:modelValue":t[1]||(t[1]=o=>k.value=o),min:10,max:120,size:"small"},null,8,["modelValue"])]),e.createElementVNode("div",Ce,[t[11]||(t[11]=e.createElementVNode("span",null,"显示距离轴",-1)),e.createVNode(v,{modelValue:x.value,"onUpdate:modelValue":t[2]||(t[2]=o=>x.value=o)},null,8,["modelValue"])]),e.createElementVNode("div",Ve,[t[12]||(t[12]=e.createElementVNode("span",null,"显示高程轴",-1)),e.createVNode(v,{modelValue:T.value,"onUpdate:modelValue":t[3]||(t[3]=o=>T.value=o)},null,8,["modelValue"])])]),e.createElementVNode("div",Ee,e.toDisplayString(j.value),1)])]),e.createElementVNode("div",be,[e.createElementVNode("div",ke,[e.createElementVNode("div",xe,[e.createElementVNode("div",Te,e.toDisplayString(g.value),1),e.createElementVNode("div",Me,e.toDisplayString(F.value),1)]),e.createElementVNode("div",we,[e.createVNode(n,{size:"small",onClick:_,type:"primary"},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode("生成剖面",-1)])]),_:1})])]),e.createElementVNode("div",{ref_key:"chartRef",ref:b,class:"chart-container"},null,512)])])]),e.renderSlot(a.$slots,"default",{},void 0,!0)],4)}}})),$e=le._export_sfc(qe,[["__scopeId","data-v-f50b5c17"]]);exports.default=$e;
|
|
1
|
+
"use strict";var Q=Object.defineProperty,X=Object.defineProperties;var Y=Object.getOwnPropertyDescriptors;var q=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable;var $=(d,s,r)=>s in d?Q(d,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[s]=r,L=(d,s)=>{for(var r in s||(s={}))Z.call(s,r)&&$(d,r,s[r]);if(q)for(var r of q(s))ee.call(s,r)&&$(d,r,s[r]);return d},z=(d,s)=>X(d,Y(s));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/switch/style/css");require("element-plus/es/components/input-number/style/css");require("element-plus/es/components/input/style/css");require("element-plus/es/components/button/style/css");const e=require("vue");require("./index-CJgyJTvc.cjs");require("html2canvas");const te=require("./BaseComponent-bzb58Hhs.cjs"),le=require("./index-6QhTSPkL.cjs"),R=require("./ele-lin-icon-Dke_1AmT.cjs"),oe=require("./echarts-BB8O2KSA.cjs"),ne={class:"profile-card"},ae={class:"profile-header"},se={class:"header-left"},ie={class:"profile-title"},re={class:"header-right"},ce={class:"profile-body"},de={class:"control-panel"},ue={class:"panel-block"},ve={class:"point-list"},me=["onClick"],pe={class:"point-meta"},fe={class:"point-name"},ge={class:"point-sub"},Se={class:"point-check"},he={class:"panel-block"},Ne={class:"param-grid"},ye={class:"param-item"},_e={class:"param-item"},Ce={class:"param-item"},Ve={class:"param-item"},Ee={class:"tip-line"},be={class:"chart-panel"},ke={class:"chart-toolbar"},xe={class:"chart-info"},Te={class:"chart-label"},Me={class:"chart-sub"},we={class:"chart-actions"},Ge={DEFAULT_ICON:R.DEFAULT_ICON,ACTIVE_ICON:R.ACTIVE_ICON,NAME_CN:"GNSS单线剖面",NAME_EN:"GNSS Section Profile",ORDER:3,PLATFORM:["pc","screen"]},De={title:{value:"单线剖面",type:"string",label:"组件标题"},bgColor:{value:"#f5f7fa",type:"color",label:"背景色"},panelBgColor:{value:"#ffffff",type:"color",label:"面板背景色"},lineColor:{value:"#3373CC",type:"color",label:"剖面主线颜色"},referenceColor:{value:"#f5222d",type:"color",label:"参考线颜色"},showExport:{value:!0,type:"boolean",label:"允许导出"},showMock:{value:!0,type:"boolean",label:"允许切换模拟数据"},linkChannel:{value:"gnss",type:"select",label:"联动频道",options:[{label:"GNSS监测",value:"gnss"},{label:"自定义",value:"custom"}]},customChannel:{value:"",type:"string",label:"自定义频道名",showWhen:{linkChannel:"custom"}}},Ie=[{id:"gnss-001",name:"GNSS001",deviceType:"GNSS",region:"北帮",color:"#3373CC"},{id:"gnss-002",name:"GNSS002",deviceType:"GNSS",region:"北帮",color:"#91cc75"},{id:"gnss-003",name:"GNSS003",deviceType:"GNSS",region:"南帮",color:"#fac858"},{id:"gnss-004",name:"GNSS004",deviceType:"GNSS",region:"东帮",color:"#ee6666"}],Oe=["id","name","deviceType","region","color"],Pe=["mosaic"],Ae={useAlias:!1,multiObject:!0,source:"mosaic"},Be={DEFAULT:Ge,OPTIONS:De,DATA:Ie,PARAMS:Oe,SOURCE:Pe,COMMON:Ae},qe=e.defineComponent(z(L({},Be),{__name:"gnssSectionProfile",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(d){const s=d;class r extends te.BaseComponent{extractStyles(){var f,v,o,c,C,S,O,P,A,B;const t=(f=this.props.conf)==null?void 0:f.options,n=((v=t==null?void 0:t.linkChannel)==null?void 0:v.value)||"gnss",u=((o=t==null?void 0:t.customChannel)==null?void 0:o.value)||"";return{title:((c=t==null?void 0:t.title)==null?void 0:c.value)||"单线剖面",bgColor:((C=t==null?void 0:t.bgColor)==null?void 0:C.value)||"#f5f7fa",panelBgColor:((S=t==null?void 0:t.panelBgColor)==null?void 0:S.value)||"#ffffff",lineColor:((O=t==null?void 0:t.lineColor)==null?void 0:O.value)||"#3373CC",referenceColor:((P=t==null?void 0:t.referenceColor)==null?void 0:P.value)||"#f5222d",showExport:((A=t==null?void 0:t.showExport)==null?void 0:A.value)!==!1,showMock:((B=t==null?void 0:t.showMock)==null?void 0:B.value)!==!1,linkChannel:n==="custom"&&u?u:n}}}const E=new r(s,"gnssSectionProfile");E.setupLifecycle();const m=E.getStyle(),b=e.ref(null);let i=null;const w=e.ref(!1),h=e.ref(!0),g=e.ref("GNSS单线剖面"),k=e.ref(30),x=e.ref(!0),T=e.ref(!0),l=e.ref([]),p=e.ref([]),N=e.ref([]),G=e.computed(()=>{var t;const a=((t=s.conf)==null?void 0:t.data)||[];return a.length?a.map((n,u)=>({id:String(n.id||n.deviceId||`pt-${u}`),name:String(n.name||n.deviceId||`点位${u+1}`),deviceType:String(n.deviceType||"GNSS"),region:String(n.region||"未分区"),color:String(n.color||["#3373CC","#91cc75","#fac858","#ee6666"][u%4])})):[]}),y=e.computed(()=>G.value.length?G.value:[{id:"mock-1",name:"GNSS001",deviceType:"GNSS",region:"北帮",color:"#3373CC"},{id:"mock-2",name:"GNSS002",deviceType:"GNSS",region:"北帮",color:"#91cc75"},{id:"mock-3",name:"GNSS003",deviceType:"GNSS",region:"南帮",color:"#fac858"},{id:"mock-4",name:"GNSS004",deviceType:"GNSS",region:"东帮",color:"#ee6666"}]),U=e.computed(()=>({backgroundColor:m.value.bgColor})),F=e.computed(()=>l.value.length>=2?`已选 ${l.value[0].name} → ${l.value[1].name}`:"请选择两个点位生成剖面"),j=e.computed(()=>l.value.length===0?"请点击两个监测点作为剖面起终点。":l.value.length===1?`已选起点:${l.value[0].name}`:`起点:${l.value[0].name},终点:${l.value[1].name}`),D=()=>{b.value&&(i&&i.dispose(),i=oe.init(b.value),w.value=!0,i.setOption(M()))},I=()=>{var v;const a=Math.max(10,Math.min(k.value||30,120)),t=[],n=[],u=[],f=l.value.length&&l.value[0].name.length+((v=l.value[1])==null?void 0:v.name.length)||0;for(let o=0;o<a;o++){const c=o/(a-1),C=Math.round(c*1e3);t.push(C);const S=1e3+Math.sin(c*Math.PI)*160+Math.sin(c*Math.PI*2.4)*35+f%40;n.push(Math.round(S*10)/10),u.push(Math.round((S-70-Math.cos(c*Math.PI*1.3)*25)*10)/10)}return{distance:t,elevation:n,reference:u}},M=()=>{const a=p.value.length?[{name:"剖面曲线",type:"line",data:p.value,smooth:!0,symbol:"none",lineStyle:{color:m.value.lineColor,width:2.5}},{name:"参考线",type:"line",data:N.value,smooth:!0,symbol:"none",lineStyle:{color:m.value.referenceColor,width:2,type:"dashed"}}]:[];return{backgroundColor:m.value.panelBgColor,grid:{left:55,right:30,top:50,bottom:55},title:{text:g.value,left:"center",top:10,textStyle:{color:"#333",fontSize:16}},tooltip:{trigger:"axis"},legend:{bottom:6,data:["剖面曲线","参考线"]},xAxis:{type:"category",boundaryGap:!1,name:x.value?"距离(m)":"",data:p.value.map((t,n)=>`${n}`),axisLabel:{color:"#666"}},yAxis:{type:"value",name:T.value?"高程(m)":"",axisLabel:{color:"#666"},splitLine:{lineStyle:{color:"#e8e8e8",type:"dashed"}}},series:a}},_=()=>{if(l.value.length<2)return;const a=(h.value,I());N.value=a.reference,p.value=a.elevation,i&&i.setOption(M(),!0)},H=a=>{const t=l.value.findIndex(n=>n.id===a.id);t>=0?l.value.splice(t,1):l.value.length<2?l.value.push(a):l.value=[l.value[1],a],l.value.length===2&&_()},W=()=>{l.value=[],p.value=[],N.value=[],i&&i.setOption(M(),!0)},J=()=>{m.value.showMock&&(h.value=!h.value,l.value.length===2&&_())},K=()=>{if(!i||!m.value.showExport)return;const a=document.createElement("a");a.href=i.getDataURL({type:"png",pixelRatio:2,backgroundColor:"#fff"}),a.download=`${g.value}_${Date.now()}.png`,a.click()};return e.watch(()=>s.conf,()=>{s.mode==="edit"&&(l.value=[],p.value=[],N.value=[],e.nextTick(()=>D()))},{deep:!0}),e.onMounted(()=>{E.init(),e.nextTick(()=>{D(),s.mode==="edit"&&y.value.length>=2&&(l.value=[y.value[0],y.value[1]],_())})}),e.onBeforeUnmount(()=>{i&&(i.dispose(),i=null)}),(a,t)=>{const n=V.ElButton,u=V.ElInput,f=V.ElInputNumber,v=V.ElSwitch;return e.openBlock(),e.createElementBlock("div",{class:"gnss-section-profile",style:e.normalizeStyle(U.value)},[e.createElementVNode("div",ne,[e.createElementVNode("div",ae,[e.createElementVNode("div",se,[t[4]||(t[4]=e.createElementVNode("span",{class:"indicator-dot blue"},null,-1)),e.createElementVNode("span",ie,e.toDisplayString(e.unref(m).title),1)]),e.createElementVNode("div",re,[e.createVNode(n,{size:"small",onClick:W,disabled:!l.value.length},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("清空选择",-1)])]),_:1},8,["disabled"]),e.createVNode(n,{size:"small",type:"primary",onClick:J},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.value?"切换真实数据模式":"切换模拟数据模式"),1)]),_:1}),e.createVNode(n,{size:"small",type:"success",onClick:K,disabled:!w.value},{default:e.withCtx(()=>[...t[6]||(t[6]=[e.createTextVNode("导出图像",-1)])]),_:1},8,["disabled"])])]),e.createElementVNode("div",ce,[e.createElementVNode("div",de,[e.createElementVNode("div",ue,[t[7]||(t[7]=e.createElementVNode("div",{class:"block-title"},"剖面点选择",-1)),t[8]||(t[8]=e.createElementVNode("div",{class:"block-desc"},"依次选择起点和终点,生成一条单线剖面。",-1)),e.createElementVNode("div",ve,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,o=>(e.openBlock(),e.createElementBlock("div",{key:o.id,class:e.normalizeClass(["point-item",{active:l.value.some(c=>c.id===o.id)}]),onClick:c=>H(o)},[e.createElementVNode("div",{class:"point-dot",style:e.normalizeStyle({backgroundColor:o.color})},null,4),e.createElementVNode("div",pe,[e.createElementVNode("div",fe,e.toDisplayString(o.name),1),e.createElementVNode("div",ge,e.toDisplayString(o.region)+" · "+e.toDisplayString(o.deviceType),1)]),e.createElementVNode("div",Se,e.toDisplayString(l.value.some(c=>c.id===o.id)?"✓":""),1)],10,me))),128))])]),e.createElementVNode("div",he,[t[13]||(t[13]=e.createElementVNode("div",{class:"block-title"},"剖面参数",-1)),e.createElementVNode("div",Ne,[e.createElementVNode("div",ye,[t[9]||(t[9]=e.createElementVNode("span",null,"剖面名称",-1)),e.createVNode(u,{modelValue:g.value,"onUpdate:modelValue":t[0]||(t[0]=o=>g.value=o),size:"small"},null,8,["modelValue"])]),e.createElementVNode("div",_e,[t[10]||(t[10]=e.createElementVNode("span",null,"显示点位数",-1)),e.createVNode(f,{modelValue:k.value,"onUpdate:modelValue":t[1]||(t[1]=o=>k.value=o),min:10,max:120,size:"small"},null,8,["modelValue"])]),e.createElementVNode("div",Ce,[t[11]||(t[11]=e.createElementVNode("span",null,"显示距离轴",-1)),e.createVNode(v,{modelValue:x.value,"onUpdate:modelValue":t[2]||(t[2]=o=>x.value=o)},null,8,["modelValue"])]),e.createElementVNode("div",Ve,[t[12]||(t[12]=e.createElementVNode("span",null,"显示高程轴",-1)),e.createVNode(v,{modelValue:T.value,"onUpdate:modelValue":t[3]||(t[3]=o=>T.value=o)},null,8,["modelValue"])])]),e.createElementVNode("div",Ee,e.toDisplayString(j.value),1)])]),e.createElementVNode("div",be,[e.createElementVNode("div",ke,[e.createElementVNode("div",xe,[e.createElementVNode("div",Te,e.toDisplayString(g.value),1),e.createElementVNode("div",Me,e.toDisplayString(F.value),1)]),e.createElementVNode("div",we,[e.createVNode(n,{size:"small",onClick:_,type:"primary"},{default:e.withCtx(()=>[...t[14]||(t[14]=[e.createTextVNode("生成剖面",-1)])]),_:1})])]),e.createElementVNode("div",{ref_key:"chartRef",ref:b,class:"chart-container"},null,512)])])]),e.renderSlot(a.$slots,"default",{},void 0,!0)],4)}}})),$e=le._export_sfc(qe,[["__scopeId","data-v-f50b5c17"]]);exports.default=$e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ye=Object.defineProperty,be=Object.defineProperties;var Se=Object.getOwnPropertyDescriptors;var oe=Object.getOwnPropertySymbols;var Ce=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var ae=(u,c,s)=>c in u?ye(u,c,{enumerable:!0,configurable:!0,writable:!0,value:s}):u[c]=s,ne=(u,c)=>{for(var s in c||(c={}))Ce.call(c,s)&&ae(u,s,c[s]);if(oe)for(var s of oe(c))xe.call(c,s)&&ae(u,s,c[s]);return u},le=(u,c)=>be(u,Se(c));var X=(u,c,s)=>new Promise((I,B)=>{var g=f=>{try{M(s.next(f))}catch(E){B(E)}},y=f=>{try{M(s.throw(f))}catch(E){B(E)}},M=f=>f.done?I(f.value):Promise.resolve(f.value).then(g,y);M((s=s.apply(u,c)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/popover/style/css");require("element-plus/es/components/checkbox-group/style/css");require("element-plus/es/components/checkbox/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/icon/style/css");const e=require("vue");require("html2canvas");const p=require("./index-77aUdspY.cjs");require("element-plus");const Ye=require("./EChartComponentBase-D9EUh4BZ.cjs"),se=require("@element-plus/icons-vue"),re=require("./ele-lin-icon-Dke_1AmT.cjs"),Ee={class:"chart-panel"},Ne={class:"panel-header"},ke={class:"header-left"},De={class:"panel-title"},Ve={class:"header-right"},Me={class:"indicator-selector-panel"},we={class:"indicator-select-all"},Ae={class:"indicator-group-title"},He={class:"legend-bar"},je={class:"legend-items"},Ie=["onClick"],Be={class:"legend-text"},Le={key:0,class:"legend-pagination"},Oe=["disabled"],Te={class:"page-num"},Re=["disabled"],Pe=["id"],$e={DEFAULT_ICON:re.DEFAULT_ICON,ACTIVE_ICON:re.ACTIVE_ICON,NAME_CN:"GNSS指标时序演变曲线",NAME_EN:"GNSS Time Series Chart",ORDER:2,PLATFORM:["pc","screen"]},ze={title:{value:"指标时序演变曲线",type:"string",label:"图表标题"},bgColor:{value:"#f5f7fa",type:"color",label:"setting.bgColor"},panelBgColor:{value:"#ffffff",type:"color",label:"面板背景色"},textColor:{value:"#333333",type:"color",label:"setting.textColor"},gridColor:{value:"#e0e0e0",type:"color",label:"网格线颜色"},legendPageSize:{value:4,type:"number",label:"图例每页数量",min:2,max:8},linkChannel:{value:"gnss",type:"select",label:"联动频道",options:[{label:"GNSS监测",value:"gnss"},{label:"自定义",value:"custom"}]},customChannel:{value:"",type:"string",label:"自定义频道名",showWhen:{linkChannel:"custom"}}},qe=[{object_id:"",fv:"x_speed",name:"X速度(mm/h)",group:"速度指标 (mm/h)",color:"#3373CC"},{object_id:"",fv:"y_speed",name:"Y速度(mm/h)",group:"速度指标 (mm/h)",color:"#91cc75"},{object_id:"",fv:"h_speed",name:"H速度(mm/h)",group:"速度指标 (mm/h)",color:"#fac858"},{object_id:"",fv:"xy_speed",name:"XY速度(mm/h)",group:"速度指标 (mm/h)",color:"#ee6666"},{object_id:"",fv:"xyh_speed",name:"XYH速度(mm/h)",group:"速度指标 (mm/h)",color:"#9a60b4"}],Fe=["object_id","fv","name","group","color"],Ge=["mosaic","statistics","statisticsRealtime"],Xe={useAlias:!1,multiObject:!0,source:"mosaic"},Ue={DEFAULT:$e,OPTIONS:ze,DATA:qe,PARAMS:Fe,SOURCE:Ge,COMMON:Xe},Ke=e.defineComponent(le(ne({},Ue),{__name:"gnssTimeSeriesChart",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(u){const c=u,s=new Map;let I="";class B extends Ye.EChartComponentBase{extractStyles(){var n,r,d,l,i,L,A,O,T;const t=(n=this.props.conf)==null?void 0:n.options,a=((r=t==null?void 0:t.linkChannel)==null?void 0:r.value)||"gnss",m=((d=t==null?void 0:t.customChannel)==null?void 0:d.value)||"";return{title:((l=t==null?void 0:t.title)==null?void 0:l.value)||"指标时序演变曲线",bgColor:((i=t==null?void 0:t.bgColor)==null?void 0:i.value)||"#f5f7fa",panelBgColor:((L=t==null?void 0:t.panelBgColor)==null?void 0:L.value)||"#ffffff",textColor:((A=t==null?void 0:t.textColor)==null?void 0:A.value)||"#333333",gridColor:((O=t==null?void 0:t.gridColor)==null?void 0:O.value)||"#e0e0e0",legendPageSize:((T=t==null?void 0:t.legendPageSize)==null?void 0:T.value)||4,linkChannel:a==="custom"&&m?m:a}}getChartOption(){return q(this.Style.value)}needsHistoryData(){return!1}onPreview(){return X(this,null,function*(){var a,m,n,r,d;s.clear();const t=((m=(a=this.props.conf)==null?void 0:a.common)==null?void 0:m.object_id)||((d=(r=(n=this.props.conf)==null?void 0:n.data)==null?void 0:r[0])==null?void 0:d.object_id)||"";t&&(b.value=String(t),yield P())})}setSocketData(t){var n;if(!t)return;const a=t.datetime?t.datetime.split(".")[0]:p.dayjs().format("YYYY/MM/DD HH:mm"),m=`${a}_${JSON.stringify(t.data||"")}`;m!==I&&(I=m,(((n=this.props.conf)==null?void 0:n.data)||[]).forEach(r=>{if(!r.fv)return;const d=this.extractDataValue(t,r.fv);if(d==null)return;const l=v.value?`GNSS${v.value}-${h(r)}`:h(r),i=s.get(l);i?(i.times.push(a),i.values.push(d),i.times.length>200&&(i.times.shift(),i.values.shift())):s.set(l,{times:[a],values:[d]})}),this.chartObj&&this.chartObj.setOption(q(this.Style.value),!1))}onLinkEvent(t){_e(t)}}const g=new B(c,"gnssTimeSeriesChart");g.setupLifecycle();const y=g.getStyle(),M=g.getEchartId(),f=e.computed(()=>{var o;return((o=c.conf)==null?void 0:o.data)||[]}),E=e.computed(()=>{const o=new Set;return f.value.filter(t=>t.fv&&!o.has(t.fv)?(o.add(t.fv),!0):!1)}),v=e.ref(""),b=e.ref(""),N=e.reactive({timeRange:"1d",dateRange:[p.dayjs().subtract(1,"day").format("YYYY/MM/DD HH:mm"),p.dayjs().format("YYYY/MM/DD HH:mm")]}),P=()=>X(null,null,function*(){var r,d;if(c.mode==="edit"){J(),w();return}if(!b.value)return;s.clear();const o=(r=g.session)==null?void 0:r.value,t=(d=c.conf)==null?void 0:d.id;o!=null&&o.componentRequests&&t&&o.componentRequests.delete(t);const{data:a,common:m}=c.conf;Array.isArray(a)&&a.forEach(l=>{l.object_id=b.value}),m.multiObject||(m.object_id=b.value);try{const l=p.dayjs(N.dateRange[0],"YYYY/MM/DD HH:mm").format("YYYY-MM-DD HH:mm:ss"),i=p.dayjs(N.dateRange[1],"YYYY/MM/DD HH:mm").format("YYYY-MM-DD HH:mm:ss"),L=p.dayjs(N.dateRange[1],"YYYY/MM/DD HH:mm").diff(p.dayjs(N.dateRange[0],"YYYY/MM/DD HH:mm"),"second"),A=Math.max(60,Math.floor(L/200)),O=(c.conf.data||[]).map(H=>H.fv).filter(Boolean),T=[{block_mapping:"influxdbproxy",action:"get_mosaic_list_with_time_span",start_time:l,end_time:i,time_span:A,time_swing:A,keys:O,object_id:b.value}],F=yield new Promise(H=>{p.api.platform(Z=>{H(Z.result)},{block_mapping:"mixtools",action:"get_tools_mosaic_list",condition:T})}),D=Array.isArray(F)?F:[F],G=D[0]&&typeof D[0]=="object"&&Array.isArray(D[0].data)?D[0].data:Array.isArray(D[0])?D[0]:[];if(Array.isArray(G)&&G.length>0){const H=[...G].sort((x,V)=>{const R=x.time||x.datetime||"",Y=V.time||V.datetime||"";return new Date(R).getTime()-new Date(Y).getTime()});(c.conf.data||[]).forEach(x=>{if(!x.fv)return;const V=[],R=[];if(H.forEach(Y=>{const Q=Y.time||Y.datetime,ee=Y[x.fv];if(Q&&ee!=null){const te=parseFloat(ee);isNaN(te)||(V.push(p.dayjs(Q).format("YYYY/MM/DD HH:mm")),R.push(te))}}),V.length>0){const Y=v.value?`GNSS${v.value}-${h(x)}`:h(x);s.set(Y,{times:V,values:R})}})}console.log(`[GNSS时序曲线] 历史数据加载完成,共 ${s.size} 个指标,时间范围: ${l} ~ ${i}`)}catch(l){console.warn("[GNSS时序曲线] 历史数据获取失败,将等待实时数据:",l)}w();const n=g.getSource();g.subscribeBySource(n,b.value)}),ce={x_speed:"X速度(mm/h)",y_speed:"Y速度(mm/h)",h_speed:"H速度(mm/h)",xy_speed:"XY速度(mm/h)",xyh_speed:"XYH速度(mm/h)",x_disp:"X位移(mm)",y_disp:"Y位移(mm)",h_disp:"H位移(mm)",xy_disp:"XY位移(mm)",xyh_disp:"XYH位移(mm)",x_cum_disp:"X累积位移(mm)",y_cum_disp:"Y累积位移(mm)",h_cum_disp:"H累积位移(mm)",xy_cum_disp:"XY累积位移(mm)",xyh_cum_disp:"XYH累积位移(mm)",x_accel:"X加速度(mm/h²)",y_accel:"Y加速度(mm/h²)",h_accel:"H加速度(mm/h²)",tangent_angle:"切线角(°)"},h=o=>o.name||ce[o.fv]||o.fv,k=e.computed(()=>E.value.map(o=>({name:h(o),fv:o.fv,color:o.color}))),ie=e.computed(()=>{const o=new Map;return E.value.forEach(t=>{const a=t.group||"未分组";o.has(a)||o.set(a,[]),o.get(a).push({name:h(t),fv:t.fv,color:t.color})}),Array.from(o.entries()).map(([t,a])=>({group:t,items:a}))}),_=e.ref(k.value.map(o=>o.fv)),U=e.computed({get:()=>_.value.length===k.value.length&&k.value.length>0,set:()=>{}}),de=e.computed(()=>{const o=_.value.length;return o>0&&o<k.value.length}),me=e.computed(()=>_.value.length===0?"选择指标":_.value.length===k.value.length?"全选所有指标":`已选 ${_.value.length} 项指标`),ue=o=>{_.value=o?k.value.map(t=>t.fv):[],w()},S=e.ref(1),C=e.ref(new Set),K=e.computed(()=>{const o=new Set(_.value),t=v.value;return f.value.filter(a=>o.has(a.fv)).map(a=>({name:t?`GNSS${t}-${h(a)}`:h(a),fv:a.fv,color:a.color}))}),W=e.computed(()=>K.value.map(o=>({name:o.name,color:o.color,visible:!C.value.has(o.name)}))),$=e.computed(()=>y.value.legendPageSize||4),z=e.computed(()=>Math.max(1,Math.ceil(W.value.length/$.value))),pe=e.computed(()=>W.value.slice((S.value-1)*$.value,S.value*$.value)),fe=o=>{C.value.has(o.name)?C.value.delete(o.name):C.value.add(o.name),C.value=new Set(C.value),w()},ge=e.computed(()=>({backgroundColor:y.value.bgColor,color:y.value.textColor})),ve={x_speed:{base:38,amplitude:6},y_speed:{base:32,amplitude:5},h_speed:{base:5,amplitude:4},xy_speed:{base:15,amplitude:8},xyh_speed:{base:18,amplitude:7}},J=()=>{s.clear();const o=p.dayjs(),a=(parseInt(v.value)||50)/90;f.value.forEach(m=>{const n=ve[m.fv]||{base:20,amplitude:5},r=[],d=[];for(let i=0;i<100;i++)r.push(o.subtract((100-i)*10,"minute").format("YYYY/MM/DD HH:mm")),d.push(+(n.base*a+(Math.random()-.5)*n.amplitude+Math.sin(i/8)*n.amplitude*.3).toFixed(2));const l=v.value?`GNSS${v.value}-${h(m)}`:h(m);s.set(l,{times:r,values:d})})},q=o=>{if(c.mode!=="edit"&&s.size===0)return{xAxis:{type:"category",data:[]},yAxis:{type:"value"},series:[]};let t=[];for(const[,n]of s)n.times.length>t.length&&(t=n.times);!t.length&&c.mode==="edit"&&(t=Array.from({length:20},(n,r)=>p.dayjs().subtract((20-r)*60,"minute").format("YYYY/MM/DD HH:mm")));const a={},m=K.value.map(n=>{a[n.name]=!C.value.has(n.name);const r=s.get(n.name);return{name:n.name,type:"line",data:(r==null?void 0:r.values)||[],smooth:!1,symbol:"none",lineStyle:{color:n.color,width:1.5},itemStyle:{color:n.color}}});return{grid:{top:15,right:30,bottom:60,left:55},legend:{show:!1,selected:a},tooltip:{trigger:"axis",backgroundColor:"rgba(255,255,255,0.96)",borderColor:"#e5e7eb",borderWidth:1,textStyle:{color:"#333",fontSize:12},axisPointer:{type:"cross"}},xAxis:{type:"category",data:t,axisLine:{lineStyle:{color:o.gridColor}},axisLabel:{color:o.textColor,fontSize:11,rotate:30,interval:"auto",formatter:n=>{var r;if(n&&n.length>6){const d=n.split(" ");return(((r=d[0])==null?void 0:r.split("/").slice(1).join("/"))||"")+(d[1]?" "+d[1]:"")}return n}},axisTick:{show:!1},boundaryGap:!1},yAxis:{type:"value",axisLine:{show:!1},axisLabel:{color:o.textColor,fontSize:11},splitLine:{lineStyle:{color:o.gridColor,type:"dashed"}}},series:m,dataZoom:[{type:"slider",xAxisIndex:0,bottom:8,height:20,borderColor:"#ddd",fillerColor:"rgba(51,115,204,0.15)",handleStyle:{color:"#3373CC"},textStyle:{fontSize:10}},{type:"inside",xAxisIndex:0,filterMode:"none"}]}},w=()=>{const o=g.getChartInstance();o&&o.setOption(q(y.value),!0)},he=()=>{const o=g.getChartInstance();if(!o)return;const t=document.createElement("a");t.href=o.getDataURL({type:"png",pixelRatio:2,backgroundColor:"#fff"}),t.download=`指标时序演变曲线_${p.dayjs().format("YYYYMMDDHHmmss")}.png`,t.click()},_e=o=>{const{payload:t}=o;if(!t)return;if(t.type==="filter"){t.point!=null&&(v.value=String(t.point)),t.objectId!=null&&(b.value=String(t.objectId)),t.timeRange&&(N.timeRange=t.timeRange),t.dateRange&&(N.dateRange=t.dateRange),P();return}const a=t.point||t.deviceId;a&&(v.value=String(a),P())};return c.mode==="edit"&&J(),(o,t)=>{const a=j.ElIcon,m=j.ElButton,n=j.ElCheckbox,r=j.ElCheckboxGroup,d=j.ElPopover;return e.openBlock(),e.createElementBlock("div",{class:"gnss-tsc",style:e.normalizeStyle(ge.value)},[e.createElementVNode("div",Ee,[e.createElementVNode("div",Ne,[e.createElementVNode("div",ke,[t[4]||(t[4]=e.createElementVNode("span",{class:"indicator-dot blue"},null,-1)),e.createElementVNode("span",De,e.toDisplayString(e.unref(y).title),1)]),e.createElementVNode("div",Ve,[e.createVNode(d,{placement:"bottom-start",width:220,trigger:"click"},{reference:e.withCtx(()=>[e.createVNode(m,{size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(me.value),1),e.createVNode(a,{class:"el-icon--right"},{default:e.withCtx(()=>[e.createVNode(e.unref(se.ArrowDown))]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Me,[e.createElementVNode("div",we,[e.createVNode(n,{modelValue:U.value,"onUpdate:modelValue":t[0]||(t[0]=l=>U.value=l),indeterminate:de.value,onChange:ue},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("全选所有指标",-1)])]),_:1},8,["modelValue","indeterminate"])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ie.value,l=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l.group},[e.createElementVNode("div",Ae,e.toDisplayString(l.group),1),e.createVNode(r,{modelValue:_.value,"onUpdate:modelValue":t[1]||(t[1]=i=>_.value=i),onChange:w},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,i=>(e.openBlock(),e.createBlock(n,{key:i.fv,label:i.fv,class:"indicator-checkbox-item"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.name),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue"])],64))),128))])]),_:1}),e.createVNode(m,{size:"small",onClick:he},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(e.unref(se.Download))]),_:1}),t[6]||(t[6]=e.createElementVNode("span",null,"导出图像",-1))]),_:1})])]),e.createElementVNode("div",He,[e.createElementVNode("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(pe.value,l=>(e.openBlock(),e.createElementBlock("span",{key:l.name,class:e.normalizeClass(["legend-item",{disabled:!l.visible}]),onClick:i=>fe(l)},[e.createElementVNode("span",{class:"legend-symbol",style:e.normalizeStyle({borderColor:l.color})},[e.createElementVNode("span",{class:"legend-dot",style:e.normalizeStyle({backgroundColor:l.visible?l.color:"#ccc"})},null,4)],4),e.createElementVNode("span",Be,e.toDisplayString(l.name),1)],10,Ie))),128))]),z.value>1?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("button",{class:"page-arrow",disabled:S.value<=1,onClick:t[2]||(t[2]=l=>S.value--)},"◀",8,Oe),e.createElementVNode("span",Te,e.toDisplayString(S.value)+"/"+e.toDisplayString(z.value),1),e.createElementVNode("button",{class:"page-arrow",disabled:S.value>=z.value,onClick:t[3]||(t[3]=l=>S.value++)},"▶",8,Re)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{id:e.unref(M),class:"chart-container"},null,8,Pe)]),e.renderSlot(o.$slots,"default",{},void 0,!0)],4)}}})),We=p._export_sfc(Ke,[["__scopeId","data-v-478f86a7"]]);exports.default=We;
|
|
1
|
+
"use strict";var ye=Object.defineProperty,be=Object.defineProperties;var Se=Object.getOwnPropertyDescriptors;var oe=Object.getOwnPropertySymbols;var Ce=Object.prototype.hasOwnProperty,xe=Object.prototype.propertyIsEnumerable;var ae=(u,c,s)=>c in u?ye(u,c,{enumerable:!0,configurable:!0,writable:!0,value:s}):u[c]=s,ne=(u,c)=>{for(var s in c||(c={}))Ce.call(c,s)&&ae(u,s,c[s]);if(oe)for(var s of oe(c))xe.call(c,s)&&ae(u,s,c[s]);return u},le=(u,c)=>be(u,Se(c));var X=(u,c,s)=>new Promise((I,B)=>{var g=f=>{try{M(s.next(f))}catch(E){B(E)}},y=f=>{try{M(s.throw(f))}catch(E){B(E)}},M=f=>f.done?I(f.value):Promise.resolve(f.value).then(g,y);M((s=s.apply(u,c)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const j=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/popover/style/css");require("element-plus/es/components/checkbox-group/style/css");require("element-plus/es/components/checkbox/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/icon/style/css");const e=require("vue");require("html2canvas");const p=require("./index-6QhTSPkL.cjs");require("element-plus");const Ye=require("./EChartComponentBase-CMN_pOMr.cjs"),se=require("@element-plus/icons-vue"),re=require("./ele-lin-icon-Dke_1AmT.cjs"),Ee={class:"chart-panel"},Ne={class:"panel-header"},ke={class:"header-left"},De={class:"panel-title"},Ve={class:"header-right"},Me={class:"indicator-selector-panel"},we={class:"indicator-select-all"},Ae={class:"indicator-group-title"},He={class:"legend-bar"},je={class:"legend-items"},Ie=["onClick"],Be={class:"legend-text"},Le={key:0,class:"legend-pagination"},Oe=["disabled"],Te={class:"page-num"},Re=["disabled"],Pe=["id"],$e={DEFAULT_ICON:re.DEFAULT_ICON,ACTIVE_ICON:re.ACTIVE_ICON,NAME_CN:"GNSS指标时序演变曲线",NAME_EN:"GNSS Time Series Chart",ORDER:2,PLATFORM:["pc","screen"]},ze={title:{value:"指标时序演变曲线",type:"string",label:"图表标题"},bgColor:{value:"#f5f7fa",type:"color",label:"setting.bgColor"},panelBgColor:{value:"#ffffff",type:"color",label:"面板背景色"},textColor:{value:"#333333",type:"color",label:"setting.textColor"},gridColor:{value:"#e0e0e0",type:"color",label:"网格线颜色"},legendPageSize:{value:4,type:"number",label:"图例每页数量",min:2,max:8},linkChannel:{value:"gnss",type:"select",label:"联动频道",options:[{label:"GNSS监测",value:"gnss"},{label:"自定义",value:"custom"}]},customChannel:{value:"",type:"string",label:"自定义频道名",showWhen:{linkChannel:"custom"}}},qe=[{object_id:"",fv:"x_speed",name:"X速度(mm/h)",group:"速度指标 (mm/h)",color:"#3373CC"},{object_id:"",fv:"y_speed",name:"Y速度(mm/h)",group:"速度指标 (mm/h)",color:"#91cc75"},{object_id:"",fv:"h_speed",name:"H速度(mm/h)",group:"速度指标 (mm/h)",color:"#fac858"},{object_id:"",fv:"xy_speed",name:"XY速度(mm/h)",group:"速度指标 (mm/h)",color:"#ee6666"},{object_id:"",fv:"xyh_speed",name:"XYH速度(mm/h)",group:"速度指标 (mm/h)",color:"#9a60b4"}],Fe=["object_id","fv","name","group","color"],Ge=["mosaic","statistics","statisticsRealtime"],Xe={useAlias:!1,multiObject:!0,source:"mosaic"},Ue={DEFAULT:$e,OPTIONS:ze,DATA:qe,PARAMS:Fe,SOURCE:Ge,COMMON:Xe},Ke=e.defineComponent(le(ne({},Ue),{__name:"gnssTimeSeriesChart",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(u){const c=u,s=new Map;let I="";class B extends Ye.EChartComponentBase{extractStyles(){var n,r,d,l,i,L,A,O,T;const t=(n=this.props.conf)==null?void 0:n.options,a=((r=t==null?void 0:t.linkChannel)==null?void 0:r.value)||"gnss",m=((d=t==null?void 0:t.customChannel)==null?void 0:d.value)||"";return{title:((l=t==null?void 0:t.title)==null?void 0:l.value)||"指标时序演变曲线",bgColor:((i=t==null?void 0:t.bgColor)==null?void 0:i.value)||"#f5f7fa",panelBgColor:((L=t==null?void 0:t.panelBgColor)==null?void 0:L.value)||"#ffffff",textColor:((A=t==null?void 0:t.textColor)==null?void 0:A.value)||"#333333",gridColor:((O=t==null?void 0:t.gridColor)==null?void 0:O.value)||"#e0e0e0",legendPageSize:((T=t==null?void 0:t.legendPageSize)==null?void 0:T.value)||4,linkChannel:a==="custom"&&m?m:a}}getChartOption(){return q(this.Style.value)}needsHistoryData(){return!1}onPreview(){return X(this,null,function*(){var a,m,n,r,d;s.clear();const t=((m=(a=this.props.conf)==null?void 0:a.common)==null?void 0:m.object_id)||((d=(r=(n=this.props.conf)==null?void 0:n.data)==null?void 0:r[0])==null?void 0:d.object_id)||"";t&&(b.value=String(t),yield P())})}setSocketData(t){var n;if(!t)return;const a=t.datetime?t.datetime.split(".")[0]:p.dayjs().format("YYYY/MM/DD HH:mm"),m=`${a}_${JSON.stringify(t.data||"")}`;m!==I&&(I=m,(((n=this.props.conf)==null?void 0:n.data)||[]).forEach(r=>{if(!r.fv)return;const d=this.extractDataValue(t,r.fv);if(d==null)return;const l=v.value?`GNSS${v.value}-${h(r)}`:h(r),i=s.get(l);i?(i.times.push(a),i.values.push(d),i.times.length>200&&(i.times.shift(),i.values.shift())):s.set(l,{times:[a],values:[d]})}),this.chartObj&&this.chartObj.setOption(q(this.Style.value),!1))}onLinkEvent(t){_e(t)}}const g=new B(c,"gnssTimeSeriesChart");g.setupLifecycle();const y=g.getStyle(),M=g.getEchartId(),f=e.computed(()=>{var o;return((o=c.conf)==null?void 0:o.data)||[]}),E=e.computed(()=>{const o=new Set;return f.value.filter(t=>t.fv&&!o.has(t.fv)?(o.add(t.fv),!0):!1)}),v=e.ref(""),b=e.ref(""),N=e.reactive({timeRange:"1d",dateRange:[p.dayjs().subtract(1,"day").format("YYYY/MM/DD HH:mm"),p.dayjs().format("YYYY/MM/DD HH:mm")]}),P=()=>X(null,null,function*(){var r,d;if(c.mode==="edit"){J(),w();return}if(!b.value)return;s.clear();const o=(r=g.session)==null?void 0:r.value,t=(d=c.conf)==null?void 0:d.id;o!=null&&o.componentRequests&&t&&o.componentRequests.delete(t);const{data:a,common:m}=c.conf;Array.isArray(a)&&a.forEach(l=>{l.object_id=b.value}),m.multiObject||(m.object_id=b.value);try{const l=p.dayjs(N.dateRange[0],"YYYY/MM/DD HH:mm").format("YYYY-MM-DD HH:mm:ss"),i=p.dayjs(N.dateRange[1],"YYYY/MM/DD HH:mm").format("YYYY-MM-DD HH:mm:ss"),L=p.dayjs(N.dateRange[1],"YYYY/MM/DD HH:mm").diff(p.dayjs(N.dateRange[0],"YYYY/MM/DD HH:mm"),"second"),A=Math.max(60,Math.floor(L/200)),O=(c.conf.data||[]).map(H=>H.fv).filter(Boolean),T=[{block_mapping:"influxdbproxy",action:"get_mosaic_list_with_time_span",start_time:l,end_time:i,time_span:A,time_swing:A,keys:O,object_id:b.value}],F=yield new Promise(H=>{p.api.platform(Z=>{H(Z.result)},{block_mapping:"mixtools",action:"get_tools_mosaic_list",condition:T})}),D=Array.isArray(F)?F:[F],G=D[0]&&typeof D[0]=="object"&&Array.isArray(D[0].data)?D[0].data:Array.isArray(D[0])?D[0]:[];if(Array.isArray(G)&&G.length>0){const H=[...G].sort((x,V)=>{const R=x.time||x.datetime||"",Y=V.time||V.datetime||"";return new Date(R).getTime()-new Date(Y).getTime()});(c.conf.data||[]).forEach(x=>{if(!x.fv)return;const V=[],R=[];if(H.forEach(Y=>{const Q=Y.time||Y.datetime,ee=Y[x.fv];if(Q&&ee!=null){const te=parseFloat(ee);isNaN(te)||(V.push(p.dayjs(Q).format("YYYY/MM/DD HH:mm")),R.push(te))}}),V.length>0){const Y=v.value?`GNSS${v.value}-${h(x)}`:h(x);s.set(Y,{times:V,values:R})}})}console.log(`[GNSS时序曲线] 历史数据加载完成,共 ${s.size} 个指标,时间范围: ${l} ~ ${i}`)}catch(l){console.warn("[GNSS时序曲线] 历史数据获取失败,将等待实时数据:",l)}w();const n=g.getSource();g.subscribeBySource(n,b.value)}),ce={x_speed:"X速度(mm/h)",y_speed:"Y速度(mm/h)",h_speed:"H速度(mm/h)",xy_speed:"XY速度(mm/h)",xyh_speed:"XYH速度(mm/h)",x_disp:"X位移(mm)",y_disp:"Y位移(mm)",h_disp:"H位移(mm)",xy_disp:"XY位移(mm)",xyh_disp:"XYH位移(mm)",x_cum_disp:"X累积位移(mm)",y_cum_disp:"Y累积位移(mm)",h_cum_disp:"H累积位移(mm)",xy_cum_disp:"XY累积位移(mm)",xyh_cum_disp:"XYH累积位移(mm)",x_accel:"X加速度(mm/h²)",y_accel:"Y加速度(mm/h²)",h_accel:"H加速度(mm/h²)",tangent_angle:"切线角(°)"},h=o=>o.name||ce[o.fv]||o.fv,k=e.computed(()=>E.value.map(o=>({name:h(o),fv:o.fv,color:o.color}))),ie=e.computed(()=>{const o=new Map;return E.value.forEach(t=>{const a=t.group||"未分组";o.has(a)||o.set(a,[]),o.get(a).push({name:h(t),fv:t.fv,color:t.color})}),Array.from(o.entries()).map(([t,a])=>({group:t,items:a}))}),_=e.ref(k.value.map(o=>o.fv)),U=e.computed({get:()=>_.value.length===k.value.length&&k.value.length>0,set:()=>{}}),de=e.computed(()=>{const o=_.value.length;return o>0&&o<k.value.length}),me=e.computed(()=>_.value.length===0?"选择指标":_.value.length===k.value.length?"全选所有指标":`已选 ${_.value.length} 项指标`),ue=o=>{_.value=o?k.value.map(t=>t.fv):[],w()},S=e.ref(1),C=e.ref(new Set),K=e.computed(()=>{const o=new Set(_.value),t=v.value;return f.value.filter(a=>o.has(a.fv)).map(a=>({name:t?`GNSS${t}-${h(a)}`:h(a),fv:a.fv,color:a.color}))}),W=e.computed(()=>K.value.map(o=>({name:o.name,color:o.color,visible:!C.value.has(o.name)}))),$=e.computed(()=>y.value.legendPageSize||4),z=e.computed(()=>Math.max(1,Math.ceil(W.value.length/$.value))),pe=e.computed(()=>W.value.slice((S.value-1)*$.value,S.value*$.value)),fe=o=>{C.value.has(o.name)?C.value.delete(o.name):C.value.add(o.name),C.value=new Set(C.value),w()},ge=e.computed(()=>({backgroundColor:y.value.bgColor,color:y.value.textColor})),ve={x_speed:{base:38,amplitude:6},y_speed:{base:32,amplitude:5},h_speed:{base:5,amplitude:4},xy_speed:{base:15,amplitude:8},xyh_speed:{base:18,amplitude:7}},J=()=>{s.clear();const o=p.dayjs(),a=(parseInt(v.value)||50)/90;f.value.forEach(m=>{const n=ve[m.fv]||{base:20,amplitude:5},r=[],d=[];for(let i=0;i<100;i++)r.push(o.subtract((100-i)*10,"minute").format("YYYY/MM/DD HH:mm")),d.push(+(n.base*a+(Math.random()-.5)*n.amplitude+Math.sin(i/8)*n.amplitude*.3).toFixed(2));const l=v.value?`GNSS${v.value}-${h(m)}`:h(m);s.set(l,{times:r,values:d})})},q=o=>{if(c.mode!=="edit"&&s.size===0)return{xAxis:{type:"category",data:[]},yAxis:{type:"value"},series:[]};let t=[];for(const[,n]of s)n.times.length>t.length&&(t=n.times);!t.length&&c.mode==="edit"&&(t=Array.from({length:20},(n,r)=>p.dayjs().subtract((20-r)*60,"minute").format("YYYY/MM/DD HH:mm")));const a={},m=K.value.map(n=>{a[n.name]=!C.value.has(n.name);const r=s.get(n.name);return{name:n.name,type:"line",data:(r==null?void 0:r.values)||[],smooth:!1,symbol:"none",lineStyle:{color:n.color,width:1.5},itemStyle:{color:n.color}}});return{grid:{top:15,right:30,bottom:60,left:55},legend:{show:!1,selected:a},tooltip:{trigger:"axis",backgroundColor:"rgba(255,255,255,0.96)",borderColor:"#e5e7eb",borderWidth:1,textStyle:{color:"#333",fontSize:12},axisPointer:{type:"cross"}},xAxis:{type:"category",data:t,axisLine:{lineStyle:{color:o.gridColor}},axisLabel:{color:o.textColor,fontSize:11,rotate:30,interval:"auto",formatter:n=>{var r;if(n&&n.length>6){const d=n.split(" ");return(((r=d[0])==null?void 0:r.split("/").slice(1).join("/"))||"")+(d[1]?" "+d[1]:"")}return n}},axisTick:{show:!1},boundaryGap:!1},yAxis:{type:"value",axisLine:{show:!1},axisLabel:{color:o.textColor,fontSize:11},splitLine:{lineStyle:{color:o.gridColor,type:"dashed"}}},series:m,dataZoom:[{type:"slider",xAxisIndex:0,bottom:8,height:20,borderColor:"#ddd",fillerColor:"rgba(51,115,204,0.15)",handleStyle:{color:"#3373CC"},textStyle:{fontSize:10}},{type:"inside",xAxisIndex:0,filterMode:"none"}]}},w=()=>{const o=g.getChartInstance();o&&o.setOption(q(y.value),!0)},he=()=>{const o=g.getChartInstance();if(!o)return;const t=document.createElement("a");t.href=o.getDataURL({type:"png",pixelRatio:2,backgroundColor:"#fff"}),t.download=`指标时序演变曲线_${p.dayjs().format("YYYYMMDDHHmmss")}.png`,t.click()},_e=o=>{const{payload:t}=o;if(!t)return;if(t.type==="filter"){t.point!=null&&(v.value=String(t.point)),t.objectId!=null&&(b.value=String(t.objectId)),t.timeRange&&(N.timeRange=t.timeRange),t.dateRange&&(N.dateRange=t.dateRange),P();return}const a=t.point||t.deviceId;a&&(v.value=String(a),P())};return c.mode==="edit"&&J(),(o,t)=>{const a=j.ElIcon,m=j.ElButton,n=j.ElCheckbox,r=j.ElCheckboxGroup,d=j.ElPopover;return e.openBlock(),e.createElementBlock("div",{class:"gnss-tsc",style:e.normalizeStyle(ge.value)},[e.createElementVNode("div",Ee,[e.createElementVNode("div",Ne,[e.createElementVNode("div",ke,[t[4]||(t[4]=e.createElementVNode("span",{class:"indicator-dot blue"},null,-1)),e.createElementVNode("span",De,e.toDisplayString(e.unref(y).title),1)]),e.createElementVNode("div",Ve,[e.createVNode(d,{placement:"bottom-start",width:220,trigger:"click"},{reference:e.withCtx(()=>[e.createVNode(m,{size:"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(me.value),1),e.createVNode(a,{class:"el-icon--right"},{default:e.withCtx(()=>[e.createVNode(e.unref(se.ArrowDown))]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Me,[e.createElementVNode("div",we,[e.createVNode(n,{modelValue:U.value,"onUpdate:modelValue":t[0]||(t[0]=l=>U.value=l),indeterminate:de.value,onChange:ue},{default:e.withCtx(()=>[...t[5]||(t[5]=[e.createTextVNode("全选所有指标",-1)])]),_:1},8,["modelValue","indeterminate"])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ie.value,l=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:l.group},[e.createElementVNode("div",Ae,e.toDisplayString(l.group),1),e.createVNode(r,{modelValue:_.value,"onUpdate:modelValue":t[1]||(t[1]=i=>_.value=i),onChange:w},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.items,i=>(e.openBlock(),e.createBlock(n,{key:i.fv,label:i.fv,class:"indicator-checkbox-item"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.name),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue"])],64))),128))])]),_:1}),e.createVNode(m,{size:"small",onClick:he},{default:e.withCtx(()=>[e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(e.unref(se.Download))]),_:1}),t[6]||(t[6]=e.createElementVNode("span",null,"导出图像",-1))]),_:1})])]),e.createElementVNode("div",He,[e.createElementVNode("div",je,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(pe.value,l=>(e.openBlock(),e.createElementBlock("span",{key:l.name,class:e.normalizeClass(["legend-item",{disabled:!l.visible}]),onClick:i=>fe(l)},[e.createElementVNode("span",{class:"legend-symbol",style:e.normalizeStyle({borderColor:l.color})},[e.createElementVNode("span",{class:"legend-dot",style:e.normalizeStyle({backgroundColor:l.visible?l.color:"#ccc"})},null,4)],4),e.createElementVNode("span",Be,e.toDisplayString(l.name),1)],10,Ie))),128))]),z.value>1?(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("button",{class:"page-arrow",disabled:S.value<=1,onClick:t[2]||(t[2]=l=>S.value--)},"◀",8,Oe),e.createElementVNode("span",Te,e.toDisplayString(S.value)+"/"+e.toDisplayString(z.value),1),e.createElementVNode("button",{class:"page-arrow",disabled:S.value>=z.value,onClick:t[3]||(t[3]=l=>S.value++)},"▶",8,Re)])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{id:e.unref(M),class:"chart-container"},null,8,Pe)]),e.renderSlot(o.$slots,"default",{},void 0,!0)],4)}}})),We=p._export_sfc(Ke,[["__scopeId","data-v-478f86a7"]]);exports.default=We;
|
|
@@ -35,9 +35,9 @@ import "element-plus/es/components/button/style/css";
|
|
|
35
35
|
import "element-plus/es/components/icon/style/css";
|
|
36
36
|
import { defineComponent as Te, computed as p, ref as P, reactive as $e, openBlock as C, createElementBlock as H, normalizeStyle as oe, createElementVNode as d, toDisplayString as w, unref as U, createVNode as b, withCtx as S, createTextVNode as ae, Fragment as K, renderList as le, createBlock as Pe, normalizeClass as ze, createCommentVNode as Ve, renderSlot as Ge } from "vue";
|
|
37
37
|
import "html2canvas";
|
|
38
|
-
import { d as v, a as Xe, _ as Be } from "./index-
|
|
38
|
+
import { d as v, a as Xe, _ as Be } from "./index-YNdVib_6.js";
|
|
39
39
|
import "element-plus";
|
|
40
|
-
import { E as Fe } from "./EChartComponentBase-
|
|
40
|
+
import { E as Fe } from "./EChartComponentBase-BmS2KONN.js";
|
|
41
41
|
import { ArrowDown as Ue, Download as Ke } from "@element-plus/icons-vue";
|
|
42
42
|
import { A as qe, D as We } from "./ele-lin-icon-Dax-ZiWV.js";
|
|
43
43
|
const Je = { class: "chart-panel" }, Ze = { class: "panel-header" }, Qe = { class: "header-left" }, et = { class: "panel-title" }, tt = { class: "header-right" }, ot = { class: "indicator-selector-panel" }, at = { class: "indicator-select-all" }, lt = { class: "indicator-group-title" }, nt = { class: "legend-bar" }, st = { class: "legend-items" }, it = ["onClick"], rt = { class: "legend-text" }, ct = {
|
|
@@ -34,9 +34,9 @@ import "element-plus/es/components/select/style/css";
|
|
|
34
34
|
import "element-plus/es/components/option/style/css";
|
|
35
35
|
import { defineComponent as lt, reactive as T, ref as ct, openBlock as mt, createElementBlock as dt, normalizeStyle as ut, unref as k, createElementVNode as _, toDisplayString as ft, createVNode as D, withCtx as X, renderSlot as pt } from "vue";
|
|
36
36
|
import "html2canvas";
|
|
37
|
-
import { d as f, a as ht, _ as yt } from "./index-
|
|
37
|
+
import { d as f, a as ht, _ as yt } from "./index-YNdVib_6.js";
|
|
38
38
|
import "element-plus";
|
|
39
|
-
import { E as bt } from "./EChartComponentBase-
|
|
39
|
+
import { E as bt } from "./EChartComponentBase-BmS2KONN.js";
|
|
40
40
|
import { Download as gt } from "@element-plus/icons-vue";
|
|
41
41
|
import { A as xt, D as Yt } from "./ele-lin-icon-Dax-ZiWV.js";
|
|
42
42
|
const Ct = { class: "chart-panel" }, _t = { class: "panel-header" }, vt = { class: "header-left" }, St = { class: "panel-title" }, Dt = { class: "header-right" }, Mt = ["id"], jt = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var K=Object.defineProperty,Q=Object.defineProperties;var Z=Object.getOwnPropertyDescriptors;var X=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var z=Math.pow,F=(p,u,t)=>u in p?K(p,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):p[u]=t,M=(p,u)=>{for(var t in u||(u={}))ee.call(u,t)&&F(p,t,u[t]);if(X)for(var t of X(u))te.call(u,t)&&F(p,t,u[t]);return p},w=(p,u)=>Q(p,Z(u));var P=(p,u,t)=>new Promise((h,j)=>{var v=y=>{try{C(t.next(y))}catch(A){j(A)}},I=y=>{try{C(t.throw(y))}catch(A){j(A)}},C=y=>y.done?h(y.value):Promise.resolve(y.value).then(v,I);C((t=t.apply(p,u)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/icon/style/css");require("element-plus/es/components/select/style/css");require("element-plus/es/components/option/style/css");const n=require("vue");require("html2canvas");const m=require("./index-
|
|
1
|
+
"use strict";var K=Object.defineProperty,Q=Object.defineProperties;var Z=Object.getOwnPropertyDescriptors;var X=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var z=Math.pow,F=(p,u,t)=>u in p?K(p,u,{enumerable:!0,configurable:!0,writable:!0,value:t}):p[u]=t,M=(p,u)=>{for(var t in u||(u={}))ee.call(u,t)&&F(p,t,u[t]);if(X)for(var t of X(u))te.call(u,t)&&F(p,t,u[t]);return p},w=(p,u)=>Q(p,Z(u));var P=(p,u,t)=>new Promise((h,j)=>{var v=y=>{try{C(t.next(y))}catch(A){j(A)}},I=y=>{try{C(t.throw(y))}catch(A){j(A)}},C=y=>y.done?h(y.value):Promise.resolve(y.value).then(v,I);C((t=t.apply(p,u)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("element-plus/es");require("element-plus/es/components/base/style/css");require("element-plus/es/components/button/style/css");require("element-plus/es/components/icon/style/css");require("element-plus/es/components/select/style/css");require("element-plus/es/components/option/style/css");const n=require("vue");require("html2canvas");const m=require("./index-6QhTSPkL.cjs");require("element-plus");const oe=require("./EChartComponentBase-CMN_pOMr.cjs"),ne=require("@element-plus/icons-vue"),B=require("./ele-lin-icon-Dke_1AmT.cjs"),ae={class:"chart-panel"},re={class:"panel-header"},se={class:"header-left"},ie={class:"panel-title"},le={class:"header-right"},ce=["id"],de={DEFAULT_ICON:B.DEFAULT_ICON,ACTIVE_ICON:B.ACTIVE_ICON,NAME_CN:"GNSS XY平面位移矢量轨迹图",NAME_EN:"GNSS XY Trajectory Chart",ORDER:3,PLATFORM:["pc","screen"]},ue={title:{value:"XY 平面位移矢量轨迹图",type:"string",label:"图表标题"},bgColor:{value:"#f5f7fa",type:"color",label:"setting.bgColor"},textColor:{value:"#333333",type:"color",label:"setting.textColor"},gridColor:{value:"#e0e0e0",type:"color",label:"网格线颜色"},trajectoryColor:{value:"#3373CC",type:"color",label:"轨迹线颜色"},arrowColor:{value:"#ee6666",type:"color",label:"方向箭头颜色"},linkChannel:{value:"gnss",type:"select",label:"联动频道",options:[{label:"GNSS监测",value:"gnss"},{label:"自定义",value:"custom"}]},customChannel:{value:"",type:"string",label:"自定义频道名",showWhen:{linkChannel:"custom"}}},me=[{name:"X位移",fv:"",object_id:""},{name:"Y位移",fv:"",object_id:""}],fe=["name","fv","object_id"],pe=["mosaic","statistics","statisticsRealtime"],he={useAlias:!1,multiObject:!1,source:"mosaic"},ye={DEFAULT:de,OPTIONS:ue,DATA:me,PARAMS:fe,SOURCE:pe,COMMON:he},be=n.defineComponent(w(M({},ye),{__name:"gnssXYTrajectory",props:{conf:{type:Object,default:()=>({data:[]})},mode:{type:String,default:"edit"},uid:{type:String,default:""},theme:{type:String,default:"light"}},setup(p){const u=p,t=n.reactive({points:[],hasOrigin:!1}),h=n.reactive({x:null,y:null}),j=n.ref("day"),v=n.reactive({dateRange:[m.dayjs().subtract(1,"day").format("YYYY/MM/DD HH:mm"),m.dayjs().format("YYYY/MM/DD HH:mm")]});class I extends oe.EChartComponentBase{extractStyles(){var s,l,i,a,b,Y,d,f,x;const e=(s=this.props.conf)==null?void 0:s.options,o=((l=e==null?void 0:e.linkChannel)==null?void 0:l.value)||"gnss",c=((i=e==null?void 0:e.customChannel)==null?void 0:i.value)||"";return{title:((a=e==null?void 0:e.title)==null?void 0:a.value)||"XY 平面位移矢量轨迹图",bgColor:((b=e==null?void 0:e.bgColor)==null?void 0:b.value)||"#f5f7fa",textColor:((Y=e==null?void 0:e.textColor)==null?void 0:Y.value)||"#333333",gridColor:((d=e==null?void 0:e.gridColor)==null?void 0:d.value)||"#e0e0e0",trajectoryColor:((f=e==null?void 0:e.trajectoryColor)==null?void 0:f.value)||"#3373CC",arrowColor:((x=e==null?void 0:e.arrowColor)==null?void 0:x.value)||"#ee6666",linkChannel:o==="custom"&&c?c:o}}getChartOption(){return O(this.Style.value)}needsHistoryData(){return!1}onPreview(){return P(this,null,function*(){var i;const{common:e,data:o}=this.props.conf,c=(e==null?void 0:e.object_id)||(Array.isArray(o)?(i=o==null?void 0:o[0])==null?void 0:i.object_id:"")||"";if(c&&this.props.mode==="preview"){this.onLinkEvent({topic:{source:"self",channel:""},payload:{type:"filter",objectId:c}});return}const s=this.getSource(),l=new Set;e.object_id&&l.add(e.object_id),Array.isArray(o)&&o.forEach(a=>{a.object_id&&l.add(a.object_id)}),l.forEach(a=>this.subscribeBySource(s,a))})}setSocketData(e){var b;if(!e)return;const o=(b=this.props.conf)==null?void 0:b.data;if(!o||o.length<2)return;const c=this.extractDataValue(e,o[0].fv),s=this.extractDataValue(e,o[1].fv);let l=!1;if(c!=null&&(h.x=Number(c),l=!0),s!=null&&(h.y=Number(s),l=!0),!l||h.x===null||h.y===null)return;const i=e.datetime?e.datetime.split(".")[0]:m.dayjs().format("YYYY/MM/DD HH:mm");t.hasOrigin||(t.points.push({time:i,x:0,y:0}),t.hasOrigin=!0);const a=t.points[t.points.length-1];a&&a.x===h.x&&a.y===h.y||(t.points.push({time:i,x:h.x,y:h.y}),t.points.length>500&&t.points.shift(),this.chartObj&&this.chartObj.setOption(O(this.Style.value),!1))}onLinkEvent(e){var c,s,l;const o=e.payload;if(o&&(o.dateRange&&(v.dateRange=o.dateRange),o.type==="filter"||o.point||o.deviceId||o.objectId)){const i=o.objectId||o.object_id||"";if(t.points=[],t.hasOrigin=!1,h.x=null,h.y=null,i&&this.props.mode!=="edit"){const a=(c=this.session)==null?void 0:c.value,b=(s=this.props.conf)==null?void 0:s.id;a!=null&&a.componentRequests&&b&&a.componentRequests.delete(b);const{data:Y,common:d}=this.props.conf;Array.isArray(Y)&&Y.forEach(g=>{g.object_id=i}),d.multiObject||(d.object_id=i);const f=(l=this.props.conf)==null?void 0:l.data;if(!f||f.length<2)return;const x=f[0].fv,T=f[1].fv,L=m.dayjs(v.dateRange[0],"YYYY/MM/DD HH:mm").format("YYYY-MM-DD HH:mm:ss"),R=m.dayjs(v.dateRange[1],"YYYY/MM/DD HH:mm").format("YYYY-MM-DD HH:mm:ss"),G=m.dayjs(v.dateRange[1],"YYYY/MM/DD HH:mm").diff(m.dayjs(v.dateRange[0],"YYYY/MM/DD HH:mm"),"second"),q=Math.max(60,Math.floor(G/200)),J=[{block_mapping:"influxdbproxy",action:"get_mosaic_list_with_time_span",start_time:L,end_time:R,time_span:q,time_swing:q,keys:[x,T].filter(Boolean),object_id:i}],E=this;new Promise(g=>{m.api.platform(_=>{g(_.result)},{block_mapping:"mixtools",action:"get_tools_mosaic_list",condition:J})}).then(g=>{const _=Array.isArray(g)?g:[g],k=_[0]&&typeof _[0]=="object"&&Array.isArray(_[0].data)?_[0].data:Array.isArray(_[0])?_[0]:[];Array.isArray(k)&&k.length>0&&[...k].sort((S,D)=>{const N=S.time||S.datetime||"",H=D.time||D.datetime||"";return new Date(N).getTime()-new Date(H).getTime()}).forEach(S=>{const D=S.time||S.datetime,N=S[x],H=S[T];D&&N!=null&&H!=null&&(t.hasOrigin||(t.points.push({time:m.dayjs(D).format("YYYY/MM/DD HH:mm"),x:0,y:0}),t.hasOrigin=!0),t.points.push({time:m.dayjs(D).format("YYYY/MM/DD HH:mm"),x:Number(N),y:Number(H)}))}),console.log(`[XY轨迹图] 历史数据加载完成,共 ${t.points.length} 个点,时间范围: ${L} ~ ${R}`),E.chartObj&&E.chartObj.setOption(O(E.Style.value),!0)}).catch(g=>{console.warn("[XY轨迹图] 历史数据获取失败:",g)}).finally(()=>{const g=E.getSource();E.subscribeBySource(g,i)})}else this.chartObj&&this.chartObj.setOption(O(this.Style.value),!0)}}}const C=new I(u,"gnssXYTrajectory");C.setupLifecycle();const y=C.getStyle(),A=C.getEchartId();if(u.mode==="edit"){const r=m.dayjs();let e=0,o=0;const c=s=>(Math.sin(s*9301+49297)%233280/233280+1)%1;for(let s=0;s<=25;s++)e+=(c(s*17)-.5)*8e-4,o+=(c(s*31)-.5)*8e-4,t.points.push({time:r.subtract((25-s)*60,"minute").format("YYYY/MM/DD HH:mm"),x:+e.toFixed(4),y:+o.toFixed(4)});t.hasOrigin=!0}function O(r){const e=$().map(d=>[d.x,d.y]),o=e.length>=2,c=r.trajectoryColor||"#3373CC",s=r.arrowColor||"#ee6666",l="#4a5568",i={xAxis:{type:"value",position:"bottom",axisLine:{show:!0,lineStyle:{color:l,width:1.5},symbol:["none","arrow"],symbolSize:[8,8]},axisLabel:{color:r.textColor,fontSize:11},splitLine:{show:!0,lineStyle:{color:r.gridColor,type:"dashed"}},nameTextStyle:{color:l,fontSize:12}},yAxis:{type:"value",position:"right",axisLine:{show:!0,lineStyle:{color:l,width:1.5},symbol:["none","arrow"],symbolSize:[8,8]},axisLabel:{color:r.textColor,fontSize:11},splitLine:{show:!0,lineStyle:{color:r.gridColor,type:"dashed"}},nameTextStyle:{color:l,fontSize:12}}};if(!o)return{grid:{top:55,right:80,bottom:50,left:30},xAxis:w(M({},i.xAxis),{name:`X位移(mm)
|
|
2
2
|
东(E)`,nameLocation:"end"}),yAxis:w(M({},i.yAxis),{name:`Y位移(mm)
|
|
3
3
|
北(N)`,nameLocation:"end"}),series:[]};const a=[];a.push({name:"参考线",type:"line",data:[e[0],e[e.length-1]],symbol:"none",lineStyle:{color:"#ef4444",width:2},z:1,silent:!0,animation:!1}),a.push({name:"位移轨迹",type:"line",data:e,symbol:"none",lineStyle:{color:c,width:2.5},z:2,silent:!0,animation:!1});const b=[],Y=Math.max(1,Math.floor(e.length/12));for(let d=0;d<e.length-1;d+=Y){const f=Math.min(d+Y,e.length-1),x=Math.atan2(e[f][1]-e[d][1],e[f][0]-e[d][0])*180/Math.PI;b.push({value:e[f],symbol:"triangle",symbolSize:12,symbolRotate:x-90,itemStyle:{color:s,borderColor:"#fff",borderWidth:1.5}})}return b.length&&a.push({name:"位移方向",type:"scatter",data:b,z:5}),a.push({name:"起点",type:"scatter",data:[{value:e[0],symbolSize:10,itemStyle:{color:"#10b981",borderColor:"#fff",borderWidth:2},label:{show:!0,formatter:"起点",position:"left",fontSize:11,color:"#10b981",fontWeight:"bold"}}],z:10}),a.push({name:"终点",type:"scatter",data:[{value:e[e.length-1],symbolSize:10,itemStyle:{color:"#ef4444",borderColor:"#fff",borderWidth:2},label:{show:!0,formatter:"当前",position:"top",fontSize:11,color:"#ef4444",fontWeight:"bold"}}],z:10}),{grid:{top:55,right:80,bottom:50,left:30},tooltip:{trigger:"item",backgroundColor:"rgba(255,255,255,0.96)",borderColor:"#e5e7eb",borderWidth:1,textStyle:{color:"#333",fontSize:12},formatter:d=>{if(!d.value||d.value.length<2)return"";const[f,x]=d.value;return`X: ${f.toFixed(4)} mm<br>Y: ${x.toFixed(4)} mm<br>合位移: ${Math.sqrt(z(f,2)+z(x,2)).toFixed(4)} mm`}},legend:{show:!0,bottom:6,textStyle:{color:r.textColor,fontSize:11},data:["参考线","位移轨迹","位移方向"]},xAxis:w(M({},i.xAxis),{name:`X位移(mm)
|
|
4
4
|
东(E)`,nameLocation:"end"}),yAxis:w(M({},i.yAxis),{name:`Y位移(mm)
|