{"version":3,"file":"CollisionRiskSymbol.mjs","sources":["../../../../../../../packages/sdk/plugins/AreaView/layer/CollisionRiskSymbol.ts"],"sourcesContent":["import L from 'leaflet'\nimport { CommUtils } from '@map-sdk/sdk/utils/CommUtils'\nimport { CanvasShipUtils } from '@map-sdk/sdk/utils/CanvasShipUtils'\nimport { AreaViewBase, type AreaViewBaseOptions } from '../AreaViewBase'\nimport type { MyMap } from '@map-sdk/sdk/ShipxyAPISDK'\nimport type { Layer } from 'leaflet'\n\n/*\n * @Author: Yolo\n * @Date: 2024-06-24 14:51:54\n * @Last Modified by: Yolo\n * @Last Modified time: 2024-06-24 15:48:55\n * @Desc 高风险碰撞区域/碍航网具\n */\nclass CollisionRiskSymbol extends AreaViewBase {\n  lyGroup = null\n  hash = {}\n  layerHash = {}\n  layerHashName = {}\n  _zoomend = false\n  _tempAreaArray: any[] = []\n  dataType = {\n    obstaclearea: [\n      {\n        name: '碍航网具-区域一',\n        type: 'Poly',\n        points: [\n          ['35.208611', '119.966389'],\n          ['35.208611', '120.011944'],\n          ['35.201389', '120.018889'],\n          ['35.173056', '120.020833'],\n          ['35.173611', '120.035556'],\n          ['35.150556', '120.037778'],\n          ['35.149722', '119.987500'],\n          ['35.199167', '119.966389'],\n        ],\n      },\n      {\n        name: '碍航网具-区域二',\n        type: 'Poly',\n        points: [\n          ['35.171667', '119.901111'],\n          ['35.168611', '119.951389'],\n          ['35.118611', '119.947778'],\n          ['35.120000', '119.886667'],\n        ],\n      },\n      {\n        name: '碍航网具-区域三',\n        type: 'Poly',\n        points: [\n          ['35.096111', '119.879444'],\n          ['35.095000', '119.955278'],\n          ['35.055556', '119.946667'],\n          ['35.055556', '119.867778'],\n        ],\n      },\n      {\n        name: '碍航网具-区域四',\n        type: 'Poly',\n        points: [\n          ['35.106667', '119.798056'],\n          ['35.107222', '119.844167'],\n          ['35.050000', '119.823889'],\n          ['35.053611', '119.774722'],\n        ],\n      },\n      {\n        name: '碍航网具-区域五',\n        type: 'Poly',\n        points: [\n          ['35.0419441', '119.605278'],\n          ['35.0366671', '119.747500'],\n          ['35.0063891', '119.747778'],\n          ['35.0050001', '119.671944'],\n          ['35.0188891', '119.602222'],\n        ],\n      },\n    ],\n    collisionRisk: [\n      {\n        name: '秦皇岛东南部水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['39.698444', '119.638978'],\n          ['39.668822', '119.660083'],\n          ['39.757067', '119.864383'],\n          ['39.786650', '119.839739'],\n        ],\n      },\n      {\n        name: '曹妃甸东部水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['38.759444', '118.750000'],\n          ['38.729444', '119.123611'],\n          ['38.837500', '119.136111'],\n          ['38.863056', '118.768056'],\n        ],\n      },\n      {\n        name: '黄骅东北部水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['38.537500', '118.500278'],\n          ['38.486944', '118.510833'],\n          ['38.448056', '118.100000'],\n          ['38.594722', '118.100000'],\n          ['38.594722', '118.140833'],\n          ['38.506389', '118.140833'],\n        ],\n      },\n      {\n        name: '旅顺深水航路商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['39.257000', '121.010667'],\n          ['38.946000', '120.950833'],\n          ['38.956000', '120.841000'],\n          ['39.272500', '120.873667'],\n        ],\n      },\n      {\n        name: '大连湾及大窑湾水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['38.893333', '121.896000']],\n        radius: 9,\n      },\n      {\n        name: '老铁山水道商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['38.597611', '120.920806']],\n        radius: 6.5,\n      },\n      {\n        name: '老铁山水道东部水域商渔碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['38.433333', '121.016667'],\n          ['38.500000', '121.066667'],\n          ['38.450000', '121.500000'],\n          ['38.275000', '121.408333'],\n        ],\n      },\n      {\n        name: '长山水道西部水域商渔碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['38.000000', '120.266667'],\n          ['38.141667', '120.266667'],\n          ['38.141667', '120.516667'],\n          ['38.000000', '120.516667'],\n        ],\n      },\n      {\n        name: '长山水道东部水域商渔碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['37.921833', '121.368667'],\n          ['37.860833', '121.350000'],\n          ['37.919667', '121.049167'],\n          ['37.981667', '121.070500'],\n        ],\n      },\n      {\n        name: '威海北部水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['37.716000', '122.247167'],\n          ['37.628667', '122.213333'],\n          ['37.707000', '121.909000'],\n          ['37.794333', '121.942333'],\n        ],\n      },\n      {\n        name: '成山头北部水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['37.681806', '122.678306']],\n        radius: 6.5,\n      },\n      {\n        name: '石岛东南通航水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['36.532500', '122.746000'],\n          ['36.977167', '122.746000'],\n          ['36.977167', '122.897500'],\n          ['36.532500', '122.897500'],\n        ],\n      },\n      {\n        name: '威海南部水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['36.785000', '122.630833'],\n          ['36.436333', '122.263000'],\n          ['36.606667', '122.101333'],\n          ['36.843833', '122.574833'],\n        ],\n      },\n      {\n        name: '射阳河口水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['33.871611', '120.590694']],\n        radius: 4.5,\n      },\n      {\n        name: '南通吕四渔港东侧水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['32.123500', '122.431500'],\n          ['32.390167', '122.431500'],\n          ['32.390167', '122.638500'],\n          ['32.123500', '122.638500'],\n        ],\n      },\n      {\n        name: '长江口北部水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['32.231667', '122.991667'],\n          ['32.231667', '122.920222'],\n          ['31.636667', '122.920222'],\n          ['31.636667', '122.991667'],\n        ],\n      },\n      {\n        name: '海礁西侧航路水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['30.569167', '122.975167'],\n          ['30.810000', '122.975167'],\n          ['30.810000', '123.031167'],\n          ['30.569167', '123.031167'],\n        ],\n      },\n      {\n        name: '小板门及宁波舟山港附近水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['29.904333', '122.663333'],\n          ['29.900167', '122.616667'],\n          ['30.347333', '122.581500'],\n          ['30.351500', '122.628000'],\n        ],\n      },\n      {\n        name: '外甩礁东侧附近水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['30.165889', '123.006194']],\n        radius: 5.5,\n      },\n      {\n        name: '浙江沿海外航路象山段水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['29.403333', '122.551000'],\n          ['29.065000', '122.335667'],\n          ['29.105167', '122.251667'],\n          ['29.441500', '122.467000'],\n        ],\n      },\n      {\n        name: '浙江沿海西航路温岭段水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['28.250000', '121.793667'],\n          ['28.088000', '121.635333'],\n          ['28.118333', '121.595833'],\n          ['28.282833', '121.751333'],\n        ],\n      },\n      {\n        name: '洞头附近水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['27.801833', '121.354833'],\n          ['27.680500', '121.208833'],\n          ['27.715667', '121.175667'],\n          ['27.836167', '121.321000'],\n        ],\n      },\n      {\n        name: '鳌江口附近水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['27.551833', '120.856667'],\n          ['27.420000', '120.744000'],\n          ['27.442833', '120.712667'],\n          ['27.574167', '120.824833'],\n        ],\n      },\n      {\n        name: '东引岛东南水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['26.207250', '120.661722'],\n          ['26.122528', '120.780083'],\n          ['25.943472', '120.646611'],\n          ['26.027000', '120.528111'],\n        ],\n      },\n      {\n        name: '牛山岛东侧水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['25.240333', '119.878333'],\n          ['25.268000', '119.829833'],\n          ['25.465000', '119.981167'],\n          ['25.437333', '120.029667'],\n        ],\n      },\n      {\n        name: '南日岛东南水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['25.044667', '119.540500'],\n          ['25.081000', '119.513667'],\n          ['25.209500', '119.704333'],\n          ['25.173500', '119.730667'],\n        ],\n      },\n      {\n        name: '乌丘屿西南水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['24.893694', '119.384778'],\n          ['24.838028', '119.426667'],\n          ['24.728583', '119.278194'],\n          ['24.783333', '119.235361'],\n        ],\n      },\n      {\n        name: '厦门湾口东碇附近水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['24.087833', '118.240667'],\n          ['24.121833', '118.212667'],\n          ['24.256167', '118.383333'],\n          ['24.221667', '118.412500'],\n        ],\n      },\n      {\n        name: '浮头湾口水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['23.722167', '117.742333'],\n          ['23.748333', '117.719667'],\n          ['23.898167', '117.911500'],\n          ['23.871833', '117.934500'],\n        ],\n      },\n      {\n        name: '粤东表角水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['23.202667', '116.902000'],\n          ['23.072500', '116.746667'],\n          ['23.117333', '116.703833'],\n          ['23.248000', '116.859333'],\n        ],\n      },\n      {\n        name: '粤东遮浪角水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['22.510000', '115.530500'],\n          ['22.429167', '115.264500'],\n          ['22.554500', '115.222500'],\n          ['22.635167', '115.490667'],\n        ],\n      },\n      {\n        name: '珠江口担杆水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['22.106889', '114.211194']],\n        radius: 4,\n      },\n      {\n        name: '珠江口桂山水域商渔船碰撞高风险警示区,',\n        type: 'Circle',\n        points: [['22.136111', '113.809111']],\n        radius: 4,\n      },\n      {\n        name: '琼州海峡北水道北进口水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['20.522194', '110.968000']],\n        radius: 4,\n      },\n      {\n        name: '琼州海峡中水道的东进口水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['20.233500', '111.084667'],\n          ['20.233167', '110.962833'],\n          ['20.278167', '110.956833'],\n          ['20.322000', '111.073667'],\n        ],\n      },\n      {\n        name: '琼州海峡西口水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['20.139389', '109.851694']],\n        radius: 5,\n      },\n      {\n        name: '涠洲岛西航路南段水域商渔船碰撞高风险警示区',\n        type: 'Poly',\n        points: [\n          ['20.623333', '109.457500'],\n          ['20.525333', '109.359000'],\n          ['20.789667', '109.093833'],\n          ['20.883500', '109.193667'],\n        ],\n      },\n      {\n        name: '钦州湾南部水域商渔船碰撞高风险警示区',\n        type: 'Circle',\n        points: [['21.460694', '108.635306']],\n        radius: 4,\n      },\n    ],\n  }\n  constructor(map: MyMap, options: Partial<AreaViewBaseOptions>) {\n    super(map, { minzoom: 2, maxzoom: 18, ...options, isZoomEnd: false })\n    this._data = this.dataType[options.type]\n    this._data.forEach((item: { name: string | number }) => {\n      this.hash[item.name] = item\n    })\n    this.polyNameChange()\n  }\n  _show() {\n    this.bounds = []\n    Object.keys(this.hash).forEach((key) => {\n      let layer: any\n      if (this.hash[key].type == 'Poly') {\n        layer = L.polygon(\n          [\n            this.hash[key].points.map((c: L.LatLngExpression) => {\n              return CanvasShipUtils.GPSEncryptByMapToLatLng(c, this._map)\n            }),\n          ],\n          {\n            fillOpacity: 0.4,\n            opacity: 0.4,\n            weight: 1,\n            color: '#ff0000',\n          }\n        )\n        layer._type = 'poly'\n        this.bounds = this.bounds.concat(this.hash[key].points)\n      }\n      if (this.hash[key].type == 'Circle') {\n        layer = L.circle(\n          CanvasShipUtils.GPSEncryptByMapToLatLng(\n            this.hash[key].points[0],\n            this._map\n          ),\n          {\n            radius: this.hash[key].radius * 1852,\n            fillOpacity: 0.4,\n            opacity: 0.4,\n            weight: 1,\n            color: '#ff0000',\n          }\n        )\n        layer._type = 'circle'\n      }\n      this.layerHash[key] = layer\n      this._map.addLayer(layer)\n\n      this.layerHashName[key] = this.showName(layer, key)\n      this.layerHashName[key] && this._map.addLayer(this.layerHashName[key])\n    })\n    this._map.fitBounds(this.bounds)\n  }\n\n  _hide() {\n    try {\n      for (const item in this.layerHashName) {\n        const layer = this.layerHashName[item]\n        if (layer) {\n          if (this._map.hasLayer(layer)) this._map.removeLayer(layer)\n          delete this.layerHashName[item]\n        }\n      }\n      for (const item in this.layerHash) {\n        this._map.removeLayer(this.layerHash[item])\n        delete this.layerHash[item]\n      }\n    } catch (e) {\n      console.log(e)\n    }\n  }\n\n  //  区域名称绘制逻辑\n  //  1:当前可视范围内区域名称重绘\n  //  2:处于编辑的区域屏蔽展示\n  //  3:事件调整 缩放执行延迟添加\n  ///\n  polyNameChange() {\n    this._map.on('zoomend', () => {\n      this._zoomend = true\n    })\n    this._map.on('moveend', () => {\n      this._tempAreaArray = []\n      for (const item in this.layerHashName) {\n        const ly = this.layerHashName[item]\n        ly && this._map.removeLayer(ly)\n        if (this.layerHash[item]) {\n          this.layerHash[item] && this.layerHash[item].redraw()\n          const lbounds = this.layerHash[item].getBounds()\n          if (lbounds.isValid()) {\n            if (this._map.getBounds().intersects(lbounds)) {\n              this.layerHashName[item] = this.showName(\n                this.layerHash[item],\n                item\n              )\n              //缩放延迟执行添加\n              if (!this._zoomend)\n                this.layerHashName[item] &&\n                  this._map.addLayer(this.layerHashName[item])\n              else {\n                this._tempAreaArray.push(this.layerHashName[item])\n              }\n            }\n          }\n        }\n      }\n      //延迟绘制\n      setTimeout(() => {\n        this._tempAreaArray.forEach((item) => {\n          item && this._map.addLayer(item)\n        })\n      }, 0)\n      this._zoomend = !1\n    })\n  }\n\n  showName(p: Layer, name = '') {\n    const color = this._map.mapType != 'MT_SATELLITE' ? '#333' : '#fff'\n    return CommUtils.getFeatureLabel(p, name, {\n      attributes: {\n        fill: color,\n        xShift: 0,\n      },\n    } as any)\n  }\n}\nconst collisionRiskSymbol = (\n  map: MyMap,\n  options: Partial<AreaViewBaseOptions>\n) => new CollisionRiskSymbol(map, options)\nexport { collisionRiskSymbol, CollisionRiskSymbol }\n"],"names":["n","r","constructor","e","a","super","minzoom","maxzoom","isZoomEnd","this","lyGroup","hash","layerHash","layerHashName","_zoomend","_tempAreaArray","dataType","obstaclearea","name","type","points","collisionRisk","radius","_data","forEach","t","polyNameChange","_show","bounds","Object","keys","o","polygon","map","p","GPSEncryptByMapToLatLng","_map","fillOpacity","opacity","weight","color","_type","concat","circle","addLayer","showName","fitBounds","_hide","hasLayer","removeLayer","on","redraw","getBounds","isValid","intersects","push","setTimeout","mapType","y","getFeatureLabel","attributes","fill","xShift","h","s","i"],"mappings":"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"}