gisviewer-vue3-arcgis 1.0.281 → 1.0.283

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.
Files changed (532) hide show
  1. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Collection.mjs +195 -0
  2. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/CollectionEventType.mjs +17 -0
  3. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/DataTile.mjs +73 -0
  4. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Disposable.mjs +21 -0
  5. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Feature.mjs +181 -0
  6. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Image.mjs +48 -0
  7. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ImageState.mjs +10 -0
  8. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ImageTile.mjs +131 -0
  9. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Kinetic.mjs +58 -0
  10. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Map.mjs +1051 -0
  11. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEvent.mjs +59 -0
  12. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEventHandler.mjs +232 -0
  13. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEventType.mjs +45 -0
  14. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapEvent.mjs +15 -0
  15. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapEventType.mjs +35 -0
  16. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapProperty.mjs +9 -0
  17. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Object.mjs +136 -0
  18. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ObjectEventType.mjs +11 -0
  19. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Observable.mjs +105 -0
  20. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Tile.mjs +116 -0
  21. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileQueue.mjs +69 -0
  22. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileRange.mjs +79 -0
  23. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileState.mjs +14 -0
  24. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/View.mjs +1170 -0
  25. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ViewHint.mjs +7 -0
  26. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ViewProperty.mjs +8 -0
  27. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/array.mjs +89 -0
  28. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/asserts.mjs +7 -0
  29. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/centerconstraint.mjs +35 -0
  30. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/color.mjs +133 -0
  31. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/colorlike.mjs +47 -0
  32. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/console.mjs +13 -0
  33. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Attribution.mjs +134 -0
  34. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Control.mjs +73 -0
  35. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Rotate.mjs +71 -0
  36. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Zoom.mjs +63 -0
  37. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/defaults.mjs +12 -0
  38. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/coordinate.mjs +42 -0
  39. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/css.mjs +49 -0
  40. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/dom.mjs +112 -0
  41. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/easing.mjs +18 -0
  42. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Event.mjs +27 -0
  43. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/EventType.mjs +32 -0
  44. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Key.mjs +9 -0
  45. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Target.mjs +101 -0
  46. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/condition.mjs +65 -0
  47. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events.mjs +27 -0
  48. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/expr/cpu.mjs +367 -0
  49. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/expr/expression.mjs +649 -0
  50. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/extent/Relationship.mjs +11 -0
  51. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/extent.mjs +239 -0
  52. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/featureloader.mjs +54 -0
  53. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/functions.mjs +35 -0
  54. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Geometry.mjs +235 -0
  55. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/LinearRing.mjs +147 -0
  56. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Point.mjs +101 -0
  57. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Polygon.mjs +319 -0
  58. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/SimpleGeometry.mjs +249 -0
  59. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/area.mjs +22 -0
  60. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/center.mjs +18 -0
  61. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/closest.mjs +119 -0
  62. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/contains.mjs +41 -0
  63. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/deflate.mjs +32 -0
  64. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/inflate.mjs +42 -0
  65. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/interiorpoint.mjs +38 -0
  66. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/interpolate.mjs +27 -0
  67. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/intersectsextent.mjs +78 -0
  68. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/length.mjs +11 -0
  69. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/linechunk.mjs +26 -0
  70. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/orient.mjs +62 -0
  71. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/reverse.mjs +12 -0
  72. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/segments.mjs +13 -0
  73. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/simplify.mjs +89 -0
  74. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/straightchunk.mjs +11 -0
  75. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/textpath.mjs +61 -0
  76. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/transform.mjs +51 -0
  77. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/has.mjs +24 -0
  78. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DoubleClickZoom.mjs +32 -0
  79. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragBox.mjs +152 -0
  80. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragPan.mjs +79 -0
  81. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragRotate.mjs +54 -0
  82. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragZoom.mjs +41 -0
  83. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Interaction.mjs +87 -0
  84. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/KeyboardPan.mjs +44 -0
  85. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/KeyboardZoom.mjs +39 -0
  86. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/MouseWheelZoom.mjs +109 -0
  87. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/PinchRotate.mjs +63 -0
  88. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/PinchZoom.mjs +59 -0
  89. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Pointer.mjs +109 -0
  90. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Property.mjs +6 -0
  91. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/defaults.mjs +47 -0
  92. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Base.mjs +270 -0
  93. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/BaseTile.mjs +87 -0
  94. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/BaseVector.mjs +179 -0
  95. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Group.mjs +226 -0
  96. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Layer.mjs +289 -0
  97. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Property.mjs +15 -0
  98. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Tile.mjs +22 -0
  99. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/TileProperty.mjs +7 -0
  100. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Vector.mjs +20 -0
  101. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/loadingstrategy.mjs +7 -0
  102. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/math.mjs +88 -0
  103. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/obj.mjs +14 -0
  104. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ol.css.mjs +4 -0
  105. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/pointer/EventType.mjs +13 -0
  106. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Projection.mjs +138 -0
  107. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Units.mjs +11 -0
  108. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/epsg3857.mjs +54 -0
  109. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/epsg4326.mjs +34 -0
  110. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/projections.mjs +11 -0
  111. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/transforms.mjs +12 -0
  112. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/utm.mjs +67 -0
  113. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj.mjs +232 -0
  114. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Box.mjs +69 -0
  115. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Event.mjs +17 -0
  116. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/EventType.mjs +41 -0
  117. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Feature.mjs +310 -0
  118. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/VectorContext.mjs +119 -0
  119. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Builder.mjs +408 -0
  120. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/BuilderGroup.mjs +64 -0
  121. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Executor.mjs +700 -0
  122. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ExecutorGroup.mjs +252 -0
  123. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ImageBuilder.mjs +144 -0
  124. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Immediate.mjs +601 -0
  125. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Instruction.mjs +22 -0
  126. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/LineStringBuilder.mjs +122 -0
  127. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/PolygonBuilder.mjs +169 -0
  128. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/TextBuilder.mjs +335 -0
  129. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ZIndexContext.mjs +87 -0
  130. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/hitdetect.mjs +110 -0
  131. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/style.mjs +583 -0
  132. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas.mjs +177 -0
  133. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Composite.mjs +124 -0
  134. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Layer.mjs +130 -0
  135. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Map.mjs +151 -0
  136. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/Layer.mjs +211 -0
  137. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/TileLayer.mjs +490 -0
  138. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/VectorLayer.mjs +372 -0
  139. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/vector.mjs +196 -0
  140. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/Tile.mjs +194 -0
  141. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/Triangulation.mjs +225 -0
  142. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/common.mjs +4 -0
  143. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj.mjs +178 -0
  144. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/resolutionconstraint.mjs +99 -0
  145. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/rotationconstraint.mjs +44 -0
  146. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/size.mjs +14 -0
  147. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Source.mjs +101 -0
  148. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Tile.mjs +144 -0
  149. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileEventType.mjs +26 -0
  150. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileImage.mjs +208 -0
  151. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileWMS.mjs +254 -0
  152. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/UrlTile.mjs +121 -0
  153. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Vector.mjs +667 -0
  154. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/VectorEventType.mjs +48 -0
  155. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/WMTS.mjs +174 -0
  156. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/common.mjs +4 -0
  157. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/wms.mjs +57 -0
  158. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/sphere.mjs +11 -0
  159. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/string.mjs +14 -0
  160. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/LRUCache.mjs +179 -0
  161. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/PriorityQueue.mjs +150 -0
  162. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/RBush.mjs +156 -0
  163. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Circle.mjs +51 -0
  164. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Fill.mjs +76 -0
  165. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Icon.mjs +316 -0
  166. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/IconImage.mjs +164 -0
  167. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/IconImageCache.mjs +91 -0
  168. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Image.mjs +220 -0
  169. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/RegularShape.mjs +336 -0
  170. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Stroke.mjs +148 -0
  171. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Style.mjs +238 -0
  172. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Text.mjs +400 -0
  173. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilecoord.mjs +31 -0
  174. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/TileGrid.mjs +400 -0
  175. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/WMTS.mjs +37 -0
  176. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/common.mjs +5 -0
  177. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid.mjs +60 -0
  178. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tileurlfunction.mjs +51 -0
  179. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/transform.mjs +50 -0
  180. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/uri.mjs +41 -0
  181. package/es/node_modules/.pnpm/ol@10.7.0/node_modules/ol/util.mjs +11 -0
  182. package/es/node_modules/.pnpm/quickselect@3.0.0/node_modules/quickselect/index.mjs +27 -0
  183. package/es/node_modules/.pnpm/rbush@4.0.1/node_modules/rbush/index.mjs +258 -0
  184. package/es/{index.mjs → packages/components/index.mjs} +6 -4
  185. package/es/{src → packages/components/src}/gis-map/gis-map.vue.mjs +1 -1
  186. package/es/packages/components/src/gis-map/gis-map.vue2.mjs +4 -0
  187. package/es/{src → packages/components/src}/gis-map/utils/edpass-device-controller.mjs +1 -1
  188. package/es/{src → packages/components/src}/gis-map/utils/holo-flow/index.mjs +1 -1
  189. package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-holo-flow.mjs +1 -1
  190. package/es/{src → packages/components/src}/gis-map/utils/holo-flow/trace-renderer-external.mjs +1 -1
  191. package/es/{src → packages/components/src}/gis-map/utils/holo-flow/trace-renderer-layer.mjs +1 -1
  192. package/es/{src → packages/components/src}/gis-map/utils/map-initializer.mjs +122 -122
  193. package/es/{src → packages/components/src}/gis-map/utils/open-drive-renderer/index.mjs +1 -1
  194. package/es/{src → packages/components/src}/gis-map/utils/police-jurisdiction.mjs +1 -1
  195. package/es/{src → packages/components/src}/gis-map/utils/queue-length.mjs +9 -9
  196. package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/search-nearby-lanes.mjs +1 -1
  197. package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/edit-area.mjs +1 -1
  198. package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-area-controller.mjs +1 -1
  199. package/es/{src → packages/components/src}/gis-map/utils/sketchView.mjs +1 -1
  200. package/es/{src → packages/components/src}/gis-map/utils/traffic-flow.mjs +1 -1
  201. package/es/packages/components/src/gis-map-ol/gis-map-ol.vue.mjs +67 -0
  202. package/es/packages/components/src/gis-map-ol/gis-map-ol.vue3.mjs +5 -0
  203. package/es/packages/components/src/gis-map-ol/index.mjs +8 -0
  204. package/es/packages/components/src/gis-map-ol/utils/ol-map-initializer.mjs +131 -0
  205. package/es/packages/components/src/gis-map-ol/utils/signal-control/signal-cross-controller.mjs +263 -0
  206. package/es/packages/components/src/index.mjs +6 -0
  207. package/es/src/components.d.ts +1 -0
  208. package/es/src/gis-map/gis-map.vue.d.ts +1 -1
  209. package/es/src/gis-map/index.d.ts +2 -2
  210. package/es/src/gis-map/utils/map-initializer.d.ts +2 -7
  211. package/es/src/gis-map/utils/signal-control-area/signal-area-controller.d.ts +0 -3
  212. package/es/src/gis-map-ol/gis-map-ol.vue.d.ts +50 -0
  213. package/es/src/gis-map-ol/index.d.ts +45 -0
  214. package/es/src/gis-map-ol/utils/ol-map-initializer.d.ts +28 -0
  215. package/es/src/gis-map-ol/utils/signal-control/signal-cross-controller.d.ts +42 -0
  216. package/es/src/index.d.ts +1 -0
  217. package/es/src/{gis-map/stores → stores}/appData.d.ts +0 -2
  218. package/es/src/types/index.d.ts +6 -0
  219. package/es/style.css +1 -1
  220. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Collection.js +1 -0
  221. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/CollectionEventType.js +1 -0
  222. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/DataTile.js +1 -0
  223. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Disposable.js +1 -0
  224. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Feature.js +1 -0
  225. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Image.js +1 -0
  226. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ImageState.js +1 -0
  227. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ImageTile.js +1 -0
  228. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Kinetic.js +1 -0
  229. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Map.js +1 -0
  230. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEvent.js +1 -0
  231. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEventHandler.js +1 -0
  232. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEventType.js +1 -0
  233. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapEvent.js +1 -0
  234. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapEventType.js +1 -0
  235. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapProperty.js +1 -0
  236. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Object.js +1 -0
  237. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ObjectEventType.js +1 -0
  238. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Observable.js +1 -0
  239. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Tile.js +1 -0
  240. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileQueue.js +1 -0
  241. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileRange.js +1 -0
  242. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileState.js +1 -0
  243. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/View.js +1 -0
  244. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ViewHint.js +1 -0
  245. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ViewProperty.js +1 -0
  246. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/array.js +1 -0
  247. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/asserts.js +1 -0
  248. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/centerconstraint.js +1 -0
  249. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/color.js +1 -0
  250. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/colorlike.js +1 -0
  251. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/console.js +1 -0
  252. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Attribution.js +1 -0
  253. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Control.js +1 -0
  254. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Rotate.js +1 -0
  255. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Zoom.js +1 -0
  256. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/defaults.js +1 -0
  257. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/coordinate.js +1 -0
  258. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/css.js +1 -0
  259. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/dom.js +1 -0
  260. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/easing.js +1 -0
  261. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Event.js +1 -0
  262. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/EventType.js +1 -0
  263. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Key.js +1 -0
  264. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Target.js +1 -0
  265. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/condition.js +1 -0
  266. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events.js +1 -0
  267. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/expr/cpu.js +1 -0
  268. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/expr/expression.js +1 -0
  269. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/extent/Relationship.js +1 -0
  270. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/extent.js +1 -0
  271. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/featureloader.js +1 -0
  272. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/functions.js +1 -0
  273. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Geometry.js +1 -0
  274. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/LinearRing.js +1 -0
  275. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Point.js +1 -0
  276. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Polygon.js +1 -0
  277. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/SimpleGeometry.js +1 -0
  278. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/area.js +1 -0
  279. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/center.js +1 -0
  280. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/closest.js +1 -0
  281. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/contains.js +1 -0
  282. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/deflate.js +1 -0
  283. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/inflate.js +1 -0
  284. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/interiorpoint.js +1 -0
  285. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/interpolate.js +1 -0
  286. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/intersectsextent.js +1 -0
  287. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/length.js +1 -0
  288. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/linechunk.js +1 -0
  289. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/orient.js +1 -0
  290. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/reverse.js +1 -0
  291. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/segments.js +1 -0
  292. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/simplify.js +1 -0
  293. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/straightchunk.js +1 -0
  294. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/textpath.js +1 -0
  295. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/transform.js +1 -0
  296. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/has.js +1 -0
  297. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DoubleClickZoom.js +1 -0
  298. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragBox.js +1 -0
  299. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragPan.js +1 -0
  300. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragRotate.js +1 -0
  301. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragZoom.js +1 -0
  302. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Interaction.js +1 -0
  303. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/KeyboardPan.js +1 -0
  304. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/KeyboardZoom.js +1 -0
  305. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/MouseWheelZoom.js +1 -0
  306. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/PinchRotate.js +1 -0
  307. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/PinchZoom.js +1 -0
  308. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Pointer.js +1 -0
  309. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Property.js +1 -0
  310. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/defaults.js +1 -0
  311. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Base.js +1 -0
  312. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/BaseTile.js +1 -0
  313. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/BaseVector.js +1 -0
  314. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Group.js +1 -0
  315. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Layer.js +1 -0
  316. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Property.js +1 -0
  317. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Tile.js +1 -0
  318. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/TileProperty.js +1 -0
  319. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Vector.js +1 -0
  320. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/loadingstrategy.js +1 -0
  321. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/math.js +1 -0
  322. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/obj.js +1 -0
  323. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/pointer/EventType.js +1 -0
  324. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Projection.js +1 -0
  325. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Units.js +1 -0
  326. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/epsg3857.js +1 -0
  327. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/epsg4326.js +1 -0
  328. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/projections.js +1 -0
  329. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/transforms.js +1 -0
  330. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/utm.js +1 -0
  331. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj.js +1 -0
  332. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Box.js +1 -0
  333. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Event.js +1 -0
  334. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/EventType.js +1 -0
  335. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Feature.js +1 -0
  336. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/VectorContext.js +1 -0
  337. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Builder.js +1 -0
  338. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/BuilderGroup.js +1 -0
  339. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Executor.js +4 -0
  340. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ExecutorGroup.js +1 -0
  341. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ImageBuilder.js +1 -0
  342. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Immediate.js +1 -0
  343. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Instruction.js +1 -0
  344. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/LineStringBuilder.js +1 -0
  345. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/PolygonBuilder.js +1 -0
  346. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/TextBuilder.js +1 -0
  347. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ZIndexContext.js +1 -0
  348. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/hitdetect.js +1 -0
  349. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/style.js +1 -0
  350. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas.js +3 -0
  351. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Composite.js +1 -0
  352. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Layer.js +1 -0
  353. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Map.js +1 -0
  354. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/Layer.js +1 -0
  355. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/TileLayer.js +1 -0
  356. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/VectorLayer.js +1 -0
  357. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/vector.js +1 -0
  358. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/Tile.js +1 -0
  359. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/Triangulation.js +1 -0
  360. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/common.js +1 -0
  361. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj.js +1 -0
  362. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/resolutionconstraint.js +1 -0
  363. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/rotationconstraint.js +1 -0
  364. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/size.js +1 -0
  365. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Source.js +1 -0
  366. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Tile.js +1 -0
  367. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileEventType.js +1 -0
  368. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileImage.js +1 -0
  369. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileWMS.js +1 -0
  370. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/UrlTile.js +2 -0
  371. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Vector.js +1 -0
  372. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/VectorEventType.js +1 -0
  373. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/WMTS.js +2 -0
  374. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/common.js +1 -0
  375. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/wms.js +1 -0
  376. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/sphere.js +1 -0
  377. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/string.js +1 -0
  378. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/LRUCache.js +1 -0
  379. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/PriorityQueue.js +1 -0
  380. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/RBush.js +1 -0
  381. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Circle.js +1 -0
  382. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Fill.js +1 -0
  383. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Icon.js +1 -0
  384. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/IconImage.js +1 -0
  385. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/IconImageCache.js +1 -0
  386. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Image.js +1 -0
  387. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/RegularShape.js +1 -0
  388. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Stroke.js +1 -0
  389. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Style.js +1 -0
  390. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Text.js +1 -0
  391. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilecoord.js +1 -0
  392. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/TileGrid.js +1 -0
  393. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/WMTS.js +1 -0
  394. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/common.js +1 -0
  395. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid.js +1 -0
  396. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tileurlfunction.js +1 -0
  397. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/transform.js +1 -0
  398. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/uri.js +1 -0
  399. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/util.js +1 -0
  400. package/lib/node_modules/.pnpm/quickselect@3.0.0/node_modules/quickselect/index.js +1 -0
  401. package/lib/node_modules/.pnpm/rbush@4.0.1/node_modules/rbush/index.js +1 -0
  402. package/lib/packages/components/index.js +1 -0
  403. package/lib/packages/components/src/gis-map/gis-map.vue.js +1 -0
  404. package/lib/packages/components/src/gis-map/gis-map.vue2.js +1 -0
  405. package/lib/packages/components/src/gis-map/utils/edpass-device-controller.js +1 -0
  406. package/lib/packages/components/src/gis-map/utils/holo-flow/index.js +1 -0
  407. package/lib/packages/components/src/gis-map/utils/holo-flow/signal-holo-flow.js +1 -0
  408. package/lib/packages/components/src/gis-map/utils/holo-flow/trace-renderer-external.js +1 -0
  409. package/lib/packages/components/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -0
  410. package/lib/packages/components/src/gis-map/utils/map-initializer.js +1 -0
  411. package/lib/packages/components/src/gis-map/utils/open-drive-renderer/index.js +1 -0
  412. package/lib/packages/components/src/gis-map/utils/police-jurisdiction.js +1 -0
  413. package/lib/packages/components/src/gis-map/utils/queue-length.js +1 -0
  414. package/lib/packages/components/src/gis-map/utils/road-config-tool/search-nearby-lanes.js +1 -0
  415. package/lib/packages/components/src/gis-map/utils/signal-control-area/edit-area.js +1 -0
  416. package/lib/packages/components/src/gis-map/utils/signal-control-area/signal-area-controller.js +1 -0
  417. package/lib/packages/components/src/gis-map/utils/sketchView.js +1 -0
  418. package/lib/packages/components/src/gis-map/utils/traffic-flow.js +1 -0
  419. package/lib/packages/components/src/gis-map-ol/gis-map-ol.vue.js +1 -0
  420. package/lib/packages/components/src/gis-map-ol/gis-map-ol.vue2.js +1 -0
  421. package/lib/packages/components/src/gis-map-ol/gis-map-ol.vue3.js +1 -0
  422. package/lib/packages/components/src/gis-map-ol/index.js +1 -0
  423. package/lib/packages/components/src/gis-map-ol/utils/ol-map-initializer.js +1 -0
  424. package/lib/packages/components/src/gis-map-ol/utils/signal-control/signal-cross-controller.js +1 -0
  425. package/lib/packages/components/src/index.js +1 -0
  426. package/lib/src/components.d.ts +1 -0
  427. package/lib/src/gis-map/gis-map.vue.d.ts +1 -1
  428. package/lib/src/gis-map/index.d.ts +2 -2
  429. package/lib/src/gis-map/utils/map-initializer.d.ts +2 -7
  430. package/lib/src/gis-map/utils/signal-control-area/signal-area-controller.d.ts +0 -3
  431. package/lib/src/gis-map-ol/gis-map-ol.vue.d.ts +50 -0
  432. package/lib/src/gis-map-ol/index.d.ts +45 -0
  433. package/lib/src/gis-map-ol/utils/ol-map-initializer.d.ts +28 -0
  434. package/lib/src/gis-map-ol/utils/signal-control/signal-cross-controller.d.ts +42 -0
  435. package/lib/src/index.d.ts +1 -0
  436. package/lib/src/{gis-map/stores → stores}/appData.d.ts +0 -2
  437. package/lib/src/types/index.d.ts +6 -0
  438. package/package.json +2 -1
  439. package/es/src/index.mjs +0 -4
  440. package/lib/index.js +0 -1
  441. package/lib/src/gis-map/gis-map.vue.js +0 -1
  442. package/lib/src/gis-map/utils/edpass-device-controller.js +0 -1
  443. package/lib/src/gis-map/utils/holo-flow/index.js +0 -1
  444. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow.js +0 -1
  445. package/lib/src/gis-map/utils/holo-flow/trace-renderer-external.js +0 -1
  446. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +0 -1
  447. package/lib/src/gis-map/utils/map-initializer.js +0 -1
  448. package/lib/src/gis-map/utils/open-drive-renderer/index.js +0 -1
  449. package/lib/src/gis-map/utils/police-jurisdiction.js +0 -1
  450. package/lib/src/gis-map/utils/queue-length.js +0 -1
  451. package/lib/src/gis-map/utils/road-config-tool/search-nearby-lanes.js +0 -1
  452. package/lib/src/gis-map/utils/signal-control-area/edit-area.js +0 -1
  453. package/lib/src/gis-map/utils/signal-control-area/signal-area-controller.js +0 -1
  454. package/lib/src/gis-map/utils/sketchView.js +0 -1
  455. package/lib/src/gis-map/utils/traffic-flow.js +0 -1
  456. package/lib/src/index.js +0 -1
  457. /package/es/{src → packages/components/src}/gis-map/gis-map.vue3.mjs +0 -0
  458. /package/es/{src → packages/components/src}/gis-map/index.mjs +0 -0
  459. /package/es/{src → packages/components/src}/gis-map/utils/FlyToPoints.mjs +0 -0
  460. /package/es/{src → packages/components/src}/gis-map/utils/GreenWaveline.mjs +0 -0
  461. /package/es/{src → packages/components/src}/gis-map/utils/Layers.mjs +0 -0
  462. /package/es/{src → packages/components/src}/gis-map/utils/common-utils.mjs +0 -0
  463. /package/es/{src → packages/components/src}/gis-map/utils/custom-layer/custom-wmts-layer.mjs +0 -0
  464. /package/es/{src → packages/components/src}/gis-map/utils/dbscan-cluster/index.mjs +0 -0
  465. /package/es/{src → packages/components/src}/gis-map/utils/detect-gpu.mjs +0 -0
  466. /package/es/{src → packages/components/src}/gis-map/utils/green-wave-band-controller/index.mjs +0 -0
  467. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue.mjs +0 -0
  468. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue2.mjs +0 -0
  469. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-holo-flow-lsr.mjs +0 -0
  470. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/trace-holo-flow.mjs +0 -0
  471. /package/es/{src → packages/components/src}/gis-map/utils/index.mjs +0 -0
  472. /package/es/{src → packages/components/src}/gis-map/utils/overlay.mjs +0 -0
  473. /package/es/{src → packages/components/src}/gis-map/utils/renderer/greenWaveline.mjs +0 -0
  474. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/cross.mjs +0 -0
  475. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/entrance.mjs +0 -0
  476. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/exit.mjs +0 -0
  477. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/index.mjs +0 -0
  478. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/indicator-area.mjs +0 -0
  479. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/lane.mjs +0 -0
  480. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/cross-renderer.mjs +0 -0
  481. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/district-controller.mjs +0 -0
  482. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/district-renderer.mjs +0 -0
  483. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/layer-symbol.mjs +0 -0
  484. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-cross-controller.mjs +0 -0
  485. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-renderer.mjs +0 -0
  486. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/sub-district-renderer.mjs +0 -0
  487. /package/es/{src → packages/components/src}/gis-map/utils/signal-system/signal-system-controller.mjs +0 -0
  488. /package/es/{src → packages/components/src}/gis-map/utils/sketchViewTool.mjs +0 -0
  489. /package/es/{src → packages/components/src}/gis-map/utils/syncMapView.mjs +0 -0
  490. /package/es/{src/gis-map/gis-map.vue2.mjs → packages/components/src/gis-map-ol/gis-map-ol.vue2.mjs} +0 -0
  491. /package/es/{src/gis-map → packages/components/src}/stores/appData.mjs +0 -0
  492. /package/es/{src/gis-map → packages/components/src}/stores/index.mjs +0 -0
  493. /package/es/{src → packages/components/src}/types/index.mjs +0 -0
  494. /package/es/src/{gis-map/stores → stores}/index.d.ts +0 -0
  495. /package/lib/{src/gis-map/gis-map.vue2.js → node_modules/.pnpm/ol@10.7.0/node_modules/ol/ol.css.js} +0 -0
  496. /package/lib/{src → packages/components/src}/gis-map/gis-map.vue3.js +0 -0
  497. /package/lib/{src → packages/components/src}/gis-map/index.js +0 -0
  498. /package/lib/{src → packages/components/src}/gis-map/utils/FlyToPoints.js +0 -0
  499. /package/lib/{src → packages/components/src}/gis-map/utils/GreenWaveline.js +0 -0
  500. /package/lib/{src → packages/components/src}/gis-map/utils/Layers.js +0 -0
  501. /package/lib/{src → packages/components/src}/gis-map/utils/common-utils.js +0 -0
  502. /package/lib/{src → packages/components/src}/gis-map/utils/custom-layer/custom-wmts-layer.js +0 -0
  503. /package/lib/{src → packages/components/src}/gis-map/utils/dbscan-cluster/index.js +0 -0
  504. /package/lib/{src → packages/components/src}/gis-map/utils/detect-gpu.js +0 -0
  505. /package/lib/{src → packages/components/src}/gis-map/utils/green-wave-band-controller/index.js +0 -0
  506. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue.js +0 -0
  507. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue2.js +0 -0
  508. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/signal-holo-flow-lsr.js +0 -0
  509. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/trace-holo-flow.js +0 -0
  510. /package/lib/{src → packages/components/src}/gis-map/utils/index.js +0 -0
  511. /package/lib/{src → packages/components/src}/gis-map/utils/overlay.js +0 -0
  512. /package/lib/{src → packages/components/src}/gis-map/utils/renderer/greenWaveline.js +0 -0
  513. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/cross.js +0 -0
  514. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/entrance.js +0 -0
  515. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/exit.js +0 -0
  516. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/index.js +0 -0
  517. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/indicator-area.js +0 -0
  518. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/lane.js +0 -0
  519. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/cross-renderer.js +0 -0
  520. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/district-controller.js +0 -0
  521. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/district-renderer.js +0 -0
  522. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/layer-symbol.js +0 -0
  523. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-cross-controller.js +0 -0
  524. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-renderer.js +0 -0
  525. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/sub-district-renderer.js +0 -0
  526. /package/lib/{src → packages/components/src}/gis-map/utils/signal-system/signal-system-controller.js +0 -0
  527. /package/lib/{src → packages/components/src}/gis-map/utils/sketchViewTool.js +0 -0
  528. /package/lib/{src → packages/components/src}/gis-map/utils/syncMapView.js +0 -0
  529. /package/lib/{src/gis-map → packages/components/src}/stores/appData.js +0 -0
  530. /package/lib/{src/gis-map → packages/components/src}/stores/index.js +0 -0
  531. /package/lib/{src → packages/components/src}/types/index.js +0 -0
  532. /package/lib/src/{gis-map/stores → stores}/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("@arcgis/core/Graphic"),J=require("@arcgis/core/core/promiseUtils"),E=require("@arcgis/core/core/reactiveUtils.js"),A=require("@arcgis/core/geometry"),q=require("@arcgis/core/geometry/geometryEngine"),x=require("@arcgis/core/layers/FeatureLayer"),v=require("@arcgis/core/layers/GraphicsLayer"),T=require("@turf/helpers"),O=require("@turf/line-slice-along"),w=require("axios"),_=require("fast-xml-parser"),R=require("md5"),M=require("pako"),z=require("vue"),H=require("../../../stores/index.js"),k=require("../common-utils.js");function N(S){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(S){for(const i in S)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(S,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>S[i]})}}return e.default=S,Object.freeze(e)}const P=N(J),U=N(E),L=N(q),B=N(T);class C{constructor(e){this.junctionNames=new Map,this.junctionScale=5e3,this.xodrBorder=[],this.projectName="",this.openDriveServer="",this.currentSectionCode="",this.selectedSectionIds=[],this.currentJunctionId="",this.view=e,this.laneLayer=new x({id:"OpenDriveLane",fields:[{name:"ObjectID",alias:"ObjectID",type:"oid"},{name:"id",alias:"编号",type:"string"},{name:"roadId",alias:"道路号",type:"string"},{name:"roadName",alias:"道路名称",type:"string"},{name:"sectionId",alias:"路段号",type:"string"},{name:"sectionIndex",alias:"路段序号",type:"string"},{name:"laneId",alias:"车道号",type:"string"},{name:"type",alias:"类型",type:"string"},{name:"sumoId",alias:"sumo编号",type:"string"},{name:"fromNode",alias:"起点路口",type:"string"},{name:"toNode",alias:"终点路口",type:"string"},{name:"roadsectBaseIds",alias:"基本段编号",type:"string"}],objectIdField:"ObjectID",geometryType:"polygon",spatialReference:{wkid:4326},source:[],outFields:["*"],renderer:{type:"unique-value",field:"type",defaultSymbol:{type:"simple-fill",color:[100,100,100],style:"solid",outline:{color:"white",width:1}},uniqueValueInfos:[{value:"shoulder",label:"路肩",symbol:{type:"simple-fill",color:"#008000",style:"solid",outline:{color:"white",width:1}}},{value:"border",label:"路沿",symbol:{type:"simple-fill",color:"#DCDCDC",style:"solid",outline:{color:"white",width:1}}},{value:"driving",label:"机动车道",symbol:{type:"simple-fill",color:[47,79,79,.8],style:"solid",outline:{color:"white",width:1}}},{value:"none",label:"无",symbol:{type:"simple-fill",color:[111,120,135],style:"none",outline:{color:"white",width:1}}},{value:"restricted",label:"禁行区",symbol:{type:"simple-fill",color:"yellow",style:"solid",outline:{color:"yellow",width:2}}},{value:"parking",label:"停车区",symbol:{type:"simple-fill",color:[115,115,115],style:"solid",outline:{color:"white",width:1}}},{value:"median",label:"中央隔离带",symbol:{type:"simple-fill",color:"#008000",style:"solid",outline:{color:"white",width:1}}},{value:"biking",label:"非机动车道",symbol:{type:"simple-fill",color:"#D3D3D3",style:"solid",outline:{color:"white",width:1}}},{value:"sidewalk",label:"人行道",symbol:{type:"simple-fill",color:"#C0C0C0",style:"solid",outline:{color:"white",width:1}}},{value:"junction",label:"路口区域",symbol:{type:"simple-fill",color:"#2F4F4F",style:"solid",outline:{color:"white",width:1}}},{value:"selected",label:"选中车道",symbol:{type:"simple-fill",color:[141,168,211],style:"solid",outline:{color:"white",width:1}}}]}}),this.roadNameLayer=new x({id:"OpenDriveRoadName",fields:[{name:"ObjectID",alias:"ObjectID",type:"oid"},{name:"roadId",alias:"道路号",type:"string"},{name:"roadName",alias:"道路名称",type:"string"}],objectIdField:"ObjectID",geometryType:"polyline",spatialReference:{wkid:4326},source:[],renderer:{type:"simple",symbol:{type:"simple-line",style:"solid",color:[0,0,0,0],width:1}},labelingInfo:[{symbol:{type:"text",color:"black",haloColor:"white",haloSize:1,font:{size:12,family:"sans-serif"}},labelPlacement:this.view.type==="2d"?"center-along":void 0,labelExpressionInfo:{expression:"$feature.roadName"}}]}),this.junctionLayer=new v({id:"OpenDriveJunction"}),this.sectionLayer=new v({id:"OpenDriveSection"}),this.highlightLayer=new v({id:"OpenDriveHighlight"}),this.flashLayer=new v({id:"OpenDriveFlash"}),this.drawLayer=new v({id:"Draw"}),this.splitLaneLayer=new v({id:"SplitLane"}),this.borderLayer=new v({id:"OpenDriveBorder"}),this.view.map.addMany([this.laneLayer,this.sectionLayer,this.roadNameLayer,this.junctionLayer,this.highlightLayer,this.flashLayer,this.drawLayer,this.splitLaneLayer,this.borderLayer])}static getInstance(e){return this.instance||(this.instance=new C(e)),this.instance}async makeMd5FromFile(e){var i;try{const o=await(await fetch(e)).text();let r=(i=new _.XMLParser({ignoreAttributes:!1,allowBooleanAttributes:!0}).parse(o).OpenDRIVE.userData)==null?void 0:i.border;return r?r=JSON.parse(r):r=[],{status:0,message:"ok",result:{md5:R(o),border:r}}}catch(s){return{status:-1,message:s.message}}}async showOpenDriveFromFile(e){var d,m,u;this.openDriveClickCallback=e.selectedCallback,this.scaleWatch=U.watch(()=>this.view.scale,(h,p)=>{h>this.junctionScale&&p<=this.junctionScale?this.updateAllJunctionSymbol("marker"):h<=this.junctionScale&&p>this.junctionScale&&this.updateAllJunctionSymbol("picture")});let i=e.file.split("/").pop()||"";i=i.split(".").slice(0,-1).join("."),this.openDriveServer=e.server;const s=`http://${this.openDriveServer}/api/openDrive/uploadXodr`;let o;try{o=await w.post(s,{},{params:{url:e.file,projectName:i}})}catch(h){return{status:-1,message:h.message}}if(o.status!==200)return{status:-1,message:o.statusText};console.time("渲染用时");const t=o.data.result.geoSetting;k.default.setGeoData(t.geoReference,t.offsetX,t.offsetY);let l=o.data.result.json;l.startsWith(window.location.protocol)||(l=`${window.location.protocol}//${e.server}${l}`);const r=await fetch(l);let a;if(l.endsWith("bin")){const h=await r.arrayBuffer(),p=M.inflate(h,{to:"string"});a=JSON.parse(p)}else a=await r.json();if(await this.showAllLanes(a,((d=e.options)==null?void 0:d.showJunctionLane)||!1,((m=e.options)==null?void 0:m.showRoadName)||!0),((u=e.options)==null?void 0:u.showJunctionPoint)!==!1){const h=o.data.result.junctions;this.showJunction(h)}e.options&&e.options.centerMap!==!1&&await this.view.goTo(this.allLaneGraphics),this.mouseMoveHandler||this.monitorMouseMove(),this.mouseClickHandler||this.monitorMouseClick();const n=H.default.useAppDataStore;return z.watch(()=>n.isSketching,()=>{var h,p;n.isSketching?((h=this.mouseMoveHandler)==null||h.remove(),this.mouseMoveHandler=void 0,(p=this.mouseClickHandler)==null||p.remove(),this.mouseClickHandler=void 0):(this.monitorMouseMove(),this.monitorMouseClick())}),console.timeEnd("渲染用时"),{status:0,message:"ok"}}async showOpenDriveFromServer(e,i){const s=`http://${e}/api/openDrive/analyzeXodr`,o=await w.get(s,{headers:{projectName:i},params:{analyze:!1,compressed:!0}});if(o.status!==200)throw new Error(`OpenDriveRenderer: ${o.statusText}`);let t=o.data.result.json;t.startsWith(window.location.protocol)||(t=`${window.location.protocol}//${e}${t}`);const l=await fetch(t);let r;if(t.endsWith("bin")){const a=await l.arrayBuffer(),c=M.inflate(a,{to:"string"});r=JSON.parse(c)}else r=await l.json();return await this.showAllLanes(r,!1,!1),{status:0,message:"ok"}}async showAllLanes(e,i,s){const o=await this.laneLayer.queryFeatures();return o.features.length>0&&this.laneLayer.applyEdits({deleteFeatures:o.features}),this.roadNameLayer.visible=s,new Promise(t=>{var c;let l=0;this.allLaneGraphics=[],this.allRefLineGraphics=[];const r=[];for(const n of e){if(!i&&n.junction!=="-1")continue;const{id:d,refLine:m}=n;let u=n.name;u.includes("(")&&(u=u.slice(0,u.indexOf("("))),u=u.replace(/(.)/g,"$1 ");const h=new I({geometry:{type:"polyline",paths:[m]},attributes:{ObjectID:l++,roadId:d,roadName:u}});this.allRefLineGraphics.push(h),n.laneSections.sort((p,g)=>Number(p.id)-Number(g.id));for(let p=0;p<n.laneSections.length;p++){const g=n.laneSections[p],y=Number(g.id);for(const f of g.lanePaths){const b=Number(f.id);if(b===0)continue;const $=f.type,F=[...f.outerPath],j=f.innerPath.concat(F.reverse());if(j.length<=3){console.warn(`lane ${b} has less than 3 points`);continue}j.push(f.innerPath[0]);const D=new A.Polygon({rings:[j]});if(D){const G=new I({geometry:D,attributes:{ObjectID:l++,id:`${d}+${y}+${b}`,fromNode:n.fromNode,toNode:n.toNode,roadId:String(d),roadName:n.name,sectionId:String(y),sectionIndex:p,laneId:b,type:$,sumoId:"",leftLine:f.innerPath,rightLine:f.outerPath,roadsectBaseIds:(c=g.roadsectBaseIds)==null?void 0:c.toString()}});this.allLaneGraphics.push(G),r.push(G)}}}}const a=setInterval(()=>{if(r.length>0||this.allRefLineGraphics.length>0){if(r.length>0){const n=r.splice(0,100);this.laneLayer.applyEdits({addFeatures:n})}if(this.allRefLineGraphics.length>0){const n=this.allRefLineGraphics.splice(0,10);this.roadNameLayer.applyEdits({addFeatures:n})}}else clearInterval(a),t()},10)})}showJunction(e){const i=[];let s;this.xodrBorder.length>0&&(s=new A.Polygon({rings:[this.xodrBorder]}));for(const o of e)if(o&&(this.junctionNames.set(o.id,o.name),o.nodeType=o.type,o.crossId)){const t=new A.Point({x:o.coordinates[0],y:o.coordinates[1]});let l=!0;if(s&&(l=L.contains(s,t)),l){const r=new I({geometry:t,attributes:{...o,selected:!1,type:"OpenDriveJunction"},symbol:this.getCrossGraphicSymbol(o,"marker")});i.push(r)}}this.junctionLayer.addMany(i)}monitorMouseMove(){const e=P.debounce(async i=>{var l;const o=(l=(await this.view.hitTest(i,{include:[this.laneLayer,this.junctionLayer]})).results)==null?void 0:l.filter(r=>r.type==="graphic");if(o.length===0){this.currentSectionCode!==""&&(this.currentSectionCode="",this.highlightLayer.removeAll()),this.currentJunctionId!==""&&(this.currentJunctionId=""),this.view.closePopup();return}const t=o[0];if(this.hitGraphic=t.graphic,t.layer.id==="OpenDriveLane"){const r=`${this.hitGraphic.getAttribute("roadId")}+${this.hitGraphic.getAttribute("sectionId")}`,a=this.hitGraphic.getAttribute("roadsectBaseIds");if(this.currentSectionCode===r||this.selectedSectionIds.includes(a)||this.sectionLayer.graphics.findIndex(y=>y.getAttribute("id")===r)>=0)return;this.currentSectionCode=r;const n=this.allLaneGraphics.filter(y=>`${y.attributes.roadId}+${y.attributes.sectionId}`===r),d=L.union(n.map(y=>y.geometry)),m=this.hitGraphic.getAttribute("fromNode"),u=this.hitGraphic.getAttribute("toNode"),h=this.junctionNames.get(m)||m,p=this.junctionNames.get(u)||u,g=new I({geometry:d,symbol:{type:"simple-fill",color:[0,255,255,.5],style:"solid",outline:{color:[0,255,255],width:1}},attributes:{type:"OpenDriveSection",id:r,selected:!1,fromNodeName:h,toNodeName:p,laneCount:n.length,roadsectBaseIds:this.hitGraphic.getAttribute("roadsectBaseIds"),roadId:this.hitGraphic.getAttribute("roadId")},popupTemplate:{title:this.hitGraphic.getAttribute("roadName"),content:[{type:"fields",fieldInfos:[{fieldName:"fromNodeName",label:"起点路口"},{fieldName:"toNodeName",label:"终点路口"},{fieldName:"laneCount",label:"车道数量"}]}]}});this.highlightLayer.removeAll(),this.highlightLayer.add(g)}else if(t.layer.id==="OpenDriveJunction"){const r=this.hitGraphic.getAttribute("id");if(r===this.currentJunctionId)return;this.currentJunctionId=r}});this.mouseMoveHandler=this.view.on("pointer-move",async i=>{e(i).catch(()=>{})})}monitorMouseClick(){const e=P.debounce(async i=>{var a;const o=(a=(await this.view.hitTest(i,{include:[this.highlightLayer,this.junctionLayer,this.sectionLayer]})).results)==null?void 0:a.filter(c=>c.type==="graphic");if(o.length===0)return;const t=o[0].graphic,l=t.getAttribute("type"),r=t.getAttribute("id");if(l==="OpenDriveJunction")if(t.getAttribute("selected")===!1){const c=`http://${this.openDriveServer}/api/sumo/getSumoJunction`,n=await w.get(c,{params:{id:r,projectName:this.projectName}});n.status===200&&n.data.status===0&&(this.openDriveClickCallback&&this.openDriveClickCallback({type:"OpenDriveJunction",id:r,details:n.data.result}),t.setAttribute("selected",!0),t.symbol={type:"picture-marker",url:"/GisViewerAssets/Images/point_red.png",width:"20px",height:"20px"},this.increasePictureMarkerSize(t,50))}else this.openDriveClickCallback&&this.openDriveClickCallback({type:"OpenDriveJunction",id:r,details:void 0}),t.setAttribute("selected",!1),t.symbol=this.getCrossGraphicSymbol(t.attributes,this.view.scale<this.junctionScale?"picture":"marker");else l==="OpenDriveSection"&&(t.layer.id==="OpenDriveHighlight"?(this.highlightLayer.removeAll(),this.sectionLayer.removeAll(),this.selectedSectionIds=[],this.sectionLayer.add(t),t.setAttribute("selected",!0),this.selectedSectionIds.push(r),this.splitLaneLayer.graphics.filter(n=>n.getAttribute("roadsectBaseIds")===t.getAttribute("roadsectBaseIds")).forEach(n=>n.symbol={type:"simple-fill",color:[255,69,0],outline:{color:"red",width:2}}),this.openDriveClickCallback&&this.openDriveClickCallback({type:"OpenDriveSection",id:t.getAttribute("id"),details:{roadsectId:t.getAttribute("roadId"),roadsectBaseIds:t.getAttribute("roadsectBaseIds")}})):(this.splitLaneLayer.graphics.filter(n=>n.getAttribute("roadsectBaseIds")===t.getAttribute("roadsectBaseIds")).forEach(n=>n.symbol={type:"simple-fill",color:[255,0,0,.8],outline:{color:"red",width:1}}),this.sectionLayer.remove(t),this.selectedSectionIds=[],this.openDriveClickCallback&&this.openDriveClickCallback({type:"CloseOpenDriveSection",id:t.getAttribute("roadsectBaseIds"),details:{roadsectId:t.getAttribute("roadId"),roadsectBaseIds:t.getAttribute("roadsectBaseIds")}})))});this.mouseClickHandler=this.view.on("immediate-click",async i=>{e(i).catch(()=>{})})}increasePictureMarkerSize(e,i){const s=setInterval(()=>{const o=e.symbol,t=o.width;t<i?e.symbol={type:"picture-marker",url:o.url,width:t+1,height:t+1}:clearInterval(s)},20)}decreasePictureMarkerSize(e,i){const s=setInterval(()=>{const o=e.symbol,t=o.width;t>i?e.symbol={type:"picture-marker",url:o.url,width:t-1,height:t-1}:clearInterval(s)},20)}async getSumoInfo(e){switch(e.type){case"junction":{const i=`http://${this.openDriveServer}/api/sumo/getSumoJunction`,s=await w.get(i,{params:{id:e.id,projectName:this.projectName}});return s.status===200?s.data:{status:-1,message:`路口信息查询失败: ${e.id}`}}case"edge":{const i=e.id.split("#");let s=i[0];s.startsWith("-")&&(s=s.slice(1));let o=0;i.length===2&&(o=Number(i[1]));const t=this.allLaneGraphics.find(l=>l.getAttribute("roadId")===s&&l.getAttribute("sectionIndex")===o);if(t){const l=`${s}+${t.getAttribute("sectionId")}`,r=`http://${this.openDriveServer}/api/sumo/getSumoEdge`,a=await w.get(r,{params:{id:l,projectName:this.projectName}});return a.status===200?a.data:{status:-1,message:`路段信息查询失败: ${l}`}}else return{status:-1,message:"未知类型"}}default:return{status:-1,message:"未知类型"}}}setOpendriveVisibility(e){this.laneLayer.visible=e}async clearOpenDrive(){var i,s,o;let e=await this.laneLayer.queryFeatures();e.features.length>0&&await this.laneLayer.applyEdits({deleteFeatures:e.features}),e=await this.roadNameLayer.queryFeatures(),e.features.length>0&&await this.roadNameLayer.applyEdits({deleteFeatures:e.features}),this.highlightLayer.removeAll(),this.junctionLayer.removeAll(),this.sectionLayer.removeAll(),this.flashLayer.removeAll(),this.borderLayer.removeAll(),(i=this.mouseMoveHandler)==null||i.remove(),this.mouseMoveHandler=void 0,(s=this.mouseClickHandler)==null||s.remove(),this.mouseClickHandler=void 0,(o=this.scaleWatch)==null||o.remove(),this.scaleWatch=void 0}async findSumo(e){const{type:i,id:s}=e,o=e.flash===void 0?!0:e.flash;if(i==="junction")return await this.findJunction(s,o);if(i==="edge"){const t=s.split("_");if(t.length>2)return{status:-1,message:"id格式错误"};const l=t.length===2?Number(t[1]):void 0,r=t[0].split("#");if(r.length>2)return{status:-1,message:"id格式错误"};const a=r[0],c=r.length===2?Number(r[1]):void 0;return await this.findLane({roadsectId:a,segmentId:c,laneId:l,flash:o})}else return{status:-1,message:"未知类型"}}async findJunction(e,i){const s=this.junctionLayer.graphics.find(o=>o.attributes.id===e);if(!s)return{status:-1,message:"未找到。请检查路口编号"};if(i){const o=new I({geometry:s.geometry,symbol:{type:"simple-marker",style:"circle",size:30,color:[0,255,255,.8],outline:{color:[0,255,255],width:1}}});this.flashGraphic(o)}return await this.view.goTo(s.geometry,{duration:1e3}),{status:0,message:"ok"}}async findLane(e){let{roadsectId:i,segmentId:s,laneId:o}=e;i.startsWith("-")&&(i=i.slice(1));let t=this.allLaneGraphics.filter(a=>a.attributes.roadId===i);if(t.length===0)return{status:-1,message:"未找到。请检查路段编号"};if(s!==void 0){const a=[];if(t.forEach(c=>{const n=Number(c.attributes.sectionId);a.indexOf(n)===-1&&a.push(n)}),a.sort((c,n)=>c-n),s>a.length-1)return{status:-1,message:"未找到。请检查基本段编号"};s=a[s],t=t.filter(c=>Number(c.attributes.sectionId)===s)}if(o!==void 0){const a=[];if(t.forEach(c=>{const n=Number(c.attributes.laneId);a.indexOf(n)===-1&&a.push(n)}),a.sort((c,n)=>c-n),o>a.length-1)return{status:-1,message:"未找到。请检查车道编号"};o=a[o],t=t.filter(c=>Number(c.attributes.laneId)===o)}const l=t.map(a=>a.geometry),r=L.union(l);if(e.flash){const a=new I({geometry:r,symbol:{type:"simple-fill",color:[0,255,255,.6],style:"solid",outline:{width:0}}});this.flashGraphic(a)}return await this.view.goTo(r,{duration:1e3}),{status:0,message:"ok"}}flashGraphic(e){this.flashLayer.removeAll(),this.flashLayer.add(e);let i=0,s=!0;const o=setInterval(()=>{s?(this.flashLayer.opacity-=.02,this.flashLayer.opacity<=.1&&(s=!1,i++)):(this.flashLayer.opacity+=.02,this.flashLayer.opacity>=1&&(s=!0)),i>=5&&(this.flashLayer.removeAll(),this.flashLayer.opacity=1,clearInterval(o))},10)}unselectSumo(e){if(e?e.type==="junction"&&this.junctionLayer.graphics.forEach(i=>{(!e||!e.id||e.id===""||e.id===i.getAttribute("id"))&&i.getAttribute("selected")&&(i.setAttribute("selected",!1),i.symbol=this.getCrossGraphicSymbol(i.attributes,this.view.scale<this.junctionScale?"picture":"marker"))}):(this.highlightLayer.removeAll(),this.sectionLayer.removeAll(),this.selectedSectionIds=[],this.splitLaneLayer.removeAll()),!e||e.type==="edge"){let i;!e||!e.id||e.id===""?i=this.sectionLayer.graphics.toArray():i=this.sectionLayer.graphics.filter(s=>s.getAttribute("edgeId")===e.id).toArray(),i.length>0&&(i.forEach(s=>{const o=s.getAttribute("id");this.selectedSectionIds=this.selectedSectionIds.filter(t=>t!==o)}),this.sectionLayer.removeMany(i))}return{status:0,message:"ok"}}async selectSumo(e){switch(e.type){case"junction":return this.junctionLayer.graphics.forEach(i=>{if(e.id===i.getAttribute("id"))return i.setAttribute("selected",!0),i.symbol.url="/GisViewerAssets/Images/point_red.png",this.increasePictureMarkerSize(i,50),{status:0,message:"ok"}}),{status:-1,message:"未找到路口"};case"edge":{const i=e.id.split("#");let s=String(i[0]);s.startsWith("-")&&(s=s.slice(1));let o=0;i.length===2&&(o=Number(i[1]));let t=[];if(i.length===1?t=this.allLaneGraphics.filter(l=>l.getAttribute("roadId")===s):i.length===2&&(t=this.allLaneGraphics.filter(l=>l.getAttribute("roadId")===s&&l.getAttribute("sectionIndex")===o)),t.length>0){const l=new Map;return t.forEach(r=>{const a=r.getAttribute("roadId")+"+"+r.getAttribute("sectionId");this.selectedSectionIds.includes(a)||this.selectedSectionIds.push(a);let c=l.get(a);c?c.push(r.geometry):(c=[r.geometry],l.set(a,c))}),l.forEach(async(r,a)=>{const c=L.union(r),n=new I({geometry:c,symbol:{type:"simple-fill",color:[0,255,255,.5],style:"solid",outline:{color:[0,255,255],width:1}},attributes:{type:"OpenDriveSection",id:a,edgeId:e.id,selected:!0}});this.sectionLayer.add(n),await this.view.goTo(n)}),{status:0,message:"ok"}}else return{status:-1,message:"未找到路段"}}default:return{status:-1,message:"未知类型"}}}async geometrySearch(e){const i=new A.Polygon({rings:[e]}),s=await this.laneLayer.queryFeatures({geometry:i,outFields:["*"]}),o=[],t=[];for(const a of s.features){const c=a.getAttribute("roadId"),n=a.getAttribute("sectionIndex"),d=`${c}#${n}`;if(o.indexOf(d)===-1){o.push(d),this.selectSumo({type:"edge",id:d});const m=`http://${this.openDriveServer}/api/sumo/getSumoEdge`,u=await w.get(m,{params:{id:`${c}+${a.getAttribute("sectionId")}`,projectName:this.projectName}});u.status===200&&u.data.status===0&&t.push(u.data.result)}}const l=this.junctionLayer.graphics.filter(a=>{const c=a.geometry;return L.contains(i,c)}),r=[];for(const a of l){const c=a.getAttribute("id");this.selectSumo({type:"junction",id:c});const n=`http://${this.openDriveServer}/api/sumo/getSumoJunction`,d=await w.get(n,{params:{id:c,projectName:this.projectName}});d.status===200&&d.data.status===0&&r.push(d.data.result)}return{status:0,message:"ok",result:{junctions:r,edges:t}}}async splitLane(e){const s=e.id.split("_");if(s.length!==2)return{status:-1,message:"车道编号格式错误"};const o=Number(s[1]),t=s[0].split("#"),l=t.length===2?Number(t[1]):0;let r=t[0];r.startsWith("-")&&(r=r.slice(1));const a=this.allLaneGraphics.filter(b=>b.getAttribute("roadId")===r&&b.getAttribute("sectionIndex")===l);if(a.length===0)return{status:-1,message:"未找到路段"};const c=a.length-o,n=a.find(b=>Math.abs(b.getAttribute("laneId"))===c);if(!n)return{status:-1,message:"未找到车道"};const d=e.start||0,m=e.end||100,u=B.lineString(n.getAttribute("leftLine")),h=O.lineSliceAlong(u,d,m,{units:"meters"}),p=B.lineString(n.getAttribute("rightLine")),g=O.lineSliceAlong(p,d,m,{units:"meters"}),y=h.geometry.coordinates.concat(g.geometry.coordinates.reverse());y.push(y[y.length-1]);const f=new I({geometry:new A.Polygon({rings:[y]}),attributes:{ObjectID:n.getAttribute("ObjectID"),id:n.getAttribute("id"),fromNode:n.getAttribute("fromNode"),toNode:n.getAttribute("toNode"),roadId:n.getAttribute("roadId"),roadName:n.getAttribute("roadName"),sectionId:n.getAttribute("sectionId"),sectionIndex:n.getAttribute("sectionIndex"),laneId:n.getAttribute("laneId"),type:n.getAttribute("type"),sumoId:n.getAttribute("sumoId"),leftLine:h.geometry.coordinates,rightLine:g.geometry.coordinates},symbol:{type:"simple-fill",color:[255,0,0,.8],outline:{color:"red"}}});return this.splitLaneLayer.add(f),k.default.viewGoto(this.view,[f]),{status:0,message:"ok",result:{coordinates:y}}}clearSplitLane(){this.splitLaneLayer.removeAll()}blockLane(e){const i=this.allLaneGraphics.filter(o=>{var l;let t=String(o.getAttribute("laneId"));return t.startsWith("-")&&(t=t.slice(1)),o.getAttribute("roadId")===e.roadsectId&&((l=o.getAttribute("roadsectBaseIds"))==null?void 0:l.includes(e.roadsectBaseId))&&t===String(e.laneId)}),s=i.map(o=>{const t=o.clone();return t.symbol={type:"simple-fill",color:this.selectedSectionIds.includes(i[0].getAttribute("roadsectBaseIds"))?[255,69,0,.8]:[255,0,0,.8],outline:{color:"red"}},t});this.splitLaneLayer.addMany(s),k.default.viewGoto(this.view,s)}clearBlockLane(e){const i=this.splitLaneLayer.graphics.filter(s=>{const o=s.getAttribute("roadId"),t=s.getAttribute("roadsectBaseIds");let l=String(s.getAttribute("laneId"));return l.startsWith("-")&&(l=l.slice(1)),o===e.roadsectId&&(t==null?void 0:t.includes(e.roadsectBaseId))&&l===String(e.laneId)});this.splitLaneLayer.removeMany(i.toArray())}selectComputable(e){if(e.type==="roadsectBase"){const i=this.allLaneGraphics.filter(s=>{var o;return(o=s.getAttribute("roadsectBaseIds"))==null?void 0:o.includes(e.id)});if(i.length>0){const s=L.union(i.map(r=>r.geometry)),o=i[0].getAttribute("roadsectBaseIds"),t=new I({geometry:s,symbol:{type:"simple-fill",color:[0,255,255,.5],style:"solid",outline:{color:[0,255,255],width:1}},attributes:{type:"OpenDriveSection",roadsectBaseIds:o}});this.sectionLayer.removeAll(),this.sectionLayer.add(t),k.default.viewGoto(this.view,[t]),this.selectedSectionIds=[o];const l=this.splitLaneLayer.graphics.filter(r=>{var a;return(a=r.getAttribute("roadsectBaseIds"))==null?void 0:a.includes(e.id)});l.length>0&&l.forEach(r=>r.symbol={type:"simple-fill",color:[255,69,0],outline:{color:"red",width:2}})}}}updateAllJunctionSymbol(e){const i=this.junctionLayer.graphics.clone();this.junctionLayer.removeAll(),i.forEach(s=>{s.getAttribute("selected")||(s.symbol=this.getCrossGraphicSymbol(s.attributes,e))}),this.junctionLayer.addMany(i.toArray())}getCrossGraphicSymbol(e,i){const s=e.crossId!==""&&e.crossId!==void 0&&e.crossId!==null;if(i==="marker")return{type:"picture-marker",url:`/GisViewerAssets/Images/cross/${s?"gis_xhj_blue":"gis_lkcz_xz"}.png`,width:"32px",height:"32px"};if(i==="picture")return s?{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.crossId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:s?25:15,haloSize:2,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:32,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_xhj_blue.png"}]}}}:{type:"picture-marker",url:"/GisViewerAssets/Images/cross/gis_lkcz_xz.png",width:"32px",height:"32px"}}}exports.default=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const h=require("@arcgis/core/geometry"),E=require("@arcgis/core/geometry/geometryEngine.js"),c=require("@arcgis/core/Graphic"),L=require("@arcgis/core/layers/GraphicsLayer"),f=require("axios"),S=require("vue"),b=require("../../stores/index.js"),w=require("./common-utils.js");function F(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const r=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(s,e,r.get?r:{enumerable:!0,get:()=>n[e]})}}return s.default=n,Object.freeze(s)}const d=F(E);class C{constructor(s){this.view=s,this.maskLayer=new L({id:"police-jurisdiction"}),this.view.map.add(this.maskLayer);const e=b.default.useAppDataStore,r=S.toRaw(e.mapConfig);this.geoServer=r.geoServer}async showJurisdiction(s){return this.geoServer?s.type.toLowerCase()==="zd"?await this.showZD(s.id):s.type.toLowerCase()==="dd"?await this.showDD(s.id):{status:0,message:"ok"}:{status:-1,message:"未配置GeoServer"}}async showZD(s){let e=await f.get(`${this.geoServer}/zd_edpass/wms`,{params:{service:"WFS",version:"1.1.0",request:"GetFeature",typename:"zd_edpass:VIEW_SH_ZD",outputFormat:"application/json",CQL_FILTER:`ZD_CODE = ${s}`}});if(e.status!==200)return{status:-1,message:e.status+" "+e.statusText};const{features:r}=e.data;if(!r||r.length===0)return{status:-1,message:"未查询到数据"};this.maskLayer.removeAll();const m=r[0].geometry.coordinates,o=[];m.forEach(t=>{const i=new h.Polygon({rings:t});o.push(i)});const p=o[0].centroid,y=d.geodesicBuffer(p,100,"kilometers");let a=d.difference(y,o[0]);for(let t=1;t<o.length;t++)a=d.difference(a,o[t]);const g=new c({geometry:a,symbol:{type:"simple-fill",color:[100,100,100,.8],outline:{width:0}},attributes:{type:"mask"}});this.maskLayer.add(g);const l=o.map(t=>new c({geometry:t,symbol:{type:"simple-line",style:"solid",color:[240,156,69],width:2}}));if(this.maskLayer.addMany(l),await w.default.viewGoto(this.view,l),e=await f.get(`${this.geoServer}/zd_edpass/wms`,{params:{service:"WFS",version:"1.1.0",request:"GetFeature",typename:"zd_edpass:VW_DWD_GEO_SH_DD",outputFormat:"application/json",CQL_FILTER:`ZD_CODE = ${s}`}}),e.status===200){const{features:t}=e.data;if(t&&t.length>0){const i=[];t.forEach(u=>{u.geometry.coordinates.forEach(D=>{const k=new h.Polygon({rings:D}),G=new c({geometry:k,symbol:{type:"simple-line",style:"dash",color:[240,156,69],width:1}});i.push(G)});const _=u.properties.DD_NAME,v=new c({geometry:{type:"point",longitude:u.properties.CENTER_X,latitude:u.properties.CENTER_Y},symbol:{type:"text",color:[240,156,69],haloColor:[255,255,255],haloSize:"2px",text:_,font:{size:"14px",weight:"bold",family:"msyh"}}});i.push(v)}),this.maskLayer.addMany(i)}}return{status:0,message:"ok"}}async showDD(s){this.maskLayer.removeAll();const e=await f.get(`${this.geoServer}/zd_edpass/wms`,{params:{service:"WFS",version:"1.1.0",request:"GetFeature",typename:"zd_edpass:VW_DWD_GEO_SH_DD",outputFormat:"application/json",CQL_FILTER:`DD_CODE = ${s}`}});if(console.log(e),e.status!==200)return{status:-1,message:e.status+" "+e.statusText};const{features:r}=e.data;if(!r||r.length===0)return{status:-1,message:"未查询到数据"};const m=r[0].geometry.coordinates,o=[];m.forEach(t=>{const i=new h.Polygon({rings:t});o.push(i)});const p=o[0].centroid,y=d.geodesicBuffer(p,100,"kilometers");let a=d.difference(y,o[0]);for(let t=1;t<o.length;t++)a=d.difference(a,o[t]);const g=new c({geometry:a,symbol:{type:"simple-fill",color:[100,100,100,.8],outline:{width:0}}});this.maskLayer.add(g);const l=o.map(t=>new c({geometry:t,symbol:{type:"simple-line",style:"dash",color:[240,156,69],width:1}}));return this.maskLayer.addMany(l),await w.default.viewGoto(this.view,l),{status:0,message:"ok"}}clearJurisdiction(){this.maskLayer.removeAll()}}exports.default=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("@arcgis/core/Graphic"),q=require("@arcgis/core/layers/GraphicsLayer"),f=require("@turf/area"),b=require("@turf/buffer"),P=require("@turf/destination"),C=require("@turf/helpers"),S=require("@turf/intersect"),w=require("../../stores/index.js");function O(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const p=O(C);class v{constructor(e){this.initialized=!1,this.lanePolygonMap=new Map,this.view=e;const t=w.default.useAppDataStore;this.mapConfig=JSON.parse(JSON.stringify(t.mapConfig)),this.queueLengthLayer=new q,this.view.map.add(this.queueLengthLayer)}async initializeLaneGraphic(){if(!this.mapConfig.lanePolygonLayer)return;const e=`${this.mapConfig.assetsRoot}/${this.mapConfig.lanePolygonLayer}`,n=await(await fetch(e)).json(),{features:i}=n;i.forEach(s=>{const{properties:o,geometry:a}=s,l=p.polygon(a.coordinates,{code:o.code,laneDirection:o.laneDirection,stopLineCenter:o.stopLineCenter});this.lanePolygonMap.set(o.code,l)}),this.initialized=!0}async updateQueueLength(e){if(this.initialized||await this.initializeLaneGraphic(),this.lanePolygonMap.size!==0)for(const t of e){const n=String(t.laneId),i=`${t.crossNo}+${n[0]}+${n[1]}`,s=this.lanePolygonMap.get(i);if(!s)continue;const o=this.queueLengthLayer.graphics.find(a=>a.getAttribute("code")===i);o&&this.queueLengthLayer.remove(o),t.queueLength!==0&&this.generateQueuePolygon(s,t.queueLength)}}removeQueueLength(){this.queueLengthLayer.removeAll()}generateQueuePolygon(e,t){const n=e.properties.laneDirection,i=JSON.parse(e.properties.stopLineCenter),s=p.point(i),o=n>0?n-180:n+180,a=P(s,t,o,{units:"meters"}),l=p.lineString([i,a.geometry.coordinates]),h=b(l,10,{units:"meters"}),c=S(e,h);if(!c)return;const d=f(c.geometry),y=f(e),g=d/y,u=g>.8?[139,0,0,.6]:g>.6?[255,165,0,.5]:[46,139,87,.5],L=new m({geometry:{type:"polygon",rings:c==null?void 0:c.geometry.coordinates},symbol:{type:"polygon-3d",symbolLayers:[{type:"fill",material:{color:u},outline:{color:[u[0],u[1],u[2]],size:3}}]},attributes:{code:e.properties.code}});this.queueLengthLayer.add(L)}}exports.default=v;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("@arcgis/core/Graphic"),w=require("@arcgis/core/core/promiseUtils"),f=require("@arcgis/core/geometry"),S=require("@arcgis/core/geometry/SpatialReference"),G=require("@arcgis/core/geometry/geometryEngineAsync"),d=require("@arcgis/core/layers/FeatureLayer"),m=require("@arcgis/core/layers/GraphicsLayer"),R=require("@arcgis/core/layers/support/FeatureEffect"),v=require("@arcgis/core/layers/support/FeatureFilter"),g=require("@arcgis/core/renderers/SimpleRenderer"),q=require("@arcgis/core/rest/support/Query"),y=require("@arcgis/core/symbols"),F=require("@arcgis/core/widgets/Sketch/SketchViewModel"),P=require("../../../stores/index.js"),A=require("../common-utils.js");function b(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const L=b(w),p=b(G);class M{constructor(e){this.geometryUnit="meters",this.view=e,this.pointLayer=new m,this.bufferAreaLayer=new m({blendMode:"color-burn"}),this.view.map.layers.addMany([this.bufferAreaLayer,this.pointLayer]);const t=L.debounce(async r=>{const i=await this.calculateBuffer(r);this.updateLayerFilter(i)});this.sketchViewModel=new F({view:e,layer:this.pointLayer}),this.sketchViewModel.on("update",r=>{var l,o;((o=(l=r.toolEventInfo)==null?void 0:l.mover)==null?void 0:o.attributes.type)==="edge"&&(r.toolEventInfo.type==="move-start"?this.centerGeometryAtStart=this.centerGraphic.geometry:this.centerGraphic.geometry=this.centerGeometryAtStart);const i=this.centerGraphic.geometry,a=this.edgeGraphic.geometry,c=[[i.x,i.y],[a.x,a.y]];t(c).catch(h=>{if(!L.isAbortError(h))throw h})})}async initializeSearch(e){if(this.laneLayer)this.laneLayer.visible=!0,this.stopLineLayer.visible=!0;else{const o=await this.loadLaneAndStopLineLayer();if(o.status!==0)return o}const{crossId:t,crossCenter:r}=e,i=new f.Point({longitude:r[0],latitude:r[1]});this.view.goTo({target:i,zoom:18},{duration:2e3}),this.centerGraphic=new u({geometry:i,symbol:new y.SimpleMarkerSymbol({style:"circle",color:[0,255,255,.5],size:10}),attributes:{crossId:t,type:"center"}});const a=A.default.destinationWithPoint(i,90,e.bufferRadius||70);this.edgeGraphic=new u({geometry:a,symbol:new y.SimpleMarkerSymbol({style:"circle",color:[0,255,255,.5],size:10}),attributes:{crossId:t,type:"edge"}});const c=new f.Polyline({paths:[[[i.x,i.y],[a.x,a.y]]]});this.radiusLineGraphic=new u({geometry:c,symbol:new y.SimpleLineSymbol({color:[0,255,255],width:2})}),this.pointLayer.addMany([this.centerGraphic,this.edgeGraphic,this.radiusLineGraphic]);const l=await p.geodesicBuffer(i,e.bufferRadius||70,this.geometryUnit);return this.bufferGraphic=new u({geometry:l,symbol:new y.SimpleFillSymbol({color:[150,150,150],outline:{color:"#FFEB00",width:"3px"}})}),this.bufferAreaLayer.add(this.bufferGraphic),this.sketchViewModel.update([this.edgeGraphic,this.centerGraphic],{tool:"move"}),{status:0,message:"初始化成功"}}async getCurrentSearchResult(){const e=new q;e.relationParameter="intersects",e.geometry=this.bufferGraphic.geometry,e.returnGeometry=!0,e.outSpatialReference=new S({wkid:4326}),e.outFields=["*"];const t=(await this.laneLayer.queryFeatures(e)).features,r=(await this.stopLineLayer.queryFeatures(e)).features;return{lanes:t,stopLines:r}}clearResult(){this.sketchViewModel.complete(),this.pointLayer.removeAll(),this.bufferAreaLayer.removeAll(),this.laneLayer.visible=!1,this.stopLineLayer.visible=!1}async calculateBuffer(e){this.radiusLineGraphic.geometry=new f.Polyline({paths:[e],spatialReference:this.view.spatialReference});const t=await p.geodesicLength(this.radiusLineGraphic.geometry,this.geometryUnit),r=await p.geodesicBuffer(this.centerGraphic.geometry,t,this.geometryUnit);return this.bufferGraphic.geometry=r,r}async loadLaneAndStopLineLayer(){var o,h;const e=P.default.useAppDataStore,t=JSON.parse(JSON.stringify(e.mapConfig));if(!((o=t.roadConfigTool)!=null&&o.initLanePolygonLayer))return{status:-1,message:"roadConfigTool.initLanePolygonLayer未配置"};if(!((h=t.roadConfigTool)!=null&&h.initStopLineLayer))return{status:-1,message:"roadConfigTool.initStopLineLayer"};const r=`${t.assetsRoot}${t.roadConfigTool.initLanePolygonLayer}`;let i;try{i=await(await fetch(r)).json()}catch(s){return{status:-2,message:`${r}读取失败`,result:s.message}}const a=i.features.filter(s=>s.attributes.RoadSecID!=="").map(s=>u.fromJSON(s));this.laneLayer=new d({objectIdField:"FID",spatialReference:i.spatialReference,geometryType:"polygon",source:a,fields:[{name:"RoadSecID",alias:"RoadSecID",type:"string"}],renderer:new g({symbol:new y.SimpleFillSymbol({color:[255,0,0,.3],outline:{color:"white"}})})}),this.view.map.layers.add(this.laneLayer);const c=`${t.assetsRoot}${t.roadConfigTool.initStopLineLayer}`;try{i=await(await fetch(c)).json()}catch(s){return{status:-2,message:`${c}读取失败`,result:s.message}}const l=i.features.filter(s=>s.attributes.RoadSecID!=="").map(s=>u.fromJSON(s));return this.stopLineLayer=new d({objectIdField:"FID",spatialReference:i.spatialReference,geometryType:"polyline",source:l,fields:[{name:"RoadSecID",alias:"RoadSecID",type:"string"}],renderer:new g({symbol:new y.SimpleLineSymbol({color:"red",width:4,cap:"butt",join:"miter"})})}),this.view.map.layers.add(this.stopLineLayer),{status:0,message:"ok"}}updateLayerFilter(e){const t=new v({geometry:e,spatialRelationship:"intersects"}),r=new R({filter:t,excludedEffect:"opacity(0%)"});this.laneLayer.featureEffect=r,this.stopLineLayer.featureEffect=r}}exports.default=M;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("@arcgis/core/Graphic"),d=require("@arcgis/core/layers/GraphicsLayer"),h=require("@turf/buffer"),p=require("@turf/convex"),b=require("@turf/helpers"),f=require("axios"),C=require("concaveman"),I=require("../../../stores/index.js");function S(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const o=S(b);class v{constructor(e){var i;this.crossScale=5e3,this.hasGpu=!1,this.crossIdsInDistrict=[],this.view=e,this.hasGpu=localStorage.getItem("gpu")!=="Unknown";const r=I.default.useAppDataStore.mapConfig;this.openDriveServer=(i=r.openDriveServer)==null?void 0:i.url,this.districtControllerLayer=new d({id:"districtControllerLayer"}),this.subDistrictControllerLayer=new d({id:"subDistrictControllerLayer"}),this.crossLayer=new d({id:"crossLayer"}),this.view.map.addMany([this.districtControllerLayer,this.subDistrictControllerLayer,this.crossLayer])}showSubSignalControlArea(e){this.crossLayer.removeAll(),this.crossLayer.visible=!0;const r=e.children.map(i=>{const s={...i,selected:!0};return new c({geometry:{type:"point",x:i.longitude,y:i.latitude},symbol:this.getCrossSymbolInSubDistrict(s),attributes:s})});return this.crossLayer.addMany(r),this.view.goTo(r,{duration:this.hasGpu?1e3:0}),{status:0,message:"ok"}}async handleViewClick(e){var s;const r=(s=(await this.view.hitTest(e,{include:[this.crossLayer]})).results)==null?void 0:s.filter(a=>a.type==="graphic");if(r.length===0)return;const i=r[0].graphic;i.getAttribute("selected")?i.getAttribute("signalId")&&(this.removeCrossCallback&&this.removeCrossCallback({id:i.getAttribute("id")}),i.setAttribute("selected",!1),i.symbol=this.getCrossSymbolInSubDistrict(i.attributes)):(i.getAttribute("signalId")&&(this.addCrossCallback&&this.addCrossCallback(i.attributes),i.setAttribute("selected",!0),i.symbol=this.getCrossSymbolInSubDistrict(i.attributes)),await this.showNearbyCrosses(i.getAttribute("id")))}async showNearbyCrosses(e){const t=await f.get(`http://${this.openDriveServer}/api/computable/getRelatedNodesForNode`,{params:{nodeIds:e}});if(t.status===200)if(t.data.status===0){const r=t.data.result,i=[];for(const s of r){const a=s.nodeId;if(a.startsWith("-"))continue;if(s.signalId&&!this.crossIdsInDistrict.includes(a)){console.log("不是此区控内的路口",a);continue}if(this.crossLayer.graphics.some(u=>u.getAttribute("id")===a))continue;const m=new c({geometry:{type:"point",x:s.lon,y:s.lat},symbol:this.getCrossSymbolInSubDistrict(s),attributes:{id:a,name:s.name,signalId:s.signalId,selected:!1}});i.push(m)}return this.crossLayer.addMany(i),{status:0,message:"ok"}}else return{status:-1,message:t.data.message};else return{status:-1,message:"请求失败"}}async editSubSignalControlArea(e){if(e.odrServer){this.openDriveServer=e.odrServer,this.crossIdsInDistrict=e.crossesInArea.map(s=>s.id);const t=o.featureCollection(e.crossesInArea.map(s=>o.point([s.longitude,s.latitude]))),r=p(t);r&&(this.districtControllerLayer.removeAll(),this.districtControllerLayer.add(new c({geometry:{type:"polygon",rings:r.geometry.coordinates},symbol:{type:"simple-fill",style:"none",outline:{color:[61,139,249],width:3,style:"long-dash"}}}))),this.addCrossCallback=e.addCrossCallback,this.removeCrossCallback=e.removeCrossCallback,this.viewClickWatcher||(this.viewClickWatcher=this.view.on("click",async s=>{await this.handleViewClick(s)}));const i=this.crossLayer.graphics.toArray().map(s=>s.getAttribute("id")).join(",");return await this.showNearbyCrosses(i)}else return{status:1,message:"未配置OpenDriveServer"}}stopEditSubSignalControlArea(){var t;(t=this.viewClickWatcher)==null||t.remove(),this.viewClickWatcher=void 0;const e=this.crossLayer.graphics.filter(r=>r.getAttribute("signalId")===""||!r.getAttribute("signalId")||!r.getAttribute("selected"));this.crossLayer.removeMany(e.toArray()),this.districtControllerLayer.removeAll()}selectSubSignalControlAreaCross(e){return this.crossLayer.graphics.forEach(t=>{if(t.getAttribute("id")===e&&!t.getAttribute("selected"))return t.setAttribute("selected",!0),t.symbol=this.getCrossSymbolInSubDistrict(t.attributes),{status:0,message:"ok"}}),{status:0,message:"未找到"}}unselectSubSignalControlAreaCross(e){return this.crossLayer.graphics.forEach(t=>{if(t.getAttribute("id")===e&&t.getAttribute("selected"))return t.setAttribute("selected",!1),t.symbol=this.getCrossSymbolInSubDistrict(t.attributes),{status:0,message:"ok"}}),{status:0,message:"未找到"}}findAreaGraphic(e){let t=this.districtControllerLayer.graphics.find(r=>r.attributes.id===e);return t||(t=this.subDistrictControllerLayer.graphics.find(r=>r.attributes.id===e)),t||(t=this.crossLayer.graphics.find(r=>r.attributes.id===e)),t}drawArea(e,t){const r=e.getAllSignalCoordinates();if(r.length>=2){let s=null;if(r.length===2)s=o.lineString(r);else{if(t){const y=o.featureCollection(r.map(g=>o.point(g)));s=p(y)}else{const y=C(r,.5);y.length>=4&&(s=o.polygon([y]))}s||(s=o.lineString(r))}const a=h(s.geometry,t?200:30,{units:"meters"});let l;t?l=[{fieldName:"id",label:"区控编号"},{fieldName:"crossCount",label:"路口数量"},{fieldName:"subDistrictCount",label:"子区数量"}]:l=[{fieldName:"parentName",label:"所属区控"},{fieldName:"crossCount",label:"路口数量"}];const m={type:"signalControlArea",id:e.id,name:e.name,parentId:e.parentId,parentName:e.parentName,crossCount:e.signalCount,subDistrictCount:e.subDistrictCount},u=new c({geometry:{type:"polygon",rings:a.geometry.coordinates},symbol:{type:"simple-fill",style:"none",outline:{color:t?[111,100,255]:[5,196,104],width:3,style:t?"long-dash":"solid"}},attributes:m,popupTemplate:{title:`${e.name}`,content:[{type:"fields",fieldInfos:l}]}});t?this.districtControllerLayer.add(u):this.subDistrictControllerLayer.add(u)}for(const s of e.subDistricts)this.drawArea(s,!1);const i=[];e.signals.forEach(s=>{const a={type:"cross",id:s.id,name:s.name,signalId:s.signalId,nodeId:s.nodeId,districtId:t?e.id:e.parentId,districtName:t?e.name:e.parentName,subDistrictId:t?"":e.id,subDistrictName:t?"":e.name,isKey:s.isKey},l=new c({geometry:{type:"point",x:s.longitude,y:s.latitude},symbol:this.getCrossGraphicSymbol(a,"marker"),attributes:a,popupTemplate:{title:s.name,content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]}});i.push(l)}),this.crossLayer.addMany(i)}getCrossSymbolInSubDistrict(e){return e.signalId&&e.signalId!==""?{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.signalId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:20,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:30,rotateClockwise:!0,textureFilter:"Picture",url:`/GisViewerAssets/Images/cross/${e.selected?"gis_xhj_blue":"gis_xhj_gray"}.png`}]}}}:{type:"picture-marker",url:"/GisViewerAssets/Images/cross/gis_lkcz.png",width:"20px",height:"20px"}}getCrossGraphicSymbol(e,t){const r=e.isKey;if(t==="marker")return{type:"simple-marker",style:"circle",color:r?[254,172,22]:[5,116,255],size:r?12:8,outline:{color:"white",width:1}};if(t==="picture")return{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:'Replace($feature.name, "与", "/") + " " + $feature.signalId',returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:r?30:15,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[0,0,0,255]}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:r?40:20,rotateClockwise:!0,textureFilter:"Picture",url:`/GisViewerAssets/Images/cross/${r?"gis_gjxklk_orange":"gis_xhj_blue"}.png`}]}}}}}exports.default=v;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../../stores/index.js"),a=require("./cross-renderer.js"),r=require("./district-controller.js"),l=require("./district-renderer.js"),o=require("./signal-renderer.js"),d=require("./sub-district-renderer.js");class u{constructor(e){this.view=e;const t=c.default.useAppDataStore;this.mapConfig=JSON.parse(JSON.stringify(t.mapConfig)),this.districtRenderer=new l.default(e),this.subDistrictRenderer=new d.default(e),this.signalRenderer=new o.default(e),this.crossRenderer=new a.default(e)}async showSignalControlArea(e){await this.clearSignalControlArea(),this.districtRenderer.setVisible(!1),this.subDistrictRenderer.setVisible(!1),this.signalRenderer.setClusterVisible(!1),this.signalRenderer.setPointVisible(!1);const t=[],s=[];for(const i of e.areaList){const n=new r.default(i,e.style||"");t.push(n),s.push(...n.subDistricts)}return this.districtRenderer.style=e.style||"",await this.districtRenderer.showDistricts(t),await this.subDistrictRenderer.showSubDistricts(s),this.crossRenderer.addCrosses(t),{status:0,message:"ok"}}async showDistrict(e){this.setLayerVisibility({id:"district",visible:!0}),this.setLayerVisibility({id:"subDistrict",visible:!0});const t=new r.default(e.areaList,e.style||"");await this.districtRenderer.showDistricts([t]),await this.subDistrictRenderer.showSubDistricts(t.subDistricts),await this.subDistrictRenderer.showRoads({id:t.id,type:"district"})}async showSubDistrict(e){this.setLayerVisibility({id:"subDistrict",visible:!0});const t=new r.default(e.areaList,e.style||"");await this.subDistrictRenderer.showSubDistricts([t]),await this.subDistrictRenderer.showRoads({id:t.id,type:"subDistrict"})}async clearSignalControlArea(){return this.crossRenderer.clearCrosses(),await this.districtRenderer.clearDistricts(),await this.subDistrictRenderer.clearSubDistricts(),this.crossRenderer.clearCrosses(),{status:0,message:"ok"}}setLayerVisibility(e){switch(e.visible===!1&&this.view.closePopup(),e.id){case"district":this.districtRenderer.setVisible(e.visible);break;case"subDistrict":this.subDistrictRenderer.setVisible(e.visible);break;case"signal":e.visible===!1?this.crossRenderer.hideCrosses():this.crossRenderer.showScatter();break;case"signalCluster":e.visible===!1?this.crossRenderer.hideCrosses():this.crossRenderer.showCluster();break}return{status:0,message:"ok"}}async locateSignalControlArea(e){switch(e.type){case"district":return await this.districtRenderer.locateDistrict(e.id);case"subDistrict":return await this.subDistrictRenderer.locateSubDistrict(e.id);case"signal":return await this.signalRenderer.locateSignal(e.id);default:return{status:1,message:"未知类型"}}}async highlightSignalControlArea(e){switch(this.view.closePopup(),e.type){case"district":return await this.districtRenderer.highlightDistrict(e)?(this.subDistrictRenderer.filter(e),this.crossRenderer.filter(e),await this.subDistrictRenderer.showRoads(e),{status:0,message:"ok"}):{status:1,message:"未找到区控"};case"subDistrict":{const{count:t,parentId:s}=await this.subDistrictRenderer.highlightSubDistrict(e);return t>0?(this.districtRenderer.filter(s),this.crossRenderer.filter(e),{status:0,message:"ok"}):{status:1,message:"未找到子区"}}case"signal":{const{districtId:t,subDistrictId:s,count:i}=await this.signalRenderer.highlightSignal(e.id);return i>0?(this.districtRenderer.filter(t),this.subDistrictRenderer.filter(e),{status:0,message:"ok"}):{status:1,message:"未找到信号机"}}default:return{status:1,message:"未知类型"}}}async resetHighlight(){return this.districtRenderer.resetFilter(),this.subDistrictRenderer.resetFilter(),this.crossRenderer.resetFilter(),{status:0,message:"ok"}}}exports.default=u;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("@arcgis/core/geometry/geometryEngine.js"),P=require("@arcgis/core/geometry/Polygon"),G=require("@arcgis/core/geometry/Polyline"),S=require("@arcgis/core/geometry/support/webMercatorUtils.js"),l=require("@arcgis/core/Graphic"),d=require("@arcgis/core/layers/GraphicsLayer"),k=require("@arcgis/core/widgets/Sketch"),M=require("@arcgis/core/widgets/Sketch/SketchViewModel"),A=require("@turf/helpers"),x=require("@turf/intersect"),v=require("uuid"),E=require("../../stores/index.js");function f(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const t in a)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(a,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>a[t]})}}return e.default=a,Object.freeze(e)}const V=f(b),g=f(S),u=f(A);function w(a,e=[]){if(a===null||typeof a!="object")return a;if(Object.prototype.toString.call(a)==="[object Date]")return new Date(a);if(Object.prototype.toString.call(a)==="[object RegExp]")return new RegExp(a);if(Object.prototype.toString.call(a)==="[object Error]")return new Error(a);const t=e.filter(s=>s.original===a)[0];if(t)return t.copy;const i=Array.isArray(a)?[]:{};return e.push({original:a,copy:i}),Object.keys(a).forEach(s=>{i[s]=w(a[s],e)}),i}const O={maxAllowedGraphics:0,GraphicsLayer:{},sketchVisibleElements:{},sketchPosition:"top-right",defaultSketchVisible:!0,sketchViewModelItemSymbol:{}},m={type:"simple-line",color:"#556DEA",width:2},y={type:"simple-fill",color:[227,139,79,.4],outline:{color:[255,255,255],width:1}};class D{constructor(e,t){this.viewer=e,this.options={...O,...t},this.graphicsLayer=new d({...this.options.GraphicsLayer}),this.TextGraphicsLayer=new d,this.viewer.map.addMany([this.graphicsLayer,this.TextGraphicsLayer]),this.init()}updateSketch(e){const t=new l({geometry:{type:"polygon",rings:[e]},symbol:{type:"simple-fill",color:[227,139,79,.4],outline:{color:[255,255,255],width:1}}});this.graphicsLayer.add(t),this.sketchViewModel.update([t],{tool:"reshape",enableRotation:!0})}cancelSketch(){this.sketchViewModel.cancel()}init(){this.sketchViewModel=new M({layer:this.graphicsLayer,view:this.viewer,updateOnGraphicClick:!0,polylineSymbol:m,polygonSymbol:y,...this.options.sketchViewModelItemSymbol});const e=this.findLayerById("TrafficMarkings"),t=[];e&&t.push({layer:e,enabled:!0}),this.sketch=new k({view:this.viewer,viewModel:this.sketchViewModel,layer:this.graphicsLayer,visible:this.options.defaultSketchVisible,creationMode:this.options.creationMode||"single",snappingOptions:{enabled:!0,featureSources:t}}),this.sketch.visibleElements={...this.options.sketchVisibleElements},this.viewer.ui.add(this.sketch,this.options.sketchPosition);const i=E.default.useAppDataStore;this.sketch.on("create",s=>{s.state==="complete"?i.isSketching=!1:s.state==="start"&&(i.isSketching=!0)})}initPoint(e,t="all",i=!1){if(!e)return;const{crossArea:s,sectionArea:r}=e;if(s&&(t=="crossArea"||t=="all")){const o=this.initCrossArea(s);this.graphicsLayer.add(o)}if(r&&(t=="sectionArea"||t=="all")){const o=this.initSectionArea(r,i);this.graphicsLayer.addMany(o)}}initEntranceFusionZone(e){const t=[];e.map(i=>{t.push(this.createPolygonGraphic(i,y,{}))}),this.graphicsLayer.addMany(t)}initCrossArea(e){return this.createPolygonGraphic(e,y,{})}initSectionArea(e,t=!1){const i=[],s={type:"simple-line",color:[0,0,255],width:2};return Object.keys(e).map(r=>{const o=e[r][0],c=e[r][1];t&&(o.reverse(),c.reverse());const n=v.v4(),h=this.createPolylineGraphic(o,m,{type:"draw",id:n}),p=this.createPolylineGraphic(c,s,{type:"shiftLine",id:n});i.push(h,p)}),i}createPolylineGraphic(e,t,i){const s=new G({paths:e}),r=g.geographicToWebMercator(s);return new l({geometry:r,symbol:t,attributes:i})}createPolygonGraphic(e,t,i){const s=new P({rings:e}),r=g.geographicToWebMercator(s);return new l({geometry:r,symbol:t,attributes:i})}on(e){const t=this;this.sketchViewModel.on("create",function(i){var r,o,c;const s=t.graphicsLayer.graphics;if((r=t.options)!=null&&r.maxAllowedGraphics&&s.length>((o=t.options)==null?void 0:o.maxAllowedGraphics)){t.graphicsLayer.remove(i.graphic),console.log("已达到最大图形数量,无法继续绘制!");return}if(i.state==="complete"&&((c=i.graphic)!=null&&c.geometry)){const n=i.graphic.geometry;i.graphic.setAttribute("type","draw"),i.graphic.setAttribute("id",new Date().getTime());const h=t.getGraphicPoint(n);e&&e("create",h,i)}}),this.sketchViewModel.on("update",function(i){if(i.aborted){const s=i.graphics[0];t.graphicsLayer.remove(s);return}if(i.state==="complete"&&i.graphics.length>0){const r=i.graphics[0].geometry,o=t.getGraphicPoint(r);e&&e("update",o,i)}}),this.sketchViewModel.on("delete",function(i){if(console.log("delete",i),i.graphics.length>0){const r=i.graphics[0].geometry,o=t.getGraphicPoint(r);e&&e("delete",o,i)}})}graphicPoint(){const e=[];return this.graphicsLayer.graphics.map(t=>{var r;const i=t.geometry,s=this.getGraphicPoint(i);e.push({point:s,type:(r=t.attributes)==null?void 0:r.type,attributes:t.attributes})}),e}getEntranceRoad(){const e={},t=this.graphicPoint().filter(n=>n.point.type==="polyline");if(console.log("🚀 ~ file: sketchView.ts:378 ~ SketchView ~ getEntranceRoad ~ graphics:",t),!t.length)return!1;const i=t.filter(n=>n.type=="draw"),s=t.filter(n=>n.type=="shiftLine");if(s.length==0)throw"未绘制平移!";if(i.length!=s.length)throw"绘制的线和平移的线数量不一致!";const r=i.sort((n,h)=>n.point.angle-h.point.angle),o=r.findIndex(n=>n.point.angle>135);return[...r.slice(o),...r.slice(0,o).reverse()].map((n,h)=>{const p=s.find(L=>L.attributes.id==n.attributes.id);if(!p)throw"绘制的线和平移的线不匹配!";console.log("🚀 ~ file: sketchView.ts:393 ~ SketchView ~ getEntranceRoad ~ m:",n,p),e[h+1]={0:[n.point.paths[0],n.point.paths[n.point.paths.length-1]],1:[p.point.paths[0],p.point.paths[p.point.paths.length-1]]}}),e}getEntranceFusionZone(e){const t=[],i={};this.graphicsLayer.graphics.map(r=>{var n;const o=r.geometry,c=this.getGraphicPoint(o,!1);t.push({point:c,type:(n=r.attributes)==null?void 0:n.type,attributes:r.attributes})});const s=t;return e.map((r,o)=>{i[r]=t[o]}),{graphics:i,rawData:s}}getIntersectionArea(e,t){const i=Object.keys(e);let s=!1;for(let r=0;r<i.length;r++){const o=i[r],c=e[o];if(x(u.polygon(t),u.polygon(c))){s=o;break}}return s}filterData(e){const t=w(e);return t.length>0&&t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&t.pop(),t}getGraphicPoint(e,t=!1){let i=e;this.viewer.spatialReference.isWebMercator&&(i=g.webMercatorToGeographic(e));let s;if(e.type==="point")s={type:e.type,x:i.x,y:i.y};else if(e.type==="polyline"){s={type:e.type,paths:[]},i.paths.forEach(n=>{let h=n;t&&(h=this.filterData(n)),h.forEach(p=>{s.paths.push(p)})});const r={x:s.paths[0][0],y:s.paths[0][1]},o={x:s.paths[s.paths.length-1][0],y:s.paths[s.paths.length-1][1]},c=this.getAngle(r,o);s.angle=c}else e.type==="polygon"&&(s={type:e.type,rings:[]},i.rings.forEach(r=>{let o=r;t&&(o=this.filterData(r)),o.forEach(c=>{s.rings.push(c)})}));return s}close(){this.sketch.visible=!1}show(){this.sketch.visible=!0}removeAll(){this.graphicsLayer.removeAll()}getAngle(e,t){const i=t.x-e.x,s=t.y-e.y;return Math.atan2(s,i)*180/Math.PI}getShiftLine(e,t,i="meters"){const s=e,r=-t;return V.offset(s,r,i)}setShiftLine(e,t="meters",i){i||(i={type:"simple-line",color:[0,0,255],width:2}),this.removeShiftLine(),this.graphicsLayer.graphics.map(s=>{const r=s.geometry,o=s.attributes;if((r==null?void 0:r.type)==="polyline"&&(o==null?void 0:o.type)==="draw"){const c=o.id,n=this.getShiftLine(r,e,t),h=new l({geometry:n,symbol:i,attributes:{type:"shiftLine",id:c}});this.graphicsLayer.add(h)}})}removeShiftLine(){const e=[];this.graphicsLayer.graphics.map(t=>{const i=t.attributes;(i==null?void 0:i.type)==="shiftLine"&&e.push(t)}),this.graphicsLayer.removeMany(e)}removeDraw(){const e=[];this.graphicsLayer.graphics.map(t=>{const i=t.attributes;(i==null?void 0:i.type)==="draw"&&e.push(t)}),this.graphicsLayer.removeMany(e)}addGraphic(e,t={type:"simple-line",color:[0,0,255],width:2},i){const s=new l({geometry:e,symbol:t,attributes:i});this.graphicsLayer.add(s)}getDirection(e,t){const i=t.x-e.x,s=t.y-e.y,o=Math.atan2(s,i)*180/Math.PI;return o>=-45&&o<=45?0:o>45&&o<=135?1:o>135||o<=-135?2:3}findLayerById(e){return this.viewer.map.findLayerById(e)}findShiftLineGraphicsById(e){return this.graphicsLayer.graphics.find(i=>i.attributes.id===e&&i.attributes.type==="shiftLine")}remove(e){this.graphicsLayer.remove(e)}setMaxAllowedGraphics(e){this.options.maxAllowedGraphics=e===0?void 0:e}destroy(){var e,t;this.viewer.map.remove(this.graphicsLayer),this.viewer.map.remove(this.TextGraphicsLayer),(e=this.sketch)==null||e.destroy(),(t=this.sketchViewModel)==null||t.destroy()}}exports.default=D;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("@arcgis/core/Graphic"),u=require("@arcgis/core/geometry"),y=require("@arcgis/core/layers/GraphicsLayer"),p=require("../../stores/index.js"),m=require("./common-utils.js");class g{constructor(i){this.maxMissCount=2,this.objectMissCount=new Map,this.showVehiclePlate=!0,this.showGroundVehicle=!0,this.showElevatedVehicle=!0,this.showLog=!1,this.focusVehNo="",this.view=i;const t=p.default.useAppDataStore;this.mapConfig=JSON.parse(JSON.stringify(t.mapConfig)),this.objectsLayer=new y,this.view.map.add(this.objectsLayer)}connectTrafficFlow(i,t){var e;this.showVehiclePlate=(t==null?void 0:t.showVehiclePlate)!==!1,this.showLog=(t==null?void 0:t.showTraceLog)===!0,(e=this.webSocket)==null||e.close(),this.webSocket=new WebSocket(i),this.webSocket.onopen=()=>{console.log("websocket连接成功"),this.objectMissCount.clear()},this.webSocket.onclose=()=>{console.log("websocket连接关闭")},this.webSocket.onmessage=o=>{this.handleTrafficFlowData(o.data)}}disconnectTrafficFlow(){var i;(i=this.webSocket)==null||i.close(),this.objectsLayer.removeAll(),this.objectMissCount.clear()}toggleTrafficInfo(i){switch(i.name.toLowerCase()){case"vehiclePlate".toLowerCase():this.showVehiclePlate=i.visible;break}}toggleTrafficObject(i){switch(i.name.toLowerCase()){case"groundVehicle".toLowerCase():this.showGroundVehicle=i.visible;break;case"elevatedVehicle".toLowerCase():this.showElevatedVehicle=i.visible;break}}handleTrafficFlowData(i){const t=m.default.unzip(i);if(!t)return;const e=[],o=[],n=[],c=JSON.parse(t);this.showLog&&console.log(c);const s=c.data||c.rtPositionList;if(!s||s.length===0)return;const b=new Date(c.jgsj).getTime();for(const a of s){const r=this.buildVehicleTrackData(a,b);r&&(this.objectMissCount.has(r.ptcId)?e.push(r):o.push(r),this.objectMissCount.set(r.ptcId,0))}for(const a of this.objectMissCount){const r=a[0];let l=a[1];s.findIndex(d=>d.vehno===r)<0&&(l++,this.objectMissCount.set(r,l),l===this.maxMissCount&&n.push(r))}for(const a of n)this.objectMissCount.delete(a);this.addTrafficObjects(o),this.updateTrafficObjects(e),this.deleteTrafficObjects(n)}addTrafficObjects(i){const t=i.map(e=>new f({geometry:new u.Point({longitude:e.x,latitude:e.y}),symbol:this.createCIMSymbol(e),attributes:e,visible:this.getVehicleVisibility(e)}));this.objectsLayer.addMany(t)}getVehicleVisibility(i){return i.roadLayer==="1"?this.showGroundVehicle:i.roadLayer==="2"||i.roadLayer==="3"?this.showElevatedVehicle:!0}updateTrafficObjects(i){i.forEach(t=>{const e=this.objectsLayer.graphics.find(o=>o.getAttribute("ptcId")===t.ptcId);e&&(e.geometry=new u.Point({longitude:t.x,latitude:t.y}),e.symbol=this.createCIMSymbol(t),e.visible=this.getVehicleVisibility(t))})}createCIMSymbol(i){const t=this.getPlateFontColor(i.plateColor);return{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:"$feature.showName",returnType:"Default"}}],symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",enable:this.showVehiclePlate,size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-8,ymin:-8,xmax:8,ymax:8},markerGraphics:[{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",height:4,horizontalAlignment:"Center",offsetX:0,offsetY:8,haloSize:1,haloSymbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:t.backgroundColor}]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:t.fillColor}]},verticalAlignment:"Center"},textString:""}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:15,rotation:i.heading,rotateClockwise:!0,textureFilter:"Picture",url:`${this.mapConfig.assetsRoot}Images/car/${this.getCarPic(i.vehicleColor).pic}`}]}}}}deleteTrafficObjects(i){i.forEach(t=>{const e=this.objectsLayer.graphics.find(o=>o.getAttribute("ptcId")===t);e&&this.objectsLayer.remove(e)})}buildVehicleTrackData(i,t){const{hpys:e,csys:o,lng:n,angle:c,hphm:s,lat:b,cx:a,roadLayer:r}=i,l=i.vehno||i.vehNo;if(!l)return;let h;if(s&&s!=="0"&&s!==0?h=s.includes("-")?s.split("-")[1]:s:h=l.includes("-")?l.split("-")[1]:l,!["1","2","3","4","5","6",1,2,3,4,5,6].includes(a)){console.log("车辆类型错误",a);return}return{vehicleId:l,ptcId:l,timestamp:t,localTimestamp:t,x:n,y:b,ptcType:Number(a),heading:c,vehicleColor:o||"z",plateColor:s?e:"99",showName:h,vehicleType:99,roadLayer:r||"1"}}getCarPic(i){let t=0;if(this.view.type==="3d"?t=this.view.zoom:t=this.view.zoom,t<=17)return{pic:"point.png",color:[128,128,128,255]};{let e="grey",o=[128,128,128,255];switch(i.toLowerCase()){case"a":e="white",o=[200,200,200,255];break;case"b":e="grey",o=[128,128,128,255];break;case"c":e="yellow",o=[255,215,0,255];break;case"d":e="pink",o=[255,182,193,255];break;case"e":e="red",o=[255,0,0,255];break;case"f":e="purple",o=[128,0,128,255];break;case"g":e="green",o=[124,252,0,255];break;case"h":e="blue",o=[0,191,255,255];break;case"i":e="brown",o=[244,164,96,255];break;case"j":e="black",o=[0,0,0,255];break}return{pic:e+".png",color:o}}}getPlateFontColor(i){let t=[255,255,255,255],e=[169,169,169,255];switch(i){case 0:t=[0,0,0,255],e=[255,255,255,255];break;case 1:t=[0,0,0,255],e=[244,164,96,255];break;case 2:t=[255,255,255,255],e=[65,105,225,255];break;case 3:t=[255,255,255,255],e=[0,0,0,255];break;case 15:t=[244,164,96,255],e=[0,250,154,255];break;case 16:t=[0,0,0,255],e=[0,250,154,255];break}return{fillColor:t,backgroundColor:e}}}exports.default=g;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),x=require("../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/Observable.js"),z=require("../stores/index.js"),E=require("./utils/ol-map-initializer.js"),I=require("./utils/signal-control/signal-cross-controller.js"),V={class:"gis-viewer"},B=t.defineComponent({__name:"gis-map-ol",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick","update:zoom"],setup(C,{expose:d,emit:f}){const l=t.ref(null);let s,a,r=[],c=null;const u=e=>{if(!Number.isFinite(e))return;const n=Math.round(e);n!==c&&(c=n,i("update:zoom",n))};let o;t.onMounted(async()=>{z.registerStore();const e=t.getCurrentInstance(),{$gisviewerAssetsRoot:n}=e.appContext.config.globalProperties,p=await(await fetch(m.config)).json();p.assetsRoot=m.assetsRoot||n,s=new E.default,a=s.initialize({container:l.value,mapConfig:p,markerClickCallback:(_,b,Z,q)=>{i("markerClick",_,b,Z,q)}});const g=a.getView();r.push(g.on("change:resolution",()=>{u(g.getZoom())})),u(a.getView().getZoom()),i("mapLoaded")});const w=async e=>await s.setMapCenter(e),h=async e=>await s.setMapCamera(e),v=async e=>await s.setLayerVisibility(e),y=e=>s.setMapZoom({zoom:e}),M=e=>(o||(o=new I.default(a)),o.showSignalCross(e)),k=e=>o?o.changeShowName(e):{success:!1,message:"SignalCrossController未初始化"},S=()=>{o&&o.clearSignalCross()};t.onBeforeUnmount(()=>{r.forEach(e=>x.unByKey(e)),r=[]});const m=C,i=f;return d({setMapCenter:w,setMapCamera:h,setMapZoom:y,setLayerVisibility:v,showSignalCross:M,clearSignalCross:S,changeSignalCrossShowName:k}),(e,n)=>(t.openBlock(),t.createElementBlock("div",V,[t.createElementVNode("div",{id:"divCMap",class:"gis-viewer-main",ref_key:"mapContainer",ref:l},null,512)]))}});exports.default=B;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="";exports.default=e;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./gis-map-ol.vue.js");require("./gis-map-ol.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("@easyest/utils"),u=require("./gis-map-ol.vue.js");require("./gis-map-ol.vue2.js");const e=t.withInstall(u.default);exports.GisMapOl=e;exports.default=e;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Tile.js"),u=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/Map.js");require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/ol.css.js");require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj.js");const m=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/TileGrid.js"),h=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/WMTS.js"),l=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/View.js"),d=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/WMTS.js"),p=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Projection.js"),f=require("../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileWMS.js");class g{constructor(){this.mapConfig={}}initialize(e){return this.mapConfig=e.mapConfig||{},this.markerClick=e.markerClickCallback,this.map=this.createMap(e.container),this.mapConfig.baseLayers&&this.loadLayers(this.mapConfig.baseLayers),this.map}processUrl(e){return e&&(e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("{{")?e.replace("{{geoServer}}",this.mapConfig.geoServer):this.mapConfig.assetsRoot+e)}loadLayers(e){if(!this.map)return;const i=1/0,r=16384;e.forEach(t=>{var a,o;(a=t.source)!=null&&a.url&&(t.source.url=this.processUrl(t.source.url));let s;switch(t.type){case"gwc-wms":{s=new n.default({preload:i,cacheSize:r,source:new f.default({...t.source,tileGrid:new m.default({...t.source.tileGrid})}),...t.options});break}case"wmts":{s=new n.default({preload:i,cacheSize:r,source:new d.default({...t.source,tileGrid:new h.default({...t.source.tileGrid}),projection:new p.default({code:t.source.projection||"EPSG:4326"})}),...t.options});break}}s&&(s.set("id",t.id),(o=this.map)==null||o.addLayer(s))})}createMap(e){const i=this.mapConfig.view;this.mapView=new l.default({...i}),this.mapConfig.camera?this.mapConfig.camera.home=i:this.mapConfig.camera={home:i};const r=new u.default({target:e,view:this.mapView});return r.on("pointermove",t=>{if(t.dragging)return;const s=r.hasFeatureAtPixel(t.pixel),a=r.getTargetElement();a&&(a.style.cursor=s?"pointer":"")}),r.on("click",t=>{const s=r.forEachFeatureAtPixel(t.pixel,a=>a);if(s&&this.markerClick){const a=s.get("type")??"",o=s.get("id")??"",c=s.getProperties();this.markerClick(a,o,c,t)}}),r}async setMapCenter(e){return this.map?new Promise(i=>{e.duration&&e.duration>0?this.mapView.animate({center:e.center||this.mapView.getCenter(),zoom:e.zoom||this.mapView.getZoom(),duration:e.duration*1e3},()=>{i({status:0,message:"成功"})}):(e.zoom&&this.mapView.setZoom(e.zoom),e.center&&this.mapView.setCenter(e.center),i({status:0,message:"成功"}))}):{status:-1,message:"地图未初始化"}}setMapZoom(e){return this.map?(this.mapView.setZoom(e.zoom),{status:0,message:"成功"}):{status:-1,message:"地图未初始化"}}async setMapCamera(e){if(!this.map)return{status:-1,message:"地图未初始化"};const i=this.mapConfig.camera[e.name];return i?await this.setMapCenter({center:i.center,zoom:e.zoom||i.zoom,duration:e.duration||0}):{status:-1,message:`未找到名称为 ${e.name} 的相机视图`}}async setLayerVisibility(e){const i=this.map.getLayers().getArray().find(r=>r.get("id")===e.id);return i?(i.setVisible(e.visible),{status:0,message:"成功"}):{status:-1,message:`未找到ID为 ${e.id} 的图层`}}}exports.default=g;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/Feature.js"),v=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Point.js"),X=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Vector.js"),E=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/Observable.js"),Y=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Vector.js"),V=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Circle.js"),m=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Fill.js"),F=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Icon.js"),b=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Stroke.js"),f=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Style.js"),K=require("../../../../../../node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Text.js");class k{constructor(e){this.showName="detail",this.showStyle="scatter",this.viewChangeKey=null,this.mapMoveKey=null,this.resolutionChangeTimeout=null,this.clusterRadius=120,this.minClusterPoints=2,this.maxClusterSymbolSize=50,this.minClusterSymbolSize=25,this.clusteredLocations=[],this.locations=[],this.map=e,this.view=e.getView(),this.source=new Y.default,this.crossLayer=new X.default({source:this.source}),this.crossLayer.set("id","signal-control-cross-layer"),this.map.addLayer(this.crossLayer),this.configureVectorLayerStyle()}showSignalCross(e){if(this.source.clear(),this.showName=e.showName||"detail",this.showStyle=e.style||"scatter",this.viewChangeKey||(this.viewChangeKey=this.view.on("change:resolution",()=>{this.showStyle==="cluster"&&(this.resolutionChangeTimeout&&clearTimeout(this.resolutionChangeTimeout),this.resolutionChangeTimeout=setTimeout(()=>{this.calculateCluster(),this.resolutionChangeTimeout=null},150))})),this.mapMoveKey||(this.mapMoveKey=this.map.on("moveend",()=>{this.showStyle==="cluster"&&this.calculateCluster()})),this.showStyle==="scatter"){const s=[],n=[];e.points.forEach(t=>{const o=this.createCrossFeature(t);t.isMalfunction===!0||t.isOnline===!1?n.push(o):s.push(o)}),this.source.addFeatures(s),this.source.addFeatures(n),this.crossLayer.changed()}else this.locations=e.points.map(s=>({id:s.crossId,x:s.x,y:s.y,visited:!1,clusterId:void 0,properties:s})),this.calculateCluster();return{status:0,message:"success"}}calculateCluster(){console.time("cluster"),this.locationToScreen();const e=this.doPixelCluster(this.clusterRadius);this.showClusterResult(e),console.timeEnd("cluster")}clearSignalCross(){this.source.clear(),this.viewChangeKey&&(E.unByKey(this.viewChangeKey),this.viewChangeKey=null),this.mapMoveKey&&(E.unByKey(this.mapMoveKey),this.mapMoveKey=null),this.resolutionChangeTimeout&&(clearTimeout(this.resolutionChangeTimeout),this.resolutionChangeTimeout=null)}changeShowName(e){this.showName=e,this.showStyle==="scatter"&&this.updateScatterSymbol()}updateScatterSymbol(){this.crossLayer.changed()}configureVectorLayerStyle(){const r=this.map.getView(),w=r.getResolutionForZoom(13),S=r.getResolutionForZoom(15),C=r.getResolutionForZoom(17),p=(i,c,l)=>`/GisViewerAssets/Images/cross/ic_${(i??"gc").toLowerCase()==="scats"?"scats":"gc"}_${c===!1?"offline":"online"}_${l?"malfunction":"normal"}.png`,u=new Map,h=new Map,O=new WeakMap,I=new Map,M={gc:"#86efac",scats:"#16a34a"},z=new b.default({color:"#ffffff",width:1.5}),R=(i,c)=>{const l=M[i]?i:"gc",a=I.get(l);if(a)return a;const d=[new f.default({image:new V.default({radius:c>w?3:8,fill:new m.default({color:M[l]}),stroke:z}),zIndex:1})];return I.set(l,d),d},q=new m.default({color:"#1f2937"}),P=new b.default({color:"#ffffff",width:3}),x=i=>{const c=u.get(i);if(c)return c;const l=new f.default({image:new F.default({src:i,scale:.5,anchor:[.5,1],anchorXUnits:"fraction",anchorYUnits:"fraction"}),zIndex:1});return u.set(i,l),l},Z=i=>{const c=h.get(i);if(c)return c;const l=[x(i)];return h.set(i,l),l};this.crossLayer.setStyle((i,c)=>{if((i.get("type")??"")==="signal-cluster")return this.getClusterStyle(i.getProperties());const a=this.showName==="crossName"?i.get("name"):this.showName==="signalId"?i.get("signalId"):`${i.get("name")}(${i.get("signalId")})`,d=i.get("brand")??"gc",L=i.get("isOnline"),T=i.get("isMalfunction"),g=p(d,L,T);if(c>S)return R(d,c);if(c>C)return Z(g);const y=O.get(i);if(y&&y.label===a&&y.iconKey===g)return y.styles;const A=x(g),B=new f.default({text:new K.default({text:a,font:'12px "Microsoft YaHei"',textAlign:"center",textBaseline:"bottom",offsetY:-28,fill:q,stroke:P}),zIndex:2}),_=[A,B];return O.set(i,{label:a,iconKey:g,styles:_}),_})}createCrossFeature(e){return e.brand=e.brand.toLowerCase(),new N.default({geometry:new v.default([e.x,e.y]),type:"signal-cross",id:e.crossId,brandLabel:this.getBrandLabel(e.brand),isOnlineLabel:this.getOnlineLabel(e.isOnline),isMalfunctionLabel:this.getMalfunctionLabel(e.isMalfunction),...e})}getClusterStyle(e){const s=e.clusterSymbolSize,n=new F.default({src:"/GisViewerAssets/Images/cross/gis_xhj_blue.png",scale:s/32}),t=-(s+10),o=new K.default({text:String(e.count??0),font:"16px sans-serif",fill:new m.default({color:[255,255,255,255]}),backgroundFill:new m.default({color:[2,72,200,255]}),backgroundStroke:new b.default({color:[2,72,200,128],width:2}),padding:[3,6,3,6],offsetY:t,textAlign:"center"});return[new f.default({image:n}),new f.default({text:o})]}getBrandLabel(e){const s=(e??"").toLowerCase();return s==="scats"?"SCATS":s==="gc"?"国产":e??""}getOnlineLabel(e){return e?"在线":"离线"}getMalfunctionLabel(e){return e?"故障":"正常"}locationToScreen(){this.clusteredLocations=[],this.locations.forEach(e=>{const s=this.map.getPixelFromCoordinate([e.x,e.y]),[n,t]=s||[NaN,NaN];Number.isFinite(n)&&Number.isFinite(t)&&n>0&&t>0&&(e.properties=e.properties||{},e.properties.screenX=n,e.properties.screenY=t,e.visited=!1,e.clusterId=void 0,this.clusteredLocations.push(e))})}doPixelCluster(e){let s=0;for(let n=0;n<this.clusteredLocations.length;n++){const t=this.clusteredLocations[n];if(t.visited)continue;t.visited=!0;const o=this.getNeighbors(t,e);o.length<this.minClusterPoints?t.clusterId=-1:(o.forEach(r=>{r.visited=!0,r.clusterId=s}),t.clusterId=s,s++)}return this.createClusters()}getNeighbors(e,s){return this.clusteredLocations.filter(n=>n.id===e.id||n.visited?!1:this.getDistance(e,n)<=s)}getDistance(e,s){var n,t,o,r;return Math.sqrt(Math.pow((((n=e.properties)==null?void 0:n.screenX)??0)-(((t=s.properties)==null?void 0:t.screenX)??0),2)+Math.pow((((o=e.properties)==null?void 0:o.screenY)??0)-(((r=s.properties)==null?void 0:r.screenY)??0),2))}createClusters(){const e={},s=[];for(const t of this.clusteredLocations)t.clusterId===void 0||t.clusterId===-1?s.push(t):(e[t.clusterId]||(e[t.clusterId]=[]),e[t.clusterId].push(t));const n=Object.keys(e).map(t=>{const o=e[Number(t)],r=o.length,w=o.reduce((u,h)=>u+h.x,0),S=o.reduce((u,h)=>u+h.y,0),C=w/r,p=S/r;return{id:Number(t),items:o,count:r,center:{x:C,y:p}}});return s.length>0&&n.push({id:-1,items:s,count:s.length,center:null}),n}showClusterResult(e){this.source.clear();let s=Number.MIN_VALUE,n=Number.MAX_VALUE;e.forEach(t=>{t.count>1&&(n=Math.min(n,t.count),s=Math.max(s,t.count))}),e.forEach(t=>{if(t.id!==-1&&t.center){let o=n===s?(this.maxClusterSymbolSize+this.minClusterSymbolSize)/2:this.minClusterSymbolSize+(t.count-n)/(s-n)*(this.maxClusterSymbolSize-this.minClusterSymbolSize);o*=.75;const r=new N.default({geometry:new v.default([t.center.x,t.center.y]),type:"signal-cluster",count:t.count,clusterSymbolSize:o});this.source.addFeature(r)}else t.items.forEach(o=>{const r=this.createCrossFeature({...o.properties,x:o.x,y:o.y});this.source.addFeature(r)})}),this.crossLayer.changed()}}exports.default=k;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./gis-map/index.js"),i=require("./gis-map-ol/index.js");exports.GisMap=e.GisMap;exports.GisMapOl=i.GisMapOl;
@@ -4,6 +4,7 @@ declare module '@vue/runtime-core' {
4
4
  EaButton: typeof components.Button;
5
5
  EaIcon: typeof components.Icon;
6
6
  GisMap: typeof components.GisMap;
7
+ GisMapOl: typeof components.GisMapOl;
7
8
  }
8
9
  }
9
10
  export {};
@@ -1,6 +1,6 @@
1
1
  import MapView from '@arcgis/core/views/MapView';
2
2
  import SceneView from '@arcgis/core/views/SceneView';
3
- import { IBlockOpenDriveLaneParams, IClusterPointParams, IEditSignalControlAreaParams, IFindSignalControlAreaParams, IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowEdpassDeviceParams, IShowGreenWaveBandParams, IShowJurisdictionParams, IShowOpenDriveFromFileParams, IShowSignalControlAreaParams, IShowSignalSystemParams, IShowSubSignalSystemParams, ISignalCountdownProps, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } from '../types';
3
+ import { IBlockOpenDriveLaneParams, IClusterPointParams, IEditSignalControlAreaParams, IFindSignalControlAreaParams, IFindSumoParams, ILaneNumberParams, ILayerVisibleParams, ILookAtParams, IMaskParam, IOverlayParam, IQueueLengthParams, ISetMapCameraParams, ISetMapCenterParams, IShowEdpassDeviceParams, IShowGreenWaveBandParams, IShowJurisdictionParams, IShowOpenDriveFromFileParams, IShowSignalControlAreaParams, IShowSignalSystemParams, IShowSubSignalSystemParams, ISplitOpenDriveLaneParams, IStartCrossBufferParam, IToggleTrafficInfoParams, IUnselectSumoParams } from '../types';
4
4
  import DbscanCluster from './utils/dbscan-cluster';
5
5
  import EdpassDeviceController from './utils/edpass-device-controller';
6
6
  import GreenWaveBandController from './utils/green-wave-band-controller';
@@ -30,8 +30,8 @@ export declare const GisMap: import("@easyest/utils/dist/lib/withinstall").SFCWi
30
30
  mapConfig: {};
31
31
  saveTrackLog: boolean;
32
32
  isSketching: boolean;
33
- mapInitializer: import("./utils/map-initializer").default;
34
- countdownPanels: import("../types").ISignalCountdownProps[];
33
+ mapInitializer: MapInitializer;
34
+ countdownPanels: ISignalCountdownProps[];
35
35
  }, {}, {}>;
36
36
  countdownPanelProps: {
37
37
  flash: boolean;
@@ -1,6 +1,6 @@
1
1
  import MapView from '@arcgis/core/views/MapView';
2
2
  import SceneView from '@arcgis/core/views/SceneView';
3
- import { ILayerVisibleParams, ILookAtParams, IResult, ISetMapCameraParams, ISetMapCenterParams } from '../../types';
3
+ import { ILayerVisibleParams, ILookAtParams, IMapInitializerParams, IResult, ISetMapCameraParams, ISetMapCenterParams } from '../../types';
4
4
  export default class MapInitializer {
5
5
  private view;
6
6
  private mapConfig;
@@ -10,12 +10,7 @@ export default class MapInitializer {
10
10
  * @param params 容器
11
11
  * @returns view
12
12
  */
13
- initialize(params: {
14
- container: HTMLElement;
15
- mapConfig: any;
16
- markerClickCallback?: (type: string, id: string, detail: any, event?: any) => void;
17
- mapClickCallback?: (mapPoint: number[], screenPoint: number[], event?: any) => void;
18
- }): Promise<MapView | SceneView>;
13
+ initialize(params: IMapInitializerParams): Promise<MapView | SceneView>;
19
14
  setLayerVisibility(params: ILayerVisibleParams): Promise<IResult>;
20
15
  /**
21
16
  * 设置地图中心点
@@ -1,6 +1,3 @@
1
- /**
2
- * 信控区域
3
- */
4
1
  import { IFindSignalControlAreaParams, ILayerVisibleParams, IResult, IShowSignalControlAreaParams } from '../../../types';
5
2
  export default class SignalControlAreaController1 {
6
3
  private view;
@@ -0,0 +1,50 @@
1
+ import { default as OlMap } from 'ol/Map';
2
+ import type { EventsKey } from 'ol/events';
3
+ import { ILayerVisibleParams, ISetMapCameraParams, ISetMapCenterParams, IShowSignalCrossParams } from '../types';
4
+ import OlMapInitializer from './utils/ol-map-initializer';
5
+ import SignalCrossController from './utils/signal-control/signal-cross-controller';
6
+ declare const _sfc_main: import("vue").DefineComponent<{
7
+ config: {
8
+ type: StringConstructor;
9
+ required: true;
10
+ };
11
+ assetsRoot: {
12
+ type: StringConstructor;
13
+ required: false;
14
+ };
15
+ }, {
16
+ mapContainer: import("vue").Ref<any>;
17
+ mapInitializer: OlMapInitializer;
18
+ map: OlMap;
19
+ viewEventKeys: EventsKey[];
20
+ lastEmittedZoomInt: number | null;
21
+ emitZoomIfChanged: (z: number) => void;
22
+ signalCrossController: SignalCrossController;
23
+ setMapCenter: (params: ISetMapCenterParams) => Promise<import("../types").IResult>;
24
+ setMapCamera: (params: ISetMapCameraParams) => Promise<import("../types").IResult>;
25
+ setLayerVisibility: (params: ILayerVisibleParams) => Promise<import("../types").IResult>;
26
+ setMapZoom: (zoom: number) => import("../types").IResult;
27
+ showSignalCross: (params: IShowSignalCrossParams) => import("../types").IResult;
28
+ changeSignalCrossShowName: (showName: 'detail' | 'crossName' | 'signalId') => void | {
29
+ success: boolean;
30
+ message: string;
31
+ };
32
+ clearSignalCross: () => void;
33
+ props: any;
34
+ emit: (event: "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", ...args: any[]) => void;
35
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick" | "update:zoom")[], "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
36
+ config: {
37
+ type: StringConstructor;
38
+ required: true;
39
+ };
40
+ assetsRoot: {
41
+ type: StringConstructor;
42
+ required: false;
43
+ };
44
+ }>> & {
45
+ onMapLoaded?: ((...args: any[]) => any) | undefined;
46
+ onMarkerClick?: ((...args: any[]) => any) | undefined;
47
+ onMapClick?: ((...args: any[]) => any) | undefined;
48
+ "onUpdate:zoom"?: ((...args: any[]) => any) | undefined;
49
+ }, {}, {}>;
50
+ export default _sfc_main;
@@ -0,0 +1,45 @@
1
+ export declare const GisMapOl: import("@easyest/utils/dist/lib/withinstall").SFCWithInstall<import("vue").DefineComponent<{
2
+ config: {
3
+ type: StringConstructor;
4
+ required: true;
5
+ };
6
+ assetsRoot: {
7
+ type: StringConstructor;
8
+ required: false;
9
+ };
10
+ }, {
11
+ mapContainer: import("vue").Ref<any>;
12
+ mapInitializer: import("./utils/ol-map-initializer").default;
13
+ map: import("ol/Map").default;
14
+ viewEventKeys: import("ol/events").EventsKey[];
15
+ lastEmittedZoomInt: number | null;
16
+ emitZoomIfChanged: (z: number) => void;
17
+ signalCrossController: import("./utils/signal-control/signal-cross-controller").default;
18
+ setMapCenter: (params: import("../types").ISetMapCenterParams) => Promise<import("../types").IResult>;
19
+ setMapCamera: (params: import("../types").ISetMapCameraParams) => Promise<import("../types").IResult>;
20
+ setLayerVisibility: (params: import("../types").ILayerVisibleParams) => Promise<import("../types").IResult>;
21
+ setMapZoom: (zoom: number) => import("../types").IResult;
22
+ showSignalCross: (params: import("../types").IShowSignalCrossParams) => import("../types").IResult;
23
+ changeSignalCrossShowName: (showName: "detail" | "crossName" | "signalId") => void | {
24
+ success: boolean;
25
+ message: string;
26
+ };
27
+ clearSignalCross: () => void;
28
+ props: any;
29
+ emit: (event: "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", ...args: any[]) => void;
30
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("mapLoaded" | "markerClick" | "mapClick" | "update:zoom")[], "mapLoaded" | "markerClick" | "mapClick" | "update:zoom", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
31
+ config: {
32
+ type: StringConstructor;
33
+ required: true;
34
+ };
35
+ assetsRoot: {
36
+ type: StringConstructor;
37
+ required: false;
38
+ };
39
+ }>> & {
40
+ onMapLoaded?: ((...args: any[]) => any) | undefined;
41
+ onMarkerClick?: ((...args: any[]) => any) | undefined;
42
+ onMapClick?: ((...args: any[]) => any) | undefined;
43
+ "onUpdate:zoom"?: ((...args: any[]) => any) | undefined;
44
+ }, {}, {}>>;
45
+ export default GisMapOl;
@@ -0,0 +1,28 @@
1
+ import { default as OlMap } from 'ol/Map';
2
+ import { ILayerVisibleParams, IMapInitializerParams, IResult, ISetMapCameraParams, ISetMapCenterParams } from '../../types';
3
+ export default class OlMapInitializer {
4
+ private mapConfig;
5
+ private map;
6
+ private mapView;
7
+ private markerClick;
8
+ initialize(params: IMapInitializerParams): OlMap;
9
+ private processUrl;
10
+ private loadLayers;
11
+ private createMap;
12
+ /**
13
+ * 设置地图中心点和缩放级别
14
+ * @param params
15
+ * @returns
16
+ */
17
+ setMapCenter(params: ISetMapCenterParams): Promise<IResult>;
18
+ setMapZoom(params: {
19
+ zoom: number;
20
+ }): IResult;
21
+ /**
22
+ * 设置地图预存的相机视图
23
+ * @param params
24
+ * @returns
25
+ */
26
+ setMapCamera(params: ISetMapCameraParams): Promise<IResult>;
27
+ setLayerVisibility(params: ILayerVisibleParams): Promise<IResult>;
28
+ }
@@ -0,0 +1,42 @@
1
+ import { default as OlMap } from 'ol/Map';
2
+ import { IResult, IShowSignalCrossParams } from '../../../types';
3
+ export default class SignalCrossController {
4
+ private map;
5
+ private crossLayer;
6
+ private source;
7
+ private view;
8
+ private showName;
9
+ private showStyle;
10
+ private viewChangeKey;
11
+ private mapMoveKey;
12
+ private resolutionChangeTimeout;
13
+ private readonly clusterRadius;
14
+ private readonly minClusterPoints;
15
+ private readonly maxClusterSymbolSize;
16
+ private readonly minClusterSymbolSize;
17
+ private clusteredLocations;
18
+ private locations;
19
+ constructor(map: OlMap);
20
+ showSignalCross(params: IShowSignalCrossParams): IResult;
21
+ private calculateCluster;
22
+ clearSignalCross(): void;
23
+ changeShowName(showName: string): void;
24
+ private updateScatterSymbol;
25
+ /**
26
+ * 配置矢量图层样式:复用 Icon,并为不同 feature 渲染不同 Text。
27
+ * - 使用 resolution 判断是否显示文字(在指定缩放级别后才显示)
28
+ * - 使用缓存避免每次渲染都创建新的 Style/Icon/数组对象
29
+ */
30
+ private configureVectorLayerStyle;
31
+ private createCrossFeature;
32
+ private getClusterStyle;
33
+ private getBrandLabel;
34
+ private getOnlineLabel;
35
+ private getMalfunctionLabel;
36
+ private locationToScreen;
37
+ private doPixelCluster;
38
+ private getNeighbors;
39
+ private getDistance;
40
+ private createClusters;
41
+ private showClusterResult;
42
+ }
@@ -1 +1,2 @@
1
1
  export * from './gis-map';
2
+ export * from './gis-map-ol';
@@ -1,5 +1,3 @@
1
- import { ISignalCountdownProps } from '../../types';
2
- import MapInitializer from '../utils/map-initializer';
3
1
  export declare const useAppDataStore: import("pinia").StoreDefinition<"appData", {
4
2
  mapConfig: {};
5
3
  saveTrackLog: boolean;
@@ -6,6 +6,12 @@
6
6
  * 135° ~ 225°:南象限。
7
7
  */
8
8
  import * as Three from 'three';
9
+ export interface IMapInitializerParams {
10
+ container: string | HTMLElement;
11
+ mapConfig: any;
12
+ markerClickCallback?: (type: string, id: string, detail: any, event?: any) => void;
13
+ mapClickCallback?: (mapPoint: number[], screenPoint: number[], event?: any) => void;
14
+ }
9
15
  export declare enum QuadrantCode {
10
16
  West = "1",
11
17
  North = "2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gisviewer-vue3-arcgis",
3
- "version": "1.0.281",
3
+ "version": "1.0.283",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.mjs",
6
6
  "files": [
@@ -46,6 +46,7 @@
46
46
  "three": "^0.156.1",
47
47
  "uuid": "^9.0.0",
48
48
  "gl-matrix": "^3.4.3",
49
+ "ol": "^10.7.0",
49
50
  "pixi.js": "7.3.2"
50
51
  }
51
52
  }
package/es/src/index.mjs DELETED
@@ -1,4 +0,0 @@
1
- import { GisMap as r } from "./gis-map/index.mjs";
2
- export {
3
- r as GisMap
4
- };
package/lib/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("core-js/stable/array/at");const r=require("./src/gis-map/utils/index.js"),s=require("./src/index.js"),n=require("./src/gis-map/index.js"),u={install:(e,i)=>{for(const o in s)e.use(s[o]);const{gisviewerAssetsRoot:t}=i;e.config.globalProperties.$gisviewerAssetsRoot=t||""}};exports.MapUtils=r.default;exports.GisMap=n.GisMap;exports.default=u;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),B=require("./stores/index.js");require("./style/index.css");const Ct=require("./utils/dbscan-cluster/index.js"),bt=require("./utils/detect-gpu.js"),Ot=require("./utils/edpass-device-controller.js"),N=require("./utils/green-wave-band-controller/index.js"),kt=require("./utils/holo-flow/index.js"),At=require("./utils/holo-flow/signal-countdown-panel.vue.js"),Dt=require("./utils/map-initializer.js"),z=require("./utils/open-drive-renderer/index.js"),E=require("./utils/overlay.js"),Lt=require("./utils/police-jurisdiction.js"),Tt=require("./utils/queue-length.js"),H=require("./utils/road-config-tool/index.js"),qt=require("./utils/signal-control-area/edit-area.js"),V=require("./utils/signal-control-area/signal-area-controller.js"),Bt=require("./utils/signal-control-area/signal-cross-controller.js"),G=require("./utils/signal-system/signal-system-controller.js"),Vt=require("./utils/traffic-flow.js"),_t={class:"gis-viewer"},It={style:{position:"absolute",bottom:"80px",left:"10px","z-index":"9999"}},Mt=r.defineComponent({__name:"gis-map",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick","update:zoom"],setup(Z,{expose:W,emit:j}){const O=r.ref(null);let n,g,l,i,s,o,w,t,u,a,S,f,h,k,y,p;const A=r.ref(!1);B.registerStore();const _=B.default.useAppDataStore,I=r.reactive([]),M=e=>Math.log2(591657527591555e-6/e);let v=null,x=null;const D=e=>{if(!Number.isFinite(e))return;const d=Math.round(e);d!==x&&(x=d,C("update:zoom",d))};bt.default(),r.onMounted(async()=>{if(!O.value)return;document.addEventListener("keydown",m=>{m.ctrlKey&&m.key==="i"&&(A.value=!A.value)});const e=r.getCurrentInstance(),{$gisviewerAssetsRoot:d}=e.appContext.config.globalProperties,c=await(await fetch(P.config)).json();c.assetsRoot=P.assetsRoot||d,_.mapConfig=c,g=new Dt.default,_.mapInitializer=g,n=await g.initialize({container:O.value,mapConfig:c,markerClickCallback:(m,T,q,vt)=>{C("markerClick",m,T,q,vt)},mapClickCallback:(m,T,q)=>{C("mapClick",m,T,q)}});const b=n.zoom??(n.scale?M(n.scale):void 0);typeof b=="number"&&D(b);const ht=n.zoom!==void 0?n.watch("zoom",m=>{D(m)}):n.watch("scale",m=>{typeof m=="number"&&m>0&&D(M(m))});v=()=>ht.remove(),s=new kt.default(n,I),await s.init(),C("mapLoaded")}),r.onUnmounted(()=>{a==null||a.clearSignalControlArea(),t==null||t.clearOpenDrive(),s.clearHoloTrace(),s.clearHoloSignal(),i==null||i.disconnectTrafficFlow(),v==null||v(),v=null});const J=r.computed(()=>n),Q=()=>{const e=B.default.useAppDataStore;e.saveTrackLog=!0},U=()=>{s.downloadTrackLog()},K=()=>{L("vehicleId")},F=()=>{L("plateNumber")},X=async e=>await g.setMapCenter(e),Y=async e=>await g.setMapCamera(e),R=e=>g.setMapZoom(e),$=async e=>await g.lookAt(e),ee=e=>g.setLayerVisibility(e),te=(e,d)=>g.requestCoordinateTransform(e,d),ne=e=>{g.cancelCoordinateTransform(e)},ae=e=>{g.setMapZoomRange(e)},se=e=>(l||(l=new H.default(n)),l.showLaneNumber(e)),re=()=>{l==null||l.clearLaneNumber()},oe=async e=>(l||(l=new H.default(n)),await l.initializeSearch(e)),ie=async()=>l==null?void 0:l.calCrossIndicatorArea(),ce=async()=>{},le=async(e,d)=>{i||(i=new Vt.default(n)),i.connectTrafficFlow(e,d)},ue=()=>{i==null||i.disconnectTrafficFlow()},de=async e=>{s.handleVehicleTraceData(e)},me=()=>{s.clearHoloTrace()},ge=e=>{s.setInterpolate(e)},pe=async e=>{await s.handleSignalData(e)},fe=async e=>{await s.initializeLampGroup(e)},Se=e=>{s.handleUniSignalData(e)},we=()=>{s.clearHoloSignal()},ye=e=>{i==null||i.toggleTrafficInfo(e),s==null||s.toggleTrafficInfo(e)},he=e=>{s==null||s.togglePause(e)},ve=e=>{i==null||i.toggleTrafficObject(e),s==null||s.toggleTrafficObject(e)},L=e=>{s==null||s.updatePanelContent(e)},Ce=async e=>(o||(o=new E.default(n)),o.addOverlays(e)),be=async e=>(y||(y=new Ct.default(n)),y.addClusterPoints(e)),Oe=()=>{y==null||y.removeAllClusterPoints()},ke=e=>(o||(o=new E.default(n)),o.addMask(e)),Ae=()=>{o==null||o.removeMask()},De=e=>o==null?void 0:o.removeOverlaysByType(e),Le=e=>o==null?void 0:o.removeOverlaysById(e),Te=()=>o==null?void 0:o.removeAllOverlays(),qe=()=>{o==null||o.showAllOverlays()},Be=e=>{w||(w=new Tt.default(n)),w.updateQueueLength(e)},Ve=()=>{w==null||w.removeQueueLength()},_e=async(e,d)=>(t||(t=new z.default(n)),await t.showOpenDriveFromServer(e,d)),Ie=async e=>(t||(t=new z.default(n)),await t.clearOpenDrive(),await t.showOpenDriveFromFile(e)),Me=e=>t?t.setOpendriveVisibility(e):{status:-1,message:"未加载OpenDrive地图"},xe=async()=>await(t==null?void 0:t.clearOpenDrive()),Pe=async e=>t?await(t==null?void 0:t.findSumo(e)):{status:-1,message:"未加载OpenDrive地图"},Ne=async e=>t?t.selectSumo(e):{status:-1,message:"未加载OpenDrive地图"},ze=async e=>t?t.unselectSumo(e):{status:-1,message:"未加载OpenDrive地图"},Ee=async e=>t?t.selectComputable(e):{status:-1,message:"未加载OpenDrive地图"},He=async e=>t?await t.geometrySearch(e):{status:-1,message:"未加载OpenDrive地图"},Ge=async e=>t?await t.getSumoInfo(e):{status:-1,message:"未加载OpenDrive地图"},Ze=async e=>t?await(t==null?void 0:t.splitLane(e)):{status:-1,message:"未加载OpenDrive地图"},We=async()=>t?t==null?void 0:t.clearSplitLane():{status:-1,message:"未加载OpenDrive地图"},je=async e=>t?t==null?void 0:t.blockLane(e):{status:-1,message:"未加载OpenDrive地图"},Je=e=>t?t==null?void 0:t.clearBlockLane(e):{status:-1,message:"未加载OpenDrive地图"},Qe=async e=>(a||(a=new V.default(n)),await a.showSignalControlArea(e)),Ue=async e=>(a||(a=new V.default(n)),await a.showDistrict(e)),Ke=async e=>(a||(a=new V.default(n)),await a.showSubDistrict(e)),Fe=async()=>await(a==null?void 0:a.clearSignalControlArea()),Xe=e=>a==null?void 0:a.setLayerVisibility(e),Ye=async e=>a?await(a==null?void 0:a.locateSignalControlArea(e)):{status:-1,message:"未加载信号控制区"},Re=async e=>a?await a.highlightSignalControlArea(e):{status:-1,message:"未加载信号控制区"},$e=()=>a?a.resetHighlight():{status:-1,message:"未加载信号控制区"},et=e=>(u||(u=new qt.default(n)),u.showSubSignalControlArea(e)),tt=e=>u?u.editSubSignalControlArea(e):{status:-1,message:"未加载信号控制区"},nt=()=>u?u.stopEditSubSignalControlArea():{status:-1,message:"未加载信号控制区"},at=e=>u?u.selectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},st=e=>u?u.unselectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},rt=e=>{if(!u)return{status:-1,message:"未加载信号控制区"}},ot=e=>(S||(S=new Bt.default(n)),S.showSignalCross(e)),it=()=>S?S.clearSignalCross():{status:-1,message:"未加载信号路口"},ct=e=>S?S.changeShowName(e):{status:-1,message:"未加载信号路口"},lt=e=>(p||(p=new G.default(n)),p.showSignalSystems(e)),ut=e=>(p||(p=new G.default(n)),p.showSubSignalSystems(e)),dt=e=>p?p.removeSubSignalSystems(e):{status:-1,message:"未加载信号系统"},mt=e=>p?p.removeSignalSystems(e):{status:-1,message:"未加载信号系统"},gt=e=>(f||(f=new N.default(n)),f.addGreenWaveBand(e)),pt=()=>{if(!f)return{status:-1,message:"未加载绿波带"};f.stopAddGreenWaveBand()},ft=async e=>(f||(f=new N.default(n)),await f.showGreenWaveBand(e)),St=async e=>(h||(h=new Lt.default(n)),await h.showJurisdiction(e)),wt=()=>{if(!h)return{status:-1,message:"未加载警务管辖区"};h.clearJurisdiction()},yt=async e=>(k||(k=new Ot.default(n)),await k.setEdpassLayerVisibility(e)),P=Z,C=j;return W({mapViewer:J,setLayerVisibility:ee,setMapCenter:X,lookAt:$,setMapCamera:Y,setMapZoom:R,setMapZoomRange:ae,requestCoordinateTransform:te,cancelCoordinateTransform:ne,addOverlays:Ce,addClusterPoints:be,removeAllClusterPoints:Oe,addMask:ke,removeMask:Ae,showAllOverlays:qe,removeOverlaysByType:De,removeOverlaysById:Le,removeAllOverlays:Te,showLaneNumber:se,clearLaneNumber:re,initializeAreaTool:oe,calCrossIndicatorArea:ie,calRoadIndicatorArea:ce,connectCarFlow:le,disconnectCarFlow:ue,handleHoloVehicleTraceData:de,clearHoloTrace:me,initializeLampGroup:fe,handleUniSignalData:Se,handleHoloSignalData:pe,clearHoloSignal:we,setInterpolate:ge,toggleTrafficInfo:ye,toggleTrafficObject:ve,toggleVehicleInfo:L,togglePause:he,updateQueueLength:Be,removeQueueLength:Ve,showOpenDriveFromServer:_e,showOpenDriveFromFile:Ie,clearOpenDrive:xe,setOpendriveVisibility:Me,geometrySearchInOpenDrive:He,findSumoInOpenDrive:Pe,selectSumoInOpenDrive:Ne,unselectSumoInOpenDrive:ze,selectComputableInOpenDrive:Ee,getSumoInfo:Ge,splitOpenDriveLane:Ze,clearSplitOpenDriveLane:We,blockOpenDriveLane:je,clearBlockOpenDriveLane:Je,showSignalControlArea:Qe,showDistrictArea:Ue,showSubDistrictArea:Ke,clearSignalControlArea:Fe,setSignalControlAreaVisibility:Xe,locateSignalControlArea:Ye,highlightSignalControlArea:Re,resetHighlightSignalControlArea:$e,showSubSignalControlArea:et,editSubSignalControlArea:tt,stopEditSubSignalControlArea:nt,selectSubSignalControlAreaCross:at,unselectSubSignalControlAreaCross:st,changeSubSignalControlAreaBorderVisibility:rt,showSignalCross:ot,clearSignalCross:it,changeSignalCrossShowName:ct,showSignalSystem:lt,showSubSignalSystem:ut,removeSubSignalSystem:dt,removeSignalSystem:mt,addGreenWaveBand:gt,stopAddGreenWaveBand:pt,showGreenWaveBand:ft,showPoliceArea:St,clearPoliceArea:wt,setEdpassLayerVisibility:yt}),(e,d)=>(r.openBlock(),r.createElementBlock("div",_t,[r.createElementVNode("div",{class:"gis-viewer-main",ref_key:"mapContainer",ref:O},[r.withDirectives(r.createElementVNode("div",It,[r.createElementVNode("button",{style:{"margin-right":"10px"},onClick:Q}," 开始记录 "),r.createElementVNode("button",{style:{"margin-right":"10px"},onClick:U}," 下载日志 "),r.createElementVNode("button",{style:{"margin-right":"10px"},onClick:K}," 显示车辆id "),r.createElementVNode("button",{onClick:F},"显示车辆号牌")],512),[[r.vShow,A.value]])],512),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(I,(c,b)=>(r.openBlock(),r.createBlock(At.default,{key:b,"display-mode":c.displayMode,flash:c.flash,"road-id":c.crossId,"cross-id":c.roadId,"map-point":c.mapPoint,"stop-line":c.stopLine,position:c.position,rotation:c.rotation,scale:c.scale,"lamp-status":c.lampStatus},null,8,["display-mode","flash","road-id","cross-id","map-point","stop-line","position","rotation","scale","lamp-status"]))),128))]))}});exports.default=Mt;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("@arcgis/core/core/reactiveUtils.js"),v=require("@arcgis/core/Graphic"),c=require("@arcgis/core/layers/GraphicsLayer"),d=require("vue"),k=require("../stores/index.js");function f(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const S=f(b);class p{constructor(e){this.clusterScaleThreshold=1,this.watchHandle=null,this.currentShowParams=null,this.isCameraVisible=!1,this.isKkVisible=!1,this.esServer="",this.clusterEnabled={cameraNormal:!1,cameraAbnormal:!1,kkNormal:!1,kkAbnormal:!1},this.view=e;const t=k.default.useAppDataStore;this.mapInitializer=d.toRaw(t.mapInitializer);const i=d.toRaw(t.mapConfig);this.esServer=(i==null?void 0:i.esServer)||"",this.cameraNormalLayer=new c({id:"cameraNormalLayer",visible:!1}),this.cameraAbnormalLayer=new c({id:"cameraAbnormalLayer",visible:!1}),this.kkNormalLayer=new c({id:"kkNormalLayer",visible:!1}),this.kkAbnormalLayer=new c({id:"kkAbnormalLayer",visible:!1}),this.view.map.addMany([this.cameraNormalLayer,this.cameraAbnormalLayer,this.kkNormalLayer,this.kkAbnormalLayer])}async setEdpassLayerVisibility(e){return this.currentShowParams={...this.currentShowParams??{},...e},e.deviceType!=="camera"&&e.deviceType!=="kk"?{status:-1,message:"不支持的设备类型"}:(e.deviceType==="camera"&&(this.isCameraVisible=e.visible),e.deviceType==="kk"&&(this.isKkVisible=e.visible),this.updateClusterEnabled(e),(e.style??this.getAutoStyleByScale())==="cluster"||e.style==null?this.ensureStationaryWatch():this.tryRemoveWatchIfNoVisible(),this.applyClusterMode(),{status:0,message:"Success"})}showScatter(e){const t=e??this.isCameraVisible,i=e??this.isKkVisible;this.mapInitializer.setLayerVisibility({id:"camera-normal",visible:t}),this.mapInitializer.setLayerVisibility({id:"camera-abnormal",visible:t}),this.mapInitializer.setLayerVisibility({id:"kk-normal",visible:i}),this.mapInitializer.setLayerVisibility({id:"kk-abnormal",visible:i})}getLayerConfig(e){let t,i,a;return e.deviceType==="camera"?e.deviceState==="normal"?(t="/GisViewerAssets/Images/gis/gis_sxj_map.png",i=[45,108,196],a=this.cameraNormalLayer):(t="/GisViewerAssets/Images/gis/gis_sxj_yc.png",i=[189,49,50],a=this.cameraAbnormalLayer):e.deviceState==="normal"?(t="/GisViewerAssets/Images/gis/gis_kk_map.png",i=[45,108,196],a=this.kkNormalLayer):(t="/GisViewerAssets/Images/gis/gis_kk_yc.png",i=[189,49,50],a=this.kkAbnormalLayer),{icon:t,color:i,deviceLayer:a}}getAutoStyleByScale(){return this.view.scale>this.clusterScaleThreshold?"cluster":"scatter"}updateClusterEnabled(e){const t=e.deviceState;e.deviceType==="camera"?t?t==="normal"?this.clusterEnabled.cameraNormal=e.visible:this.clusterEnabled.cameraAbnormal=e.visible:(this.clusterEnabled.cameraNormal=e.visible,this.clusterEnabled.cameraAbnormal=e.visible):t?t==="normal"?this.clusterEnabled.kkNormal=e.visible:this.clusterEnabled.kkAbnormal=e.visible:(this.clusterEnabled.kkNormal=e.visible,this.clusterEnabled.kkAbnormal=e.visible)}ensureStationaryWatch(){this.watchHandle||(this.watchHandle=S.when(()=>this.view.stationary,async()=>{if(!this.currentShowParams)return;if((this.currentShowParams.style??this.getAutoStyleByScale())==="scatter"){this.applyScatterMode();return}await this.applyClusterMode()}))}hasAnyClusterEnabled(){return this.clusterEnabled.cameraNormal||this.clusterEnabled.cameraAbnormal||this.clusterEnabled.kkNormal||this.clusterEnabled.kkAbnormal}tryRemoveWatchIfNoVisible(){var i;const e=this.isCameraVisible||this.isKkVisible,t=this.hasAnyClusterEnabled();!e&&!t&&((i=this.watchHandle)==null||i.remove(),this.watchHandle=null)}applyScatterMode(){this.showScatter(),this.cameraNormalLayer.visible=!1,this.cameraAbnormalLayer.visible=!1,this.kkNormalLayer.visible=!1,this.kkAbnormalLayer.visible=!1,this.cameraNormalLayer.removeAll(),this.cameraAbnormalLayer.removeAll(),this.kkNormalLayer.removeAll(),this.kkAbnormalLayer.removeAll()}async applyClusterMode(){var l,o;this.showScatter(!1);const e=((l=this.currentShowParams)==null?void 0:l.ddCode)||"",t=((o=this.currentShowParams)==null?void 0:o.zdCode)||"",i=this.view.extent,a=[];this.cameraNormalLayer.visible=this.clusterEnabled.cameraNormal,this.clusterEnabled.cameraNormal?a.push(this.showClusterInExtent({deviceType:"camera",deviceState:"normal",style:"cluster",ddCode:e,zdCode:t,visible:!0},i)):this.cameraNormalLayer.removeAll(),this.kkNormalLayer.visible=this.clusterEnabled.kkNormal,this.clusterEnabled.kkNormal?a.push(this.showClusterInExtent({deviceType:"kk",deviceState:"normal",style:"cluster",ddCode:e,zdCode:t,visible:!0},i)):this.kkNormalLayer.removeAll(),await Promise.all(a),this.tryRemoveWatchIfNoVisible()}async showClusterInExtent(e,t){const i=await fetch(`${this.esServer}/queryGeoAggregation`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceType:e.deviceType,topLeftLat:t.ymax,topLeftLon:t.xmin,bottomRightLat:t.ymin,bottomRightLon:t.xmax,devStateSet:e.deviceState?[e.deviceState==="normal"?"1":"2"]:["1","2"],zdCode:e.zdCode||"",ddCode:e.ddCode||"",mapLevel:this.view.zoom+8,meter:1e3})});if(i.status!==200){console.error(i.statusText);return}const a=await i.json();if(a.code!==200)return;const{icon:l,color:o,deviceLayer:y}=this.getLayerConfig(e);y.removeAll();const u=a.data.map(s=>{var m;const n=(s.count.toString().length*6+6)/2,h=new v({geometry:{type:"point",x:s.lon,y:s.lat},attributes:{id:((m=s.devInfo)==null?void 0:m.deviceId)||s.key,type:e.deviceType,count:s.count,typeName:e.deviceType==="camera"?"视频":"卡口",stateName:e.deviceState==="normal"?"正常":"异常",...s.devInfo}});return s.count>1?h.symbol={type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[-n,30],[n,30],[n,15],[-n,15],[-n,30]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:o.concat([255])},{type:"CIMSolidStroke",enable:!0,width:3,color:o.concat([128])}]}},{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",fontFamilyName:"msyh",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:22,symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},verticalAlignment:"Center"},textString:s.count.toString()}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:24,rotateClockwise:!0,textureFilter:"Picture",url:l}]}}}:h.symbol={type:"picture-marker",url:l,width:18,height:18},h});y.addMany(u)}}exports.default=p;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),l=require("../../../types/index.js"),n=require("../../stores/index.js"),c=require("./signal-holo-flow.js"),s=require("./signal-holo-flow-lsr.js"),h=require("./trace-holo-flow.js");class w{constructor(e,o){this.view=e,this.signalCountdownPanelProps=o}async init(){this.traceHoloFlow=new h.default(this.view),await this.traceHoloFlow.init()}handleVehicleTraceData(e){this.traceHoloFlow.handleVehicleTraceData(e)}toggleTrafficObject(e){switch(e.name.toLowerCase()){case"groundVehicle".toLowerCase():this.traceHoloFlow.toggleGroundVehicle(e.visible);break;case"elevatedVehicle".toLowerCase():this.traceHoloFlow.toggleElevatedVehicle(e.visible);break}}clearHoloTrace(){this.traceHoloFlow.clearTrace()}toggleTrafficInfo(e){this.traceHoloFlow.toggleTrafficInfo(e)}togglePause(e){this.traceHoloFlow.togglePause(e)}updatePanelContent(e){let o=l.EVehiclePlateState.None;switch(e){case"none":o=l.EVehiclePlateState.None;break;case"plateNumber":o=l.EVehiclePlateState.PlateNumber;break;case"vehicleId":o=l.EVehiclePlateState.Id;break;case"mix":o=l.EVehiclePlateState.Mix;break}this.traceHoloFlow.updatePanelContent(o)}async handleSignalData(e){var o,a;if(!this.signalHoloFlow){const t=n.default.useAppDataStore;((a=(o=i.toRaw(t.mapConfig).holoFlow)==null?void 0:o.signal)==null?void 0:a.style)==="LSR"?this.signalHoloFlow=new s.default(this.view,this.signalCountdownPanelProps):this.signalHoloFlow=new c.default(this.view),await this.signalHoloFlow.initializeLayer()}await this.signalHoloFlow.handleHoloSignalData(e)}async initializeLampGroup(e){var o,a;if(!this.signalHoloFlow){const t=n.default.useAppDataStore;if(((a=(o=i.toRaw(t.mapConfig).holoFlow)==null?void 0:o.signal)==null?void 0:a.style)==="LSR")this.signalHoloFlow=new s.default(this.view,this.signalCountdownPanelProps);else return}await this.signalHoloFlow.initializeLayer(),this.signalHoloFlow.initializeLampGroup(e)}handleUniSignalData(e){return this.signalHoloFlow.handleUniSignalData(e)}clearHoloSignal(){var e;(e=this.signalHoloFlow)==null||e.clearSignal()}setInterpolate(e){this.traceHoloFlow.setInterpolate(e)}downloadTrackLog(){this.traceHoloFlow.downloadLog()}}exports.default=w;