@teeechina/teee-map 0.0.37 → 0.1.1

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/README.md CHANGED
@@ -1,3 +0,0 @@
1
- # teee-map-sdk
2
-
3
- 基于teee-map的npm发布版本
package/dist/index.cjs ADDED
@@ -0,0 +1,34 @@
1
+ 'use strict';var ee=require('maplibre-gl'),z=require('@turf/turf'),vectorTile=require('@mapbox/vector-tile'),pbf=require('pbf');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var ee__namespace=/*#__PURE__*/_interopNamespace(ee);var z__namespace=/*#__PURE__*/_interopNamespace(z);/**
2
+ * @teeechina/teee-map v0.1.1
3
+ * 基于 maplibre-gl 封装的业务地图 SDK,面向太昌 GIS 业务流提供开箱即用的地图初始化、图层管理、要素状态控制及加密瓦片支持。
4
+ * (c) 2026 TeeChina
5
+ * Released under the MIT License
6
+ */
7
+ var vt=Object.defineProperty;var me=(t,e)=>{for(var o in e)vt(t,o,{get:e[o],enumerable:true});};var _e={};me(_e,{createAutoDerailingStopCanvas:()=>ye,createBumperCanvas:()=>K,createCatenaryEndCanvas:()=>Y,createDerailingStopCanvas:()=>Z,createFastenerCanvas:()=>de,createIronShoesCanvas:()=>fe,createJflcLocomotiveImg:()=>be,createLocomotiveImg:()=>Se,createManualBrakingCanvas:()=>he,createOverLimitCanvas:()=>V,createSignalCanvas:()=>q,createTrackDoorCanvas:()=>X,createUnknowJflcLocomotiveImg:()=>Le});var fe=(t,e)=>{let n=document.createElement("canvas");n.width=48,n.height=48;let r=n.getContext("2d");return r&&(r.lineWidth=6,r.strokeStyle=e,t==="right"?(r.beginPath(),r.moveTo(0,48),r.lineTo(48,48),r.lineTo(48,0),r.lineTo(0,48),r.fillStyle=e,r.stroke(),r.closePath()):(r.beginPath(),r.moveTo(0,0),r.lineTo(0,48),r.lineTo(48,48),r.lineTo(0,0),r.fillStyle=e,r.stroke(),r.closePath())),n},he=t=>{let n=document.createElement("canvas");n.width=36,n.height=36;let r=n.getContext("2d");return r&&(r.lineWidth=4,r.strokeStyle=t,r.beginPath(),r.arc(18,18,10.799999999999999,0,2*Math.PI,false),r.stroke(),r.beginPath(),r.lineTo(10.799999999999999,10.799999999999999),r.lineTo(25.2,25.2),r.stroke(),r.moveTo(10.799999999999999,25.2),r.lineTo(25.2,10.799999999999999),r.stroke(),r.closePath()),n},de=(t,e)=>{let r=document.createElement("canvas");r.width=50,r.height=56;let a=r.getContext("2d");if(!a)return r;a.lineWidth=6,a.strokeStyle=t,a.fillStyle=t,a.textAlign="center";let s="$",l=.5*50-.5*.55*16*s.length;if(a.font="18px Arial,sans-serif",a.beginPath(),a.fillText(s,l,22.400000000000002),a.stroke(),e){let c=25+2.75*e.length;a.font="16px Calibri,sans-serif",a.beginPath(),a.fillText(e,c,22.400000000000002),a.stroke();}return a.closePath(),r};var L={BASE_COLOR:"rgb(85,120,182)",BG_COLOR:"rgb(0,0,0)"};var q=(t,e,o)=>{let h=document.createElement("canvas");h.width=66,h.height=64;let g=h.getContext("2d");return g?(g.clearRect(0,0,h.width,h.height),o===2&&(g.translate(66,0),g.scale(-1,1)),t===1?(g.beginPath(),g.arc(8/2+4/2+20+20,20,20-4/2,0,Math.PI*2),g.fillStyle=e||"rgb(255,255,255,0)",g.strokeStyle=e||L.BASE_COLOR,g.lineWidth=4,g.fill(),g.stroke(),g.beginPath(),g.moveTo(8/2+4/2,40/2),g.lineTo(8/2+4/2+20,40/2),g.lineWidth=4,g.strokeStyle=L.BASE_COLOR,g.stroke(),g.beginPath(),g.lineCap="round",g.moveTo(8/2,0),g.lineTo(8/2,40),g.lineWidth=4,g.strokeStyle=L.BASE_COLOR,g.stroke(),g.beginPath(),g.moveTo(8/2,40),g.lineTo(8/2,64),g.lineWidth=8,g.strokeStyle=L.BASE_COLOR,g.stroke(),h):(g.beginPath(),g.arc(8/2+4/2+20,20,20-4/2,0,Math.PI*2),g.fillStyle=e||"rgb(255,255,255,0)",g.strokeStyle=e||L.BASE_COLOR,g.lineWidth=4,g.fill(),g.stroke(),g.beginPath(),g.lineCap="round",g.moveTo(8/2,0),g.lineTo(8/2,40),g.lineWidth=4,g.strokeStyle=L.BASE_COLOR,g.stroke(),g.beginPath(),g.moveTo(8/2,40),g.lineTo(8/2,64),g.lineWidth=8,g.strokeStyle=L.BASE_COLOR,g.stroke(),h)):h},K=()=>{let i=document.createElement("canvas");i.width=15,i.height=40;let n=i.getContext("2d");return n&&(n.clearRect(0,0,i.width,i.height),n.beginPath(),n.moveTo(0,4/2),n.lineTo(15-4/2,4/2),n.moveTo(4/2,4/2),n.lineTo(4/2,36),n.moveTo(0,36),n.lineTo(15-4/2,36),n.lineWidth=4,n.strokeStyle=L.BASE_COLOR,n.stroke()),i},V=()=>{let t=document.createElement("canvas"),e=t.getContext("2d");if(!e)return t;let o=40,i=40,n=4,r=4;t.width=o,t.height=i;let a=o/2,s=o/2,l=o/2-n/2,c=l-n*2;return e.beginPath(),e.strokeStyle="#ffffff",e.lineWidth=r,e.lineCap="square",e.moveTo(a,s-c),e.lineTo(a,s+c),e.stroke(),e.beginPath(),e.arc(a,s,l,0,Math.PI*2,false),e.strokeStyle="red",e.lineWidth=n,e.stroke(),t};var Y=()=>{let i=document.createElement("canvas");i.width=24,i.height=64;let n=i.getContext("2d");return n&&(n.fillStyle=L.BG_COLOR,n.fillRect(0,0,24,64),n.strokeStyle=L.BASE_COLOR,n.lineWidth=8,n.strokeRect(0,0,24,64)),i};var Z=()=>{let n=document.createElement("canvas");n.width=60,n.height=40;let r=n.getContext("2d");return r&&(r.clearRect(0,0,n.width,n.height),r.moveTo(60/2,0),r.lineTo(0,40),r.moveTo(60/2,0),r.lineTo(60,40),r.lineWidth=4,r.moveTo(60/2,40*.5),r.lineTo(60/2,40),r.moveTo(60/2-10,40*.5),r.lineTo(60/2+10,40*.5),r.strokeStyle=L.BASE_COLOR,r.moveTo(0,40),r.lineTo(60,40),r.closePath(),r.stroke()),n},ye=t=>{let n=.3333333333333333,r=8,a=document.createElement("canvas");a.width=40,a.height=60;let s=a.getContext("2d");return s&&(s.clearRect(0,0,a.width,a.height),s.beginPath(),s.moveTo(0,0),s.lineTo(0,60*n),s.lineTo(40,60*n),s.lineTo(40,0),s.closePath(),s.lineWidth=4,s.strokeStyle=L.BASE_COLOR,s.fillStyle="rgb(255,0,0)",s.fill(),s.stroke(),s.beginPath(),s.moveTo(40/2,60*n),s.lineTo(40/2,60),s.lineWidth=4,s.strokeStyle=L.BASE_COLOR,s.stroke(),s.closePath(),t===1?(s.beginPath(),s.moveTo(40/2,60-r),s.lineTo(40/2,60),s.lineTo(0,60),s.lineTo(40/2,60-r),s.strokeStyle=L.BASE_COLOR,s.fillStyle=L.BASE_COLOR,s.fill(),s.stroke(),s.closePath()):(s.beginPath(),s.moveTo(40/2,60-r),s.lineTo(40/2,60),s.lineTo(40,60),s.lineTo(40/2,60-r),s.strokeStyle=L.BASE_COLOR,s.fillStyle=L.BASE_COLOR,s.fill(),s.stroke(),s.closePath())),a};var X=t=>{let e=document.createElement("canvas"),o=1,i=20*o,n=32*o,r=2*o;e.width=i+i+n+r*2,e.height=i+r;let a=e.getContext("2d");if(!a)throw new Error("Canvas 2D context is not available");return a.fillStyle=t,a.fillRect(r/2,r/2,i,i),a.strokeStyle=L.BASE_COLOR,a.lineWidth=r,a.strokeRect(r/2,r/2,i,i),a.lineWidth=r,a.strokeStyle=L.BASE_COLOR,a.moveTo(i+r,i/2+r/2),a.lineTo(i+n,i/2+r/2),a.stroke(),a.lineWidth=r,a.fillStyle=t,a.fillRect(i+n,r/2,i,i),a.strokeStyle=L.BASE_COLOR,a.strokeRect(i+n,r/2,i,i),e};var Se=(t,e)=>{let o=t??{},i=o.headText||"",n=i.length<5?50:i.length*10,r=o.headColor||"#ffffff",a=o.headTextColor||"#3385ff",s=o.rearText||" ",l=s.length*10,c=o.rearColor||"#3385ff",m=o.rearTextColor||"#ffffff",u=o.canvasHeight||15,y=document.createElement("canvas");y.width=n+l,y.height=u;let p=y.getContext("2d");return p&&(e&&e>0?(p.beginPath(),p.fillStyle=c,p.moveTo(0,0),p.lineTo(l,0),p.lineTo(l,u),p.lineTo(0,u),p.lineTo(0,0),p.fill(),p.closePath(),p.fillStyle=m,p.font="12px SimSun bold",p.fillText(s,1,12),p.beginPath(),p.fillStyle=r,p.moveTo(l,0),p.lineTo(n+l-u*.5*Math.tan(30*Math.PI/180),0),p.lineTo(y.width,u*.5),p.lineTo(n+l-u*.5*Math.tan(30*Math.PI/180),u),p.lineTo(l,u),p.lineTo(l,0),p.fill(),p.closePath(),p.fillStyle=a,p.font="15px SimSun bold",p.fillText(i,l+1,13)):(p.beginPath(),p.fillStyle=r,p.moveTo(0,u*.5),p.lineTo(u*.5*Math.tan(30*Math.PI/180),0),p.lineTo(n,0),p.lineTo(n,u),p.lineTo(u*.5*Math.tan(30*Math.PI/180),u),p.lineTo(0,u*.5),p.fill(),p.closePath(),p.fillStyle=a,p.font="15px SimSun bold",p.fillText(i,u*.5*Math.tan(30*Math.PI/180)+1,13),p.beginPath(),p.fillStyle=c,p.moveTo(n,0),p.lineTo(n+l,0),p.lineTo(n+l,u),p.lineTo(n,u),p.lineTo(n,0),p.fill(),p.closePath(),p.fillStyle=m,p.font="12px SimSun bold",p.fillText(s,n+1,12))),y},be=(t,e)=>{let o=t??{},i=o.headText||"",n=i.length<5?50:i.length*10,r=o.headColor||"#ffffff",a=o.headTextColor||"#3385ff",s=o.rearText||" ",l=s.length*10,c="purple",m=o.rearTextColor||"#ffffff",u=o.canvasHeight||15,y=document.createElement("canvas");y.width=n+l,y.height=u;let p=y.getContext("2d");return p&&(e?(p.beginPath(),p.fillStyle=r,p.moveTo(0,u*.5),p.lineTo(u*.5*Math.tan(30*Math.PI/180),0),p.lineTo(n,0),p.lineTo(n,u),p.lineTo(u*.5*Math.tan(30*Math.PI/180),u),p.lineTo(0,u*.5),p.fill(),p.closePath(),p.fillStyle=a,p.font="15px SimSun bold",p.fillText(i,u*.5*Math.tan(30*Math.PI/180)+1,13),p.beginPath(),p.fillStyle=c,p.moveTo(n,0),p.lineTo(n+l,0),p.lineTo(n+l,u),p.lineTo(n,u),p.lineTo(n,0),p.fill(),p.closePath(),p.fillStyle=m,p.font="12px SimSun bold",p.fillText(s,n+1,12)):(p.beginPath(),p.fillStyle=c,p.moveTo(0,0),p.lineTo(l,0),p.lineTo(l,u),p.lineTo(0,u),p.lineTo(0,0),p.fill(),p.closePath(),p.fillStyle=m,p.font="12px SimSun bold",p.fillText(s,1,12),p.beginPath(),p.fillStyle=r,p.moveTo(l,0),p.lineTo(n+l-u*.5*Math.tan(30*Math.PI/180),0),p.lineTo(y.width,u*.5),p.lineTo(n+l-u*.5*Math.tan(30*Math.PI/180),u),p.lineTo(l,u),p.lineTo(l,0),p.fill(),p.closePath(),p.fillStyle=a,p.font="15px SimSun bold",p.fillText(i,l+1,13))),y},Le=t=>{let e=t??{},o=e.headText||"",i=o.length<5?50:o.length*10,n=e.rearText||" ",r=n.length*5,a="purple",s=e.canvasHeight||15,l=document.createElement("canvas");l.width=i+r,l.height=s;let c=l.getContext("2d");return c&&(c.beginPath(),c.fillStyle=a,c.moveTo(0,s/2),c.lineTo(r,s),c.lineTo(r,0),c.moveTo(0,s/2),c.fill(),c.closePath(),c.fillStyle=a,c.font="12px SimSun bold",c.fillText(n,1,12),c.beginPath(),c.fillStyle=a,c.moveTo(r,0),c.lineTo(i+r-s*.5*Math.tan(30*Math.PI/180),0),c.lineTo(l.width,s*.5),c.lineTo(i+r-s*.5*Math.tan(30*Math.PI/180),s),c.lineTo(r,s),c.lineTo(r,0),c.fill(),c.closePath(),c.fillStyle="white",c.font="15px SimSun bold",c.fillText(o,r+1,13)),l};var J={};me(J,{createAllIcons:()=>Rt,createBumperIcon:()=>ne,createDerailingStopIcon:()=>se,createDoorIcon:()=>ae,createJcwIcon:()=>re,createOverLimitIcon:()=>Me,createSignalIcon:()=>F});var xe=(f=>(f[f.TRACK=1]="TRACK",f[f.SWITCH=2]="SWITCH",f[f.SIGNAL=3]="SIGNAL",f[f.BUMPER=4]="BUMPER",f[f.FOULINGPOST=5]="FOULINGPOST",f[f.CONTACTLINEEND=6]="CONTACTLINEEND",f[f.RAILWAYCROSS=7]="RAILWAYCROSS",f[f.SWITCHCONNECTINGCOMPONENTS=11]="SWITCHCONNECTINGCOMPONENTS",f[f.TRACKCIRCUIT=12]="TRACKCIRCUIT",f[f.Intervaltrackelements=20]="Intervaltrackelements",f[f.Intervaltrack=21]="Intervaltrack",f[f.BRIDGE=22]="BRIDGE",f[f.TUNNEL=29]="TUNNEL",f[f.OUTBOUND=34]="OUTBOUND",f[f.ISOLATE=35]="ISOLATE",f[f.PARKTRACK=36]="PARKTRACK",f[f.BUTTON=37]="BUTTON",f[f.PREVIEWNOWIRE=42]="PREVIEWNOWIRE",f[f.TGQ_UP=47]="TGQ_UP",f[f.TGQ_DOWN=48]="TGQ_DOWN",f[f.NOELECTRICITY=49]="NOELECTRICITY",f[f.STATIONBOUND=51]="STATIONBOUND",f[f.INSULATION=52]="INSULATION",f[f.DERAILING_STOP=53]="DERAILING_STOP",f[f.CONTACTLINENOPARK=54]="CONTACTLINENOPARK",f[f.ONCESTOP=55]="ONCESTOP",f[f.SPEEDLIMIT=56]="SPEEDLIMIT",f[f.CONTACTLINEPSS=57]="CONTACTLINEPSS",f[f.CONTACTLINENOAREA=58]="CONTACTLINENOAREA",f[f.NOCONTROLPOINT=59]="NOCONTROLPOINT",f[f.HIGHPLATFORM=60]="HIGHPLATFORM",f[f.MARK_SQUAREBTN=62]="MARK_SQUAREBTN",f[f.MARK_ARROW=63]="MARK_ARROW",f[f.MARK_RECT=64]="MARK_RECT",f[f.HIGHPLATFORMLINE=65]="HIGHPLATFORMLINE",f[f.HUMPSLIP=66]="HUMPSLIP",f[f.CHANNELDOOR=67]="CHANNELDOOR",f[f.SKYLIGHTAREA=68]="SKYLIGHTAREA",f[f.WALKWAY=69]="WALKWAY",f[f.SHOULDERDYNAMIC=70]="SHOULDERDYNAMIC",f[f.WATERBRAKE=71]="WATERBRAKE",f[f.DIESELDEPOT=72]="DIESELDEPOT",f[f.AUXREPAIRDEPOT=73]="AUXREPAIRDEPOT",f[f.WHEELLATHEDEPOT=74]="WHEELLATHEDEPOT",f[f.STARTSHED=75]="STARTSHED",f[f.OVERHAULDEPOT=76]="OVERHAULDEPOT",f[f.BERTH=77]="BERTH",f[f.LEGEND=78]="LEGEND",f[f.SHOULDERSTATIC=79]="SHOULDERSTATIC",f[f.WORKWAITAREA=80]="WORKWAITAREA",f[f.FENCE=81]="FENCE",f[f.WORKPROTECTAREA=82]="WORKPROTECTAREA",f[f.INTERVALCROSS=83]="INTERVALCROSS",f[f.CONTACTLINEPOLE=86]="CONTACTLINEPOLE",f[f.DOOR=87]="DOOR",f[f.CANOPY=88]="CANOPY",f[f.INTERVALCONTACTLINEPSS=89]="INTERVALCONTACTLINEPSS",f[f.INTERVALCALLPOLE=90]="INTERVALCALLPOLE",f[f.CURVE=91]="CURVE",f[f.FLOODCONTROL=92]="FLOODCONTROL",f[f.INTERVALSIGNAL=93]="INTERVALSIGNAL",f[f.SLOPE=94]="SLOPE",f[f.INTERVALCHAINBREAK=95]="INTERVALCHAINBREAK",f[f.ROADNETAUX=96]="ROADNETAUX",f[f.MARK=97]="MARK",f[f.AUXPOINT=98]="AUXPOINT",f[f.LOGICPOINT=99]="LOGICPOINT",f))(xe||{});var Te=(r=>(r[r.RedLight=1]="RedLight",r[r.GreenLight=2]="GreenLight",r[r.WhiteLight=3]="WhiteLight",r[r.BlueLight=4]="BlueLight",r[r.Unknown=5]="Unknown",r))(Te||{}),Ce=(n=>(n.Red="red",n.Green="green",n.Blue="blue",n.White="white",n))(Ce||{}),we=(r=>(r[r.RedCircuit=1]="RedCircuit",r[r.WhiteCircuit=2]="WhiteCircuit",r[r.EqualRedCircuit=3]="EqualRedCircuit",r[r.GreyCircuit=4]="GreyCircuit",r[r.GreenCircuit=5]="GreenCircuit",r))(we||{}),Oe=(i=>(i[i.NormalPosition=2]="NormalPosition",i[i.ReversePosition=3]="ReversePosition",i[i.NeutralPosition=4]="NeutralPosition",i))(Oe||{}),ke=(c=>(c[c.COME_GREEN=0]="COME_GREEN",c[c.COME_YELLOW=1]="COME_YELLOW",c[c.COME_RED=2]="COME_RED",c[c.GO_GREEN=3]="GO_GREEN",c[c.GO_YELLOW=4]="GO_YELLOW",c[c.GO_RED=5]="GO_RED",c[c.LOCK=6]="LOCK",c[c.EMERGENCY=7]="EMERGENCY",c[c.RESET=8]="RESET",c))(ke||{});var ve=(d=>(d[d.NULL=0]="NULL",d[d.BUMPER=1]="BUMPER",d[d.CONTACTLINEEND=2]="CONTACTLINEEND",d[d.FIXEDDERAILER=3]="FIXEDDERAILER",d[d.CONTACTLINENOSTOP=4]="CONTACTLINENOSTOP",d[d.CONTACTLINENOSTOPIN=5]="CONTACTLINENOSTOPIN",d[d.OTHERPROMPT=6]="OTHERPROMPT",d[d.OTHERBRAKE=7]="OTHERBRAKE",d[d.ONESTOP=8]="ONESTOP",d[d.SPEEDLIMITED=9]="SPEEDLIMITED",d[d.SPEEDNOTICE=10]="SPEEDNOTICE",d[d.CROSSSPEEDLIMITED=11]="CROSSSPEEDLIMITED",d[d.CONTACTLINEPSS=12]="CONTACTLINEPSS",d[d.SSG=13]="SSG",d[d.CONTACTLINEPSSIN=14]="CONTACTLINEPSSIN",d[d.CONTACTLINENOAREA=15]="CONTACTLINENOAREA",d[d.HIGHPOSTSIGNAL=16]="HIGHPOSTSIGNAL",d[d.RESCUEVEHICLE=17]="RESCUEVEHICLE",d[d.RAILWAYCROSS=18]="RAILWAYCROSS",d[d.TRAIN=19]="TRAIN",d[d.STATIONBOUND=20]="STATIONBOUND",d[d.SHORTPOSTSIGNAL=21]="SHORTPOSTSIGNAL",d[d.BRIDGE=22]="BRIDGE",d[d.WHITE=23]="WHITE",d[d.WHITEBLUE=24]="WHITEBLUE",d[d.BLUE=25]="BLUE",d[d.BLUEWHITE=26]="BLUEWHITE",d[d.SLOPE=27]="SLOPE",d[d.PEOPLE=28]="PEOPLE",d[d.TUNNEL=29]="TUNNEL",d[d.DANGER=30]="DANGER",d[d.SIGNAL=31]="SIGNAL",d[d.SWERVE=32]="SWERVE",d[d.SWITCH=33]="SWITCH",d[d.FOULINGPOST=38]="FOULINGPOST",d[d.CUNCHE=39]="CUNCHE",d[d.STATIONBOUNDEXTEND=40]="STATIONBOUNDEXTEND",d[d.RED=41]="RED",d[d.GREEN=42]="GREEN",d[d.YELLOW=43]="YELLOW",d[d.BLOCKLINE=50]="BLOCKLINE",d[d.WORKAREA=51]="WORKAREA",d[d.ROUTELINE=52]="ROUTELINE",d[d.PARK=53]="PARK",d[d.WORKBUOND=54]="WORKBUOND",d[d.WORKBUONDCROSS=55]="WORKBUONDCROSS",d[d.VIRTUALSTATIONBOUND=56]="VIRTUALSTATIONBOUND",d[d.LEFTHIGHPLATFORM=61]="LEFTHIGHPLATFORM",d[d.RIGHTHIGHPLATFORM=62]="RIGHTHIGHPLATFORM",d[d.BOTHSIDEHIGHPLATFORM=63]="BOTHSIDEHIGHPLATFORM",d[d.TGQ=47]="TGQ",d[d.DOOR=87]="DOOR",d[d.OTHER=95]="OTHER",d[d.SIDE=253]="SIDE",d[d.NONE=254]="NONE",d[d.MAX=255]="MAX",d[d.ISOLATE=35]="ISOLATE",d[d.ISOLATESWITCH=100]="ISOLATESWITCH",d))(ve||{});var oe={1:"red",2:"#99FF33",3:"white",4:"blue",5:null},Q={1:"red",2:"green",3:"blue",4:"white"},Mt={1:"red",2:"white",3:"red",4:"transparent",5:"green"},I={2:"#99FF33",3:"orange",4:"red"},It={0:"green",1:"yellow",2:"red",3:"green",4:"yellow",5:"red",6:"green",7:"red",8:"white"};var Nt={0:{name:"",alias:""},1:{name:"\u571F\u6321",alias:"\u6321"},2:{name:"\u7F51\u7EC8",alias:"\u7F51"},3:{name:"\u56FA\u5B9A\u8131\u8F68\u5668",alias:"\u8131"},4:{name:"\u7981\u505C\u533A\u63D0\u793A",alias:"\u7981"},5:{name:"\u7981\u505C\u533A\u7ED3\u675F",alias:"\u7981"},6:{name:"\u5176\u4ED6\u4E0D\u63A7\u8F66\u9632\u63A7\u70B9",alias:"\u5176\u4ED6"},7:{name:"\u5176\u4ED6\u63A7\u8F66\u9632\u63A7\u70B9",alias:"\u5176\u4ED6"},8:{name:"\u4E00\u5EA6\u505C\u8F66",alias:"\u505C"},9:{name:"\u9650\u901F\u533A",alias:"\u9650"},10:{name:"\u9650\u901F\u533A\u7ED3\u675F",alias:"\u9650"},11:{name:"\u9053\u5C94\u9650\u901F\u63D0\u793A\u533A",alias:"\u9650"},12:{name:"\u5206\u76F8\u533A",alias:"\u5206\u76F8"},13:{name:"\u7279\u6B8A\u53D1\u7801\u4FE1\u53F7\u673A",alias:"\u7279\u6B8A"},14:{name:"\u5206\u76F8\u533A\u7ED3\u675F",alias:"\u76F8"},15:{name:"\u65E0\u7F51\u533A",alias:"\u65E0"},16:{name:"\u9AD8\u67F1\u4FE1\u53F7\u673A",alias:"\u9AD8"},17:{name:"\u6551\u63F4\u673A\u8F66",alias:"\u6551\u63F4"},18:{name:"\u9053\u53E3",alias:"\u9053"},19:{name:"\u673A\u8F66",alias:"\u8F66"},20:{name:"\u7AD9\u754C",alias:"\u754C"},56:{name:"\u7AD9\u754C",alias:"\u754C"},21:{name:"\u77EE\u67F1\u4FE1\u53F7\u673A",alias:"\u77EE"},22:{name:"\u6865",alias:"\u6865"},23:{name:"\u767D",alias:"\u767D"},24:{name:"\u767D\u84DD",alias:"\u767D\u84DD"},25:{name:"\u84DD",alias:"\u84DD"},26:{name:"\u84DD\u767D",alias:"\u84DD\u767D"},27:{name:"\u5761",alias:"\u5761"},28:{name:"\u4EBA\u5458",alias:"\u4EBA\u5458"},29:{name:"\u96A7\u9053",alias:"\u96A7"},30:{name:"\u5371\u9669\u533A",alias:"\u5371"},31:{name:"\u4FE1\u53F7\u673A",alias:"\u4FE1"},32:{name:"\u8F6C\u5F2F",alias:"\u5F2F"},33:{name:"\u9053\u5C94",alias:"\u5C94"},95:{name:"\u5176\u4ED6",alias:"\u5176\u4ED6"},253:{name:"\u8865\u673A",alias:"\u8865\u673A"},254:{name:"\u65E0\u5730\u56FE",alias:"\u65E0"},255:{name:"",alias:""},40:{name:"\u8C03\u8F66\u8FB9\u754C",alias:"\u754C"},41:{name:"\u7EA2",alias:"\u7EA2"},42:{name:"\u7EFF",alias:"\u7EFF"},43:{name:"\u9EC4",alias:"\u9EC4"},50:{name:"\u5C01\u9501\u533A",alias:"\u5C01"},51:{name:"\u65BD\u5DE5\u533A",alias:"\u5DE5"},52:{name:"\u8DEF\u5F84",alias:"\u5F84"},53:{name:"\u505C\u8F66\u70B9",alias:"\u505C"},54:{name:"\u65BD\u5DE5\u533A\u8FB9\u754C",alias:"\u5DE5"},55:{name:"\u65BD\u5DE5\u533A\u7EC8\u70B9",alias:"\u5DE5"},87:{name:"\u5927\u95E8",alias:"\u95E8"},35:{name:"\u9694\u79BB",alias:"\u9694"},38:{name:"\u8B66\u51B2\u6807",alias:"\u8B66\u51B2\u6807"},47:{name:"\u8131\u8F68\u5668",alias:"\u8131"},61:{name:"\u5DE6\u4FA7\u9AD8\u7AD9\u53F0",alias:"\u9AD8"},62:{name:"\u53F3\u4FA7\u9AD8\u7AD9\u53F0",alias:"\u9AD8"},63:{name:"\u53CC\u4FA7\u9AD8\u7AD9\u53F0",alias:"\u9AD8"},39:{name:"\u5B58\u8F66",alias:"\u5B58"},100:{name:"\u9632\u62A4\u9053\u5C94",alias:"\u5C94"}};var F=async(t="h",e="r",o="")=>{let r=q(t==="h"?1:2,o,e==="l"?1:2),a=new Image;return a.src=r.toDataURL(),new Promise((s,l)=>{a.onload=()=>s(a),a.onerror=l;})},re=async()=>{let t=Y(),e=new Image;return e.src=t.toDataURL(),new Promise((o,i)=>{e.onload=()=>o(e),e.onerror=i;})},ne=async()=>{let t=K(),e=new Image;return e.src=t.toDataURL(),new Promise((o,i)=>{e.onload=()=>o(e),e.onerror=i;})},ae=async()=>{let t=X("rgba(53, 204, 98, 0.88)"),e=new Image;return e.src=t.toDataURL(),new Promise((o,i)=>{e.onload=()=>o(e),e.onerror=i;})},se=async()=>{let t=Z(),e=new Image;return e.src=t.toDataURL(),new Promise((o,i)=>{e.onload=()=>o(e),e.onerror=i;})},Me=async()=>{let t=V(),e=new Image;return e.src=t.toDataURL(),new Promise((o,i)=>{e.onload=()=>o(e),e.onerror=i;})};var Rt=async()=>{let[t,e,o,i]=await Promise.all([F("h","r",""),F("h","l",""),F("l","r",""),F("l","l","")]),n=await ne(),r=await re(),a=await ae(),s=await se(),l=["h","l"],c=["r","l"],m=Object.values(oe).filter(p=>p!==null),u=l.flatMap(p=>c.flatMap(h=>m.map(g=>({height:p,dir:h,color:g==="#99FF33"?"green":g})))),y=await Promise.all(u.map(({height:p,dir:h,color:g})=>F(p,h,g==="green"?"#99FF33":g)));return [{id:"icon-signal-h-r",image:t},{id:"icon-signal-h-l",image:e},{id:"icon-signal-l-r",image:o},{id:"icon-signal-l-l",image:i},{id:"icon-bumper",image:n},{id:"icon-jcw",image:r},{id:"icon-door",image:a},{id:"icon-stop",image:s},...y.map((p,h)=>{let g=u[h];if(g)return {id:`icon-signal-${g.height}-${g.dir}-${g.color}`,image:p}}).filter(p=>!!p)]};var zt=t=>({type:"raster",tiles:[t],scheme:"tms",tileSize:256}),Ft=t=>({type:"vector",tiles:[t],scheme:"tms",promoteId:"code"}),Gt=t=>({type:"vector",tiles:[t]}),$t=t=>({type:"vector",tiles:[t],scheme:"tms",promoteId:"code"}),At=t=>({type:"geojson",data:t||{type:"FeatureCollection",features:[]},promoteId:"code"}),Pt=(t,e)=>({type:"image",url:t,coordinates:e}),jt=(t,e)=>({type:"video",urls:t,coordinates:e}),Et=(t,e)=>({type:"canvas",canvas:t,coordinates:e}),x={geojson:At,raster:zt,graph:Ft,geom:$t,image:Pt,video:jt,canvas:Et,mbtiles:Gt};var Ie=(t,e)=>({id:`${t.id}_${e}`,type:"background",paint:{"background-color":"rgb(0,0,0)"}});var Ne=(t,e)=>[{id:`${t.id}_${e}_nocontact_none`,type:"line",source:t.id,"source-layer":e,filter:["==",["to-number",["get","nocontact"]],1],layout:{"line-join":"round"},paint:{"line-color":"rgb(110,110,110)","line-width":2}},{id:`${t.id}_${e}_nocontact_nopower_outer`,type:"line",source:t.id,"source-layer":e,filter:["==",["to-number",["get","nocontact"]],2],layout:{"line-join":"round"},paint:{"line-color":"rgb(0,230,0)","line-width":10}},{id:`${t.id}_${e}_nocontact_nopower_inner`,type:"line",source:t.id,"source-layer":e,filter:["==",["to-number",["get","nocontact"]],2],layout:{"line-join":"round"},paint:{"line-color":"rgb(0,0,0)","line-width":8}},{id:`${t.id}_${e}`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"rgb(85,120,182)","line-width":2}}];var Re=(t,e)=>[{id:`${t.id}_${e}`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"transparent","line-width":4}},{id:`${t.id}_${e}_red`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"red","line-width":4,"line-opacity":["case",["==",["feature-state","state"],1],1,0]}},{id:`${t.id}_${e}_white`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"white","line-width":4,"line-opacity":["case",["==",["feature-state","state"],2],1,0]}},{id:`${t.id}_${e}_grey`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round",visibility:"none"},paint:{"line-color":"grey","line-width":4,"line-opacity":["case",["==",["feature-state","state"],3],1,0]}}];var ze=(t,e)=>{let o=["interpolate",["exponential",2],["zoom"],8,.05,12,.15,16,.4,18,.6,22,1.4],i=[];return ["red","green","white","blue"].forEach(r=>{i.push({id:`${t.id}_${e}_${r}`,type:"symbol",source:t.id,"source-layer":e,layout:{"icon-image":["case",["==",["get","inst_type"],1],["case",["==",["get","posi_side"],1],`icon-signal-h-l-${r}`,`icon-signal-h-r-${r}`],["case",["==",["get","posi_side"],1],`icon-signal-l-l-${r}`,`icon-signal-l-r-${r}`]],"icon-size":o,"icon-rotate":["case",["==",["get","posi_side"],2],["+",270,["to-number",["get","angle"]]],["+",90,["to-number",["get","angle"]]]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","posi_side"],1],"bottom-left","bottom-right"],"icon-offset":[0,6.4]},paint:{"icon-opacity":["case",["all",["==",["feature-state","state"],r],["!=",["feature-state","visiable"],false]],1,0]}});}),[...i,{id:`${t.id}_${e}`,type:"symbol",source:t.id,"source-layer":e,minzoom:12,layout:{"icon-image":["case",["==",["get","inst_type"],1],["case",["==",["get","posi_side"],1],"icon-signal-h-l","icon-signal-h-r"],["case",["==",["get","posi_side"],1],"icon-signal-l-l","icon-signal-l-r"]],"icon-size":o,"icon-rotate":["case",["==",["get","posi_side"],2],["+",270,["to-number",["get","angle"]]],["+",90,["to-number",["get","angle"]]]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","posi_side"],1],"bottom-left","bottom-right"],"icon-offset":[0,6.4]}}]};var Fe=(t,e)=>[{id:`${t.id}_${e}_hitarea`,type:"circle",source:t.id,"source-layer":e,paint:{"circle-radius":["interpolate",["linear"],["zoom"],5,11],"circle-color":"red","circle-opacity":0}},{id:`${t.id}_${e}_text`,type:"symbol",source:t.id,"source-layer":e,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],8,1,15,6,20,14],"text-font":["Arial Unicode MS Bold"],"text-anchor":"bottom","text-offset":["interpolate",["linear"],["zoom"],15,["literal",[0,-0.5]],20,["literal",[0,-2]]],"symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":["match",["feature-state","state"],"2","rgb(0,230,0)","3","rgb(255,255,0)","4","rgb(255,0,0)","rgb(255,255,255)"]}},{id:`${t.id}_${e}_lock`,type:"circle",source:t.id,"source-layer":e,layout:{visibility:"visible"},paint:{"circle-radius":["interpolate",["linear"],["zoom"],5,8],"circle-stroke-width":1.7,"circle-stroke-color":["match",["feature-state","state"],"2","green","3","darkorange","4","red","white"],"circle-color":"transparent","circle-stroke-opacity":["case",["==",["feature-state","subState2"],"1"],1,0]}},{id:`${t.id}_${e}_danfen`,type:"symbol",source:t.id,"source-layer":e,layout:{"icon-image":"icon-red-box","icon-allow-overlap":true,"icon-offset":[0,15],"icon-size":["interpolate",["linear"],["zoom"],5,.2,10,.5,18,1]},paint:{"icon-opacity":["case",["==",["feature-state","subState3"],"1"],1,0]}}];var Ge=(t,e)=>[{id:`${t.id}_${e}`,type:"line",source:t.id,"source-layer":e,paint:{"line-color":"rgb(16,16,16)","line-width":3}},{id:`${t.id}_${e}_normal`,type:"line",source:t.id,"source-layer":e,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"2"]],paint:{"line-width":3,"line-color":"green","line-opacity":["case",["==",["feature-state","state"],"2"],1,0]}},{id:`${t.id}_${e}_reverse`,type:"line",source:t.id,"source-layer":e,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"3"]],paint:{"line-width":3,"line-color":"darkorange","line-opacity":["case",["==",["feature-state","state"],"3"],1,0]}},{id:`${t.id}_${e}_fourway`,type:"line",source:t.id,"source-layer":e,paint:{"line-width":3,"line-color":"#000000","line-opacity":["case",["==",["feature-state","state"],"4"],1,0]}},{id:`${t.id}_${e}_normal_white`,type:"line",source:t.id,"source-layer":e,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"2"]],paint:{"line-width":3,"line-color":"white","line-opacity":["case",["all",["==",["feature-state","state"],"2"],["==",["feature-state","subState1"],"2"]],1,0]}},{id:`${t.id}_${e}_reverse_white`,type:"line",source:t.id,"source-layer":e,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"3"]],paint:{"line-width":3,"line-color":"white","line-opacity":["case",["all",["==",["feature-state","state"],"3"],["==",["feature-state","subState1"],"2"]],1,0]}},{id:`${t.id}_${e}_normal_red`,type:"line",source:t.id,"source-layer":e,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"2"]],paint:{"line-width":3,"line-color":"red","line-opacity":["case",["all",["==",["feature-state","state"],"2"],["==",["feature-state","subState1"],"3"]],1,0]}},{id:`${t.id}_${e}_reverse_red`,type:"line",source:t.id,"source-layer":e,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"3"]],paint:{"line-width":3,"line-color":"red","line-opacity":["case",["all",["==",["feature-state","state"],"3"],["==",["feature-state","subState1"],"3"]],1,0]}}];var $e=(t,e)=>{let o=["interpolate",["exponential",2],["zoom"],8,0,12,.2,16,.6,18,1.2,22,1.8];return {id:`${t.id}_${e}`,type:"symbol",source:t.id,"source-layer":e,layout:{"icon-image":"icon-bumper","icon-size":o,"icon-rotate":["+",["to-number",["get","angle"]],360],"icon-allow-overlap":true,"icon-anchor":"left"}}};var Ae=(t,e)=>({id:`${t.id}_${e}`,type:"symbol",source:t.id,"source-layer":e,filter:["!=",["get","category"],2],layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],8,["case",["==",["get","category"],50],8,["==",["get","category"],96],4,1],15,["case",["==",["get","category"],50],14,["==",["get","category"],96],10,6],20,["case",["==",["get","category"],50],18,["==",["get","category"],96],16,14]],"text-font":["Arial Unicode MS Bold"],"symbol-placement":"point","text-allow-overlap":true,"text-offset":[0,.5],"text-anchor":["case",["==",["get","category"],1],"top","bottom"]},paint:{"text-color":["case",["==",["get","category"],3],"yellow",["==",["get","category"],1],"yellow","white"]}});var Pe=(t,e)=>{let o=["interpolate",["exponential",2],["zoom"],8,.1,12,.2,16,.4,18,.6,22,1.2];return [{id:`${t.id}_${e}`,type:"circle",source:t.id,"source-layer":e,filter:["!=",["get","category"],2],paint:{"circle-radius":o,"circle-stroke-width":o,"circle-stroke-color":"#ffbb00"},layout:{visibility:"none"}},{id:`${t.id}_${e}_qxjy`,type:"symbol",source:t.id,"source-layer":e,filter:["==",["get","overlimit"],true],layout:{"icon-image":"icon-overlimit","icon-size":o,"icon-allow-overlap":true,"icon-anchor":"center"}}]};var je=(t,e)=>{let o=["interpolate",["exponential",2],["zoom"],8,.1,12,.2,16,.4,18,.6,22,1.2];return [{id:`${t.id}_${e}_dk`,type:"circle",source:t.id,"source-layer":e,filter:["==",["get","uc_oob_type"],String(18)],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],8,1,12,2,16,3,18,4,22,5],"circle-color":"rgba(197, 207, 54, 0.8)","circle-stroke-width":1,"circle-stroke-color":"rgba(13, 10, 172, 0.9)"}},{id:`${t.id}_${e}_jcw`,type:"symbol",source:t.id,"source-layer":e,filter:["==",["get","uc_oob_type"],String(2)],layout:{"icon-image":"icon-jcw","icon-size":o,"icon-allow-overlap":true,"icon-anchor":"center","icon-rotate":0,"icon-rotation-alignment":"map"}},{id:`${t.id}_${e}_door`,type:"symbol",source:t.id,"source-layer":e,filter:["==",["get","uc_oob_type"],String(87)],layout:{"icon-image":"icon-door","icon-size":o,"icon-rotate":0,"icon-rotation-alignment":"map","icon-allow-overlap":true,"icon-anchor":"center"}},{id:`${t.id}_${e}_doorcenter`,type:"circle",source:t.id,"source-layer":e,filter:["==",["get","uc_oob_type"],String(87)],paint:{"circle-radius":2,"circle-color":"red"}},{id:`${t.id}_${e}_tgq`,type:"symbol",source:t.id,"source-layer":e,filter:["==",["get","uc_oob_type"],String(3)],layout:{"icon-image":"icon-stop","icon-size":o,"icon-allow-overlap":true,"icon-anchor":"bottom"}},{id:`${t.id}_${e}_circle`,type:"circle",source:t.id,"source-layer":e,minzoom:12,filter:["match",["get","uc_oob_type"],[String(8),String(20)],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],12,3,16,6,18,8,22,14],"circle-stroke-width":2,"circle-stroke-color":"red"}},{id:`${t.id}_${e}_text`,type:"symbol",source:t.id,"source-layer":e,minzoom:12,filter:["match",["get","uc_oob_type"],[String(8),String(20)],true,false],layout:{"text-field":["case",["==",["get","uc_oob_type"],String(8)],"\u505C",["==",["get","uc_oob_type"],String(20)],"\u754C",""],"text-font":["Open Sans Regular"],"text-size":["interpolate",["exponential",2],["zoom"],12,5,16,10,18,12,22,14],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"white"}}]};var Ee=(t,e)=>({id:`${t.id}_${e}`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"rgb(85,120,182)","line-width":2}});var We=(t,e)=>[{id:`${t.id}_${e}_gzt`,type:"line",source:t.id,"source-layer":e,filter:["==",["get","category"],60],paint:{"line-color":"rgb(39,126,165)","line-width":2}},{id:`${t.id}_${e}_tfbz`,type:"fill",source:t.id,"source-layer":e,filter:["==",["get","category"],66],paint:{"fill-color":"rgb(60, 122, 151)","fill-outline-color":"rgb(175 186 191)"}}];var Je=(t,e)=>({id:`${t.id}_${e}`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"rgb(175 186 191)","line-width":1}});var He=(t,e)=>({id:`${t.id}_${e}_jcb`,type:"circle",source:t.id,"source-layer":e,filter:["==",["get","category"],3],paint:{"circle-radius":["interpolate",["linear"],["zoom"],10,1,15,3,22,5],"circle-color":"red"}});var Wt={background:Ie,signal:ze,track:Ne,track_circuit:Re,bumper:$e,switch:Fe,switch_loc:Ge,insulation:Pe,label:Ae,prevention:je,region:Ee,display_polygon:We,display_line:Je,display_point:He},Be=t=>{let e=[],o=t.layers,i=t.sourceLayers;return !o||!i?[]:(o.forEach((n,r)=>{let a=Wt[n],s=i[r];if(s)if(a){let l=a(t,s);Array.isArray(l)?e.push(...l):e.push(l);}else console.warn(`\u56FE\u5C42 ${n} \u5C1A\u672A\u5B9E\u73B0`);}),e)};var De=(t,e)=>[{id:`${t.id}_${e}_hitarea`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"black","line-width":6,"line-opacity":["case",["==",["feature-state","select"],true],1,0]}},{id:`${t.id}_${e}`,type:"line",source:t.id,"source-layer":e,layout:{"line-join":"round"},paint:{"line-color":"#85A0D9","line-width":2}}];var Ue=(t,e)=>{let o=["interpolate",["exponential",2],["zoom"],12,0,16,.3,18,.5,20,1];return [{id:`${t.id}_${e}`,type:"symbol",source:t.id,"source-layer":e,layout:{"icon-image":["case",["==",["get","inst_type"],1],["case",["==",["get","posi_side"],2],"icon-signal-h-r","icon-signal-h-l"],["case",["==",["get","posi_side"],2],"icon-signal-l-r","icon-signal-l-l"]],"icon-allow-overlap":true,"icon-rotate":["case",["==",["get","posi_side"],2],["-",270,["to-number",["get","angle"]]],["-",90,["to-number",["get","angle"]]]],"icon-size":o,"icon-anchor":["case",["==",["get","posi_side"],1],"bottom-left","bottom-right"],"icon-offset":[0,2]},paint:{"icon-opacity":["case",["!=",["feature-state","visiable"],false],1,0]}},{id:`${t.id}_${e}_text`,type:"symbol",source:t.id,"source-layer":e,layout:{"text-field":["get","name"],"text-font":["Arial Unicode MS Bold"],"text-size":["interpolate",["linear"],["zoom"],12,5,14,8,18,14],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true,"text-offset":[0,.6]},paint:{"text-color":"gold"}}]};var qe=(t,e)=>[{id:`${t.id}_${e}`,type:"circle",source:t.id,"source-layer":e,paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,3,12,3,14,5,16,6,20,8],"circle-stroke-width":2,"circle-stroke-color":"red"}},{id:`${t.id}_${e}_text`,type:"symbol",source:t.id,"source-layer":e,layout:{"text-field":"\u6863","text-font":["Arial Unicode MS Bold"],"text-size":["interpolate",["linear"],["zoom"],10,6,12,8,14,10,16,12,20,12],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"white"}}];var Ke=(t,e)=>({id:`${t.id}_${e}`,type:"background",paint:{"background-color":"#131212"}});var Ve=(t,e)=>[{id:`${t.id}_${e}`,type:"circle",source:t.id,"source-layer":e,filter:["match",["to-string",["get","uc_oob_type"]],["2","8","20","87"],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,3,12,3,14,5,16,6,20,8],"circle-stroke-width":2,"circle-stroke-color":"red"}},{id:`${t.id}_${e}_text`,type:"symbol",source:t.id,"source-layer":e,layout:{"text-field":["case",["==",["to-string",["get","uc_oob_type"]],"2"],"\u7F51",["==",["to-string",["get","uc_oob_type"]],"8"],"\u505C",["==",["to-string",["get","uc_oob_type"]],"20"],"\u754C","\u95E8"],"text-font":["Arial Unicode MS Bold"],"text-size":["interpolate",["linear"],["zoom"],10,6,12,8,14,10,16,12,20,12],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"white"}}];var Jt={background:Ke,signal:Ue,track:De,track_circuit:null,bumper:qe,switch:null,switch_loc:null,insulation:null,label:null,prevention:Ve,sgfhqy:null,region:null,display_polygon:null,display_line:null,display_point:null},Ye=t=>{let e=[],o=t.layers,i=t.sourceLayers;return !o||!i?[]:(o.forEach((n,r)=>{let a=Jt[n],s=i[r];if(s)if(a){let l=a(t,s);Array.isArray(l)?e.push(...l):e.push(l);}else console.warn(`\u56FE\u5C42 ${n} \u5C1A\u672A\u5B9E\u73B0`);}),e)};var Ze=t=>[{id:`${t}_raster_layer`,type:"raster",source:t,paint:{"raster-opacity":.8}}];var Xe=t=>({id:`${t}_background`,type:"background",paint:{"background-color":"#131212"}});var Qe=t=>[{id:`${t}_track`,type:"line",source:t,filter:["any",["==",["get","isSurveying"],1],["!",["has","isSurveying"]]],layout:{"line-join":"round"},paint:{"line-color":"#85A0D9","line-width":2}},{id:`${t}_track_noSurveying`,type:"line",source:t,filter:["==",["get","isSurveying"],0],layout:{"line-join":"round"},paint:{"line-color":"#ccc","line-width":2,"line-dasharray":[2,2]}}];var et=t=>{let e=["interpolate",["exponential",2],["zoom"],12,2,16,3.5,18,4.5,20,5];return [{id:`${t}_trackcircuit_bad`,type:"line",source:t,layout:{"line-join":"round"},paint:{"line-color":["case",["==",["feature-state","state"],1],"#ff0000",["==",["feature-state","state"],2],"#ffffff",["==",["feature-state","state"],4],"#808080","#000000"],"line-width":e,"line-dasharray":[4,4],"line-opacity":["case",["==",["feature-state","substate"],0],1,0]}},{id:`${t}_trackcircuit_grey`,type:"line",source:t,layout:{"line-join":"round"},paint:{"line-color":"grey","line-width":e,"line-opacity":["case",["all",["==",["feature-state","state"],4],["!=",["feature-state","substate"],0]],1,0]}},{id:`${t}_trackcircuit_red`,type:"line",source:t,layout:{"line-join":"round"},paint:{"line-color":"red","line-width":e,"line-opacity":["case",["all",["==",["feature-state","state"],1],["!=",["feature-state","substate"],0]],1,0]}},{id:`${t}_trackcircuit_white`,type:"line",source:t,layout:{"line-join":"round"},paint:{"line-color":"white","line-width":e,"line-opacity":["case",["all",["==",["feature-state","state"],2],["!=",["feature-state","substate"],0]],1,0]}},{id:`${t}_trackcircuit_white_label`,type:"symbol",source:t,filter:["!=",["get","category"],2],maxzoom:22,minzoom:12,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,["case",["==",["get","category"],50],12,["==",["get","category"],96],10,9],22,["case",["==",["get","category"],50],18,["==",["get","category"],96],14,15]],"text-font":["Arial Unicode MS Bold"],"text-anchor":"bottom","text-offset":[0,-1],"symbol-placement":"point","text-allow-overlap":false},paint:{"text-color":"white","text-opacity":["case",["==",["feature-state","state"],2],1,0]}},{id:`${t}_trackcircuit_red_label`,type:"symbol",source:t,filter:["!=",["get","category"],2],maxzoom:22,minzoom:12,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,["case",["==",["get","category"],50],12,["==",["get","category"],96],10,9],22,["case",["==",["get","category"],50],18,["==",["get","category"],96],14,15]],"text-font":["Arial Unicode MS Bold"],"text-anchor":"bottom","text-offset":[0,-1],"symbol-placement":"point","text-allow-overlap":false},paint:{"text-color":"red","text-opacity":["case",["==",["feature-state","state"],1],1,0]}}]};var tt=t=>{let e=["interpolate",["exponential",2],["zoom"],12,.1,16,.3,18,.4,20,.75];return [...["red","green","white","blue"].map(i=>({id:`${t}_signal_${i}`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":["case",["==",["get","installType"],1],["case",["==",["get","positionSide"],1],`icon-signal-h-l-${i}`,`icon-signal-h-r-${i}`],["case",["==",["get","positionSide"],1],`icon-signal-l-l-${i}`,`icon-signal-l-r-${i}`]],"icon-size":e,"icon-rotate":["case",["==",["get","positionSide"],2],["+",270,["to-number",["get","angle"]]],["+",90,["to-number",["get","angle"]]]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["all",["==",["feature-state","state"],i],["!=",["feature-state","visiable"],false]],1,0]}})),{id:`${t}_signal`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":["case",["==",["get","installType"],1],["case",["==",["get","positionSide"],1],"icon-signal-h-l","icon-signal-h-r"],["case",["==",["get","positionSide"],1],"icon-signal-l-l","icon-signal-l-r"]],"icon-size":e,"icon-rotate":["case",["==",["get","positionSide"],2],["+",270,["to-number",["get","angle"]]],["+",90,["to-number",["get","angle"]]]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["any",["==",["feature-state","state"],"red"],["==",["feature-state","state"],"green"],["==",["feature-state","state"],"white"],["==",["feature-state","state"],"blue"]],0,["!=",["feature-state","visiable"],false],1,0]}}]};var it=t=>[{id:`${t}_switch_hitarea`,type:"circle",source:t,maxzoom:22,minzoom:13,paint:{"circle-radius":["interpolate",["linear"],["zoom"],5,11],"circle-color":"red","circle-opacity":0}},{id:`${t}_switch_text`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,11,22,15],"text-font":["Arial Unicode MS Bold"],"text-anchor":"top","text-offset":[0,.5],"symbol-placement":"point","text-allow-overlap":false},paint:{"text-color":["match",["feature-state","state"],String(2),I[2],String(3),I[3],String(4),I[4],"white"]}}];var ot=t=>[{id:`${t}_switchloc`,type:"line",source:t,maxzoom:22,minzoom:13,layout:{"line-cap":"round","line-join":"round"},paint:{"line-width":5,"line-color":"#000000"}},{id:`${t}_switchloc_normal`,type:"line",source:t,maxzoom:22,minzoom:13,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"2"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-width":4,"line-color":I[2],"line-opacity":["case",["==",["feature-state","state"],String(2)],1,0]}},{id:`${t}_switchloc_reverse`,type:"line",source:t,maxzoom:22,minzoom:13,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"3"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-width":4,"line-color":I[3],"line-opacity":["case",["==",["feature-state","state"],String(3)],1,0]}},{id:`${t}_switchloc_reverse`,type:"line",source:t,maxzoom:22,minzoom:13,filter:["any",["==",["get","location"],"1"],["==",["get","location"],"3"]],layout:{"line-cap":"round","line-join":"round"},paint:{"line-width":4,"line-color":I[4],"line-opacity":["case",["==",["feature-state","state"],String(4)],1,0]}}];var rt=t=>{let e=["interpolate",["exponential",2],["zoom"],12,.1,16,.5,18,.7,20,1.4];return {id:`${t}_bumper`,type:"symbol",source:t,maxzoom:22,minzoom:14,layout:{"icon-image":"icon-bumper","icon-size":e,"icon-rotate":["get","angle"],"icon-allow-overlap":true,"icon-anchor":"left"}}};var nt=t=>({id:`${t}_label`,type:"symbol",source:t,filter:["!=",["get","category"],2],layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,["case",["==",["get","category"],50],12,["==",["get","category"],96],10,9],22,["case",["==",["get","category"],50],18,["==",["get","category"],96],14,15]],"text-font":["Arial Unicode MS Bold"],"text-offset":[0,.5],"text-anchor":["case",["==",["get","category"],3],"top-left","bottom"],"symbol-placement":"point","text-allow-overlap":false},maxzoom:22,minzoom:12,paint:{"text-color":"yellow"}});var at=t=>{let e=["interpolate",["exponential",2],["zoom"],12,.5,15,1,16,1,17,2];return {id:`${t}_insulation`,type:"circle",source:t,filter:["!=",["get","category"],2],maxzoom:22,minzoom:14,paint:{"circle-radius":e,"circle-stroke-width":e,"circle-stroke-color":"#ffbb00"}}};var st=t=>[{id:`${t}_prevention_circle`,type:"circle",source:t,maxzoom:22,minzoom:12,filter:["match",["to-number",["get","uc_oob_type"]],[8,20],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,6,20,18],"circle-stroke-width":2,"circle-stroke-color":"red"}},{id:`${t}_prevention_text`,type:"symbol",source:t,filter:["match",["to-number",["get","uc_oob_type"]],[2,8,20],true,false],maxzoom:22,minzoom:12,layout:{"text-field":["case",["==",["to-number",["get","uc_oob_type"]],8],"\u505C",["==",["to-number",["get","uc_oob_type"]],20],"\u754C",["==",["to-number",["get","uc_oob_type"]],87],"\u95E8",""],"text-font":["Arial Unicode MS Bold"],"text-size":["interpolate",["linear"],["zoom"],10,4,20,16],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"white"}},{id:`${t}_prevention_crossing`,type:"circle",source:t,maxzoom:22,minzoom:14,filter:["match",["to-number",["get","uc_oob_type"]],[18],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,3,20,6],"circle-stroke-width":2.5,"circle-stroke-color":["case",["==",["feature-state","state"],2],"red",["==",["feature-state","state"],1],"green",["==",["feature-state","state"],255],"white","yellow"],"circle-color":"#ff6600"}},{id:`${t}_prevention_doorcircle`,type:"circle",source:t,maxzoom:22,minzoom:12,filter:["match",["to-number",["get","uc_oob_type"]],[87],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,6,20,18],"circle-stroke-width":2,"circle-stroke-color":["case",["==",["feature-state","state"],2],"red",["==",["feature-state","state"],1],"green",["==",["feature-state","state"],255],"white","yellow"]}},{id:`${t}_prevention_doortext`,type:"symbol",source:t,filter:["match",["to-number",["get","uc_oob_type"]],[87],true,false],maxzoom:22,minzoom:12,layout:{"text-field":"\u95E8","text-font":["Arial Unicode MS Bold"],"text-size":["interpolate",["linear"],["zoom"],10,4,20,16],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":["case",["==",["feature-state","state"],2],"red",["==",["feature-state","state"],1],"green",["==",["feature-state","state"],255],"white","yellow"]}}];var lt=t=>[{id:`${t}_label`,type:"symbol",source:t,maxzoom:22,minzoom:14,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,9,22,15],"text-font":["Arial Unicode MS Bold"],"text-anchor":"top","text-offset":[0,.8],"symbol-placement":"line-center","text-allow-overlap":false},paint:{"text-color":"#AA00FF"}},{id:`${t}_border`,type:"line",source:t,maxzoom:22,minzoom:12,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#8000FF","line-width":["interpolate",["linear"],["zoom"],12,2,15,4,18,10]}},{id:`${t}_fill`,type:"line",source:t,maxzoom:22,minzoom:12,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#00C853","line-width":["interpolate",["linear"],["zoom"],11,.5,15,1,18,4]}}];var ct=t=>[{id:`${t}_label`,type:"symbol",source:t,maxzoom:22,minzoom:12,layout:{"text-field":["concat",["get","name"],"\u96A7\u9053"],"text-size":["interpolate",["linear"],["zoom"],15,9,22,15],"text-font":["Arial Unicode MS Bold"],"text-anchor":"top","text-offset":[0,.8],"symbol-placement":"line-center","text-allow-overlap":false},paint:{"text-color":"#1677ff"}},{id:`${t}_border`,type:"line",source:t,maxzoom:22,minzoom:12,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#1677ff","line-width":["interpolate",["linear"],["zoom"],12,2,15,4,18,10]}},{id:`${t}_fill`,type:"line",source:t,maxzoom:22,minzoom:12,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#FFD600","line-width":["interpolate",["linear"],["zoom"],11,.5,15,1,18,4]}}];var pt=t=>{let e=["interpolate",["exponential",2],["zoom"],12,.1,16,.3,18,.4,20,.75];return [...["red","green","white","blue"].map(i=>({id:`${t}_signal_${i}`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":`icon-signal-l-l-${i}`,"icon-size":e,"icon-rotate":["+",90,["to-number",["get","angle"],0]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["all",["==",["feature-state","state"],i],["!=",["feature-state","visiable"],false]],1,0]}})),{id:`${t}_signal`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":"icon-signal-l-l","icon-size":e,"icon-rotate":["+",90,["to-number",["get","angle"],0]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["!=",["feature-state","visiable"],false],1,0]}}]};var Ht={background:Xe,signal:tt,track:Qe,track_circuit:et,bumper:rt,switch:it,switch_loc:ot,insulation:at,label:nt,prevention:st,bridge:lt,tunnel:ct,region_signal:pt},ut=(t,e)=>{let o=[];return t.forEach((i,n)=>{let r=e[n],a=Ht[i];if(!a){console.warn(`GeoJSON \u56FE\u5C42 ${i} \u5C1A\u672A\u5B9E\u73B0`);return}if(!r)return;let s=a(r);Array.isArray(s)?o.push(...s):o.push(s);}),o};var gt=t=>[{id:`${t}_track`,type:"line",source:t,layout:{"line-join":"round"},paint:{"line-color":"#1677ff","line-width":2.5}}];var mt=t=>{let e=["interpolate",["exponential",2],["zoom"],12,.1,16,.3,18,.4,20,.75],o=["red","green","white","blue"].map(i=>({id:`${t}_signal_${i}`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":["case",["==",["get","installType"],1],["case",["==",["get","positionSide"],1],`icon-signal-h-l-${i}`,`icon-signal-h-r-${i}`],["case",["==",["get","positionSide"],1],`icon-signal-l-l-${i}`,`icon-signal-l-r-${i}`]],"icon-size":e,"icon-rotate":["to-number",["get","angle"]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["all",["==",["feature-state","state"],i],["!=",["feature-state","visiable"],false]],1,0]}}));return [{id:`${t}_signal_label`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,9,22,15],"text-font":["Open Sans Regular"],"text-anchor":"bottom","text-offset":[0,-1],"symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"#E72D48"}},...o,{id:`${t}_signal`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":["case",["==",["get","installType"],1],["case",["==",["get","positionSide"],1],"icon-signal-h-l","icon-signal-h-r"],["case",["==",["get","positionSide"],1],"icon-signal-l-l","icon-signal-l-r"]],"icon-size":e,"icon-rotate":["to-number",["get","angle"]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["!=",["feature-state","visiable"],false],1,0]}}]};var ft=t=>[{id:`${t}_prevention_circle`,type:"circle",source:t,maxzoom:22,minzoom:12,paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,6,20,18],"circle-stroke-width":2,"circle-stroke-color":"red"}},{id:`${t}_prevention_text`,type:"symbol",source:t,maxzoom:22,minzoom:12,layout:{"text-field":"\u6321","text-font":["Open Sans Regular"],"text-size":["interpolate",["linear"],["zoom"],10,4,20,16],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"white"}}];var ht=t=>[{id:`${t}_prevention_circle`,type:"circle",source:t,maxzoom:22,minzoom:12,filter:["match",["to-number",["get","uc_oob_type"]],[8,20],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,6,20,18],"circle-stroke-width":2,"circle-stroke-color":"red"}},{id:`${t}_prevention_text`,type:"symbol",source:t,filter:["match",["to-number",["get","uc_oob_type"]],[2,8,20],true,false],maxzoom:22,minzoom:12,layout:{"text-field":["case",["==",["to-number",["get","uc_oob_type"]],8],"\u505C",["==",["to-number",["get","uc_oob_type"]],20],"\u754C",["==",["to-number",["get","uc_oob_type"]],87],"\u95E8",""],"text-font":["Open Sans Regular"],"text-size":["interpolate",["linear"],["zoom"],10,4,20,16],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"white"}},{id:`${t}_prevention_crossing`,type:"circle",source:t,maxzoom:22,minzoom:14,filter:["match",["to-number",["get","uc_oob_type"]],[18],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,3,20,6],"circle-stroke-width":2.5,"circle-stroke-color":["case",["==",["feature-state","state"],0],"red",["==",["feature-state","state"],1],"green",["==",["feature-state","state"],2],"white","yellow"],"circle-color":"#ff6600"}},{id:`${t}_prevention_doorcircle`,type:"circle",source:t,maxzoom:22,minzoom:12,filter:["match",["to-number",["get","uc_oob_type"]],[87],true,false],paint:{"circle-radius":["interpolate",["exponential",2],["zoom"],10,6,20,18],"circle-stroke-width":2,"circle-stroke-color":["case",["==",["feature-state","state"],0],"red",["==",["feature-state","state"],1],"green",["==",["feature-state","state"],2],"white","yellow"]}},{id:`${t}_prevention_doortext`,type:"symbol",source:t,filter:["match",["to-number",["get","uc_oob_type"]],[87],true,false],maxzoom:22,minzoom:12,layout:{"text-field":"\u95E8","text-font":["Open Sans Regular"],"text-size":["interpolate",["linear"],["zoom"],10,4,20,16],"text-anchor":"center","symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":["case",["==",["feature-state","state"],0],"red",["==",["feature-state","state"],1],"green",["==",["feature-state","state"],2],"white","yellow"]}}];var dt=t=>[{id:`${t}_label`,type:"symbol",source:t,maxzoom:22,minzoom:10,layout:{"text-field":["concat",["get","name"],"\u5927\u6865"],"text-size":["interpolate",["linear"],["zoom"],15,24,22,32],"text-font":["Open Sans Regular"],"text-anchor":"bottom","text-offset":[0,1],"symbol-placement":"line-center","text-allow-overlap":false},paint:{"text-color":"#FF770F"}},{id:`${t}_border`,type:"line",source:t,maxzoom:22,minzoom:10,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#FF770F","line-width":["interpolate",["linear"],["zoom"],12,2,15,4,18,10]}},{id:`${t}_fill`,type:"line",source:t,maxzoom:22,minzoom:10,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#00C853","line-width":["interpolate",["linear"],["zoom"],11,.5,15,1,18,4]}}];var yt=t=>[{id:`${t}_label`,type:"symbol",source:t,maxzoom:22,minzoom:10,layout:{"text-field":["concat",["get","name"],"\u96A7\u9053"],"text-size":["interpolate",["linear"],["zoom"],15,24,22,32],"text-font":["Open Sans Regular"],"text-anchor":"top","text-offset":[0,2],"symbol-placement":"line-center","text-allow-overlap":false},paint:{"text-color":"#E6397C"}},{id:`${t}_border`,type:"line",source:t,maxzoom:22,minzoom:10,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#E6397C","line-width":["interpolate",["linear"],["zoom"],12,2,15,4,18,10]}},{id:`${t}_fill`,type:"line",source:t,maxzoom:22,minzoom:10,layout:{"line-join":"round","line-cap":"butt"},paint:{"line-color":"#FFD600","line-width":["interpolate",["linear"],["zoom"],11,.5,15,1,18,4]}}];var St=t=>{let e=["interpolate",["exponential",2],["zoom"],12,.1,16,.3,18,.4,20,.75],o=["red","green","white","blue"].map(i=>({id:`${t}_signal_${i}`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":`icon-signal-l-l-${i}`,"icon-size":e,"icon-rotate":["to-number",["get","angle"]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["all",["==",["feature-state","state"],i],["!=",["feature-state","visiable"],false]],1,0]}}));return [{id:`${t}_signal_label`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],15,9,22,15],"text-font":["Open Sans Regular"],"text-anchor":"bottom","text-offset":[0,-1],"symbol-placement":"point","text-allow-overlap":true},paint:{"text-color":"#E72D48"}},...o,{id:`${t}_signal`,type:"symbol",source:t,maxzoom:22,minzoom:13,layout:{"icon-image":"icon-signal-l-l","icon-size":e,"icon-rotate":["to-number",["get","angle"]],"icon-allow-overlap":true,"icon-anchor":["case",["==",["get","positionSide"],1],"bottom-left","bottom-right"]},paint:{"icon-opacity":["case",["!=",["feature-state","visiable"],false],1,0]}}]};var Bt={signal:mt,track:gt,bumper:ft,prevention:ht,bridge:dt,tunnel:yt,region_signal:St},bt=(t,e)=>{let o=[];return t.forEach((i,n)=>{let r=e[n],a=Bt[i];if(!a){console.warn(`GeoJSON \u56FE\u5C42 ${i} \u5C1A\u672A\u5B9E\u73B0`);return}if(!r)return;let s=a(r);Array.isArray(s)?o.push(...s):o.push(s);}),o};var w={graph:Be,geom:Ye,raster:Ze,geojson:ut,geojsonGeom:bt};function qt(t,e){let o=this.map;if(o&&!o.getSource(t)){let i=x.graph(e);o.addSource(t,i);}}function Kt(t,e){let o=this.map;if(o&&!o.getSource(t)){let i=x.raster(e);o.addSource(t,i);}}function Vt(t,e){let o=this.map;if(!o){console.error("\u5730\u56FE\u5B9E\u4F8B\u672A\u521D\u59CB\u5316");return}try{if(o.getSource(t))console.warn(`\u6E90\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7\u6DFB\u52A0: ${t}`);else {let i=e?x.geojson(e):x.geojson(void 0);o.addSource(t,i),console.log(`\u6210\u529F\u6DFB\u52A0 GeoJSON \u6E90: ${t}`);}}catch(i){console.error(` \u6DFB\u52A0\u6E90\u5931\u8D25 [${t}]:`,i);}}function Yt(t){let e=this.map;if(e)if(e.getSource(t))try{(e.getStyle().layers||[]).filter(n=>{if("source"in n)return n.source===t}).forEach(n=>{e.removeLayer(n.id),console.log(`\u79FB\u9664\u5173\u8054\u56FE\u5C42: ${n.id}`);}),e.removeSource(t),console.log(`\u6210\u529F\u79FB\u9664\u6E90: ${t}`);}catch(o){console.error(`\u79FB\u9664\u6E90\u5931\u8D25 [${t}]:`,o);}else console.warn(`\u6E90\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u79FB\u9664: ${t}`);}function Zt(t,e){let o=this.map;if(!o)return;let i=o.getSource(t);i?(i.setData(e),console.log(`\u66F4\u65B0\u6E90\u6570\u636E: ${t}`)):this.addGeoJsonSource(t,e);}function Xt(t){let e=this.map;if(!e||!e.getSource(t))return null;let i=e.querySourceFeatures(t);return JSON.parse(JSON.stringify({type:"FeatureCollection",features:i}))}function Qt(t,e,o="fill",i,n){let r=this.map;if(!r)return;if(!r.getSource(e)){console.error(`\u65E0\u6CD5\u6DFB\u52A0\u56FE\u5C42: \u6E90 '${e}' \u4E0D\u5B58\u5728`);return}r.getLayer(t)&&r.removeLayer(t);let a={};o==="fill"&&(a["fill-color"]="#3b82f6"),o==="line"&&(a["line-color"]="#3b82f6"),o==="circle"&&(a["circle-color"]="#3b82f6");let s={id:t,type:o,source:e,paint:{...a,...i},layout:n||{}};r.addLayer(s);}function ei(t,e){let o=this.map;o&&(o.getLayer(t)?(Object.keys(e).forEach(i=>{o.setPaintProperty(t,i,e[i]);}),console.log(`\u6837\u5F0F\u5DF2\u66F4\u65B0: ${t}`)):console.warn(` \u56FE\u5C42\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u66F4\u65B0\u6837\u5F0F: ${t}`));}function ti(t){let e=this.map;e&&(e.getLayer(t)?(e.removeLayer(t),console.log(`\u56FE\u5C42\u5DF2\u79FB\u9664: ${t}`)):console.warn(` \u56FE\u5C42\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u5220\u9664: ${t}`));}function ii(t,e){let o=this.map;if(!o)return;let i=Array.isArray(t)?t:[t];o.on("click",n=>{let r=o.queryRenderedFeatures(n.point,{layers:i});if(!r.length)return;let a=r[0];e(a,n.lngLat);}),o.on("mouseenter",i,()=>{o.getCanvas().style.cursor="pointer";}),o.on("mouseleave",i,()=>{o.getCanvas().style.cursor="";});}function Lt(t,e,o){let i=2**o,n=Math.floor((t+180)/360*i),r=e*Math.PI/180,a=Math.floor((1-Math.log(Math.tan(r)+1/Math.cos(r))/Math.PI)/2*i);return {x:n,y:a}}function oi(t,e){let[o,i,n,r]=t,a=2**e-1,s=Lt(o,r,e),l=Lt(n,i,e),c=Math.max(0,s.x),m=Math.min(a,l.x),u=Math.max(0,s.y),y=Math.min(a,l.y),p=[];for(let h=c;h<=m;h++)for(let g=u;g<=y;g++)p.push({x:h,y:a-g,z:e});return p}async function ri(t){let e=this.mapConfigs?.sourceUrl;if(!e){console.warn("fetchAllTiles: \u672A\u627E\u5230 sourceUrl");return}let o=this.map.getBounds().toArray().flat(),i=t??Math.floor(this.map.getZoom());if(i<8){console.warn(`fetchAllTiles: zoom=${i} \u592A\u4F4E\u4E86\uFF0C\u74E6\u7247\u6570\u91CF\u4F1A\u975E\u5E38\u591A\uFF0C\u5DF2\u8DF3\u8FC7`);return}let n=oi(o,i);console.log(`fetchAllTiles: \u51C6\u5907\u62C9\u53D6 ${n.length} \u4E2A\u74E6\u7247 (zoom=${i}, bounds=${o.join(",")})`);let r=0,a=await Promise.allSettled(n.map(async({x:s,y:l})=>{let c=e.replace("{z}",String(i)).replace("{x}",String(s)).replace("{y}",String(l)),m=await fetch(c);if(!m.ok)throw new Error(`HTTP ${m.status}`);let u=await m.arrayBuffer();return {x:s,y:l,buffer:u}}));for(let s of a){if(s.status==="rejected"){console.warn(s.reason);continue}let{x:l,y:c,buffer:m}=s.value;try{let u=new vectorTile.VectorTile(new pbf.PbfReader(new Uint8Array(m)));for(let[y,p]of Object.entries(u.layers))for(let h=0;h<p.length;h++){let g=p.feature(h),S=g.toGeoJSON(l,c,i),b=g.properties.code;b&&!this.stashFeatures.get(b)&&this.stashFeatures.set(b,{sourceLayer:y,properties:S.properties});}r++;}catch{}}console.log(`fetchAllTiles: \u6210\u529F\u62C9\u53D6 ${r}/${n.length} \u4E2A\u74E6\u7247\uFF0C\u7F13\u5B58\u5171 ${this.stashFeatures.size} \u6761\u8981\u7D20`);}function le(t){t.fetchAllTiles=ri,t.addGeoJsonSource=Vt,t.addVectorTileSource=qt,t.addRasterTileSource=Kt,t.updateGeoJsonSource=Zt,t.getGeoJsonSourceData=Xt,t.removeSource=Yt,t.addGeoJsonLayer=Qt,t.updateLayerStyle=ei,t.removeLayer=ti,t.onFeatureClick=ii;}var H=class{constructor(){this.signalExist=true;this.interlockInfo=new Map;}getProductInfo(){return this.productInfo}getStCode(){return this.stationCode}getInterlockInfo(){return this.interlockInfo}isSignalExist(){return this.signalExist}setYardSignal(e){let o=e.split("&");this.time=o[0]??"";let i=[],n=[],r=[];this.stationCode=o[1]??"";let a=o[1],s=0;o.length===6&&(this.productInfo=o[2]??"",s=1);let l=o[2],c=a+":"+l;if(o[2+s]){let m=o[2+s].split(";");for(let u of m){let y=u.split(":");i.push({name:y[0]+":"+a,state:y[1]??""});}}if(o[3+s]){let m=o[3+s].split(";");for(let u of m){let y=u.split(":");n.push({name:y[0]+":"+a,state:y[1]??""});}}if(o[4+s]){let m=o[4+s].split(";");for(let u of m){let y=u.split(":");r.push({name:y[0]+":"+a,state:y[1]??""});}}this.interlockInfo.set(c,{signalInterlock:i,switchInterlock:n,circuitInterlock:r});}reset(){}resetInterlockInfo(){this.interlockInfo=new Map;}};var B=class{constructor(){this.insulationSignalMap=new Map;this.signalInsulationMap=new Map;}setInsulation(e){this.insulationSignalMap.clear(),this.signalInsulationMap.clear(),e.length===0&&console.warn("\u6CA1\u6709\u7EDD\u7F18\u8282\u6570\u636E\uFF01"),e.forEach(o=>{let i=String(o.id??o.properties.code??""),n=o.properties.upSignal??null,r=o.properties.downSignal??null,a=o.properties.name??"";this.insulationSignalMap.set(i,{upsignal:n,downsignal:r}),n!==null&&this.signalInsulationMap.set(n,i+"-"+a),r!==null&&this.signalInsulationMap.set(r,i+"-"+a);});}getInsulationBySignalKey(e){return this.signalInsulationMap.get(e)}getSignalByInsulationKey(e){return this.insulationSignalMap.get(e)}};var R=class{constructor(e){this.signalStore=new H;this.interLockInsulation=new B;this.interLockState={signal:new Map,switch:new Map,circuit:new Map};this.pathCircuits=[];this.pathCircuitsCodes=[];this.linkWhiteCircuits=[];this.signalEnable=false;this.stationSignalState=[];this.filterCodes=[];this.firstSwitches=e.firstSwitches??[],this.updateFeatureState=e.updateFeatureState,this.queryGeojsonFeatures=e.queryGeojsonFeatures,this.getFeatureState=e.getFeatureState,this.layers=e.sourceIds;}queryFeatures(e){let o=e.replace("geojson_station_","");return this.queryGeojsonFeatures(o)}initInsulation(){let e=this.queryFeatures("insulation");this.interLockInsulation.setInsulation(e);}handleSignalData(e){if(this.signalStore.resetInterlockInfo(),!e||e.length===0?this.signalStore.signalExist=false:(this.signalStore.signalExist=true,this.signalStore.setYardSignal(e)),!this.signalStore.isSignalExist())return;this.signalStore.getInterlockInfo().forEach((i,n)=>{let r=n.split(":")[0],a=n.split(":")[1];this.arrToMap(this.interLockState.signal,i.signalInterlock),this.arrToMap(this.interLockState.switch,i.switchInterlock),this.arrToMap(this.interLockState.circuit,i.circuitInterlock),a==="ZK01"?this.visualizeZK(i,a,r??""):this.visualizeYD(i,a??"",r??"");});}turnOffSignals(){this.interLockState={signal:new Map,switch:new Map,circuit:new Map};}reset(e){this.clearCircuits(e),this.clearSwitchLocs(e);}clearCircuits(e){this.queryFeatures("track_circuit").forEach(i=>{i.properties.stcode===e&&this.updateFeatureState(i.properties.code,{state:"",visiable:true});});}clearSwitchLocs(e){this.queryFeatures("switch_loc").forEach(i=>{i.properties.stcode===e&&this.updateFeatureState(i.properties.code,{state:"",visiable:true});});}visualizeZK(e,o,i){this.reset(i);for(let n of e.signalInterlock){let r=n.name.split(":")[0],a=n.name.split(":")[1],s=this.getSignalFeature(r??"",a??"");s&&this.updateFeatureState(s.properties.code,{state:Q[Number(n.state)],visiable:true});}for(let n of e.switchInterlock){let r=n.name.split(":")[0],a=n.name.split(":")[1];this.getSwitchLocFeatures(r??"",a??"",n.state).forEach(l=>{this.updateFeatureState(l.properties.code,{state:n.state});});}for(let n of e.switchInterlock){let r=n.name.split(":")[0],a=n.name.split(":")[1],s=this.getSwitchFeatures(r??"",a??"");s&&this.updateFeatureState(s.properties.code,{state:n.state});}for(let n of e.circuitInterlock){let r=n.name.split(":")[0],a=n.name.split(":")[1],s=this.getCircuitFeature(r??"",a??"");s&&this.updateFeatureState(s.properties.code,{state:Number(n.state),visiable:true});}this.applyHandSwitchPaths(i,e.switchInterlock);}visualizeYD(e,o,i){this.reset(i);for(let r of e.signalInterlock){let a=r.name.split(":")[0],s=r.name.split(":")[1],l=this.getSignalFeature(a??"",s??"");l&&this.updateFeatureState(l.properties.code,{state:Q[Number(r.state)],visiable:true});}for(let r of e.switchInterlock){let a=r.name.split(":")[0],s=r.name.split(":")[1];this.getSwitchLocFeatures(a??"",s??"",r.state).forEach(c=>{this.updateFeatureState(c.properties.code,{state:r.state,visiable:true});});}this.pathCircuits=[],this.pathCircuitsCodes=[],this.linkWhiteCircuits=[];for(let r of e.circuitInterlock){let a=r.name.split(":")[0],s=r.name.split(":")[1],l=this.getCircuitFeature(a??"",s??"");l&&(this.pathCircuits.push(l),this.pathCircuitsCodes.push(String(l.properties.code??"")));}for(let r of e.circuitInterlock){let a=r.name.split(":")[0],s=r.name.split(":")[1],l=this.getCircuitFeature(a??"",s??"");if(!l){console.warn("\u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u533A\u6BB5YD",r.name,r.state);continue}if(r.state==="1")this.updateFeatureState(l.properties.code,{state:r.state,controlName:"",visiable:true});else {let c=String(l.properties?.fromCode??""),m=String(l.properties?.toCode??"");try{let u=this.getCircuitState([c,m],null);u?(this.updateFeatureState(l.properties.code,{state:u.circuitState,controlName:u.controlName,link:u.controlName!==""?0:void 0,visiable:!0}),u.controlName!==""&&this.linkWhiteCircuits.push(l)):this.updateFeatureState(l.properties.code,{state:r.state,visiable:!0});}catch(u){if(u instanceof Error&&u.message!=="End Loop")throw u}}}this.queryFeatures("track_circuit").forEach(r=>{let a=String(r.properties?.code??""),s=this.linkWhiteCircuits.find(l=>String(l.properties?.code??"")===a);if(s){let l=this.getFeatureState(r.id);l.state!=="2"&&l.state!==2&&l.state!=="1"&&l.state!==1&&this.updateFeatureState(r.properties.code,{state:2,link:1,controlName:s.properties?.controlName??"",visiable:true});}}),this.applyHandSwitchPaths(i,e.switchInterlock);}applyHandSwitchPaths(e,o){let i=[];for(let n of this.firstSwitches)this.findHandSwitchPath(n,e,o,i,[]);i.forEach(n=>{this.updateFeatureState(n,{state:5,visiable:true});});}findHandSwitchPath(e,o,i,n,r){let a=this.findSwitchInfo(e,o,i);if(!this.validSwitchInfo(a))return;let s=this.getSwitchLocFeatures(e,o,a.state);for(let l of s){let c=String(l.properties?.t_code??""),m=String(l.properties?.s_code??""),u=this.getTrackByCode(c);if(!u)continue;let y=String(u.properties?.fromCode??""),p=String(u.properties?.toCode??""),h=u.properties?.fromLyr,g=u.properties?.toLyr,S="",b=null;if(y===m?(S=p,b=g):p===m&&(S=y,b=h),b===2){let _=this.getSwitchByCode(S);if(_){n.push(c);let k=String(_.properties?.name??""),G=this.findSwitchInfo(k,o,i);G&&this.validSwitchInfo(G)&&!r.includes(k)&&this.doseTrackConnectSwitch(c,G)&&(r.push(e),this.findHandSwitchPath(k,o,i,n,r));}}else n.push(c);}}doseTrackConnectSwitch(e,o){let i=o.name.split(":")[0],n=o.name.split(":")[1];return this.getSwitchLocFeatures(i??"",n??"",o.state).some(a=>String(a.properties?.t_code??"")===e)}getCircuitState(e,o){let i=4,n=null;try{e.forEach((r,a)=>{let s=this.interLockInsulation.getSignalByInsulationKey(r),l=this.getInsulationSignalState(s??null);if(o===null&&l!==null&&(n=l),l===null&&o!==null&&(l={name:o.name,dir:o.dir,state:"3"}),l!==null&&l.state==="3"){i=2;let c=e.find(u=>u!==r),m=this.findNextCircuit(c,l);if(m!==null){let u=this.interLockInsulation.getSignalByInsulationKey(c);if(this.getControlSignalState(u??null,l)!==4){let p=String(m.properties?.fromCode??""),h=String(m.properties?.toCode??""),g={...m,properties:{...m.properties,controlName:l.name}};this.linkWhiteCircuits.push(g),this.getCircuitState([p,h],l);}}}});}catch(r){console.error(r);}return {circuitState:i,controlName:n!==null?n.name:""}}findNextCircuit(e,o){let i=this.pathCircuits.find(r=>{let a=String(r.properties?.fromCode??""),s=String(r.properties?.toCode??"");return o.dir==="up"&&a===e||o.dir==="down"&&s===e});return i?this.linkWhiteCircuits.find(r=>String(r.properties?.code??"")===String(i.properties?.code??""))?null:i:null}getInsulationSignalState(e){if(!e)return null;if(e.upsignal){let o=this.getSignalById(e.upsignal);if(o){let i=String(o.properties?.name??""),n=String(o.properties?.stcode??""),r=this.interLockState.signal.get(i+":"+n);if(r==="3")return {name:i,state:r,dir:"up"}}}if(e.downsignal){let o=this.getSignalById(e.downsignal);if(o){let i=String(o.properties?.name??""),n=String(o.properties?.stcode??""),r=this.interLockState.signal.get(i+":"+n);if(r==="3")return {name:i,state:r,dir:"down"}}}return null}getControlSignalState(e,o){if(e){if(o.dir==="up"&&e.upsignal){let i=this.getSignalById(e.upsignal);if(i){let n=String(i.properties?.name??""),r=String(i.properties?.stcode??"");return this.interLockState.signal.get(n+":"+r)}}if(o.dir==="down"&&e.downsignal){let i=this.getSignalById(e.downsignal);if(i){let n=String(i.properties?.name??""),r=String(i.properties?.stcode??"");return this.interLockState.signal.get(n+":"+r)}}}}getSignalFeature(e,o){return this.queryFeatures("signal").find(i=>i.properties?.name===e&&String(i.properties?.code??"").includes(o))}getSignalById(e){return this.queryFeatures("signal").find(o=>String(o.id??o.properties?.code??"")===e)}getSwitchLocFeatures(e,o,i){let n=this.queryFeatures("switch").find(s=>s.properties?.name===e&&String(s.properties?.code??"").includes(o));if(!n)return [];let r=String(n.properties?.code??""),a=this.queryFeatures("switch_loc");return i==="4"?a.filter(s=>String(s.properties?.s_code??"")===r):a.filter(s=>String(s.properties?.s_code??"")===r&&(String(s.properties?.location??"")===i||String(s.properties?.location??"")==="1"))}getSwitchFeatures(e,o){return this.queryFeatures("switch").find(i=>i.properties?.name===e&&String(i.properties?.code??"").includes(o))}getSwitchByCode(e){return this.queryFeatures("switch").find(o=>String(o.id??o.properties?.code??"")===e)}getTrackByCode(e){return this.queryFeatures("track").find(o=>String(o.id??o.properties?.code??"")===e)}getCircuitFeature(e,o){let i=this.queryFeatures("track_circuit").filter(r=>r.properties?.name===e&&String(r.properties?.code??"").includes(o));if(i.length===0)return;let n;if(i.length>=1&&(i[0].properties?.type==="1"||i[0].properties?.type===1))return i[0];for(let r of i){if(n)break;if(r.properties?.type===2||r.properties?.type==="2"){let a=String(r.properties?.switches??"").split(","),s=String(r.properties?.positions??"").replace(/\s+/g,"").split(",").filter(l=>l!=="1");for(let l=0;l<a.length;l++){let c=a[l],m=s[l],u=this.getSwitchNameByCode(c??"");if(!u)break;let y=this.interLockState.switch.get(u+":"+c?.substring(0,9));if(m!==y)break;if(l===a.length-1){n=r;break}}}}return n}getSwitchNameByCode(e){let o=this.queryFeatures("switch").find(i=>String(i.properties?.code??"")===e);return o?String(o.properties?.name??""):void 0}findSwitchInfo(e,o,i){let n=e+":"+o;return i.find(r=>r.name===n)??null}validSwitchInfo(e){return e?e.state==="2"||e.state==="3":false}arrToMap(e,o){o?.forEach(i=>e.set(i.name,i.state));}startRunning(){this.signalEnable=true;}stopRunning(){this.signalEnable=false;}setSendSignalCallback(e){this.onSendSignal=e;}setStationSignalState(e,o=[]){this.stationSignalState=e,this.filterCodes=o;}sendSignal(){if(!this.signalEnable||this.interLockState.signal.size===0&&this.interLockState.switch.size===0&&this.interLockState.circuit.size===0)return;let e=Math.floor(Date.now()/1e3),o=new Map,i=[];this.interLockState.signal.forEach((r,a)=>{let s=a.split(":")[0],l=a.split(":")[1],c=o.get(l??"");c=c?c+s+":"+r+";":s+":"+r+";",o.set(l??"",c);}),o.forEach((r,a)=>{o.set(a,(r.endsWith(";")?r.slice(0,-1):r)+"&");}),this.interLockState.switch.forEach((r,a)=>{let s=a.split(":")[0],l=a.split(":")[1],c=Number(r),m=o.get(l??"");if(m!==void 0)if(c===5||c===6){let u=c===5?2:3;m+=s+":"+u+";",m+=s+"-F:"+r+";";}else m+=s+":"+r+";";else if(c===5||c===6){let u=c===5?2:3;m="&"+s+":"+u+";",m+=s+"-F:"+r+";";}else m="&"+s+":"+r+";";o.set(l??"",m);}),o.forEach((r,a)=>{o.set(a,(r.endsWith(";")?r.slice(0,-1):r)+"&");});let n=new Map;this.interLockState.circuit.forEach((r,a)=>{let s=a.split(":")[0]??"",l=a.split(":")[1]??"",c=l+"_"+s;n.get(c)?(r==="1"||r==="2")&&n.set(c,{name:s,yard:l,state:r}):n.set(c,{name:s,yard:l,state:r});}),n.forEach(r=>{let a=o.get(r.yard);a=a?a+r.name+":"+r.state+";":"& &"+r.name+":"+r.state+";",o.set(r.yard,a);}),o.forEach((r,a)=>{let s=r.endsWith(";")?r.slice(0,-1):r;i.push(e+"&"+a+"&"+s);}),i.length>0&&this.onSendSignal?.(i);}pauseSignal(){this.interLockState.circuit.forEach((e,o)=>this.interLockState.circuit.set(o,"0")),this.interLockState.signal.forEach((e,o)=>this.interLockState.signal.set(o,"0")),this.interLockState.switch.forEach((e,o)=>this.interLockState.switch.set(o,"0")),this.sendSignal();}collectStateAndSend(){if(!this.signalEnable)return;let e=Math.floor(Date.now()/1e3),o=new Map,i=[],n={unset:"0",red:"1",green:"2",white:"3",blue:"4"};for(let[r,a]of Object.entries(this.layers)){for(let c of this.queryFeatures(a.signal?.replace("geojson_station_","")??"")){let m=String(c.properties?.name??""),u=String(c.properties?.code??""),y=String(c.properties?.stcode??u.substring(0,9));if(!m||!u||!y||!this.stationSignalState.includes(y))continue;let p=this.filterCodes.length&&this.filterCodes.includes(u)?"unset":String(this.getFeatureState(u)?.state??"");if(!p)continue;let h=n[p]??p,g=o.get(y);o.set(y,g?g+m+":"+h+";":m+":"+h+";");}o.forEach((c,m)=>o.set(m,(c.endsWith(";")?c.slice(0,-1):c)+"&"));let s=this.queryFeatures(a.switch_loc?.replace("geojson_station_","")??"");for(let c of this.queryFeatures(a.switch?.replace("geojson_station_","")??"")){let m=String(c.properties?.name??""),u=String(c.properties?.code??""),y=String(c.properties?.stcode??u.substring(0,9));if(!m||!u||!y||!this.stationSignalState.includes(y))continue;let p=s.find(b=>String(b.properties?.s_code??"")===u&&String(b.properties?.location??"")==="1")??s.find(b=>String(b.properties?.s_code??"")===u);if(!p)continue;let h=this.filterCodes.length&&this.filterCodes.includes(u)?"0":String(this.getFeatureState(String(p.properties?.code??""))?.state??"");if(!h)continue;let g=Number(h),S=o.get(y);S!==void 0?S+=g===5||g===6?m+":"+(g===5?2:3)+";"+m+"-F:"+h+";":m+":"+h+";":S="&"+(g===5||g===6?m+":"+(g===5?2:3)+";"+m+"-F:"+h+";":m+":"+h+";"),o.set(y,S);}o.forEach((c,m)=>o.set(m,(c.endsWith(";")?c.slice(0,-1):c)+"&"));let l=new Map;for(let c of this.queryFeatures(a.track_circuit?.replace("geojson_station_","")??"")){let m=String(c.properties?.name??""),u=String(c.properties?.code??""),y=String(c.properties?.stcode??u.substring(0,9));if(!m||!u||!y||!this.stationSignalState.includes(y))continue;let p=this.filterCodes.length&&this.filterCodes.includes(u)?"0":String(this.getFeatureState(u)?.state??"");if(!p)continue;let h=y+"_"+m;l.get(h)?(p==="1"||p==="2")&&l.set(h,{name:m,stcode:y,state:p}):l.set(h,{name:m,stcode:y,state:p});}l.forEach(c=>{let m=o.get(c.stcode);o.set(c.stcode,m?m+c.name+":"+c.state+";":"& &"+c.name+":"+c.state+";");});}o.forEach((r,a)=>{let s=r.endsWith(";")?r.slice(0,-1):r;i.push(e+"&"+a+"&"+s);}),i.length>0&&this.onSendSignal?.(i);}collectState(){let e=Math.floor(Date.now()/1e3),o=new Map,i=[],n={unset:"0",red:"1",green:"2",white:"3",blue:"4"};for(let[r,a]of Object.entries(this.layers)){for(let c of this.queryFeatures(a.signal?.replace("geojson_station_","")??"")){let m=String(c.properties?.name??""),u=String(c.properties?.code??""),y=String(c.properties?.stcode??u.substring(0,9));if(!m||!u||!y)continue;let p=this.filterCodes.length&&this.filterCodes.includes(u)?"unset":String(this.getFeatureState(u)?.state??"");if(!p)continue;let h=n[p]??p,g=o.get(y);o.set(y,g?g+m+":"+h+";":m+":"+h+";");}o.forEach((c,m)=>o.set(m,(c.endsWith(";")?c.slice(0,-1):c)+"&"));let s=this.queryFeatures(a.switch_loc?.replace("geojson_station_","")??"");for(let c of this.queryFeatures(a.switch?.replace("geojson_station_","")??"")){let m=String(c.properties?.name??""),u=String(c.properties?.code??""),y=String(c.properties?.stcode??u.substring(0,9));if(!m||!u||!y)continue;let p=s.find(b=>String(b.properties?.s_code??"")===u&&String(b.properties?.location??"")==="1")??s.find(b=>String(b.properties?.s_code??"")===u);if(!p)continue;let h=this.filterCodes.length&&this.filterCodes.includes(u)?"0":String(this.getFeatureState(String(p.properties?.code??""))?.state??"");if(!h)continue;let g=Number(h),S=o.get(y);S!==void 0?S+=g===5||g===6?m+":"+(g===5?2:3)+";"+m+"-F:"+h+";":m+":"+h+";":S="&"+(g===5||g===6?m+":"+(g===5?2:3)+";"+m+"-F:"+h+";":m+":"+h+";"),o.set(y,S);}o.forEach((c,m)=>o.set(m,(c.endsWith(";")?c.slice(0,-1):c)+"&"));let l=new Map;for(let c of this.queryFeatures(a.track_circuit?.replace("geojson_station_","")??"")){let m=String(c.properties?.name??""),u=String(c.properties?.code??""),y=String(c.properties?.stcode??u.substring(0,9));if(!m||!u||!y)continue;let p=this.filterCodes.length&&this.filterCodes.includes(u)?"0":String(this.getFeatureState(u)?.state??"");if(!p)continue;let h=y+"_"+m;l.get(h)?(p==="1"||p==="2")&&l.set(h,{name:m,stcode:y,state:p}):l.set(h,{name:m,stcode:y,state:p});}l.forEach(c=>{let m=o.get(c.stcode);o.set(c.stcode,m?m+c.name+":"+c.state+";":"& &"+c.name+":"+c.state+";");});}return o.forEach((r,a)=>{let s=r.endsWith(";")?r.slice(0,-1):r;i.push(e+"&"+a+"&ZK01&"+s);}),i}};function ni(t){if(!t||t.length<11)return "";let e=t.charAt(10),o=t.charAt(9);return e==="1"&&o==="0"?"track":e==="3"?"signal":e==="2"&&o==="0"||e==="1"&&o==="1"?"switch":e==="2"&&o==="1"?"circuit":""}function ai(t){if(!t)return;let e=t.properties.code,o=ni(e);if(o==="switch"){let i={state:"",visiable:true};i.state="2",this.updateFeatureState(e,i);}else if(o==="signal"){let i=t.properties,n=i.attach||0,r=i.func_type,a={state:"",visiable:true};r===1&&n===0?(a.state="red",this.updateFeatureState(e,a)):(r===2||r===3)&&n===0?(a.state="red",this.updateFeatureState(e,a)):(r===2||r===3||r===11)&&n===1?(a.state="red",this.updateFeatureState(e,a)):(r===4||r===5||r===12)&&n===0?(a.state="blue",this.updateFeatureState(e,a)):r===6&&n===0?(a.state="red",this.updateFeatureState(e,a)):(r===7||r===11)&&n===0?(a.state="red",this.updateFeatureState(e,a)):(a.state="",this.updateFeatureState(e,a));}else if(o==="signal"||o==="circuit"){let i={state:"",visiable:true};this.updateFeatureState(e,i);}}function si(t){if(!t.mapConfigs)return;let o=["signal","switch","switch_loc","track_circuit","track","insulation"].reduce((i,n)=>(i[n]=`geojson_station_${n}`,i),{});return new R({sourceIds:{geojson_station:o},updateFeatureState:(i,n)=>t.updateFeatureState(i,n),queryGeojsonFeatures:i=>t.queryGeojsonFeatures(i),getFeatureState:i=>t.getFeatureState(i)})}function ce(t){t.initGraphFeatureState=ai,t.interLockVisualization=si(t);}function li(){if(!this.mapConfigs||this.stashFeatures.size===0)return;(this.mapConfigs.layers??[]).forEach(e=>{let o=`geojson_${e}`;this.map.getSource(o)&&this.stashFeatures.forEach(i=>{i.sourceLayer!==o||!i.properties||this.initGeoJsonFeatureState({properties:i.properties},e);});});}function ci(){if(this.mixingMapConfigs.size!==0&&this.stashFeatures.size!==0)for(let[t,e]of this.mixingMapConfigs){let o=e.type;(e.layers??[]).forEach(n=>{let r=`geojson_${o}_${t}_${n}`;this.map.getSource(r)&&this.stashFeatures.forEach(a=>{a.sourceLayer!==r||!a.properties||this.initGeoJsonFeatureState({properties:a.properties},n);});});}}function pi(t,e){if(!t)return;let o=t.properties,i=o?.code;if(i)if(e==="switch"||e==="switch_loc"){let n={state:"2",visiable:true};this.updateFeatureState(i,n);}else if(e==="signal"){let n=o?.attach||0,r=o?.functionType,a={state:"",visiable:true};r===1&&n===0||(r===2||r===3)&&n===0||(r===2||r===3||r===11)&&n===1||r===6&&n===0||(r===7||r===11)&&n===0?a.state="red":(r===4||r===5||r===12)&&n===0&&(a.state="blue"),this.updateFeatureState(i,a);}else e==="track_circuit"?this.updateFeatureState(i,{state:4,substate:1,visiable:true}):e==="region_signal"?this.updateFeatureState(i,{state:"blue",visiable:true}):e==="prevention"&&this.updateFeatureState(i,{state:1,visiable:true});}function ui(t){let e=t.mixingMapConfigs.size>0?"Multiple":"Single",o=["signal","switch","switch_loc","track_circuit","track","insulation"];if(e==="Multiple"){let n=t.map.getStyle()?.sources??{},r=Object.keys(n);return new R({sourceIds:r.reduce((a,s)=>{let l=/^geojson_station_(\d+)_(.+)$/.exec(s);if(!l)return a;let[,c,m]=l;return !c||!m||!o.includes(m)||(a[c]||(a[c]={}),a[c][m]=s),a},{}),updateFeatureState:(a,s)=>t.updateFeatureState(a,s),queryGeojsonFeatures:a=>t.queryGeojsonFeatures(a),getFeatureState:a=>t.getFeatureState(a)})}if(e==="Single"){if(!t.mapConfigs)return;let i=o.reduce((n,r)=>(n[r]=`geojson_station_${r}`,n),{});return new R({sourceIds:{geojson_station:i},updateFeatureState:(n,r)=>t.updateFeatureState(n,r),queryGeojsonFeatures:n=>t.queryGeojsonFeatures(n),getFeatureState:n=>t.getFeatureState(n)})}}function pe(t){t.initGeoJsonFeatureState=pi,t.initGeoJsonState=li,t.initMixGeoJsonMapState=ci,t.interLockVisualization=ui(t);}function gi(t,e,o){let i=BigInt(t),n=BigInt(e),r=BigInt(o),a=i*i*n^r;a===0n&&(a=0xdeadbeefn);let s=a;s^=s<<11n,s^=s>>5n,s^=s<<13n,s===0n&&(s=0xcafebaben);let l=s,c=s^s<<16n,m=s^s>>16n,u=i^l,y=n^c,p=r^m;return {z:u,x:y,y:p}}function ue(t){t.map.setTransformRequest((e,o)=>{if(String(o)!=="Tile")return {url:e};let n=!/^https?:\/\//i.test(e)?`${window.location.origin}${e}`:e,r=new URL(n),a=r.pathname.split("/").filter(s=>s);if(a.length>=3){let s=Number(a[a.length-3]),l=Number(a[a.length-2]),c=a[a.length-1],m=c?.includes(".")?c?.split(".").pop():"pbf",u=Number(c?.replace(/\.(pbf|png)$/i,""));if(Number.isInteger(s)&&s>=0&&Number.isInteger(l)&&l>=0&&Number.isInteger(u)&&u>=0){let y=gi(s,l,u),p=a.slice(0,a.length-3).join("/");return {url:`${r.protocol}//${r.host}/${p}/${y.z}/${y.x}/${y.y}.${m}`}}}return {url:e}});}var v={base:le,graph:ce,geojson:pe,encrypt:ue};var mi=t=>({id:"raster",sourceUrl:t,zoom:20}),fi=(t,e,o)=>{let i=o.map(n=>({switch_loc:`${t}_t_${n}`,sgfhqy:`a_${n}_graph`,region:`${t}_t_track_${n}`,display_polygon:`${t}_t_display_graph_polygon`,display_line:`${t}_t_display_graph_line`,display_point:`${t}_t_display_graph_point`})[n]||`${t}_t_${n}_graph`);return {id:"graph",sourceUrl:e,layers:o,sourceLayers:i}},hi=(t,e,o)=>{let i=o.map(n=>n==="switch_loc"?`${t}_t_${n}`:`${t}_t_${n}_geom`);return {id:"geom",sourceUrl:e,layers:o,sourceLayers:i}},di=(t,e,o,i)=>{let n=i.map(r=>r==="switch_loc"?`${o}_t_${r}`:`${o}_t_${r}_geom`);return {id:"geom",subSourceId:"raster",sourceUrl:t,subSourceUrl:e,layers:i,sourceLayers:n}},yi=t=>({id:t}),Si=t=>({id:"rswp",sourceUrl:t}),bi=(t,e)=>{let o=e.map(i=>`t_${i}_graph`);return {id:"mbtiles",sourceUrl:t,layers:e,sourceLayers:o}},M={raster:mi,geom:hi,graph:fi,geojson:yi,rswp:Si,mbtiles:bi,rage:di};var _t=2003750834e-2,Li=(t,e)=>{let o=t/_t*180,i=Math.atan(Math.exp(e/_t*Math.PI))*360/Math.PI-90;return [o,i]},_i=t=>"coordinates"in t,xt=t=>typeof t[0]=="number"?Li(t[0],t[1]):t.map(xt),O=t=>({...t,features:t.features?.map(e=>({...e,geometry:_i(e.geometry)?{...e.geometry,coordinates:xt(e.geometry.coordinates)}:e.geometry}))}),T=(t,e)=>{t==="signal"&&e.features?.forEach(({properties:o})=>{if(!o)return;let i=o;!i.positionSide&&i.posi_side&&(i.positionSide=i.posi_side,delete i.posi_side),!i.installType&&i.install_type&&(i.installType=i.install_type,delete i.install_type),!i.functionType&&i.function_type&&(i.functionType=i.function_type,delete i.function_type);}),t==="track_circuit"&&e.features?.forEach(({properties:o})=>{if(!o)return;let i=o;!i.fromCode&&i.from_code&&(i.fromCode=i.from_code,delete i.from_code),!i.toCode&&i.to_code&&(i.toCode=i.to_code,delete i.to_code);}),t==="insulation"&&e.features?.forEach(({properties:o})=>{if(!o)return;let i=o;!i.downSignal&&i.downsignal&&(i.downSignal=i.downsignal,delete i.downsignal),!i.upSignal&&i.upsignal&&(i.upSignal=i.upsignal,delete i.upsignal);});};function ge(t,e,o){let i=JSON.parse(JSON.stringify(t));function n(a){if(typeof a[0]=="number")a[0]+=e,a[1]=a[1]+o;else for(let s of a)n(s);}function r(a){if(a)if(a.type==="GeometryCollection")for(let s of a.geometries)r(s);else n(a.coordinates);}for(let a of i.features??[])r(a.geometry);return i}var A=class A{constructor(e){this.active=false;this.jsonPoint={type:"FeatureCollection",features:[]};this.jsonLine={type:"FeatureCollection",features:[]};this.points=[];this.tooltip=null;this.markers=[];this._onClick=null;this._onMousemove=null;this._onContextmenu=null;this.map=e,A.injectStyles();}static injectStyles(){if(A.stylesInjected)return;A.stylesInjected=true;let e=document.createElement("style");e.textContent=`
8
+ .measure-result {
9
+ display: flex;
10
+ align-items: center;
11
+ gap: 6px;
12
+ background: rgba(0, 0, 0, 0.7);
13
+ color: #fbbf24;
14
+ padding: 4px 8px;
15
+ border-radius: 4px;
16
+ font-size: 12px;
17
+ white-space: nowrap;
18
+ pointer-events: none;
19
+ user-select: none;
20
+ line-height: 1.4;
21
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
22
+ }
23
+ .measure-close {
24
+ pointer-events: auto;
25
+ font-size: 18px;
26
+ cursor: pointer;
27
+ font-weight: bold;
28
+ }
29
+ .measure-close:hover {
30
+ color: #fff;
31
+ }
32
+ `,document.head.appendChild(e);}getSource(e){return this.map.getSource(e)}startDistance(){this.reset(),this.active=true,this.map.getCanvas().style.cursor="default",this.map.doubleClickZoom.enable(),this.tooltipEle=document.createElement("div"),this.tooltipEle.setAttribute("class","measure-result"),this.tooltip=new ee__namespace.Marker({element:this.tooltipEle,anchor:"left",offset:[8,0]}).setLngLat([0,0]).addTo(this.map),this.map.getSource("points")||(this.map.addSource("points",{type:"geojson",data:this.jsonPoint}),this.map.addSource("line",{type:"geojson",data:this.jsonLine}),this.map.addSource("line-move",{type:"geojson",data:this.jsonLine}),this.map.addLayer({id:"line-move",type:"line",source:"line-move",paint:{"line-color":"#ff0000","line-width":3,"line-dasharray":[2,2]}}),this.map.addLayer({id:"line",type:"line",source:"line",paint:{"line-color":"#ff0000","line-width":3,"line-dasharray":[2,2]}}),this.map.addLayer({id:"points",type:"circle",source:"points",paint:{"circle-color":"#ff0000","circle-radius":4,"circle-stroke-width":2,"circle-stroke-color":"#1677ff"}})),this.bindDistanceEvents();}bindDistanceEvents(){this.map.__isPlacingLoco=true,this._onClick=e=>{if(!this.active)return;let o=[e.lngLat.lng,e.lngLat.lat];this.addMeasureRes(o),this.addDistancePoint(o),this.points.push(o);},this._onMousemove=e=>{if(!this.active)return;let o=[e.lngLat.lng,e.lngLat.lat];if(this.jsonPoint.features.length>0){let n=this.jsonPoint.features[this.jsonPoint.features.length-1].geometry.coordinates;this.getSource("line-move").setData({type:"Feature",properties:{},geometry:{type:"LineString",coordinates:[n,o]}}),this.tooltipEle.innerHTML=this.getLength(o);}else this.tooltipEle.innerHTML="\u70B9\u51FB\u5730\u56FE\u5F00\u59CB\u6D4B\u91CF\uFF0C\u53F3\u952E\u7ED3\u675F\u6D4B\u91CF";this.tooltip.setLngLat(o);},this._onContextmenu=e=>{if(this.map.__isPlacingLoco=false,!this.active)return;let o=[e.lngLat.lng,e.lngLat.lat];this.addDistancePoint(o),this.active=false,this.map.getCanvas().style.cursor="";let i=this.getLength(o);this.tooltipEle.innerHTML=`<span>${i}</span><span class="measure-close">\xD7</span>`,this.tooltip.setLngLat(o);let n=this.tooltipEle.querySelector(".measure-close");n.onclick=r=>{r.stopPropagation(),this.map.doubleClickZoom.enable(),this.clear();};},this.map.on("click",this._onClick),this.map.on("mousemove",this._onMousemove),this.map.on("contextmenu",this._onContextmenu);}addDistancePoint(e){if(this.jsonPoint.features.length>0){let i=this.jsonPoint.features[this.jsonPoint.features.length-1].geometry.coordinates;this.jsonLine.features.push({type:"Feature",properties:{},geometry:{type:"LineString",coordinates:[i,e]}}),this.getSource("line").setData(this.jsonLine);}this.jsonPoint.features.push({type:"Feature",properties:{},geometry:{type:"Point",coordinates:e}}),this.getSource("points").setData(this.jsonPoint);}addMeasureRes(e){let o=document.createElement("div");o.setAttribute("class","measure-result"),o.innerHTML=this.points.length===0?"\u8D77\u70B9":this.getLength(e);let i=new ee__namespace.Marker({element:o,anchor:"left",offset:[8,0]}).setLngLat(e).addTo(this.map);this.markers.push(i);}getLength(e){let o=this.points.concat([e]),i=z__namespace.lineString(o),n=z__namespace.length(i);return n<1?(n=Number((n*1e3).toFixed(4)),n+"m"):(n=Number(n.toFixed(4)),n+"km")}startArea(){this.reset(),this.active=true,this.map.doubleClickZoom.disable(),this.map.getCanvas().style.cursor="default",this.tooltipEle=document.createElement("div"),this.tooltipEle.setAttribute("class","measure-result"),this.tooltip=new ee__namespace.Marker({element:this.tooltipEle,anchor:"left",offset:[8,0]}).setLngLat([0,0]).addTo(this.map),this.map.getSource("points-area")||(this.map.addSource("points-area",{type:"geojson",data:this.jsonPoint}),this.map.addSource("line-area",{type:"geojson",data:this.jsonLine}),this.map.addLayer({id:"line-area",type:"fill",source:"line-area",paint:{"fill-color":"#ff0000","fill-opacity":.1}}),this.map.addLayer({id:"line-area-stroke",type:"line",source:"line-area",paint:{"line-color":"#ff0000","line-width":3,"line-dasharray":[2,2]}}),this.map.addLayer({id:"points-area",type:"circle",source:"points-area",paint:{"circle-color":"#ff0000","circle-radius":4,"circle-stroke-width":2,"circle-stroke-color":"#1677ff"}})),this.bindAreaEvents();}bindAreaEvents(){this.map.__isPlacingLoco=true,this._onClick=e=>{if(!this.active)return;let o=[e.lngLat.lng,e.lngLat.lat];this.points.push(o),this.addAreaPoint(o);},this._onContextmenu=e=>{if(this.map.__isPlacingLoco=false,!this.active)return;let o=[e.lngLat.lng,e.lngLat.lat];this.points.push(o),this.active=false,this.tooltipEle.innerHTML=`<span>${this.getArea(o)}</span><span class="measure-close">\xD7</span>`,this.tooltip.setLngLat(o);let i=this.tooltipEle.querySelector(".measure-close");i.onclick=n=>{n.stopPropagation(),this.map.doubleClickZoom.enable(),this.clear();};},this._onMousemove=e=>{if(!this.active)return;let o=[e.lngLat.lng,e.lngLat.lat],i=this.jsonPoint.features.length;if(i===0)this.tooltipEle.innerHTML="\u70B9\u51FB\u5730\u56FE\u5F00\u59CB\u6D4B\u91CF\uFF0C\u53F3\u952E\u7ED3\u675F\u6D4B\u91CF";else if(i===1)this.tooltipEle.innerHTML="\u70B9\u51FB\u5730\u56FE\u7EE7\u7EED\u6D4B\u91CF\uFF0C\u53F3\u952E\u7ED3\u675F\u6D4B\u91CF";else {let n=this.points.concat([o]).concat([this.points[0]]);this.getSource("line-area").setData({type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[n]}}),this.tooltipEle.innerHTML=this.getArea(o);}this.tooltip.setLngLat(o);},this.map.on("click",this._onClick),this.map.on("contextmenu",this._onContextmenu),this.map.on("mousemove",this._onMousemove);}addAreaPoint(e){this.jsonPoint.features.push({type:"Feature",properties:{},geometry:{type:"Point",coordinates:e}}),this.getSource("points-area").setData(this.jsonPoint);}getArea(e){let o=this.points.concat([e]).concat([this.points[0]]),i=z__namespace.polygon([o]),n=z__namespace.area(i);return n<1e3?(n=Number(n.toFixed(4)),n+"m\xB2"):(n=Number((n/1e6).toFixed(4)),n+"km\xB2")}reset(){this.clear(),this.active=false,this.jsonPoint={type:"FeatureCollection",features:[]},this.jsonLine={type:"FeatureCollection",features:[]},this.points=[],this.markers=[],this.tooltip&&(this.tooltip.remove(),this.tooltip=null);}clear(){this._onClick&&this.map.off("click",this._onClick),this._onMousemove&&this.map.off("mousemove",this._onMousemove),this._onContextmenu&&this.map.off("contextmenu",this._onContextmenu),this._onClick=null,this._onMousemove=null,this._onContextmenu=null,document.querySelectorAll(".measure-result").forEach(e=>e.remove()),this.markers.forEach(e=>e.remove()),this.markers=[],["points","line","line-move"].forEach(e=>{this.map.getLayer(e)&&this.map.removeLayer(e),this.map.getSource(e)&&this.map.removeSource(e);}),["points-area","line-area-stroke","line-area"].forEach(e=>{this.map.getLayer(e)&&this.map.removeLayer(e),this.map.getSource(e)&&this.map.removeSource(e);});}};A.stylesInjected=false;var D=A;var Tt=class{constructor(e){this.mapDir="left";this.mixingMapConfigs=new Map;this.stashFeatures=new Map;this.layerFeaturesCache=new Map;this._activeBlinkCleanup=null;this._stashReady=Promise.resolve();this._stashReadyResolve=null;this._stashReadyReject=null;let o={version:8,sources:{},layers:[]};this.map=new ee__namespace.Map({container:e,style:o,center:[0,0],zoom:14,attributionControl:false,maxZoom:24}),v.base(this);}getMap(){return this.map}getMapConfigs(){return this.mapConfigs}destroy(){this._activeBlinkCleanup?.(),this._activeBlinkCleanup=null,this.invalidateStashReady(),this.stashFeatures.clear(),this.layerFeaturesCache.clear(),this.mixingMapConfigs.clear(),this.map.remove();}resetStashReady(){this._stashReadyResolve?.(),this._stashReady=new Promise((e,o)=>{this._stashReadyResolve=e,this._stashReadyReject=o;});}markStashReady(){this._stashReadyResolve?.(),this._stashReadyResolve=null,this._stashReadyReject=null;}invalidateStashReady(e){this._stashReadyReject?.(new Error(e??"TeeeMap \u5DF2\u9500\u6BC1\uFF1A\u8981\u7D20\u7F13\u5B58\u4E0D\u4F1A\u518D\u5C31\u7EEA")),this._stashReadyResolve=null,this._stashReadyReject=null;}whenStashed(e=3e4){return e<=0?this._stashReady:new Promise((o,i)=>{let n=setTimeout(()=>{i(new Error(`whenStashed \u8D85\u65F6(${e}ms)\uFF1A\u8981\u7D20\u7F13\u5B58\u672A\u5728\u9884\u671F\u65F6\u95F4\u5185\u5C31\u7EEA`));},e);this._stashReady.then(()=>{clearTimeout(n),o();},r=>{clearTimeout(n),i(r instanceof Error?r:new Error(String(r)));});})}onStashReady(e,o){this.whenStashed().then(e).catch(i=>{o?o(i):console.error("onStashReady: \u7B49\u5F85\u8981\u7D20\u7F13\u5B58\u5C31\u7EEA\u5931\u8D25",i);});}initMap(e,o=false){this.resetStashReady();let i=async()=>{try{if(console.log(`\u5F00\u59CB\u6784\u5EFA\u4E1A\u52A1\u5730\u56FE: ${e.id}`),Array.isArray(e.source))if(o){let{sourceLayers:h}=this.mixingMapConfigs.get(e.id.split("_")[1]);if(!h)return;e.source.forEach((g,S)=>{this.map.addSource(h[S],g);});}else {let{sourceLayers:h}=this.mapConfigs;if(!h)return;e.source.forEach((g,S)=>{this.map.addSource(h[S],g);});}else this.map.getSource(e.id)?console.warn(`\u5730\u56FE\u6E90\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7\u6DFB\u52A0: ${e.id}`):this.map.addSource(e.id,e.source);e.subSourceId&&e.subSource&&(this.map.getSource(e.subSourceId)?console.warn(`\u5730\u56FE\u6E90\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7\u6DFB\u52A0: ${e.subSourceId}`):this.map.addSource(e.subSourceId,e.subSource));let r=await J.createAllIcons();console.log(`\u56FE\u6807\u5217\u8868 (${r.length}):`,r),r.forEach(h=>{this.map.hasImage(h.id)?console.warn(`\u56FE\u6807\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7\u6DFB\u52A0: ${h.id}`):this.map.addImage(h.id,h.image);}),e.layers&&e.layers.forEach(h=>{this.map.getLayer(h.id)?console.debug(`\u56FE\u5C42\u5DF2\u5B58\u5728: ${h.id}`):this.map.addLayer(h);}),this.measureTool=new D(this.map);let s=this.map.getStyle()?.sources??{},l=Object.keys(s);console.log(`\u6E90\u5217\u8868 (${l.length}):`,l,s);let c=this.map.getStyle().layers??[],m=c.map(h=>h.id);console.log(`\u56FE\u5C42\u5217\u8868 (${m.length}):`,c);let u=this.map.listImages();console.log(`\u56FE\u6807\u5217\u8868 (${u.length}):`,u);let p=this.layerFeaturesCache.get("track")?.[0]??null;if(p){let h=p.geometry;this.mapDir=h.coordinates[0][0]-h.coordinates[1][0]>0?"left":"right";}console.groupEnd(),console.log(`\u5730\u56FE\u6784\u5EFA\u5168\u90E8\u5B8C\u6210: ${e.id}`);}catch(r){console.error(`\u5730\u56FE\u521D\u59CB\u5316\u5931\u8D25: ${e.id}`,r),r instanceof Error&&console.error(`\u9519\u8BEF\u8BE6\u60C5: ${r.message}`);}},n=()=>{this.map.once("idle",()=>{(o?this.stashMixMapAllFeature():this.stashAllFeature()).catch(a=>{console.error(`\u8981\u7D20\u7F13\u5B58\u5931\u8D25: ${e.id}`,a);}).finally(()=>this.markStashReady());});};this.map.loaded()?i().then(n).catch(r=>{console.error(r);}):this.map.on("load",()=>{i().then(n).catch(r=>{console.error(r);});});}initMixMap(e){this.resetStashReady();let o=async()=>{let n=await J.createAllIcons();console.log(`\u56FE\u6807\u5217\u8868 (${n.length}):`,n),n.forEach(g=>{this.map.hasImage(g.id)?console.warn(`\u56FE\u6807\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7\u6DFB\u52A0: ${g.id}`):this.map.addImage(g.id,g.image);});for(let g of e){if(Array.isArray(g.source)){let{sourceLayers:S}=this.mixingMapConfigs.get(g.id.split("_")[1]);if(!S)continue;g.source.forEach((b,_)=>{this.map.addSource(S[_],b);});}else this.map.getSource(g.id)?console.warn(`\u5730\u56FE\u6E90\u5DF2\u5B58\u5728\uFF0C\u8DF3\u8FC7\u6DFB\u52A0: ${g.id}`):this.map.addSource(g.id,g.source);g.layers&&g.layers.forEach(S=>{this.map.getLayer(S.id)?console.debug(`\u56FE\u5C42\u5DF2\u5B58\u5728: ${S.id}`):this.map.addLayer(S);});}this.measureTool=new D(this.map);let a=this.map.getStyle()?.sources??{},s=Object.keys(a);console.log(`\u6E90\u5217\u8868 (${s.length}):`,s,a);let l=this.map.getStyle().layers??[],c=l.map(g=>g.id);console.log(`\u56FE\u5C42\u5217\u8868 (${c.length}):`,l);let m=s.filter(g=>g.endsWith("_background"));c.filter(g=>g.endsWith("_background")).slice(1).forEach(g=>{this.map.getLayer(g)&&this.map.removeLayer(g);}),m.slice(1).forEach(g=>{this.map.getSource(g)&&this.map.removeSource(g);});let y=e[0],h=this.layerFeaturesCache.get(y?.id.split("_")[1]+"_track")?.[0]??null;if(h){let g=h.geometry;this.mapDir=g.coordinates[0][0]-g.coordinates[1][0]>0?"left":"right";}await this.stashMixMapAllFeature(),v.geojson(this);},i=async()=>{try{await o();}catch(n){console.error("\u6DF7\u5408\u5730\u56FE\u6784\u5EFA\u5931\u8D25",n);}finally{this.markStashReady();}};this.map.loaded()?i():this.map.once("load",()=>{i();});}createRSWPMap(e){let o=M.rswp(e),i=x.raster(o.sourceUrl),n=w.raster(o.id),r=M.geojson("rswp-geojson"),a=x.geojson(),s={id:o.id,source:i,subSourceId:r.id,subSource:a,layers:n};this.mapConfigs=o,this.mapConfigs.subSourceId=r.id,this.initMap(s);}createGraphMap(e,o,i){this.mapConfigs=M.graph(e,o,i);let n=x.graph(this.mapConfigs.sourceUrl),r=w.graph(this.mapConfigs),a={id:this.mapConfigs.id,source:n,layers:r};this.initMap(a),v.graph(this);}createSscsGraphMap(e){let o={normal:{color:"#1C5AFF",strokeColor:"#31E5FF"},reverse:{color:"#FFB400",strokeColor:"#31E5FF"},lock:{color:"#00C853",strokeColor:"#31E5FF"},fault:{color:"#E4002B",strokeColor:"#FFD700"},selected:{color:"#FFD700",strokeColor:"#FFFFFF"}},i="#1C5AFF",n="#31E5FF",r=(s,l)=>["match",["feature-state","state"],...Object.entries(o).flatMap(([c,m])=>[c,s(m)]),l],a={id:"sscs_graph",source:{type:"vector",tiles:[e],scheme:"tms",promoteId:"code"},layers:[{id:"sscs_graph_line",type:"line",source:"sscs_graph","source-layer":"cdst_trfc_line",paint:{"line-color":"orange","line-width":2}},{id:"sscs_graph_point",type:"circle",source:"sscs_graph","source-layer":"cdst_trfc_point",paint:{"circle-color":r(s=>s.color,i),"circle-radius":["interpolate",["linear"],["zoom"],10,5,13,15,22,20],"circle-opacity":.9,"circle-stroke-color":r(s=>s.strokeColor,n),"circle-stroke-width":2,"circle-blur":.2}},{id:"sscs_graph_line_label",type:"symbol",source:"sscs_graph","source-layer":"cdst_trfc_line",minzoom:10,layout:{"text-field":["get","name_abb"],"symbol-placement":"line","text-rotation-alignment":"map","text-size":["interpolate",["linear"],["zoom"],10,8,22,15]},paint:{"text-color":"#333333","text-halo-color":"#ffffff","text-halo-width":1.5}},{id:"sscs_graph_point_label",type:"symbol",source:"sscs_graph","source-layer":"cdst_trfc_point",minzoom:10,layout:{"text-field":["get","name"],"text-size":["interpolate",["linear"],["zoom"],10,5,13,9,22,15],"text-max-width":3},paint:{"text-color":"white"}}]};this.initMap(a);}setSscsPointState(e,o){this.map.setFeatureState({source:"sscs_graph",sourceLayer:"cdst_trfc_point",id:e},{state:o});}createGeomMap(e,o,i){this.mapConfigs=M.geom(e,o,i);let n=x.geom(this.mapConfigs.sourceUrl),r=w.geom(this.mapConfigs),a={id:this.mapConfigs.id,source:n,layers:r};this.initMap(a);}createGeomEncryptedMap(e,o,i){v.encrypt(this),this.mapConfigs=M.geom(e,o,i);let n=x.geom(this.mapConfigs.sourceUrl),r=w.geom(this.mapConfigs),a={id:this.mapConfigs.id,source:n,layers:r};this.initMap(a);}async createGeoJsonGeomStationMap(e,o=true){let i=e.map(l=>l.name),n=i.map(l=>`geojson_${l}`);this.mapConfigs=M.geojson("geojson"),this.mapConfigs.layers=i,this.mapConfigs.sourceLayers=n;let r=await Promise.all(e.map(async(l,c)=>{let m=n[c],u=l.name;if(this.map.getSource(m))return;let y=l.data,p;return typeof y=="string"?(p=await(await fetch(y)).json(),T(u,p)):(p=y,T(u,p)),this.layerFeaturesCache.set(u,p.features),x.geojson(p)})),a={id:this.mapConfigs.id,source:r,layers:w.geojsonGeom(i,n)};if(this.initMap(a),o){let l="gaode-satellite",c="gaode-satellite-layer";this.map.on("load",()=>{this.map.addSource(l,{type:"raster",tiles:["https://wprd03.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}"],tileSize:256,maxzoom:18}),this.map.addLayer({id:c,type:"raster",source:l});});}let s=e.find(l=>l.name==="track")?.data;if(s){let l=z.bbox(s);this.map.fitBounds([[l[0],l[1]],[l[2],l[3]]],{padding:100,maxZoom:15,duration:0});}v.geojson(this);}async createMixGeoJsonGeomMap(e,o=true){if(e.length===0)return;let i=await Promise.all(e.map(async r=>{if(r.type==="region"){let a=r.geojsonData.map(c=>c.name),s=a.map(c=>`geojson_region_${r.code}_${c}`);this.mixingMapConfigs.set(r.code,{id:`geojson_${r.code}`,layers:a,sourceLayers:s,type:"region"});let l=await Promise.all(r.geojsonData.map(async(c,m)=>{let u=s[m],y=c.name;if(this.map.getSource(u))return;let p=c.data,h;return typeof p=="string"?(h=await(await fetch(p)).json(),T(y,h)):(h=p,T(y,h)),this.layerFeaturesCache.set(`${r.code}_${y}`,h.features),x.geojson(h)}));return {id:`geojson_${r.code}`,source:l,layers:w.geojsonGeom(a,s)}}else {let a=r.geojsonData.map(c=>c.name),s=a.map(c=>`geojson_station_${r.code}_${c}`);this.mixingMapConfigs.set(r.code,{id:`geojson_${r.code}`,layers:a,sourceLayers:s,type:"station"});let l=await Promise.all(r.geojsonData.map(async(c,m)=>{let u=s[m],y=c.name;if(this.map.getSource(u))return;let p=c.data,h;return typeof p=="string"?(h=await(await fetch(p)).json(),T(y,h)):(h=p,T(y,h)),this.layerFeaturesCache.set(`${r.code}_${y}`,h.features),x.geojson(h)}));return {id:`geojson_${r.code}`,source:l,layers:w.geojsonGeom(a,s)}}}));if(this.initMixMap(i),o){let r="gaode-satellite",a="gaode-satellite-layer";this.map.on("load",()=>{this.map.addSource(r,{type:"raster",tiles:["https://wprd03.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}"],tileSize:256,maxzoom:18}),this.map.addLayer({id:a,type:"raster",source:r});});}let n=e[1]?.geojsonData.find(r=>r.name==="track")?.data;if(n){let r=z.bbox(n);this.map.fitBounds([[r[0],r[1]],[r[2],r[3]]],{padding:100,maxZoom:15,duration:0});}v.geojson(this);}async createGeoJsonStationMap(e){let o=e.map(s=>s.name),i=o.map(s=>`geojson_${s}`);this.mapConfigs=M.geojson("geojson"),this.mapConfigs.layers=o,this.mapConfigs.sourceLayers=i;let n=await Promise.all(e.map(async(s,l)=>{let c=i[l],m=s.name;if(this.map.getSource(c))return;let u=s.data,y;if(typeof u=="string"){let h=await(await fetch(u)).json();y=O(h),T(m,y);}else y=O(u),T(m,y);return this.layerFeaturesCache.set(m,y.features),x.geojson(y)})),r={id:this.mapConfigs.id,source:n,layers:w.geojson(o,i)};this.initMap(r);let a=e.find(s=>s.name==="track")?.data;if(a){let s=z.bbox(O(a));this.map.fitBounds([[s[0],s[1]],[s[2],s[3]]],{padding:100,maxZoom:15,duration:0});}v.geojson(this);}async createGeoJsonRegionMap(e,o){let i=o.map(l=>l.name),n=i.map(l=>`geojson_region_${e}_${l}`);this.mixingMapConfigs.set(e,{id:`geojson_${e}`,layers:i,sourceLayers:n,type:"region"});let r=await Promise.all(o.map(async(l,c)=>{let m=n[c],u=l.name;if(this.map.getSource(m))return;let y=l.data,p;if(typeof y=="string"){let g=await(await fetch(y)).json();p=O(g),T(u,p);}else p=O(y),T(u,p);return this.layerFeaturesCache.set(u,p.features),x.geojson(p)})),a={id:`geojson_${e}`,source:r,layers:w.geojson(i,n)};this.initMap(a,true);let s=o.find(l=>l.name==="track")?.data;if(s){let l=z.bbox(O(s));this.map.fitBounds([[l[0],l[1]],[l[2],l[3]]],{padding:100,maxZoom:15,duration:0});}v.geojson(this);}async createMixGeoJsonMap(e){if(e.length===0)return;let o=await Promise.all(e.map(async n=>{if(n.type==="region"){let r=n.geojsonData.map(l=>l.name),a=r.map(l=>`geojson_region_${n.code}_${l}`);this.mixingMapConfigs.set(n.code,{id:`geojson_${n.code}`,layers:r,sourceLayers:a,type:"region"});let s=await Promise.all(n.geojsonData.map(async(l,c)=>{let m=a[c],u=l.name;if(this.map.getSource(m))return;let y=l.data,p;if(typeof y=="string"){let g=await(await fetch(y)).json();p=O(g),T(u,p);}else p=O(y),T(u,p);return this.layerFeaturesCache.set(`${n.code}_${u}`,p.features),x.geojson(p)}));return {id:`geojson_${n.code}`,source:s,layers:w.geojson(r,a)}}else {let r=n.geojsonData.map(l=>l.name),a=r.map(l=>`geojson_station_${n.code}_${l}`);this.mixingMapConfigs.set(n.code,{id:`geojson_${n.code}`,layers:r,sourceLayers:a,type:"station"});let s=await Promise.all(n.geojsonData.map(async(l,c)=>{let m=a[c],u=l.name;if(this.map.getSource(m))return;let y=l.data,p;if(typeof y=="string"){let g=await(await fetch(y)).json(),S=ge(g,n.deltaInfo?.deltax||0,n.deltaInfo?.deltay||0);p=O(S),T(u,p);}else {let h=ge(y,n.deltaInfo?.deltax||0,n.deltaInfo?.deltay||0);p=O(h),T(u,p);}return this.layerFeaturesCache.set(`${n.code}_${u}`,p.features),x.geojson(p)}));return {id:`geojson_${n.code}`,source:s,layers:w.geojson(r,a)}}}));this.initMixMap(o);let i=e[1]?.geojsonData.find(n=>n.name==="track")?.data;if(i){let n=z.bbox(O(i));this.map.fitBounds([[n[0],n[1]],[n[2],n[3]]],{padding:100,maxZoom:15,duration:0});}}createRasterMap(e){this.mapConfigs=M.raster(e);let o=x.raster(this.mapConfigs.sourceUrl),i=w.raster(this.mapConfigs.id),n={id:this.mapConfigs.id,source:o,layers:i};this.initMap(n);}createEncryptedRasterMap(e){v.encrypt(this),this.mapConfigs=M.raster(e);let o=x.raster(this.mapConfigs.sourceUrl),i=w.raster(this.mapConfigs.id),n={id:this.mapConfigs.id,source:o,layers:i};this.initMap(n);}async stashMixMapAllFeature(){if(this.mixingMapConfigs.size!==0)for(let[e,o]of this.mixingMapConfigs){let i=o.type,n=o.layers??[];await Promise.all(n.map(async r=>{let a=`geojson_${i}_${e}_${r}`,s=this.map.getSource(a);if(!s)return;(await s.getData()).features?.forEach(m=>{let u=m.properties?.code;u&&!this.stashFeatures.get(u)&&this.stashFeatures.set(u,{sourceLayer:a,properties:m.properties});});}));}}async stashAllFeature(){if(!this.mapConfigs)return;let e=this.mapConfigs.sourceLayers,o=this.mapConfigs.layers??[],i=this.mapConfigs.id;this.stashFeatures.clear(),e?.forEach((n,r)=>{if(n.includes("prevention"))return;let a=this.map.querySourceFeatures(i,{sourceLayer:n}),s=new Map;a.forEach(c=>{let m=c.properties?.code;m&&(this.stashFeatures.set(m,{sourceLayer:n}),s.set(String(m),c));});let l=o[r];l&&this.layerFeaturesCache.set(l,Array.from(s.values()));}),await Promise.all(o.map(async n=>{let r=`geojson_${n}`,a=this.map.getSource(r);if(!a)return;let l=await a.getData(),c=l.features??[];l.features?.forEach(m=>{let u=m.properties?.code;u&&!this.stashFeatures.get(u)&&this.stashFeatures.set(u,{sourceLayer:r,properties:m.properties});}),c.length&&this.layerFeaturesCache.set(n,c);}));}updateFeatureState(e,o){let i=this.stashFeatures.get(e);if(!i)return;if(Object.assign(i,o),i.sourceLayer?.startsWith("geojson_"))this.map.setFeatureState({source:i.sourceLayer,id:e},i);else {if(!this.mapConfigs)return;this.map.setFeatureState({source:this.mapConfigs.id,sourceLayer:i.sourceLayer,id:e},i);}}getFeatureState(e){let o=this.stashFeatures.get(e);if(o)return o}locateGeojsonFeature(e,o=true){let i=z.bbox(o?O(e):e);this.map.fitBounds([[i[0],i[1]],[i[2],i[3]]],{padding:50,maxZoom:18});}queryGeojsonFeatures(e){let o=Array.from(this.layerFeaturesCache.keys()).filter(i=>i.endsWith(e));return o.length?o.flatMap(i=>this.layerFeaturesCache.get(i)??[]):[]}getTrackCircuitFeaturesByCodes(e){let o=Array.from(this.layerFeaturesCache.keys()).filter(i=>i.endsWith("track_circuit"));return o.length?o.flatMap(i=>this.layerFeaturesCache.get(i)??[]).filter(i=>e.includes(i.properties.code))??[]:[]}getGeojsonLayerFeaturesByCode(e,o){let i=Array.from(this.layerFeaturesCache.keys()).filter(n=>n.endsWith(o));if(i.length)return i.flatMap(n=>this.layerFeaturesCache.get(n)??[]).find(n=>n.properties.code===e)}locateFeatureByCode(e,o){let i=this.getGeojsonLayerFeaturesByCode(e,o);if(!i){console.warn(`\u672A\u627E\u5230\u8981\u7D20\uFF0C\u65E0\u6CD5\u5B9A\u4F4D: code=${e}, layerType=${o}`);return}let n={type:"FeatureCollection",features:[i]};this.locateGeojsonFeature(n,false);}smoothBlinkFeature(e,o,i={}){let n=this.getGeojsonLayerFeaturesByCode(e,o);if(!n){console.warn(`\u672A\u627E\u5230\u8981\u7D20\uFF0C\u65E0\u6CD5\u9AD8\u4EAE: code=${e}, layerType=${o}`);return}let r={type:"FeatureCollection",features:[n]},s=["signal","switch","bumper"].includes(o)?"point":"line",l=`blink-temp-${e}-${o}`;this._activeBlinkCleanup?.(),this._activeBlinkCleanup=null,this.map.getSource(l)&&this.map.removeSource(l),this.map.addSource(l,{type:"geojson",data:r});let c=`${l}-blink-highlight`,{duration:m=3e3,blinkSpeed:u=500,baseColor:y=[0,255,0],minAlpha:p=.3,maxAlpha:h=.7,strokeWidthBase:g=3,strokeWidthRange:S=2}=i,b=null,_=null;if(s==="point"){let $=`blink-point-icon-${l}`;if(!this.map.hasImage($)){let N=document.createElement("canvas");N.width=36,N.height=36;let C=N.getContext("2d");C.beginPath(),C.arc(36/2,36/2,36/2-2,0,Math.PI*2),C.fillStyle=`rgba(${y.join(",")}, 0.3)`,C.fill(),C.beginPath(),C.arc(36/2,36/2,36/3,0,Math.PI*2),C.fillStyle=`rgb(${y.join(",")})`,C.fill(),C.strokeStyle="#fff",C.lineWidth=2,C.stroke();let ie=C.getImageData(0,0,36,36);this.map.addImage($,{width:36,height:36,data:ie.data});}this.map.getLayer(c)&&this.map.removeLayer(c),this.map.addLayer({id:c,type:"symbol",source:l,layout:{"icon-image":$,"icon-allow-overlap":true,"icon-ignore-placement":true},paint:{"icon-opacity":h}});let E=U=>{b||(b=U);let N=U-b;if(N<m){let C=Math.sin(N/u*Math.PI*2)*.5+.5,ie=p+(h-p)*C;this.map.setPaintProperty(c,"icon-opacity",ie),_=requestAnimationFrame(E);}else this.map.getLayer(c)&&this.map.removeLayer(c),this.map.getSource(l)&&this.map.removeSource(l),_=null,this._activeBlinkCleanup=null;};_=requestAnimationFrame(E);let W=()=>{_&&cancelAnimationFrame(_),this.map.getLayer(c)&&this.map.removeLayer(c),this.map.getSource(l)&&this.map.removeSource(l);};return this._activeBlinkCleanup=W,W}let k=`${c}-outline`;this.map.getLayer(k)&&this.map.removeLayer(k),this.map.addLayer({id:k,type:"line",source:l,paint:{"line-color":`rgb(${y.join(",")})`,"line-width":g}});let G=$=>{b||(b=$);let E=$-b;if(E<m){let W=Math.sin(E/u*Math.PI*2)*.5+.5,N=g+S*W;this.map.setPaintProperty(k,"line-width",N),_=requestAnimationFrame(G);}else this.map.getLayer(k)&&this.map.removeLayer(k),this.map.getSource(l)&&this.map.removeSource(l),_=null,this._activeBlinkCleanup=null;};_=requestAnimationFrame(G);let te=()=>{_&&cancelAnimationFrame(_),this.map.getLayer(k)&&this.map.removeLayer(k),this.map.getSource(l)&&this.map.removeSource(l);};return this._activeBlinkCleanup=te,te}};var kt=t=>t?.type==="LineString"?[t.coordinates]:t?.type==="MultiLineString"?t.coordinates:[],wt=t=>kt(t.geometry).reduce((e,o)=>e+o.length,0),xi=(t,e)=>{let o=z__namespace.point(e.coordinates),i=null;for(let r of kt(t)){if(r.length<2)continue;let a=z__namespace.nearestPointOnLine(z__namespace.lineString(r),o),s=a.properties.pointDistance||Number.POSITIVE_INFINITY;(!i||s<i.dist)&&(i={dist:s,index:a.properties.segmentIndex||0,coords:r});}if(!i)return null;let n=Math.min(i.index,i.coords.length-2);return [i.coords[n]??[],i.coords[n+1]??[]]},Ot=(t,e)=>{let o=xi(t,e);if(!o)return 0;let[[i,n],[r,a]]=o;return Math.atan2(r-i,a-n)*180/Math.PI},In=(t,e)=>{let{sourceId:o,pointSourceLayer:i,trackSourceLayer:n,layerId:r,controlFeatures:a,filterPoint:s,angleOffset:l=0,layerSuffix:c}=e;if(!t.getLayer(r)){console.warn(`\u56FE\u5C42\u4E0D\u5B58\u5728: ${r}`);return}let m=new Map;for(let h of a){let g=h.properties?.code,S=h.properties?.trackCode;g&&S&&m.set(g,S);}let u=new Map;for(let h of t.querySourceFeatures(o,{sourceLayer:n})){let g=h,S=h.properties.code;if(!S)continue;let b=u.get(S);(!b||wt(g)>wt(b))&&u.set(S,g);}let y=new Map;for(let h of t.querySourceFeatures(o,{sourceLayer:i})){if(s&&!s(h)||h.geometry.type!=="Point")continue;let g=h.properties.code;if(!g||y.has(g))continue;let S=m.get(g),_=(S?u.get(S):void 0)?.geometry;if(!S||!_||_.type!=="LineString"&&_.type!=="MultiLineString"){y.set(g,l),console.error("\u672A\u627E\u5230\u5173\u8054\u80A1\u9053",g,S);continue}c==="jcw"?y.set(g,Ot(_,h.geometry)+l+90):y.set(g,Ot(_,h.geometry)+l);}if(y.size===0){t.setLayoutProperty(r,"icon-rotate",l);return}let p=["match",["to-string",["get","code"]],...[...y.entries()].flatMap(([h,g])=>[h,g]),l];t.setLayoutProperty(r,"icon-rotate",p);};
33
+ exports.BS_SIGNAL_MAP=It;exports.BsSignalStateEnums=ke;exports.INTERLOCK_CIRCUIT_MAP=Mt;exports.INTERLOCK_SIGNAL_COLOR_MAP=Q;exports.INTERLOCK_SIGNAL_MAP=oe;exports.INTERLOCK_SWITCHLOC_MAP=I;exports.InterLockCircuitStateEnums=we;exports.InterLockInsulation=B;exports.InterLockSignalStateEnums=Te;exports.InterLockSwitchlocStateEnums=Oe;exports.InterLockVisualization=R;exports.InterlockProtocol=H;exports.MapColor=L;exports.MeasureTool=D;exports.PREVENTION_TYPES=Nt;exports.PreventionEnums=ve;exports.SignalColorEnums=Ce;exports.StationFeatureCodeEnums=xe;exports.TeeeMap=Tt;exports.attachTrackAngle=In;exports.canvasCreator=_e;exports.getTrackBearing=Ot;exports.imageCreater=J;exports.offsetFeatureCollection=ge;exports.transformGeoJsonFrom3857=O;exports.transformGeoJsonProperties=T;//# sourceMappingURL=index.cjs.map
34
+ //# sourceMappingURL=index.cjs.map