gisviewer-vue3-arcgis 1.0.280 → 1.0.282

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 (534) 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/packages/components/src/gis-map/gis-map.vue.mjs +288 -0
  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/layer-symbol.mjs +26 -26
  199. package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-area-controller.mjs +1 -1
  200. package/es/packages/components/src/gis-map/utils/signal-system/signal-system-controller.mjs +137 -0
  201. package/es/{src → packages/components/src}/gis-map/utils/sketchView.mjs +1 -1
  202. package/es/{src → packages/components/src}/gis-map/utils/traffic-flow.mjs +1 -1
  203. package/es/packages/components/src/gis-map-ol/gis-map-ol.vue.mjs +67 -0
  204. package/es/packages/components/src/gis-map-ol/gis-map-ol.vue3.mjs +5 -0
  205. package/es/packages/components/src/gis-map-ol/index.mjs +8 -0
  206. package/es/packages/components/src/gis-map-ol/utils/ol-map-initializer.mjs +131 -0
  207. package/es/packages/components/src/gis-map-ol/utils/signal-control/signal-cross-controller.mjs +263 -0
  208. package/es/packages/components/src/index.mjs +6 -0
  209. package/es/src/gis-map/gis-map.vue.d.ts +7 -1
  210. package/es/src/gis-map/index.d.ts +7 -2
  211. package/es/src/gis-map/utils/map-initializer.d.ts +2 -7
  212. package/es/src/gis-map/utils/signal-control-area/signal-area-controller.d.ts +0 -3
  213. package/es/src/gis-map/utils/signal-system/signal-system-controller.d.ts +22 -0
  214. package/es/src/gis-map-ol/gis-map-ol.vue.d.ts +50 -0
  215. package/es/src/gis-map-ol/index.d.ts +45 -0
  216. package/es/src/gis-map-ol/utils/ol-map-initializer.d.ts +28 -0
  217. package/es/src/gis-map-ol/utils/signal-control/signal-cross-controller.d.ts +42 -0
  218. package/es/src/index.d.ts +1 -0
  219. package/es/src/{gis-map/stores → stores}/appData.d.ts +0 -2
  220. package/es/src/types/index.d.ts +26 -4
  221. package/es/style.css +1 -1
  222. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Collection.js +1 -0
  223. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/CollectionEventType.js +1 -0
  224. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/DataTile.js +1 -0
  225. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Disposable.js +1 -0
  226. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Feature.js +1 -0
  227. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Image.js +1 -0
  228. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ImageState.js +1 -0
  229. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ImageTile.js +1 -0
  230. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Kinetic.js +1 -0
  231. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Map.js +1 -0
  232. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEvent.js +1 -0
  233. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEventHandler.js +1 -0
  234. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapBrowserEventType.js +1 -0
  235. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapEvent.js +1 -0
  236. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapEventType.js +1 -0
  237. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/MapProperty.js +1 -0
  238. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Object.js +1 -0
  239. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ObjectEventType.js +1 -0
  240. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Observable.js +1 -0
  241. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/Tile.js +1 -0
  242. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileQueue.js +1 -0
  243. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileRange.js +1 -0
  244. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/TileState.js +1 -0
  245. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/View.js +1 -0
  246. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ViewHint.js +1 -0
  247. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/ViewProperty.js +1 -0
  248. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/array.js +1 -0
  249. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/asserts.js +1 -0
  250. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/centerconstraint.js +1 -0
  251. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/color.js +1 -0
  252. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/colorlike.js +1 -0
  253. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/console.js +1 -0
  254. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Attribution.js +1 -0
  255. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Control.js +1 -0
  256. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Rotate.js +1 -0
  257. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/Zoom.js +1 -0
  258. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/control/defaults.js +1 -0
  259. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/coordinate.js +1 -0
  260. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/css.js +1 -0
  261. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/dom.js +1 -0
  262. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/easing.js +1 -0
  263. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Event.js +1 -0
  264. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/EventType.js +1 -0
  265. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Key.js +1 -0
  266. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/Target.js +1 -0
  267. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events/condition.js +1 -0
  268. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/events.js +1 -0
  269. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/expr/cpu.js +1 -0
  270. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/expr/expression.js +1 -0
  271. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/extent/Relationship.js +1 -0
  272. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/extent.js +1 -0
  273. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/featureloader.js +1 -0
  274. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/functions.js +1 -0
  275. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Geometry.js +1 -0
  276. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/LinearRing.js +1 -0
  277. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Point.js +1 -0
  278. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/Polygon.js +1 -0
  279. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/SimpleGeometry.js +1 -0
  280. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/area.js +1 -0
  281. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/center.js +1 -0
  282. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/closest.js +1 -0
  283. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/contains.js +1 -0
  284. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/deflate.js +1 -0
  285. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/inflate.js +1 -0
  286. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/interiorpoint.js +1 -0
  287. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/interpolate.js +1 -0
  288. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/intersectsextent.js +1 -0
  289. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/length.js +1 -0
  290. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/linechunk.js +1 -0
  291. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/orient.js +1 -0
  292. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/reverse.js +1 -0
  293. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/segments.js +1 -0
  294. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/simplify.js +1 -0
  295. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/straightchunk.js +1 -0
  296. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/textpath.js +1 -0
  297. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/geom/flat/transform.js +1 -0
  298. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/has.js +1 -0
  299. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DoubleClickZoom.js +1 -0
  300. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragBox.js +1 -0
  301. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragPan.js +1 -0
  302. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragRotate.js +1 -0
  303. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/DragZoom.js +1 -0
  304. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Interaction.js +1 -0
  305. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/KeyboardPan.js +1 -0
  306. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/KeyboardZoom.js +1 -0
  307. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/MouseWheelZoom.js +1 -0
  308. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/PinchRotate.js +1 -0
  309. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/PinchZoom.js +1 -0
  310. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Pointer.js +1 -0
  311. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/Property.js +1 -0
  312. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/interaction/defaults.js +1 -0
  313. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Base.js +1 -0
  314. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/BaseTile.js +1 -0
  315. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/BaseVector.js +1 -0
  316. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Group.js +1 -0
  317. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Layer.js +1 -0
  318. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Property.js +1 -0
  319. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Tile.js +1 -0
  320. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/TileProperty.js +1 -0
  321. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/layer/Vector.js +1 -0
  322. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/loadingstrategy.js +1 -0
  323. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/math.js +1 -0
  324. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/obj.js +1 -0
  325. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/pointer/EventType.js +1 -0
  326. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Projection.js +1 -0
  327. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/Units.js +1 -0
  328. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/epsg3857.js +1 -0
  329. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/epsg4326.js +1 -0
  330. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/projections.js +1 -0
  331. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/transforms.js +1 -0
  332. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj/utm.js +1 -0
  333. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/proj.js +1 -0
  334. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Box.js +1 -0
  335. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Event.js +1 -0
  336. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/EventType.js +1 -0
  337. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/Feature.js +1 -0
  338. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/VectorContext.js +1 -0
  339. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Builder.js +1 -0
  340. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/BuilderGroup.js +1 -0
  341. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Executor.js +4 -0
  342. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ExecutorGroup.js +1 -0
  343. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ImageBuilder.js +1 -0
  344. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Immediate.js +1 -0
  345. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/Instruction.js +1 -0
  346. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/LineStringBuilder.js +1 -0
  347. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/PolygonBuilder.js +1 -0
  348. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/TextBuilder.js +1 -0
  349. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/ZIndexContext.js +1 -0
  350. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/hitdetect.js +1 -0
  351. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas/style.js +1 -0
  352. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/render/canvas.js +3 -0
  353. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Composite.js +1 -0
  354. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Layer.js +1 -0
  355. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/Map.js +1 -0
  356. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/Layer.js +1 -0
  357. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/TileLayer.js +1 -0
  358. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/canvas/VectorLayer.js +1 -0
  359. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/renderer/vector.js +1 -0
  360. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/Tile.js +1 -0
  361. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/Triangulation.js +1 -0
  362. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj/common.js +1 -0
  363. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/reproj.js +1 -0
  364. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/resolutionconstraint.js +1 -0
  365. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/rotationconstraint.js +1 -0
  366. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/size.js +1 -0
  367. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Source.js +1 -0
  368. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Tile.js +1 -0
  369. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileEventType.js +1 -0
  370. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileImage.js +1 -0
  371. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/TileWMS.js +1 -0
  372. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/UrlTile.js +2 -0
  373. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/Vector.js +1 -0
  374. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/VectorEventType.js +1 -0
  375. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/WMTS.js +2 -0
  376. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/common.js +1 -0
  377. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/source/wms.js +1 -0
  378. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/sphere.js +1 -0
  379. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/string.js +1 -0
  380. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/LRUCache.js +1 -0
  381. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/PriorityQueue.js +1 -0
  382. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/structs/RBush.js +1 -0
  383. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Circle.js +1 -0
  384. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Fill.js +1 -0
  385. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Icon.js +1 -0
  386. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/IconImage.js +1 -0
  387. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/IconImageCache.js +1 -0
  388. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Image.js +1 -0
  389. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/RegularShape.js +1 -0
  390. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Stroke.js +1 -0
  391. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Style.js +1 -0
  392. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/style/Text.js +1 -0
  393. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilecoord.js +1 -0
  394. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/TileGrid.js +1 -0
  395. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/WMTS.js +1 -0
  396. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid/common.js +1 -0
  397. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tilegrid.js +1 -0
  398. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/tileurlfunction.js +1 -0
  399. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/transform.js +1 -0
  400. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/uri.js +1 -0
  401. package/lib/node_modules/.pnpm/ol@10.7.0/node_modules/ol/util.js +1 -0
  402. package/lib/node_modules/.pnpm/quickselect@3.0.0/node_modules/quickselect/index.js +1 -0
  403. package/lib/node_modules/.pnpm/rbush@4.0.1/node_modules/rbush/index.js +1 -0
  404. package/lib/packages/components/index.js +1 -0
  405. package/lib/packages/components/src/gis-map/gis-map.vue.js +1 -0
  406. package/lib/packages/components/src/gis-map/gis-map.vue2.js +1 -0
  407. package/lib/packages/components/src/gis-map/utils/edpass-device-controller.js +1 -0
  408. package/lib/packages/components/src/gis-map/utils/holo-flow/index.js +1 -0
  409. package/lib/packages/components/src/gis-map/utils/holo-flow/signal-holo-flow.js +1 -0
  410. package/lib/packages/components/src/gis-map/utils/holo-flow/trace-renderer-external.js +1 -0
  411. package/lib/packages/components/src/gis-map/utils/holo-flow/trace-renderer-layer.js +1 -0
  412. package/lib/packages/components/src/gis-map/utils/map-initializer.js +1 -0
  413. package/lib/packages/components/src/gis-map/utils/open-drive-renderer/index.js +1 -0
  414. package/lib/packages/components/src/gis-map/utils/police-jurisdiction.js +1 -0
  415. package/lib/packages/components/src/gis-map/utils/queue-length.js +1 -0
  416. package/lib/packages/components/src/gis-map/utils/road-config-tool/search-nearby-lanes.js +1 -0
  417. package/lib/packages/components/src/gis-map/utils/signal-control-area/edit-area.js +1 -0
  418. package/lib/packages/components/src/gis-map/utils/signal-control-area/layer-symbol.js +1 -0
  419. package/lib/packages/components/src/gis-map/utils/signal-control-area/signal-area-controller.js +1 -0
  420. package/lib/packages/components/src/gis-map/utils/signal-system/signal-system-controller.js +1 -0
  421. package/lib/packages/components/src/gis-map/utils/sketchView.js +1 -0
  422. package/lib/packages/components/src/gis-map/utils/traffic-flow.js +1 -0
  423. package/lib/packages/components/src/gis-map-ol/gis-map-ol.vue.js +1 -0
  424. package/lib/packages/components/src/gis-map-ol/gis-map-ol.vue2.js +1 -0
  425. package/lib/packages/components/src/gis-map-ol/gis-map-ol.vue3.js +1 -0
  426. package/lib/packages/components/src/gis-map-ol/index.js +1 -0
  427. package/lib/packages/components/src/gis-map-ol/utils/ol-map-initializer.js +1 -0
  428. package/lib/packages/components/src/gis-map-ol/utils/signal-control/signal-cross-controller.js +1 -0
  429. package/lib/packages/components/src/index.js +1 -0
  430. package/lib/src/gis-map/gis-map.vue.d.ts +7 -1
  431. package/lib/src/gis-map/index.d.ts +7 -2
  432. package/lib/src/gis-map/utils/map-initializer.d.ts +2 -7
  433. package/lib/src/gis-map/utils/signal-control-area/signal-area-controller.d.ts +0 -3
  434. package/lib/src/gis-map/utils/signal-system/signal-system-controller.d.ts +22 -0
  435. package/lib/src/gis-map-ol/gis-map-ol.vue.d.ts +50 -0
  436. package/lib/src/gis-map-ol/index.d.ts +45 -0
  437. package/lib/src/gis-map-ol/utils/ol-map-initializer.d.ts +28 -0
  438. package/lib/src/gis-map-ol/utils/signal-control/signal-cross-controller.d.ts +42 -0
  439. package/lib/src/index.d.ts +1 -0
  440. package/lib/src/{gis-map/stores → stores}/appData.d.ts +0 -2
  441. package/lib/src/types/index.d.ts +26 -4
  442. package/package.json +2 -1
  443. package/es/src/gis-map/gis-map.vue.mjs +0 -283
  444. package/es/src/index.mjs +0 -4
  445. package/lib/index.js +0 -1
  446. package/lib/src/gis-map/gis-map.vue.js +0 -1
  447. package/lib/src/gis-map/utils/edpass-device-controller.js +0 -1
  448. package/lib/src/gis-map/utils/holo-flow/index.js +0 -1
  449. package/lib/src/gis-map/utils/holo-flow/signal-holo-flow.js +0 -1
  450. package/lib/src/gis-map/utils/holo-flow/trace-renderer-external.js +0 -1
  451. package/lib/src/gis-map/utils/holo-flow/trace-renderer-layer.js +0 -1
  452. package/lib/src/gis-map/utils/map-initializer.js +0 -1
  453. package/lib/src/gis-map/utils/open-drive-renderer/index.js +0 -1
  454. package/lib/src/gis-map/utils/police-jurisdiction.js +0 -1
  455. package/lib/src/gis-map/utils/queue-length.js +0 -1
  456. package/lib/src/gis-map/utils/road-config-tool/search-nearby-lanes.js +0 -1
  457. package/lib/src/gis-map/utils/signal-control-area/edit-area.js +0 -1
  458. package/lib/src/gis-map/utils/signal-control-area/layer-symbol.js +0 -1
  459. package/lib/src/gis-map/utils/signal-control-area/signal-area-controller.js +0 -1
  460. package/lib/src/gis-map/utils/sketchView.js +0 -1
  461. package/lib/src/gis-map/utils/traffic-flow.js +0 -1
  462. package/lib/src/index.js +0 -1
  463. /package/es/{src → packages/components/src}/gis-map/gis-map.vue3.mjs +0 -0
  464. /package/es/{src → packages/components/src}/gis-map/index.mjs +0 -0
  465. /package/es/{src → packages/components/src}/gis-map/utils/FlyToPoints.mjs +0 -0
  466. /package/es/{src → packages/components/src}/gis-map/utils/GreenWaveline.mjs +0 -0
  467. /package/es/{src → packages/components/src}/gis-map/utils/Layers.mjs +0 -0
  468. /package/es/{src → packages/components/src}/gis-map/utils/common-utils.mjs +0 -0
  469. /package/es/{src → packages/components/src}/gis-map/utils/custom-layer/custom-wmts-layer.mjs +0 -0
  470. /package/es/{src → packages/components/src}/gis-map/utils/dbscan-cluster/index.mjs +0 -0
  471. /package/es/{src → packages/components/src}/gis-map/utils/detect-gpu.mjs +0 -0
  472. /package/es/{src → packages/components/src}/gis-map/utils/green-wave-band-controller/index.mjs +0 -0
  473. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue.mjs +0 -0
  474. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue2.mjs +0 -0
  475. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/signal-holo-flow-lsr.mjs +0 -0
  476. /package/es/{src → packages/components/src}/gis-map/utils/holo-flow/trace-holo-flow.mjs +0 -0
  477. /package/es/{src → packages/components/src}/gis-map/utils/index.mjs +0 -0
  478. /package/es/{src → packages/components/src}/gis-map/utils/overlay.mjs +0 -0
  479. /package/es/{src → packages/components/src}/gis-map/utils/renderer/greenWaveline.mjs +0 -0
  480. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/cross.mjs +0 -0
  481. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/entrance.mjs +0 -0
  482. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/exit.mjs +0 -0
  483. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/index.mjs +0 -0
  484. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/indicator-area.mjs +0 -0
  485. /package/es/{src → packages/components/src}/gis-map/utils/road-config-tool/lane.mjs +0 -0
  486. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/cross-renderer.mjs +0 -0
  487. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/district-controller.mjs +0 -0
  488. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/district-renderer.mjs +0 -0
  489. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-cross-controller.mjs +0 -0
  490. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-renderer.mjs +0 -0
  491. /package/es/{src → packages/components/src}/gis-map/utils/signal-control-area/sub-district-renderer.mjs +0 -0
  492. /package/es/{src → packages/components/src}/gis-map/utils/sketchViewTool.mjs +0 -0
  493. /package/es/{src → packages/components/src}/gis-map/utils/syncMapView.mjs +0 -0
  494. /package/es/{src/gis-map/gis-map.vue2.mjs → packages/components/src/gis-map-ol/gis-map-ol.vue2.mjs} +0 -0
  495. /package/es/{src/gis-map → packages/components/src}/stores/appData.mjs +0 -0
  496. /package/es/{src/gis-map → packages/components/src}/stores/index.mjs +0 -0
  497. /package/es/{src → packages/components/src}/types/index.mjs +0 -0
  498. /package/es/src/{gis-map/stores → stores}/index.d.ts +0 -0
  499. /package/lib/{src/gis-map/gis-map.vue2.js → node_modules/.pnpm/ol@10.7.0/node_modules/ol/ol.css.js} +0 -0
  500. /package/lib/{src → packages/components/src}/gis-map/gis-map.vue3.js +0 -0
  501. /package/lib/{src → packages/components/src}/gis-map/index.js +0 -0
  502. /package/lib/{src → packages/components/src}/gis-map/utils/FlyToPoints.js +0 -0
  503. /package/lib/{src → packages/components/src}/gis-map/utils/GreenWaveline.js +0 -0
  504. /package/lib/{src → packages/components/src}/gis-map/utils/Layers.js +0 -0
  505. /package/lib/{src → packages/components/src}/gis-map/utils/common-utils.js +0 -0
  506. /package/lib/{src → packages/components/src}/gis-map/utils/custom-layer/custom-wmts-layer.js +0 -0
  507. /package/lib/{src → packages/components/src}/gis-map/utils/dbscan-cluster/index.js +0 -0
  508. /package/lib/{src → packages/components/src}/gis-map/utils/detect-gpu.js +0 -0
  509. /package/lib/{src → packages/components/src}/gis-map/utils/green-wave-band-controller/index.js +0 -0
  510. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue.js +0 -0
  511. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/signal-countdown-panel.vue2.js +0 -0
  512. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/signal-holo-flow-lsr.js +0 -0
  513. /package/lib/{src → packages/components/src}/gis-map/utils/holo-flow/trace-holo-flow.js +0 -0
  514. /package/lib/{src → packages/components/src}/gis-map/utils/index.js +0 -0
  515. /package/lib/{src → packages/components/src}/gis-map/utils/overlay.js +0 -0
  516. /package/lib/{src → packages/components/src}/gis-map/utils/renderer/greenWaveline.js +0 -0
  517. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/cross.js +0 -0
  518. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/entrance.js +0 -0
  519. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/exit.js +0 -0
  520. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/index.js +0 -0
  521. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/indicator-area.js +0 -0
  522. /package/lib/{src → packages/components/src}/gis-map/utils/road-config-tool/lane.js +0 -0
  523. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/cross-renderer.js +0 -0
  524. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/district-controller.js +0 -0
  525. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/district-renderer.js +0 -0
  526. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-cross-controller.js +0 -0
  527. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/signal-renderer.js +0 -0
  528. /package/lib/{src → packages/components/src}/gis-map/utils/signal-control-area/sub-district-renderer.js +0 -0
  529. /package/lib/{src → packages/components/src}/gis-map/utils/sketchViewTool.js +0 -0
  530. /package/lib/{src → packages/components/src}/gis-map/utils/syncMapView.js +0 -0
  531. /package/lib/{src/gis-map → packages/components/src}/stores/appData.js +0 -0
  532. /package/lib/{src/gis-map → packages/components/src}/stores/index.js +0 -0
  533. /package/lib/{src → packages/components/src}/types/index.js +0 -0
  534. /package/lib/src/{gis-map/stores → stores}/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./util.js");function g(n,e,t,u){return u!==void 0?(u[0]=n,u[1]=e,u[2]=t,u):[n,e,t]}function a(n,e,t){return n+"/"+e+"/"+t}function h(n,e,t,u,r){return`${f.getUid(n)},${e},${a(t,u,r)}`}function i(n){return s(n[0],n[1],n[2])}function s(n,e,t){return(e<<n)+t}function Z(n,e){const t=n[0],u=n[1],r=n[2];if(e.getMinZoom()>t||t>e.getMaxZoom())return!1;const c=e.getFullTileRange(t);return c?c.containsXY(u,r):!0}exports.createOrUpdate=g;exports.getCacheKey=h;exports.getKeyZXY=a;exports.hash=i;exports.hashZXY=s;exports.withinExtentAndZ=Z;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("../TileRange.js"),x=require("../array.js"),_=require("../asserts.js"),T=require("../extent.js"),R=require("../geom/flat/intersectsextent.js"),a=require("../math.js"),f=require("../size.js"),S=require("../tilecoord.js"),Z=require("./common.js"),d=[0,0,0],g=5;class E{constructor(t){this.minZoom=t.minZoom!==void 0?t.minZoom:0,this.resolutions_=t.resolutions,_.assert(x.isSorted(this.resolutions_,(i,o)=>o-i,!0),"`resolutions` must be sorted in descending order");let n;if(!t.origins){for(let i=0,o=this.resolutions_.length-1;i<o;++i)if(!n)n=this.resolutions_[i]/this.resolutions_[i+1];else if(this.resolutions_[i]/this.resolutions_[i+1]!==n){n=void 0;break}}this.zoomFactor_=n,this.maxZoom=this.resolutions_.length-1,this.origin_=t.origin!==void 0?t.origin:null,this.origins_=null,t.origins!==void 0&&(this.origins_=t.origins,_.assert(this.origins_.length==this.resolutions_.length,"Number of `origins` and `resolutions` must be equal"));const e=t.extent;e!==void 0&&!this.origin_&&!this.origins_&&(this.origin_=T.getTopLeft(e)),_.assert(!this.origin_&&this.origins_||this.origin_&&!this.origins_,"Either `origin` or `origins` must be configured, never both"),this.tileSizes_=null,t.tileSizes!==void 0&&(this.tileSizes_=t.tileSizes,_.assert(this.tileSizes_.length==this.resolutions_.length,"Number of `tileSizes` and `resolutions` must be equal")),this.tileSize_=t.tileSize!==void 0?t.tileSize:this.tileSizes_?null:Z.DEFAULT_TILE_SIZE,_.assert(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,"Either `tileSize` or `tileSizes` must be configured, never both"),this.extent_=e!==void 0?e:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],t.sizes!==void 0?this.fullTileRanges_=t.sizes.map((i,o)=>{const s=new m.default(Math.min(0,i[0]),Math.max(i[0]-1,-1),Math.min(0,i[1]),Math.max(i[1]-1,-1));if(e){const r=this.getTileRangeForExtentAndZ(e,o);s.minX=Math.max(r.minX,s.minX),s.maxX=Math.min(r.maxX,s.maxX),s.minY=Math.max(r.minY,s.minY),s.maxY=Math.min(r.maxY,s.maxY)}return s}):e&&this.calculateTileRanges_(e)}forEachTileCoord(t,n,e){const i=this.getTileRangeForExtentAndZ(t,n);for(let o=i.minX,s=i.maxX;o<=s;++o)for(let r=i.minY,h=i.maxY;r<=h;++r)e([n,o,r])}forEachTileCoordParentTileRange(t,n,e,i){let o,s,r,h=null,l=t[0]-1;for(this.zoomFactor_===2?(s=t[1],r=t[2]):h=this.getTileCoordExtent(t,i);l>=this.minZoom;){if(s!==void 0&&r!==void 0?(s=Math.floor(s/2),r=Math.floor(r/2),o=m.createOrUpdate(s,s,r,r,e)):o=this.getTileRangeForExtentAndZ(h,l,e),n(l,o))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(t){return this.origin_?this.origin_:this.origins_[t]}getResolution(t){return this.resolutions_[t]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(t,n,e){if(t[0]<this.maxZoom){if(this.zoomFactor_===2){const o=t[1]*2,s=t[2]*2;return m.createOrUpdate(o,o+1,s,s+1,n)}const i=this.getTileCoordExtent(t,e||this.tmpExtent_);return this.getTileRangeForExtentAndZ(i,t[0]+1,n)}return null}getTileRangeForTileCoordAndZ(t,n,e){if(n>this.maxZoom||n<this.minZoom)return null;const i=t[0],o=t[1],s=t[2];if(n===i)return m.createOrUpdate(o,s,o,s,e);if(this.zoomFactor_){const h=Math.pow(this.zoomFactor_,n-i),l=Math.floor(o*h),u=Math.floor(s*h);if(n<i)return m.createOrUpdate(l,l,u,u,e);const c=Math.floor(h*(o+1))-1,z=Math.floor(h*(s+1))-1;return m.createOrUpdate(l,c,u,z,e)}const r=this.getTileCoordExtent(t,this.tmpExtent_);return this.getTileRangeForExtentAndZ(r,n,e)}getTileRangeForExtentAndZ(t,n,e){this.getTileCoordForXYAndZ_(t[0],t[3],n,!1,d);const i=d[1],o=d[2];this.getTileCoordForXYAndZ_(t[2],t[1],n,!0,d);const s=d[1],r=d[2];return m.createOrUpdate(i,s,o,r,e)}getTileCoordCenter(t){const n=this.getOrigin(t[0]),e=this.getResolution(t[0]),i=f.toSize(this.getTileSize(t[0]),this.tmpSize_);return[n[0]+(t[1]+.5)*i[0]*e,n[1]-(t[2]+.5)*i[1]*e]}getTileCoordExtent(t,n){const e=this.getOrigin(t[0]),i=this.getResolution(t[0]),o=f.toSize(this.getTileSize(t[0]),this.tmpSize_),s=e[0]+t[1]*o[0]*i,r=e[1]-(t[2]+1)*o[1]*i,h=s+o[0]*i,l=r+o[1]*i;return T.createOrUpdate(s,r,h,l,n)}getTileCoordForCoordAndResolution(t,n,e){return this.getTileCoordForXYAndResolution_(t[0],t[1],n,!1,e)}getTileCoordForXYAndResolution_(t,n,e,i,o){const s=this.getZForResolution(e),r=e/this.getResolution(s),h=this.getOrigin(s),l=f.toSize(this.getTileSize(s),this.tmpSize_);let u=r*(t-h[0])/e/l[0],c=r*(h[1]-n)/e/l[1];return i?(u=a.ceil(u,g)-1,c=a.ceil(c,g)-1):(u=a.floor(u,g),c=a.floor(c,g)),S.createOrUpdate(s,u,c,o)}getTileCoordForXYAndZ_(t,n,e,i,o){const s=this.getOrigin(e),r=this.getResolution(e),h=f.toSize(this.getTileSize(e),this.tmpSize_);let l=(t-s[0])/r/h[0],u=(s[1]-n)/r/h[1];return i?(l=a.ceil(l,g)-1,u=a.ceil(u,g)-1):(l=a.floor(l,g),u=a.floor(u,g)),S.createOrUpdate(e,l,u,o)}getTileCoordForCoordAndZ(t,n,e){return this.getTileCoordForXYAndZ_(t[0],t[1],n,!1,e)}getTileCoordResolution(t){return this.resolutions_[t[0]]}getTileSize(t){return this.tileSize_?this.tileSize_:this.tileSizes_[t]}getFullTileRange(t){return this.fullTileRanges_?this.fullTileRanges_[t]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,t):null}getZForResolution(t,n){const e=x.linearFindNearest(this.resolutions_,t,n||0);return a.clamp(e,this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(t,n){return R.intersectsLinearRing(n,0,n.length,2,this.getTileCoordExtent(t))}calculateTileRanges_(t){const n=this.resolutions_.length,e=new Array(n);for(let i=this.minZoom;i<n;++i)e[i]=this.getTileRangeForExtentAndZ(t,i);this.fullTileRanges_=e}}const F=E;exports.default=F;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("../proj.js");const i=require("./TileGrid.js");class r extends i.default{constructor(e){super({extent:e.extent,origin:e.origin,origins:e.origins,resolutions:e.resolutions,tileSize:e.tileSize,tileSizes:e.tileSizes,sizes:e.sizes}),this.matrixIds_=e.matrixIds}getMatrixId(e){return this.matrixIds_[e]}getMatrixIds(){return this.matrixIds_}}const t=r;exports.default=t;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=42,E=256;exports.DEFAULT_MAX_ZOOM=t;exports.DEFAULT_TILE_SIZE=E;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./extent.js"),E=require("./proj.js"),F=require("./size.js"),a=require("./tilegrid/TileGrid.js"),g=require("./tilegrid/common.js"),T=require("./proj/Units.js");function w(e){let t=e.getDefaultTileGrid();return t||(t=h(e),e.setDefaultTileGrid(t)),t}function P(e,t,r){const n=t[0],o=e.getTileCoordCenter(t),c=f(r);if(!i.containsCoordinate(c,o)){const s=i.getWidth(c),u=Math.ceil((c[0]-o[0])/s);return o[0]+=s*u,e.getTileCoordForCoordAndZ(o,n)}return t}function l(e,t,r,n){n=n!==void 0?n:"top-left";const o=M(e,t,r);return new a.default({extent:e,origin:i.getCorner(e,n),resolutions:o,tileSize:r})}function M(e,t,r,n){t=t!==void 0?t:g.DEFAULT_MAX_ZOOM,r=F.toSize(r!==void 0?r:g.DEFAULT_TILE_SIZE);const o=i.getHeight(e),c=i.getWidth(e);n=n>0?n:Math.max(c/r[0],o/r[1]);const s=t+1,u=new Array(s);for(let d=0;d<s;++d)u[d]=n/Math.pow(2,d);return u}function h(e,t,r,n){const o=f(e);return l(o,t,r,n)}function f(e){e=E.get(e);let t=e.getExtent();if(!t){const r=180*T.METERS_PER_UNIT.degrees/e.getMetersPerUnit();t=i.createOrUpdate(-r,-r,r,r)}return t}exports.TileGrid=a.default;exports.createForExtent=l;exports.createForProjection=h;exports.extentFromProjection=f;exports.getForProjection=w;exports.wrapX=P;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./math.js"),l=require("./tilecoord.js"),s=require("./uri.js");function a(e,r){return function(n,c,t){if(!n)return;let u;const o=n[0];if(r){const i=r.getFullTileRange(o);i&&(u=i.getHeight()-1)}return s.renderXYZTemplate(e,o,n[1],n[2],u)}}function g(e,r){const n=e.length,c=new Array(n);for(let t=0;t<n;++t)c[t]=a(e[t],r);return f(c)}function f(e){return e.length===1?e[0]:function(r,n,c){if(!r)return;const t=l.hash(r),u=m.modulo(t,e.length);return e[u](r,n,c)}}exports.createFromTemplate=a;exports.createFromTemplates=g;exports.createFromTileUrlFunctions=f;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./asserts.js");new Array(6);function h(){return[1,0,0,1,0,0]}function r(n,e){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n}function y(n,e){const t=e[0],c=e[1];return e[0]=n[0]*t+n[2]*c+n[4],e[1]=n[1]*t+n[3]*c+n[5],e}function M(n,e,t,c,i,o,l,p){const u=Math.sin(o),s=Math.cos(o);return n[0]=c*s,n[1]=i*u,n[2]=-c*u,n[3]=i*s,n[4]=l*c*s-p*c*u+e,n[5]=l*i*u+p*i*s+t,n}function g(n,e){const t=S(e);b.assert(t!==0,"Transformation matrix cannot be inverted");const c=e[0],i=e[1],o=e[2],l=e[3],p=e[4],u=e[5];return n[0]=l/t,n[1]=-i/t,n[2]=-o/t,n[3]=c/t,n[4]=(o*u-l*p)/t,n[5]=-(c*u-i*p)/t,n}function S(n){return n[0]*n[3]-n[1]*n[2]}const q=[1e5,1e5,1e5,1e5,2,2];function A(n){return"matrix("+n.join(", ")+")"}function v(n){return n.substring(7,n.length-1).split(",").map(parseFloat)}function F(n,e){const t=v(n),c=v(e);for(let i=0;i<6;++i)if(Math.round((t[i]-c[i])*q[i])!==0)return!1;return!0}exports.apply=y;exports.compose=M;exports.create=h;exports.determinant=S;exports.equivalent=F;exports.fromString=v;exports.makeInverse=g;exports.setFromArray=r;exports.toString=A;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function a(t,n){const e=[];Object.keys(n).forEach(function(r){n[r]!==null&&n[r]!==void 0&&e.push(r+"="+encodeURIComponent(n[r]))});const o=e.join("&");return t=t.replace(/[?&]$/,""),t+=t.includes("?")?"&":"?",t+o}const s=/\{z\}/g,d=/\{x\}/g,p=/\{y\}/g,i=/\{-y\}/g;function l(t,n,e,o,r){return t.replace(s,n.toString()).replace(d,e.toString()).replace(p,o.toString()).replace(i,function(){if(r===void 0)throw new Error("If the URL template has a {-y} placeholder, the grid extent must be known");return(r-o).toString()})}function h(t){const n=[];let e=/\{([a-z])-([a-z])\}/.exec(t);if(e){const o=e[1].charCodeAt(0),r=e[2].charCodeAt(0);let c;for(c=o;c<=r;++c)n.push(t.replace(e[0],String.fromCharCode(c)));return n}if(e=/\{(\d+)-(\d+)\}/.exec(t),e){const o=parseInt(e[2],10);for(let r=parseInt(e[1],10);r<=o;r++)n.push(t.replace(e[0],r.toString()));return n}return n.push(t),n}exports.appendParams=a;exports.expandUrl=h;exports.renderXYZTemplate=l;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(){throw new Error("Unimplemented abstract method.")}let r=0;function i(t){return t.ol_uid||(t.ol_uid=String(++r))}exports.abstract=e;exports.getUid=i;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function m(n,t,o=0,e=n.length-1,c=x){for(;e>o;){if(e-o>600){const u=e-o+1,d=t-o+1,h=Math.log(u),w=.5*Math.exp(2*h/3),f=.5*Math.sqrt(h*w*(u-w)/u)*(d-u/2<0?-1:1),q=Math.max(o,Math.floor(t-d*w/u+f)),v=Math.min(e,Math.floor(t+(u-d)*w/u+f));m(n,t,q,v,c)}const M=n[t];let i=o,s=e;for(l(n,o,t),c(n[e],M)>0&&l(n,o,e);i<s;){for(l(n,i,s),i++,s--;c(n[i],M)<0;)i++;for(;c(n[s],M)>0;)s--}c(n[o],M)===0?l(n,o,s):(s++,l(n,s,e)),s<=t&&(o=s+1),t<=s&&(e=s-1)}}function l(n,t,o){const e=n[t];n[t]=n[o],n[o]=e}function x(n,t){return n<t?-1:n>t?1:0}exports.default=m;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("../../../quickselect@3.0.0/node_modules/quickselect/index.js");let y=class{constructor(t=9){this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()}all(){return this._all(this.data,[])}search(t){let i=this.data;const n=[];if(!M(t,i))return n;const h=this.toBBox,s=[];for(;i;){for(let r=0;r<i.children.length;r++){const l=i.children[r],a=i.leaf?h(l):l;M(t,a)&&(i.leaf?n.push(l):Y(t,a)?this._all(l,n):s.push(l))}i=s.pop()}return n}collides(t){let i=this.data;if(!M(t,i))return!1;const n=[];for(;i;){for(let h=0;h<i.children.length;h++){const s=i.children[h],r=i.leaf?this.toBBox(s):s;if(M(t,r)){if(i.leaf||Y(t,r))return!0;n.push(s)}}i=n.pop()}return!1}load(t){if(!(t&&t.length))return this;if(t.length<this._minEntries){for(let n=0;n<t.length;n++)this.insert(t[n]);return this}let i=this._build(t.slice(),0,t.length-1,0);if(!this.data.children.length)this.data=i;else if(this.data.height===i.height)this._splitRoot(this.data,i);else{if(this.data.height<i.height){const n=this.data;this.data=i,i=n}this._insert(i,this.data.height-i.height-1,!0)}return this}insert(t){return t&&this._insert(t,this.data.height-1),this}clear(){return this.data=u([]),this}remove(t,i){if(!t)return this;let n=this.data;const h=this.toBBox(t),s=[],r=[];let l,a,c;for(;n||s.length;){if(n||(n=s.pop(),a=s[s.length-1],l=r.pop(),c=!0),n.leaf){const o=S(t,n.children,i);if(o!==-1)return n.children.splice(o,1),s.push(n),this._condense(s),this}!c&&!n.leaf&&Y(n,h)?(s.push(n),r.push(l),l=0,a=n,n=n.children[0]):a?(l++,n=a.children[l],c=!1):n=null}return this}toBBox(t){return t}compareMinX(t,i){return t.minX-i.minX}compareMinY(t,i){return t.minY-i.minY}toJSON(){return this.data}fromJSON(t){return this.data=t,this}_all(t,i){const n=[];for(;t;)t.leaf?i.push(...t.children):n.push(...t.children),t=n.pop();return i}_build(t,i,n,h){const s=n-i+1;let r=this._maxEntries,l;if(s<=r)return l=u(t.slice(i,n+1)),f(l,this.toBBox),l;h||(h=Math.ceil(Math.log(s)/Math.log(r)),r=Math.ceil(s/Math.pow(r,h-1))),l=u([]),l.leaf=!1,l.height=h;const a=Math.ceil(s/r),c=a*Math.ceil(Math.sqrt(r));g(t,i,n,c,this.compareMinX);for(let o=i;o<=n;o+=c){const m=Math.min(o+c-1,n);g(t,o,m,a,this.compareMinY);for(let p=o;p<=m;p+=a){const _=Math.min(p+a-1,m);l.children.push(this._build(t,p,_,h-1))}}return f(l,this.toBBox),l}_chooseSubtree(t,i,n,h){for(;h.push(i),!(i.leaf||h.length-1===n);){let s=1/0,r=1/0,l;for(let a=0;a<i.children.length;a++){const c=i.children[a],o=X(c),m=A(t,c)-o;m<r?(r=m,s=o<s?o:s,l=c):m===r&&o<s&&(s=o,l=c)}i=l||i.children[0]}return i}_insert(t,i,n){const h=n?t:this.toBBox(t),s=[],r=this._chooseSubtree(h,this.data,i,s);for(r.children.push(t),d(r,h);i>=0&&s[i].children.length>this._maxEntries;)this._split(s,i),i--;this._adjustParentBBoxes(h,s,i)}_split(t,i){const n=t[i],h=n.children.length,s=this._minEntries;this._chooseSplitAxis(n,s,h);const r=this._chooseSplitIndex(n,s,h),l=u(n.children.splice(r,n.children.length-r));l.height=n.height,l.leaf=n.leaf,f(n,this.toBBox),f(l,this.toBBox),i?t[i-1].children.push(l):this._splitRoot(n,l)}_splitRoot(t,i){this.data=u([t,i]),this.data.height=t.height+1,this.data.leaf=!1,f(this.data,this.toBBox)}_chooseSplitIndex(t,i,n){let h,s=1/0,r=1/0;for(let l=i;l<=n-i;l++){const a=x(t,0,l,this.toBBox),c=x(t,l,n,this.toBBox),o=O(a,c),m=X(a)+X(c);o<s?(s=o,h=l,r=m<r?m:r):o===s&&m<r&&(r=m,h=l)}return h||n-i}_chooseSplitAxis(t,i,n){const h=t.leaf?this.compareMinX:w,s=t.leaf?this.compareMinY:E,r=this._allDistMargin(t,i,n,h),l=this._allDistMargin(t,i,n,s);r<l&&t.children.sort(h)}_allDistMargin(t,i,n,h){t.children.sort(h);const s=this.toBBox,r=x(t,0,i,s),l=x(t,n-i,n,s);let a=B(r)+B(l);for(let c=i;c<n-i;c++){const o=t.children[c];d(r,t.leaf?s(o):o),a+=B(r)}for(let c=n-i-1;c>=i;c--){const o=t.children[c];d(l,t.leaf?s(o):o),a+=B(l)}return a}_adjustParentBBoxes(t,i,n){for(let h=n;h>=0;h--)d(i[h],t)}_condense(t){for(let i=t.length-1,n;i>=0;i--)t[i].children.length===0?i>0?(n=t[i-1].children,n.splice(n.indexOf(t[i]),1)):this.clear():f(t[i],this.toBBox)}};function S(e,t,i){if(!i)return t.indexOf(e);for(let n=0;n<t.length;n++)if(i(e,t[n]))return n;return-1}function f(e,t){x(e,0,e.children.length,t,e)}function x(e,t,i,n,h){h||(h=u(null)),h.minX=1/0,h.minY=1/0,h.maxX=-1/0,h.maxY=-1/0;for(let s=t;s<i;s++){const r=e.children[s];d(h,e.leaf?n(r):r)}return h}function d(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function w(e,t){return e.minX-t.minX}function E(e,t){return e.minY-t.minY}function X(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function B(e){return e.maxX-e.minX+(e.maxY-e.minY)}function A(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function O(e,t){const i=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),h=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,h-i)*Math.max(0,s-n)}function Y(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function M(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function u(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function g(e,t,i,n,h){const s=[t,i];for(;s.length;){if(i=s.pop(),t=s.pop(),i-t<=n)continue;const r=t+Math.ceil((i-t)/n/2)*n;I.default(e,r,t,i,h),s.push(t,r,r,i)}}exports.default=y;
@@ -0,0 +1 @@
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"),i=require("./src/index.js"),n=require("./src/gis-map/index.js"),l=require("./src/gis-map-ol/index.js"),u={install:(e,s)=>{for(const o in i)e.use(i[o]);const{gisviewerAssetsRoot:t}=s;e.config.globalProperties.$gisviewerAssetsRoot=t||""}};exports.MapUtils=r.default;exports.GisMap=n.GisMap;exports.GisMapOl=l.GisMapOl;exports.default=u;
@@ -0,0 +1 @@
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;
@@ -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 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;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),n=require("../../../stores/index.js"),l=require("../../../types/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;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("@arcgis/core/core/reactiveUtils"),u=require("@arcgis/core/geometry"),p=require("@arcgis/core/layers/FeatureLayer"),g=require("vue"),y=require("../../../stores/index.js");function w(l){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(e,t,a.get?a:{enumerable:!0,get:()=>l[t]})}}return e.default=l,Object.freeze(e)}const f=w(d);class m{constructor(e){this.currentPhaseMap=new Map,this.countdownCanvasMap=new Map,this.lastDataTime=0,this.isDeletingCanvas=!1,this.canvasWidth=80,this.canvasHeight=40,this.view=(e.type==="2d",e);const t=y.default.useAppDataStore;this.mapConfig=g.toRaw(t.mapConfig)}async initializeLayer(){try{await this.initializePlateBackground()}catch(e){console.log("倒计时背景图片加载失败",e)}if(this.mapConfig.phaseLineLayer)if(this.phaseLineLayer)this.phaseLineLayer.visible||(this.phaseLineLayer.visible=!0);else{const e=`${this.mapConfig.assetsRoot}/${this.mapConfig.phaseLineLayer}`,s=(await(await fetch(e)).json()).features.map((i,n)=>({geometry:{type:"polyline",paths:[i.geometry.coordinates]},attributes:{ObjectID:n+1,id:i.properties.id,color:"hide"}}));this.phaseLineLayer=new p({source:s,geometryType:"polyline",objectIdField:"ObjectID",outFields:["*"],fields:[{name:"ObjectID",alias:"ObjectID",type:"oid"},{name:"color",alias:"color",type:"string"}],renderer:{type:"unique-value",field:"color",defaultSymbol:{type:"simple-line",color:"lightblue",width:"2px",style:"none"},uniqueValueInfos:[{value:"green",symbol:{type:"line-3d",symbolLayers:[{type:"path",profile:"quad",material:{color:[19,255,69,.8]},width:1,height:.5}]}},{value:"red",symbol:{type:"line-3d",symbolLayers:[{type:"path",profile:"quad",material:{color:[254,5,9,.8]},width:1,height:.5}]}},{value:"yellow",symbol:{type:"line-3d",symbolLayers:[{type:"path",profile:"quad",material:{color:[255,215,0,.8]},width:1,height:.5}]}}]}}),this.view.map.add(this.phaseLineLayer),console.log("相位线图层初始化成功")}}async initializePlateBackground(){return new Promise((e,t)=>{const a=new Image;a.src=`${this.mapConfig.assetsRoot}/Images/timeboard/CountdownBG.png`,a.onload=()=>{this.plateBackground=a,e()},a.onerror=s=>{t(s)}})}async handleHoloSignalData(e){const{crossId:t,lat:a,lon:s,rtStage:i,channelsConfig:n}=e;await this.updateCountdown(t,a,s,i),!(!this.phaseLineLayer||!n)&&((!this.currentPhaseMap.has(t)||this.currentPhaseMap.get(t)!==i.stagePhase)&&await this.updatePhaseLine(t,i.channelsConfig,n),this.currentPhaseMap.set(t,i.stagePhase))}clearSignal(){this.phaseLineLayer&&(this.phaseLineLayer.visible=!1),this.countdownWatchHandel&&(this.countdownWatchHandel.remove(),this.countdownWatchHandel=void 0),this.countdownCanvasMap.forEach(e=>{this.view.container.removeChild(e.backgroundCanvas),this.view.container.removeChild(e.countdownCanvas)}),this.countdownCanvasMap.clear()}async updateCountdown(e,t,a,s){if(this.isDeletingCanvas)return;const i=this.countdownCanvasMap.get(e);if(i)this.drawCountdownText(i.countdownCanvas,s);else try{const n=new u.Point({longitude:a,latitude:t,z:10}),o=this.view.toScreen(n),r=this.createCountdownCanvas();if(!r)return;const h=r[0],c=r[1];h.style.left=o.x+"px",h.style.top=o.y+"px",c.style.left=o.x+"px",c.style.top=o.y+"px",this.countdownCanvasMap.set(e,{backgroundCanvas:h,countdownCanvas:c,mapPoint:n}),this.drawCountdownText(c,s)}catch(n){console.log("倒计时canvas创建失败",e,n)}this.countdownWatchHandel||(this.countdownWatchHandel=f.watch(()=>this.view.extent,()=>{this.countdownCanvasMap.forEach(n=>{const o=this.view.toScreen(n.mapPoint);n.backgroundCanvas.style.left=o.x+"px",n.backgroundCanvas.style.top=o.y+"px",n.countdownCanvas.style.left=o.x+"px",n.countdownCanvas.style.top=o.y+"px"})}))}drawCountdownText(e,t){const a=e.getContext("2d");a.clearRect(0,0,e.width,e.height),a.font="24px Digital",a.textBaseline="middle",a.textAlign="center",a.fillStyle=t.stageRemainingTime<=t.stageAllRedTime?"red":t.stageRemainingTime<=t.stageAllRedTime+t.stageYellowTime?"yellow":"lime",a.fillText(t.stageRemainingTime.toFixed(0),e.width/2,e.height/2)}async updatePhaseLine(e,t,a){const s=this.phaseLineLayer.source.filter(i=>i.getAttribute("id").includes(e));s.forEach(i=>{const n=i.getAttribute("id");this.isLaneInChannels(n,t)?i.setAttribute("color","green"):this.isLaneInChannels(n,a)?i.setAttribute("color","red"):i.setAttribute("color","green")}),await this.phaseLineLayer.applyEdits({updateFeatures:s})}isLaneInChannels(e,t){const a=e.split("+"),s=a[1],i=a[2];for(let n=0;n<t.length;n++)for(let o=0;o<t[n].laneSnList.length;o++){const r=t[n].laneSnList[o].toFixed(0);if(s===r[0]&&i===r[1])return!0}return!1}createCountdownCanvas(){const e=document.createElement("canvas");e.width=this.canvasWidth,e.height=this.canvasHeight,e.style.position="absolute",e.style.transform="translate(-50%, -50%)";const t=e.getContext("2d");this.plateBackground?t.drawImage(this.plateBackground,0,0,this.canvasWidth,this.canvasHeight):(t.strokeStyle="rgba(0, 255, 0, 1)",t.lineWidth=1,t.strokeRect(0,0,this.canvasWidth,this.canvasHeight),t.fillStyle="rgba(0, 0, 0, 1)",t.fillRect(0,0,this.canvasWidth,this.canvasHeight)),this.view.container.appendChild(e);const a=document.createElement("canvas");return a.width=this.canvasWidth-10,a.height=this.canvasHeight-10,a.style.position="absolute",a.style.transform="translate(-50%, -50%)",this.view.container.appendChild(a),[e,a]}}exports.default=m;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("@arcgis/core/core/promiseUtils.js"),S=require("@arcgis/core/core/reactiveUtils.js"),C=require("@arcgis/core/geometry/SpatialReference"),G=require("@arcgis/core/views/3d/externalRenderers"),L=require("three"),V=require("three/examples/jsm/loaders/DRACOLoader"),f=require("three/examples/jsm/loaders/GLTFLoader"),B=require("three/examples/jsm/loaders/MTLLoader"),M=require("three/examples/jsm/loaders/OBJLoader"),R=require("vue"),x=require("../../../stores/index.js"),m=require("../../../types/index.js");function b(u){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const s in u)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(u,s);Object.defineProperty(e,s,t.get?t:{enumerable:!0,get:()=>u[s]})}}return e.default=u,Object.freeze(e)}const D=b(T),I=b(S),P=b(G),o=b(L);class O{constructor(e){this.cameraHeightThreshold=1e3,this.roughness=.2,this.metalness=.8,this.defaultMaterial=new o.MeshPhongMaterial({color:16777215}),this.materialMap=new Map([[1,this.createCarMaterial(16777215)],[2,this.createCarMaterial(7833753)],[3,this.createCarMaterial(16766720)],[4,this.createCarMaterial(16758465)],[5,this.createCarMaterial(14423100)],[6,this.createCarMaterial(3329330)],[7,this.createCarMaterial(2003183)],[8,this.createCarMaterial(16032864)],[9,this.createCarMaterial(2105376)],[10,this.createCarMaterial(9662683)],[99,this.createCarMaterial(6908265)]]),this.isInitialized=!1,this.showGroundVehicle=!0,this.showElevatedVehicle=!0,this.isPaused=!1,this.currentSpriteContent=m.EVehiclePlateState.None,this.historyPositionMap=new Map,this.vehicleObjectMap=new Map,this.tabVisible=!0,this.updateModel=!1,this.appDataStore=x.default.useAppDataStore,this.logTable=[["ptcId","plateno","timestamp","localTimestamp","speed","longitude","latitude","ptcType","vehicleType","vehicleColor","plateColor","heading","fixAngle","roadLayer","step","receiveTimestamp","queueLength","status"]],this.view=e;const s=R.toRaw(this.appDataStore.mapConfig);this.assetsRoot=s.assetsRoot,document.addEventListener("visibilitychange",()=>{this.clearVehicles(),this.tabVisible=!document.hidden},!1),I.watch(()=>this.view.camera.position.z,(t,i)=>{(i<=this.cameraHeightThreshold&&t>this.cameraHeightThreshold||i>this.cameraHeightThreshold&&t<=this.cameraHeightThreshold)&&(this.updateModel=!0)})}createCarMaterial(e){return new o.MeshPhongMaterial({color:e})}getLog(){return this.logTable}async init(){await D.eachAlways([new Promise(e=>{const s=new V.DRACOLoader;s.setDecoderPath(`${this.assetsRoot}/js/libs/draco/`),s.setDecoderConfig({type:"wasm"}),s.preload();const t=new f.GLTFLoader;t.setDRACOLoader(s),t.load(`${this.assetsRoot}/3DModels/carDraco.glb`,i=>{const a=i.scene,r=new o.Box3().setFromObject(a).getSize(new o.Vector3);this.carModel=new o.Object3D,this.carModel.rotation.x=o.MathUtils.degToRad(90),this.carModel.add(a),a.position.set(0,0,r.z/2),e()})}),new Promise(e=>{new f.GLTFLoader().load(`${this.assetsRoot}/3DModels/van.glb`,t=>{const i=t.scene,l=new o.Box3().setFromObject(i).getSize(new o.Vector3);this.vanModel=new o.Object3D,this.vanModel.rotation.x=o.MathUtils.degToRad(90),this.vanModel.add(i),i.position.set(0,0,l.z/2),e()})}),new Promise(e=>{new f.GLTFLoader().load(`${this.assetsRoot}/3DModels/truck.glb`,t=>{const i=t.scene;i.scale.set(1.2,1,1.5);const l=new o.Box3().setFromObject(i).getSize(new o.Vector3);this.truckModel=new o.Object3D,this.truckModel.rotation.x=o.MathUtils.degToRad(90),this.truckModel.add(i),i.position.set(0,0,l.z/2),e()})}),new Promise(e=>{new f.GLTFLoader().load(`${this.assetsRoot}/3DModels/bus.glb`,t=>{const i=t.scene,l=new o.Box3().setFromObject(i).getSize(new o.Vector3);this.busModel=new o.Object3D,this.busModel.rotation.x=o.MathUtils.degToRad(90),this.busModel.add(i),i.position.set(0,0,l.z/2),e()})}),new Promise(e=>{new B.MTLLoader().load(`${this.assetsRoot}/3DModels/bicycle.mtl`,t=>{t.preload();const i=new M.OBJLoader;i.setMaterials(t),i.load(`${this.assetsRoot}/3DModels/bicycle.obj`,a=>{this.bicycleModel=a,this.bicycleModel.rotation.x=o.MathUtils.degToRad(90),e()})})}),new Promise(e=>{new M.OBJLoader().load(`${this.assetsRoot}/3DModels/male.obj`,t=>{t.scale.set(.01,.01,.01),this.passengerModel=t,this.passengerModel.rotation.x=o.MathUtils.degToRad(90),this.passengerModel.rotation.y=o.MathUtils.degToRad(180),e()})}),new Promise(e=>{this.bluePlateBG=new Image,this.bluePlateBG.src=`${this.assetsRoot}/Images/PlateBG/blue.png`,this.bluePlateBG.onload=()=>{e()}}),new Promise(e=>{this.yellowPlateBG=new Image,this.yellowPlateBG.src=`${this.assetsRoot}/Images/PlateBG/yellow.png`,this.yellowPlateBG.onload=()=>{e()}}),new Promise(e=>{this.whitePlateBG=new Image,this.whitePlateBG.src=`${this.assetsRoot}/Images/PlateBG/white.png`,this.whitePlateBG.onload=()=>{e()}}),new Promise(e=>{this.blackPlateBG=new Image,this.blackPlateBG.src=`${this.assetsRoot}/Images/PlateBG/black.png`,this.blackPlateBG.onload=()=>{e()}}),new Promise(e=>{this.neoYellowPlateBG=new Image,this.neoYellowPlateBG.src=`${this.assetsRoot}/Images/PlateBG/neo_yellow.png`,this.neoYellowPlateBG.onload=()=>{e()}}),new Promise(e=>{this.neoGreenPlateBG=new Image,this.neoGreenPlateBG.src=`${this.assetsRoot}/Images/PlateBG/neo_green.png`,this.neoGreenPlateBG.onload=()=>{e()}}),new Promise(e=>{this.greyPlateBG=new Image,this.greyPlateBG.src=`${this.assetsRoot}/Images/PlateBG/grey.png`,this.greyPlateBG.onload=()=>{e()}})]),this.isInitialized=!0}setInterpolate(e){this.clearVehicles(),this.tabVisible=e}async setup(e){this.context=e,this.renderer=new o.WebGLRenderer({context:e.gl,premultipliedAlpha:!0,logarithmicDepthBuffer:!0,antialias:!0,powerPreference:"high-performance"}),this.renderer.shadowMap.enabled=!0,this.renderer.setPixelRatio(window.devicePixelRatio),this.renderer.setViewport(0,0,this.view.width,this.view.height),this.renderer.autoClearDepth=!1,this.renderer.autoClearStencil=!1,this.renderer.autoClearColor=!1;const s=this.renderer.setRenderTarget.bind(this.renderer);this.renderer.setRenderTarget=i=>{s(i),i==null&&e.bindRenderTarget()},this.scene=new o.Scene;const{camera:t}=e;this.camera=new o.PerspectiveCamera(t.fovY,t.aspect,.1,1e5),this.ambient=new o.AmbientLight(16777215,2),this.scene.add(this.ambient),this.sun=new o.DirectionalLight(16777215,2),this.scene.add(this.sun),e.resetWebGLState()}async render(e){var i;const s=e.camera;if(this.camera.position.set(s.eye[0],s.eye[1],s.eye[2]),this.camera.up.set(s.up[0],s.up[1],s.up[2]),this.camera.lookAt(new o.Vector3(s.center[0],s.center[1],s.center[2])),this.camera.projectionMatrix.fromArray(s.projectionMatrix),!this.isPaused&&this.tabVisible)for(const a of this.vehicleObjectMap.keys()){const l=(i=this.vehicleObjectMap.get(a))==null?void 0:i.model;if(!l)continue;const r=this.computeVehiclePosition(a);if(r){const d=this.toRenderCoordinates(r);l.position.set(d[0],d[1],d[2]),l.rotation.y=o.MathUtils.degToRad(-r[3])}}const t=e.sunLight;this.sun.position.set(t.direction[0],t.direction[1],t.direction[2]),this.sun.intensity=t.diffuse.intensity,this.sun.color=new o.Color(t.diffuse.color[0],t.diffuse.color[1],t.diffuse.color[2]),this.ambient.intensity=t.ambient.intensity,this.ambient.color=new o.Color(t.ambient.color[0],t.ambient.color[1],t.ambient.color[2]),this.renderer.resetState(),e.bindRenderTarget(),this.renderer.render(this.scene,this.camera),P.requestRender(this.view),e.resetWebGLState()}async addVehicles(e){if(this.isPaused||!this.isInitialized||!this.tabVisible)return;const s=Date.now();for(const t of e){if(this.historyPositionMap.has(t.vehicleId))continue;this.appDataStore.saveTrackLog&&this.logTable.push([t.ptcId,t.plateNo,t.timestamp,t.localTimestamp,t.speed,t.x,t.y,t.ptcType,t.vehicleType,t.vehicleColor,t.plateColor,t.heading,t.fixAngle,t.roadLayer,t.step,s,0,0]);const{vehicleId:i,localTimestamp:a}=t,l=Number(t.x),r=Number(t.y),d=Number(t.heading);this.historyPositionMap.set(i,[{pos:[l,r,0],heading:d,time:a}]);const h=this.getVehicleModel(t);h.name=i,h.visible=!1;try{const n=await this.createPlateSprite(t);n&&(h.add(n),n.position.set(0,5,-4))}catch(n){console.log("createPlateSprite error:",n)}this.scene.add(h),this.vehicleObjectMap.set(i,{model:h,data:t,waitForDelete:!1,isMoving:!1})}}async updateVehicles(e){if(this.isPaused||!this.isInitialized||!this.tabVisible)return;const s=[],t=Date.now();for(const i of e){const{vehicleId:a,localTimestamp:l}=i,r=Number(i.x),d=Number(i.y);let h=Number(i.heading);const n=this.vehicleObjectMap.get(a),p=this.historyPositionMap.get(a);if(!n||!p)s.push(i);else{if(this.appDataStore.saveTrackLog&&this.logTable.push([i.ptcId,i.plateNo,i.timestamp,i.localTimestamp,i.speed,i.x,i.y,i.ptcType,i.vehicleType,i.vehicleColor,i.plateColor,i.heading,i.fixAngle,i.roadLayer,i.step,t,p.length,1]),this.updateModel||n.data.vehicleColor!==i.vehicleColor||n.data.vehicleType!==i.vehicleType){this.scene.remove(n.model),this.disposeModel(n.model),n.model=this.getVehicleModel(i),n.model.visible=!0;const c=await this.createPlateSprite(i);c&&(n.model.add(c),c.position.set(0,5,-4)),this.scene.add(n.model)}if(n.data.showName!==i.showName||n.data.plateColor!==i.plateColor){const c=n.model.getObjectByName("VehiclePlate");c&&(n.model.remove(c),this.disposeModel(c));const g=await this.createPlateSprite(i);g&&(n.model.add(g),g.position.set(0,5,-4))}if(n.data=i,this.tabVisible){const c=p[p.length-1];Math.abs(h-c.heading)>=180&&(h>c.heading?c.heading+=360:h+=360),p.push({pos:[r,d,0],heading:h,time:l})}else{this.historyPositionMap.set(a,[{pos:[r,d,0],heading:h,time:l}]);const c=this.toRenderCoordinates([r,d,0]);n.model.position.set(c[0],c[1],c[2]),n.model.rotation.y=o.MathUtils.degToRad(-h)}}}await this.addVehicles(s),this.updateModel=!1}toRenderCoordinates(e){const s=[0,0,0];return P.toRenderCoordinates(this.view,e,0,C.WGS84,s,0,1),s}deleteVehicles(e){if(this.isPaused)return;const s=Date.now();e.forEach(t=>{if(this.appDataStore.saveTrackLog){const a=this.historyPositionMap.get(t);this.logTable.push([t,"","","","","","","","","","","","","","",s,a?a.length:0,2])}const i=this.vehicleObjectMap.get(t);i&&(this.tabVisible?i.isMoving?i.waitForDelete=!0:this.deleteVehicle(i):this.deleteVehicle(i))})}deleteVehicle(e){e.model.visible=!1,this.disposeModel(e.model),this.scene.remove(e.model);const s=e.data.vehicleId;this.vehicleObjectMap.delete(s),this.historyPositionMap.delete(s)}async toggleTrafficInfo(e){e.name==="vehiclePlate"&&(e.visible===!0&&this.currentSpriteContent===m.EVehiclePlateState.None?await this.updatePanelContent(m.EVehiclePlateState.PlateNumber):await this.updatePanelContent(e.visible?this.currentSpriteContent:m.EVehiclePlateState.None))}togglePause(e){this.isPaused=e}clearVehicles(){for(const e of this.vehicleObjectMap.values())this.disposeModel(e.model),this.scene.remove(e.model);this.vehicleObjectMap.clear(),this.historyPositionMap.clear()}async updatePanelContent(e){this.currentSpriteContent=e;for(const s of this.vehicleObjectMap.values()){const t=s.model.getObjectByName("VehiclePlate");if(t&&(s.model.remove(t),this.disposeModel(t)),e!==m.EVehiclePlateState.None){const i=await this.createPlateSprite(s.data);i&&(s.model.add(i),i.position.set(0,5,-4))}}}toggleGroundVehicle(e){this.showGroundVehicle=e}toggleElevatedVehicle(e){this.showElevatedVehicle=e}disposeModel(e){e.traverse(s=>{if(s instanceof o.Mesh)try{s.geometry.dispose(),s.material.dispose()}catch{}})}computeVehiclePosition(e){const s=this.historyPositionMap.get(e),t=this.vehicleObjectMap.get(e);if(!t||!s||!t.isMoving&&s.length<=2)return;const i=Date.now();t.isMoving=!0,t.data.roadLayer==="1"?t.model.visible=this.showGroundVehicle:t.model.visible=this.showElevatedVehicle,t.segmentStartTime||(t.segmentStartTime=i,t.segmentTotalTime=s[1].time-s[0].time);const a=i-t.segmentStartTime,l=Math.min(a/t.segmentTotalTime,1);if(l===1)if(s.shift(),s.length===1){t.waitForDelete===!0?this.deleteVehicle(t):(t.segmentStartTime=void 0,t.segmentTotalTime=void 0,t.model.visible=!1,t.isMoving=!1,console.log("hide vehicle",e));return}else{t.segmentStartTime=Date.now();const r=a-t.segmentTotalTime;return t.segmentTotalTime=s[1].time-s[0].time-r,Math.abs(s[1].heading-s[0].heading)>180&&(s[1].heading>s[0].heading?s[0].heading+=360:s[1].heading+=360),s[0].pos.concat(s[0].heading)}else if(s.length>=2){const r=s[0].pos[0]+(s[1].pos[0]-s[0].pos[0])*l,d=s[0].pos[1]+(s[1].pos[1]-s[0].pos[1])*l,h=s[0].heading+(s[1].heading-s[0].heading)*l;return[r,d,0,h]}else return}getVehicleModel(e){if(this.view.camera.position.z>=this.cameraHeightThreshold){const s=new o.SphereGeometry(5,32,32),t=new o.MeshPhysicalMaterial({color:325253,emissive:0,roughness:this.roughness,metalness:this.metalness});return new o.Mesh(s,t)}else{let s;if(e.ptcType===2)s=this.bicycleModel.clone();else if(e.ptcType===3)s=this.passengerModel.clone();else{switch(e.vehicleType){case 10:s=this.carModel.clone();break;case 20:s=this.vanModel.clone();break;case 25:s=this.truckModel.clone();break;case 50:s=this.busModel.clone();break;default:s=this.carModel.clone();break}const t=this.materialMap.get(e.vehicleColor)||this.defaultMaterial;let i=!1;s.traverse(a=>{!i&&a instanceof o.Mesh&&(a.material=t,i=!0)})}return s}}createCanvas(e,s,t){const i=document.createElement("canvas"),a=e.width,l=e.height;i.width=a,i.height=l;const r=i.getContext("2d");if(!r){console.log("canvas创建失败");return}return r.fillStyle="rgba(0,0,0,0.0)",r.fillRect(0,0,a,l),r.drawImage(e,0,0,a,l),r.beginPath(),r.translate(a/2,l/2),r.fillStyle=t,r.font="bold 32px 宋体",r.textBaseline="middle",r.textAlign="center",r.fillText(s,0,0),i}createPlateSprite(e){return new Promise((s,t)=>{var h,n;const i=!e.plateNo||e.plateNo==="0"||e.plateNo==="000000";if(this.currentSpriteContent===m.EVehiclePlateState.None||this.currentSpriteContent===m.EVehiclePlateState.PlateNumber&&i){s(void 0);return}let a=new Image,l="",r="";if(this.currentSpriteContent===m.EVehiclePlateState.PlateNumber||this.currentSpriteContent===m.EVehiclePlateState.Mix)if(i)a=this.greyPlateBG,l=e.ptcId,r="#ffffff";else switch(l=((h=e.showName)==null?void 0:h.substring(0,2))+"•"+((n=e.showName)==null?void 0:n.substring(2)),e.plateColor){case 1:a=this.bluePlateBG,r="#ffffff";break;case 2:a=this.yellowPlateBG,r="#000000";break;case 3:a=this.whitePlateBG,r="#000000";break;case 4:a=this.blackPlateBG,r="#ffffff";break;case 5:a=this.neoYellowPlateBG,r="#000000";break;case 6:a=this.neoGreenPlateBG,r="#000000";break;default:a=this.greyPlateBG,l=e.plateNo,r="#ffffff";break}else this.currentSpriteContent===m.EVehiclePlateState.Id&&(a=this.greyPlateBG,l=e.ptcId,r="#ffffff");const d=this.createCanvas(a,l,r);if(d){const p=new o.CanvasTexture(d),c=new o.SpriteMaterial({map:p,transparent:!1}),g=new o.Sprite(c),w=.05,v=d.width*w,y=d.height*w;g.scale.set(v,y,1),g.name="VehiclePlate",s(g)}else{t("canvas创建失败");return}a.onerror=p=>{console.log(`号牌背景加载失败: ${a.src}`,p),t(p)}})}}exports.default=O;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("@arcgis/core/Graphic"),g=require("@arcgis/core/layers/GraphicsLayer"),m=require("vue"),u=require("../../../stores/index.js");class y{constructor(i){this.hasGpu=!1,this.appDataStore=u.default.useAppDataStore,this.logTable=[["uuid","ptcId","plateno","timestamp","localTimestamp","timestamp_str","speed","laneNo","objHeight","objLength","latitude","longitude","ptcType","vehicleType","vehicleColor","plateColor","sbdm","heading","fixAngle","roadLayer","status","step","receiveTimestamp"]],this.needInterpolate=!0,this.isPaused=!1,this.showVehiclePlate=!1,this.showGroundVehicle=!0,this.showElevatedVehicle=!0,this.historyPositionMap=new Map,this.vehicleObjectMap=new Map,this.view=i,this.mapConfig=m.toRaw(this.appDataStore.mapConfig),this.vehicleLayer=new g({id:"vehicleLayer"}),this.view.map.add(this.vehicleLayer);const t=localStorage.getItem("gpu");this.hasGpu=t!=="Unknown",this.hasGpu&&(this.rafSignal=requestAnimationFrame(()=>this.render()))}getLog(){return this.logTable}async init(){}addVehicles(i){return new Promise(t=>{if(this.isPaused){t();return}const e=i.map(s=>{const{vehicleId:r,heading:o,localTimestamp:l}=s,n=Number(s.x),h=Number(s.y),a=new p({geometry:{type:"point",x:n,y:h},attributes:{...s,type:"trackVehicle"},symbol:this.hasGpu?this.createCIMSymbol(s):this.createMarkerSymbol()});return this.hasGpu&&(a.visible=!1,this.historyPositionMap.set(r,[{pos:[n,h,0],heading:o,time:l}]),this.vehicleObjectMap.set(r,{graphic:a,data:s,waitForDelete:!1,isMoving:!1})),a});this.vehicleLayer.addMany(e),t()})}updateVehicles(i){return new Promise(t=>{if(this.isPaused){t();return}const e=[];i.forEach(s=>{const{vehicleId:r,heading:o,localTimestamp:l}=s,n=Number(s.x),h=Number(s.y);if(this.hasGpu){const a=this.vehicleObjectMap.get(r);a?(a.data=s,a.graphic.attributes={...s,type:"trackVehicle"},this.historyPositionMap.get(r).push({pos:[n,h,0],heading:o,time:l})):e.push(s)}else{const a=this.vehicleLayer.graphics.find(c=>c.getAttribute("vehicleId")==s.vehicleId);a?a.geometry={type:"point",x:n,y:h}:e.push(s)}}),this.addVehicles(e),t()})}deleteVehicles(i){this.isPaused||(this.hasGpu?i.forEach(t=>{const e=this.vehicleObjectMap.get(t);e&&(e.waitForDelete=!0)}):i.forEach(t=>{const e=this.vehicleLayer.graphics.find(s=>s.getAttribute("vehicleId")==t);e&&this.vehicleLayer.remove(e)}))}clearVehicles(){this.vehicleLayer.removeAll(),this.vehicleObjectMap.clear(),this.historyPositionMap.clear()}toggleGroundVehicle(i){this.showGroundVehicle=i}toggleElevatedVehicle(i){this.showElevatedVehicle=i}toggleTrafficInfo(i){i.name==="vehiclePlate"&&(this.showVehiclePlate=i.visible)}togglePause(i){this.isPaused=i,this.isPaused&&this.rafSignal?cancelAnimationFrame(this.rafSignal):this.rafSignal=requestAnimationFrame(()=>this.render())}updatePanelContent(i){console.log(i)}setInterpolate(i){this.needInterpolate=i}render(){this.isPaused||this.vehicleObjectMap.forEach((i,t)=>{this.updatePosition(t)}),this.rafSignal=requestAnimationFrame(()=>this.render())}updatePosition(i){const t=this.historyPositionMap.get(i),e=this.vehicleObjectMap.get(i);if(!t||!e||!e.isMoving&&t.length<=2)return;e.isMoving=!0,(e.graphic.getAttribute("roadLayer")||"1")==="1"?e.graphic.visible=this.showGroundVehicle:e.graphic.visible=this.showElevatedVehicle,e.segmentStartTime||(e.segmentStartTime=Date.now(),e.segmentTotalTime=t[1].time-t[0].time);const r=Date.now()-e.segmentStartTime,o=Math.min(1,r/e.segmentTotalTime);if(o===1)if(t.shift(),t.length===1){e.waitForDelete?(this.vehicleLayer.remove(e.graphic),this.vehicleObjectMap.delete(i),this.historyPositionMap.delete(i)):(e.segmentStartTime=void 0,e.segmentTotalTime=void 0,e.graphic.visible=!1,e.isMoving=!1);return}else{e.segmentStartTime=Date.now();const l=r-e.segmentTotalTime;e.segmentTotalTime=t[1].time-t[0].time-l,Math.abs(t[1].heading-t[0].heading)>180&&(t[1].heading>t[0].heading?t[0].heading+=360:t[1].heading+=360),e.graphic.geometry={type:"point",x:t[0].pos[0],y:t[0].pos[1]}}else{const l=t[0].pos[0]+(t[1].pos[0]-t[0].pos[0])*o,n=t[0].pos[1]+(t[1].pos[1]-t[0].pos[1])*o,h=t[0].heading+(t[1].heading-t[0].heading)*o;e.graphic.geometry={type:"point",x:l,y:n},e.data.heading=h,e.graphic.symbol=this.hasGpu?this.createCIMSymbol(e.data):this.createMarkerSymbol()}}createCIMSymbol(i){const t=this.getPlateFontColor(i.plateColor),e=this.getCarPic(i.vehicleColor,i.speed);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:e.size,rotation:i.heading,rotateClockwise:!0,textureFilter:"Picture",url:`${this.mapConfig.assetsRoot}Images/${e.pic}`}]}}}}createMarkerSymbol(){return{type:"simple-marker",color:"green",size:5,outline:{color:"white",width:1}}}getCarPic(i,t){if(this.view.scale>=1e3){let e="point_green.png";return t&&(t<=4.2?e="point_red.png":t<=8.4?e="point_yellow.png":e="point_green.png"),{pic:e,size:15}}else{let e="grey";switch(typeof i=="string"&&(i=i.toLowerCase()),i){case"a":case 1:e="white";break;case"b":case 2:e="grey";break;case"c":case 3:e="yellow";break;case"d":case 4:e="pink";break;case"e":case 5:e="red";break;case"f":case 10:e="purple";break;case"g":case 6:e="green";break;case"h":case 7:e="blue";break;case"i":case 8:e="brown";break;case"j":case 9:e="black";break}return{pic:"/car/"+e+".png",size:20}}}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=y;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("@arcgis/core/Basemap"),k=require("@arcgis/core/config"),G=require("@arcgis/core/core/reactiveUtils"),v=require("@arcgis/core/geometry"),W=require("@arcgis/core/geometry/support/webMercatorUtils"),q=require("@arcgis/core/Graphic"),O=require("@arcgis/core/layers/FeatureLayer"),C=require("@arcgis/core/layers/GeoJSONLayer"),S=require("@arcgis/core/layers/GroupLayer"),x=require("@arcgis/core/layers/IntegratedMesh3DTilesLayer"),_=require("@arcgis/core/layers/MapImageLayer"),j=require("@arcgis/core/layers/TileLayer"),H=require("@arcgis/core/layers/WebTileLayer"),B=require("@arcgis/core/layers/WMSLayer"),N=require("@arcgis/core/Map"),R=require("@arcgis/core/views/MapView"),E=require("@arcgis/core/views/SceneView"),U=require("@turf/destination"),A=require("@turf/helpers"),D=require("@arcgis/core/layers/GraphicsLayer"),V=require("./custom-layer/custom-wmts-layer.js");function P(y){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(y){for(const i in y)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(y,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>y[i]})}}return e.default=y,Object.freeze(e)}const z=P(G),M=P(W),J=P(A);class K{constructor(){this.mapConfig={},this.watchHandleMap=new Map,this.handleIndex=0,this.zoomWatchHandle=null,this.detachmentLayerLoaded=!1}processUrl(e){return e&&(e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("{{")?e.replace("{{geoServer}}",this.mapConfig.geoServer):this.mapConfig.assetsRoot+e)}async initialize(e){var p,w,g,m,b;this.mapConfig=e.mapConfig;const{container:i,markerClickCallback:s,mapClickCallback:a}=e;k.assetsPath=`${this.mapConfig.assetsRoot}/ArcgisAssets`,k.fontsUrl=`${this.mapConfig.assetsRoot}/fonts`,k.apiKey="AAPKf5a3e1044d7a4faeb3b1ec7060f5c68equIrP2KbRyL-t_b40Kk4GTWUQ1BFCyttvyQPQnWpFmBd7kp9gkrVihjfmcKBwxjW";const o=new N;((w=(p=this.mapConfig)==null?void 0:p.mapOptions.mode)==null?void 0:w.toLowerCase())!=="3d"?(this.view=new R({map:o,container:i,...this.mapConfig.mapOptions}),this.view.on("drag",t=>{t.button===2&&t.stopPropagation()})):this.view=new E({map:o,container:i,environment:{atmosphereEnabled:!0,lighting:{type:"virtual"}},...(g=this.mapConfig)==null?void 0:g.mapOptions}),this.view.popup.visibleElements={closeButton:!0,collapseButton:!1,actionBar:!1,featureNavigation:!0},this.view.popup.dockOptions={buttonEnabled:!1,breakpoint:!1},this.view.on("click",async t=>{var l,L;if(a){let n=t.mapPoint;n.spatialReference.isWebMercator&&(n=M.webMercatorToGeographic(n)),a([n.x,n.y],[t.screenPoint.x,t.screenPoint.y],t)}if(this.view.type==="3d"){const n=this.view.camera;if(this.view.spatialReference.isWebMercator){const d=M.webMercatorToGeographic(n.position),f={heading:n.heading,tilt:n.tilt,position:d.toJSON()};console.log(f),(l=navigator.clipboard)==null||l.writeText(JSON.stringify(f))}else console.log(n.toJSON());console.log(this.view.zoom,this.view.scale)}else{let n=this.view.center;this.view.spatialReference.isWebMercator&&(n=M.webMercatorToGeographic(n)),console.log({center:n.toJSON(),zoom:this.view.zoom,scale:this.view.scale})}const c=(L=(await this.view.hitTest(t)).results)==null?void 0:L.filter(n=>n.type==="graphic");c.length>0&&c.forEach(n=>{var f;const d=n.graphic;(f=d.attributes)!=null&&f.type&&s&&s(d.attributes.type,d.attributes.id,d.attributes,t)})});{let t=0,r=!1;this.view.on("pointer-move",async c=>{var L;const l=performance.now();if(!(r||l-t<100)){t=l,r=!0;try{const d=(L=(await this.view.hitTest(c)).results)==null?void 0:L.some(I=>I.type==="graphic"),f=this.view.container;f&&(f.style.cursor=d?"pointer":"default")}finally{r=!1}}})}if(this.view.on("pointer-leave",()=>{const t=this.view.container;t&&(t.style.cursor="default")}),(m=this.mapConfig)!=null&&m.baseLayers?this.mapConfig.baseLayers.forEach(t=>{const r=this.processUrl(t.url);let c=null;switch(t.type.toLowerCase()){case"webTile".toLowerCase():{c=new H({urlTemplate:r,...t.options});break}case"tile":{c=new j({url:r,...t.options});break}case"customwmts".toLowerCase():{c=new V.default({urlTemplate:r,...t.options});break}case"mapimage".toLowerCase():{c=new _({url:r,...t.options});break}case"arcgis":{const l=new T(t.options);o.basemap=l;break}case"feature":{c=new O({url:r,...t.options});break}case"3dtiles":{c=new x({url:r,...t.options});break}case"wms":{c=new B({url:r,...t.options});break}case"geojson":{c=new C({url:r,...t.options});break}}if(c)if(t.group){let l=o.findLayerById(t.group);l&&l.type==="group"?l.add(c):(l=new S({id:t.group,title:t.groupTitle,visibilityMode:"inherited",layers:[c],visible:t.groupVisible!==!1}),o.add(l))}else o.add(c)}):o.basemap=new T({style:{id:"arcgis/light-gray",language:"zh-CN"}}),(b=this.mapConfig)!=null&&b.hdLayers){const t=this.mapConfig.hdLayers.map(r=>new C({url:this.processUrl(r.url),...r.options,title:r.options.id}));o.addMany(t)}this.view.ui.remove("attribution"),await this.view.when();const h=this.mapConfig.camera;let u;if(this.view.type==="2d"){let t=this.view.center;this.view.spatialReference.isWebMercator&&(t=M.webMercatorToGeographic(t)),u={center:[t.x,t.y],zoom:this.view.zoom}}else{let t=this.view.camera.position;this.view.spatialReference.isWebMercator&&(t=M.webMercatorToGeographic(t)),u={position:t,heading:this.view.camera.heading,tilt:this.view.camera.tilt}}return h?h.home=u:this.mapConfig.camera={home:u},this.view}async setLayerVisibility(e){const{id:i,visible:s}=e;if(i==="shanghai_district")return!this.detachmentLayerLoaded&&e.visible?await this.loadDetachmentLayer():this.detachmentLayer&&(this.detachmentLayer.visible=s),{status:0,message:"ok"};{const a=this.view.map.findLayerById(i);return a?(a.visible=s,{status:0,message:"ok"}):{status:-1,message:"未找到图层"}}}async setMapCenter(e){var i;if(!this.view)return{status:-1,message:"未初始化"};if(e.center||e.target){switch((i=e.target)==null?void 0:i.type.toLowerCase()){case"point":e.target=new v.Point(e.target);break;case"polyline":e.target=new v.Polyline(e.target);break;case"polygon":e.target=new v.Polygon(e.target);break;case"multipoint":e.target=new v.Multipoint(e.target);break}await this.view.goTo(e,{duration:(e.duration||0)*1e3})}return{status:0,message:"成功"}}setMapZoom(e){return this.view?(this.view.zoom=e.zoom,{status:0,message:"成功"}):{status:-1,message:"未初始化"}}async lookAt(e){if(this.view.type==="2d")return;const i=e.tilt||0,s=e.heading||0;if(i===0)await this.view.goTo({position:{x:e.center[0],y:e.center[1],z:e.height},heading:s,tilt:0},{duration:(e.duration||2)*1e3});else{const a=Math.tan(i*Math.PI/180)*e.height,o=U(J.point(e.center),a,s+180,{units:"meters"});await this.view.goTo({position:{x:o.geometry.coordinates[0],y:o.geometry.coordinates[1],z:e.height},heading:s,tilt:i},{duration:(e.duration||2)*1e3})}}async setMapCamera(e){if(!this.view)return{status:-1,message:"未初始化"};const{name:i,duration:s=0}=e,{camera:a}=this.mapConfig;if(!a)return{status:-1,message:"未配置camera"};const o=a[i];return o?(await this.view.goTo(o,{duration:s*1e3}),{status:0,message:"成功"}):{status:-1,message:"未配置camera"}}requestCoordinateTransform(e,i){let s=0;const o=1e3/30,h=z.watch(()=>this.view.center,()=>{const u=this.transformPoints(e),p=Date.now();p-s>o&&(i(u),s=p)});return this.handleIndex++,this.watchHandleMap.set(this.handleIndex,h),{handle:this.handleIndex,points:this.transformPoints(e)}}transformPoints(e){return e.map(i=>{const s=new v.Point({x:i[0],y:i[1]}),a=this.view.toScreen(s);return[a.x,a.y]})}cancelCoordinateTransform(e){const i=this.watchHandleMap.get(e);i&&(i.remove(),this.watchHandleMap.delete(e))}setMapZoomRange(e){const{min:i,max:s}=e;!i&&!s||(this.zoomWatchHandle&&this.zoomWatchHandle.remove(),this.zoomWatchHandle=z.watch(()=>this.view.zoom,a=>{i&&a<=i&&(this.view.zoom=i),s&&a>=s&&(this.view.zoom=s)}))}async loadDetachmentLayer(){this.detachmentLayer=new D({id:"detachmentLayer",title:"支队图层",effect:void 0}),this.view.map.add(this.detachmentLayer);const e=this.mapConfig.baseLayers;if(!e)return;const i=e.find(s=>s.options.id==="shanghai_district");if(i)try{const a=await(await fetch("/GisViewerAssets/ShangHai/Layers/district.json")).json(),o=[],{renderer:h,labelingInfo:u}=i.options;a.features.forEach(p=>{const w=p.attributes.ZD_NAME;if(w!=="高架支队"){let g=new v.Polygon({rings:p.geometry.rings});g=W.webMercatorToGeographic(g);const m=new q({geometry:g,attributes:p.attributes});if(h){if(h.type==="simple")m.symbol=h.symbol;else if(h.type==="unique-value"){const b=m.getAttribute("OBJECTID"),t=h.uniqueValueInfos.find(r=>r.value==b);m.symbol=t?t.symbol:h.defaultSymbol}}else m.symbol={type:"simple-fill",color:[227,237,255,.4],outline:{color:[255,195,153],width:2}};if(o.push(m),u&&w!=="边防港航支队"&&w!=="机场支队"){const b=new q({geometry:g.centroid,symbol:{...u.symbol,text:w}});o.push(b)}}}),this.detachmentLayer.addMany(o),this.detachmentLayerLoaded=!0}catch(s){console.error("加载支队图层失败:",s);return}}}exports.default=K;
@@ -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.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={id:"districtController",source:[],objectIdField:"ObjectID",geometryType:"polyline",outFields:["*"],fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"subDistrictCount",type:"integer"},{name:"signalCount",type:"integer"},{name:"selected",type:"string"}],renderer:{type:"unique-value",field:"selected",defaultSymbol:{type:"simple-line",style:"long-dash",color:[111,100,255],width:2},uniqueValueInfos:[{value:"false",symbol:{type:"simple-line",style:"long-dash",color:[180,180,180],width:1}}]}},t={id:"districtController",source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"polyline",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"subDistrictCount",type:"integer"},{name:"signalCount",type:"integer"},{name:"type",type:"string"},{name:"selected",type:"string"}],renderer:{type:"unique-value",field:"selected",defaultSymbol:{type:"simple-line",style:"solid",color:[111,100,255,.4],width:2},uniqueValueInfos:[{value:"false",symbol:{type:"simple-line",style:"solid",color:[180,180,180,.4],width:1}}]}},i={id:"subDistrictPointController",source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"},{name:"signalCount",type:"integer"},{name:"selected",type:"string"},{name:"type",type:"string"},{name:"color",type:"string"}],popupTemplate:{title:"{subDistrictName} 子区",content:[{type:"fields",fieldInfos:[{fieldName:"subDistrictId",label:"子区编号"},{fieldName:"districtName",label:"所属区控"},{fieldName:"signalCount",label:"信号机数量"}]}]}},r={id:"subDistrictLineController",source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"polyline",fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"},{name:"signalCount",type:"integer"},{name:"fromNode",type:"string"},{name:"toNode",type:"string"},{name:"color",type:"string"}],popupTemplate:{title:"{subDistrictName} 子区",content:[{type:"fields",fieldInfos:[{fieldName:"subDistrictId",label:"子区编号"},{fieldName:"districtName",label:"所属区控"},{fieldName:"signalCount",label:"信号机数量"}]}]}},s={id:"signalLayer",source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",maxScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"},{name:"type",type:"string"},{name:"selected",type:"string"}],popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"unique-value",field:"isKey",field2:"selected",defaultSymbol:{type:"simple-marker",style:"circle",color:"gray",size:4,outline:{color:"white",width:0}},uniqueValueInfos:[{value:"true,true",symbol:{type:"picture-marker",url:"/GisViewerAssets/Images/icon_star.png",width:"20px",height:"20px"}},{value:"false,true",symbol:{type:"simple-marker",style:"circle",color:[5,116,255,.8],size:8,outline:{color:"white",width:0}}},{value:"true,false",symbol:{type:"simple-marker",style:"circle",color:[180,180,180,.8],size:8,outline:{color:"white",width:0}}},{value:"false,false",symbol:{type:"simple-marker",style:"circle",color:[180,180,180,.8],size:8,outline:{color:"white",width:0}}}]}},l={id:"signalLayer",source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",minScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"},{name:"type",type:"string"},{name:"selected",type:"string"}],popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"unique-value",field:"isKey",field2:"selected",defaultSymbol:{type:"simple-marker",style:"circle",color:"gray",size:4,outline:{color:"white",width:1}},uniqueValueInfos:[{value:"true,true",symbol:{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:30,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:20,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_gjxklk_orange.png"}]}}}},{value:"false,true",symbol:{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: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:20,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_xhj_blue.png"}]}}}},{value:"true,false",symbol:{type:"picture-marker",url:"/GisViewerAssets/Images/cross/gis_gjxk_gray.png",width:20,height:20}},{value:"false,false",symbol:{type:"picture-marker",url:"/GisViewerAssets/Images/cross/gis_xhj_gray.png",width:20,height:20}}],visualVariables:[{type:"size",valueExpression:"$view.scale",stops:[{size:28,value:2250},{size:24,value:4500}]}]}},n={id:"signalLayer",source:[],objectIdField:"ObjectID",outFields:["*"],geometryType:"point",maxScale:5e3,fields:[{name:"ObjectID",type:"oid"},{name:"id",type:"string"},{name:"name",type:"string"},{name:"signalId",type:"string"},{name:"nodeId",type:"string"},{name:"isKey",type:"string"},{name:"districtId",type:"string"},{name:"districtName",type:"string"},{name:"subDistrictId",type:"string"},{name:"subDistrictName",type:"string"},{name:"type",type:"string"},{name:"type",type:"string"},{name:"selected",type:"string"}],featureReduction:{type:"cluster",clusterRadius:"120px",clusterMaxSize:"50px",clusterMinSize:"30px",symbol:{type:"cim",data:{type:"CIMSymbolReference",primitiveOverrides:[{type:"CIMPrimitiveOverride",primitiveName:"textGraphic",propertyName:"TextString",valueExpressionInfo:{type:"CIMExpressionInfo",title:"Custom",expression:"$feature.cluster_count",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:16,horizontalAlignment:"Center",offsetX:0,offsetY:30,symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},verticalAlignment:"Center"},textString:""},{type:"CIMMarkerGraphic",geometry:{rings:[[[-15,40],[15,40],[15,20],[-15,20],[-15,40]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[2,72,200,255]},{type:"CIMSolidStroke",enable:!0,width:5,color:[2,72,200,128]}]}}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:40,rotateClockwise:!0,textureFilter:"Picture",url:"/GisViewerAssets/Images/cross/gis_xhj_blue.png"}]}}}},popupTemplate:{title:"{name}信号机",content:[{type:"fields",fieldInfos:[{fieldName:"districtName",label:"区控名称"},{fieldName:"subDistrictName",label:"子区名称"},{fieldName:"signalId",label:"信号机编号"},{fieldName:"nodeId",label:"路口编号"}]}]},renderer:{type:"simple",symbol:{type:"simple-marker",style:"circle",color:[5,116,255],size:8,outline:{color:"white",width:1}}}};exports.districtDashLineLayerOptions=e;exports.districtSolidLineLayerOptions=t;exports.signalClusterLayerOptions=n;exports.signalMarkerLayerOptions=s;exports.signalPictureLayerOptions=l;exports.subDistrictLineLayerOptions=r;exports.subDistrictPointLayerOptions=i;
@@ -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 i=require("@arcgis/core/Graphic"),n=require("@arcgis/core/layers/GraphicsLayer"),o=require("../common-utils.js");class h{constructor(e){this.view=e,this.signalSystemLayer=new n({title:"信控系统图层"}),this.view.map.add(this.signalSystemLayer)}async showSignalSystems(e){return e.areaList.forEach(s=>{this.showSystem(s)}),await o.default.viewGoto(this.view,this.signalSystemLayer.graphics.toArray()),{status:0,message:"success"}}async showSubSignalSystems(e){return e.areaList.forEach(s=>{this.showSubSystem(s)}),await o.default.viewGoto(this.view,this.signalSystemLayer.graphics.toArray()),{status:0,message:"success"}}removeSubSignalSystems(e){return e?this.signalSystemLayer.graphics.filter(s=>s.getAttribute("subCode")===e).forEach(s=>{this.signalSystemLayer.remove(s)}):this.signalSystemLayer.removeAll(),{status:0,message:"success"}}removeSignalSystems(e){return e?this.signalSystemLayer.graphics.filter(s=>s.getAttribute("areaCode")===e).forEach(s=>{this.signalSystemLayer.remove(s)}):this.signalSystemLayer.removeAll(),{status:0,message:"success"}}showSystem(e){if(e.shape){let s;if(typeof e.shape=="string"?s=JSON.parse(e.shape):s=e.shape,s){const t=new i({geometry:{type:"polyline",paths:[s]},symbol:e.lineSymbol||{type:"simple-line",style:"dash",color:[17,113,191],width:2},attributes:{areaCode:e.areaCode,type:"signal-system-border"}});this.signalSystemLayer.add(t)}}e.children.forEach(s=>{this.showSubSystem(s,e.areaCode)})}showSubSystem(e,s){if(e.subShape){let t;typeof e.subShape=="string"?t=JSON.parse(e.subShape):t=e.subShape;const a=t.map((r,l)=>new i({geometry:{type:"polyline",paths:[r]},symbol:e.roadSymbol||{type:"simple-line",color:[23,151,255],width:3},attributes:{type:"signal-sub-system",id:e.subAreaCode+"_"+l,subCode:e.subAreaCode,areaCode:s||""}}));this.signalSystemLayer.addMany(a)}if(e.children){const t=e.children.map(a=>new i({geometry:{type:"point",longitude:a.x,latitude:a.y},symbol:a.symbol||e.nodeSymbol||{type:"simple-marker",color:[23,151,255,.8],size:10,outline:{color:[23,151,255],width:2}},attributes:{...a,type:"signal-sub-system-node",subCode:e.subAreaCode,areaCode:s||""}}));this.signalSystemLayer.addMany(t)}}}exports.default=h;
@@ -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;