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
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue"),q=require("./stores/index.js");require("./style/index.css");const ft=require("./utils/dbscan-cluster/index.js"),wt=require("./utils/detect-gpu.js"),St=require("./utils/edpass-device-controller.js"),P=require("./utils/green-wave-band-controller/index.js"),yt=require("./utils/holo-flow/index.js"),ht=require("./utils/holo-flow/signal-countdown-panel.vue.js"),Ct=require("./utils/map-initializer.js"),N=require("./utils/open-drive-renderer/index.js"),z=require("./utils/overlay.js"),vt=require("./utils/police-jurisdiction.js"),bt=require("./utils/queue-length.js"),E=require("./utils/road-config-tool/index.js"),Ot=require("./utils/signal-control-area/edit-area.js"),B=require("./utils/signal-control-area/signal-area-controller.js"),kt=require("./utils/signal-control-area/signal-cross-controller.js"),At=require("./utils/traffic-flow.js"),Dt={class:"gis-viewer"},Lt={style:{position:"absolute",bottom:"80px",left:"10px","z-index":"9999"}},Tt=r.defineComponent({__name:"gis-map",props:{config:{},assetsRoot:{}},emits:["mapLoaded","markerClick","mapClick","update:zoom"],setup(H,{expose:G,emit:Z}){const b=r.ref(null);let n,g,l,i,s,o,w,t,u,a,f,p,y,O,S;const k=r.ref(!1);q.registerStore();const V=q.default.useAppDataStore,_=r.reactive([]),I=e=>Math.log2(591657527591555e-6/e);let h=null,M=null;const A=e=>{if(!Number.isFinite(e))return;const d=Math.round(e);d!==M&&(M=d,C("update:zoom",d))};wt.default(),r.onMounted(async()=>{if(!b.value)return;document.addEventListener("keydown",m=>{m.ctrlKey&&m.key==="i"&&(k.value=!k.value)});const e=r.getCurrentInstance(),{$gisviewerAssetsRoot:d}=e.appContext.config.globalProperties,c=await(await fetch(x.config)).json();c.assetsRoot=x.assetsRoot||d,V.mapConfig=c,g=new Ct.default,V.mapInitializer=g,n=await g.initialize({container:b.value,mapConfig:c,markerClickCallback:(m,L,T,pt)=>{C("markerClick",m,L,T,pt)},mapClickCallback:(m,L,T)=>{C("mapClick",m,L,T)}});const v=n.zoom??(n.scale?I(n.scale):void 0);typeof v=="number"&&A(v);const gt=n.zoom!==void 0?n.watch("zoom",m=>{A(m)}):n.watch("scale",m=>{typeof m=="number"&&m>0&&A(I(m))});h=()=>gt.remove(),s=new yt.default(n,_),await s.init(),C("mapLoaded")}),r.onUnmounted(()=>{a==null||a.clearSignalControlArea(),t==null||t.clearOpenDrive(),s.clearHoloTrace(),s.clearHoloSignal(),i==null||i.disconnectTrafficFlow(),h==null||h(),h=null});const W=r.computed(()=>n),j=()=>{const e=q.default.useAppDataStore;e.saveTrackLog=!0},J=()=>{s.downloadTrackLog()},Q=()=>{D("vehicleId")},U=()=>{D("plateNumber")},K=async e=>await g.setMapCenter(e),F=async e=>await g.setMapCamera(e),X=e=>g.setMapZoom(e),Y=async e=>await g.lookAt(e),R=e=>g.setLayerVisibility(e),$=(e,d)=>g.requestCoordinateTransform(e,d),ee=e=>{g.cancelCoordinateTransform(e)},te=e=>{g.setMapZoomRange(e)},ne=e=>(l||(l=new E.default(n)),l.showLaneNumber(e)),ae=()=>{l==null||l.clearLaneNumber()},se=async e=>(l||(l=new E.default(n)),await l.initializeSearch(e)),re=async()=>l==null?void 0:l.calCrossIndicatorArea(),oe=async()=>{},ie=async(e,d)=>{i||(i=new At.default(n)),i.connectTrafficFlow(e,d)},ce=()=>{i==null||i.disconnectTrafficFlow()},le=async e=>{s.handleVehicleTraceData(e)},ue=()=>{s.clearHoloTrace()},de=e=>{s.setInterpolate(e)},me=async e=>{await s.handleSignalData(e)},ge=async e=>{await s.initializeLampGroup(e)},pe=e=>{s.handleUniSignalData(e)},fe=()=>{s.clearHoloSignal()},we=e=>{i==null||i.toggleTrafficInfo(e),s==null||s.toggleTrafficInfo(e)},Se=e=>{s==null||s.togglePause(e)},ye=e=>{i==null||i.toggleTrafficObject(e),s==null||s.toggleTrafficObject(e)},D=e=>{s==null||s.updatePanelContent(e)},he=async e=>(o||(o=new z.default(n)),o.addOverlays(e)),Ce=async e=>(S||(S=new ft.default(n)),S.addClusterPoints(e)),ve=()=>{S==null||S.removeAllClusterPoints()},be=e=>(o||(o=new z.default(n)),o.addMask(e)),Oe=()=>{o==null||o.removeMask()},ke=e=>o==null?void 0:o.removeOverlaysByType(e),Ae=e=>o==null?void 0:o.removeOverlaysById(e),De=()=>o==null?void 0:o.removeAllOverlays(),Le=()=>{o==null||o.showAllOverlays()},Te=e=>{w||(w=new bt.default(n)),w.updateQueueLength(e)},qe=()=>{w==null||w.removeQueueLength()},Be=async(e,d)=>(t||(t=new N.default(n)),await t.showOpenDriveFromServer(e,d)),Ve=async e=>(t||(t=new N.default(n)),await t.clearOpenDrive(),await t.showOpenDriveFromFile(e)),_e=e=>t?t.setOpendriveVisibility(e):{status:-1,message:"未加载OpenDrive地图"},Ie=async()=>await(t==null?void 0:t.clearOpenDrive()),Me=async e=>t?await(t==null?void 0:t.findSumo(e)):{status:-1,message:"未加载OpenDrive地图"},xe=async e=>t?t.selectSumo(e):{status:-1,message:"未加载OpenDrive地图"},Pe=async e=>t?t.unselectSumo(e):{status:-1,message:"未加载OpenDrive地图"},Ne=async e=>t?t.selectComputable(e):{status:-1,message:"未加载OpenDrive地图"},ze=async e=>t?await t.geometrySearch(e):{status:-1,message:"未加载OpenDrive地图"},Ee=async e=>t?await t.getSumoInfo(e):{status:-1,message:"未加载OpenDrive地图"},He=async e=>t?await(t==null?void 0:t.splitLane(e)):{status:-1,message:"未加载OpenDrive地图"},Ge=async()=>t?t==null?void 0:t.clearSplitLane():{status:-1,message:"未加载OpenDrive地图"},Ze=async e=>t?t==null?void 0:t.blockLane(e):{status:-1,message:"未加载OpenDrive地图"},We=e=>t?t==null?void 0:t.clearBlockLane(e):{status:-1,message:"未加载OpenDrive地图"},je=async e=>(a||(a=new B.default(n)),await a.showSignalControlArea(e)),Je=async e=>(a||(a=new B.default(n)),await a.showDistrict(e)),Qe=async e=>(a||(a=new B.default(n)),await a.showSubDistrict(e)),Ue=async()=>await(a==null?void 0:a.clearSignalControlArea()),Ke=e=>a==null?void 0:a.setLayerVisibility(e),Fe=async e=>a?await(a==null?void 0:a.locateSignalControlArea(e)):{status:-1,message:"未加载信号控制区"},Xe=async e=>a?await a.highlightSignalControlArea(e):{status:-1,message:"未加载信号控制区"},Ye=()=>a?a.resetHighlight():{status:-1,message:"未加载信号控制区"},Re=e=>(u||(u=new Ot.default(n)),u.showSubSignalControlArea(e)),$e=e=>u?u.editSubSignalControlArea(e):{status:-1,message:"未加载信号控制区"},et=()=>u?u.stopEditSubSignalControlArea():{status:-1,message:"未加载信号控制区"},tt=e=>u?u.selectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},nt=e=>u?u.unselectSubSignalControlAreaCross(e):{status:-1,message:"未加载信号控制区"},at=e=>{if(!u)return{status:-1,message:"未加载信号控制区"}},st=e=>(f||(f=new kt.default(n)),f.showSignalCross(e)),rt=()=>f?f.clearSignalCross():{status:-1,message:"未加载信号路口"},ot=e=>f?f.changeShowName(e):{status:-1,message:"未加载信号路口"},it=e=>(p||(p=new P.default(n)),p.addGreenWaveBand(e)),ct=()=>{if(!p)return{status:-1,message:"未加载绿波带"};p.stopAddGreenWaveBand()},lt=async e=>(p||(p=new P.default(n)),await p.showGreenWaveBand(e)),ut=async e=>(y||(y=new vt.default(n)),await y.showJurisdiction(e)),dt=()=>{if(!y)return{status:-1,message:"未加载警务管辖区"};y.clearJurisdiction()},mt=async e=>(O||(O=new St.default(n)),await O.setEdpassLayerVisibility(e)),x=H,C=Z;return G({mapViewer:W,setLayerVisibility:R,setMapCenter:K,lookAt:Y,setMapCamera:F,setMapZoom:X,setMapZoomRange:te,requestCoordinateTransform:$,cancelCoordinateTransform:ee,addOverlays:he,addClusterPoints:Ce,removeAllClusterPoints:ve,addMask:be,removeMask:Oe,showAllOverlays:Le,removeOverlaysByType:ke,removeOverlaysById:Ae,removeAllOverlays:De,showLaneNumber:ne,clearLaneNumber:ae,initializeAreaTool:se,calCrossIndicatorArea:re,calRoadIndicatorArea:oe,connectCarFlow:ie,disconnectCarFlow:ce,handleHoloVehicleTraceData:le,clearHoloTrace:ue,initializeLampGroup:ge,handleUniSignalData:pe,handleHoloSignalData:me,clearHoloSignal:fe,setInterpolate:de,toggleTrafficInfo:we,toggleTrafficObject:ye,toggleVehicleInfo:D,togglePause:Se,updateQueueLength:Te,removeQueueLength:qe,showOpenDriveFromServer:Be,showOpenDriveFromFile:Ve,clearOpenDrive:Ie,setOpendriveVisibility:_e,geometrySearchInOpenDrive:ze,findSumoInOpenDrive:Me,selectSumoInOpenDrive:xe,unselectSumoInOpenDrive:Pe,selectComputableInOpenDrive:Ne,getSumoInfo:Ee,splitOpenDriveLane:He,clearSplitOpenDriveLane:Ge,blockOpenDriveLane:Ze,clearBlockOpenDriveLane:We,showSignalControlArea:je,showDistrictArea:Je,showSubDistrictArea:Qe,clearSignalControlArea:Ue,setSignalControlAreaVisibility:Ke,locateSignalControlArea:Fe,highlightSignalControlArea:Xe,resetHighlightSignalControlArea:Ye,showSubSignalControlArea:Re,editSubSignalControlArea:$e,stopEditSubSignalControlArea:et,selectSubSignalControlAreaCross:tt,unselectSubSignalControlAreaCross:nt,changeSubSignalControlAreaBorderVisibility:at,showSignalCross:st,clearSignalCross:rt,changeSignalCrossShowName:ot,addGreenWaveBand:it,stopAddGreenWaveBand:ct,showGreenWaveBand:lt,showPoliceArea:ut,clearPoliceArea:dt,setEdpassLayerVisibility:mt}),(e,d)=>(r.openBlock(),r.createElementBlock("div",Dt,[r.createElementVNode("div",{class:"gis-viewer-main",ref_key:"mapContainer",ref:b},[r.withDirectives(r.createElementVNode("div",Lt,[r.createElementVNode("button",{style:{"margin-right":"10px"},onClick:j}," 开始记录 "),r.createElementVNode("button",{style:{"margin-right":"10px"},onClick:J}," 下载日志 "),r.createElementVNode("button",{style:{"margin-right":"10px"},onClick:Q}," 显示车辆id "),r.createElementVNode("button",{onClick:U},"显示车辆号牌")],512),[[r.vShow,k.value]])],512),(r.openBlock(!0),r.createElementBlock(r.Fragment,null,r.renderList(_,(c,v)=>(r.openBlock(),r.createBlock(ht.default,{key:v,"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=Tt;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("@arcgis/core/core/reactiveUtils.js"),v=require("@arcgis/core/Graphic"),c=require("@arcgis/core/layers/GraphicsLayer"),d=require("vue"),k=require("../stores/index.js");function f(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const S=f(b);class p{constructor(e){this.clusterScaleThreshold=1,this.watchHandle=null,this.currentShowParams=null,this.isCameraVisible=!1,this.isKkVisible=!1,this.esServer="",this.clusterEnabled={cameraNormal:!1,cameraAbnormal:!1,kkNormal:!1,kkAbnormal:!1},this.view=e;const t=k.default.useAppDataStore;this.mapInitializer=d.toRaw(t.mapInitializer);const i=d.toRaw(t.mapConfig);this.esServer=(i==null?void 0:i.esServer)||"",this.cameraNormalLayer=new c({id:"cameraNormalLayer",visible:!1}),this.cameraAbnormalLayer=new c({id:"cameraAbnormalLayer",visible:!1}),this.kkNormalLayer=new c({id:"kkNormalLayer",visible:!1}),this.kkAbnormalLayer=new c({id:"kkAbnormalLayer",visible:!1}),this.view.map.addMany([this.cameraNormalLayer,this.cameraAbnormalLayer,this.kkNormalLayer,this.kkAbnormalLayer])}async setEdpassLayerVisibility(e){return this.currentShowParams={...this.currentShowParams??{},...e},e.deviceType!=="camera"&&e.deviceType!=="kk"?{status:-1,message:"不支持的设备类型"}:(e.deviceType==="camera"&&(this.isCameraVisible=e.visible),e.deviceType==="kk"&&(this.isKkVisible=e.visible),this.updateClusterEnabled(e),(e.style??this.getAutoStyleByScale())==="cluster"||e.style==null?this.ensureStationaryWatch():this.tryRemoveWatchIfNoVisible(),this.applyClusterMode(),{status:0,message:"Success"})}showScatter(e){const t=e??this.isCameraVisible,i=e??this.isKkVisible;this.mapInitializer.setLayerVisibility({id:"camera-normal",visible:t}),this.mapInitializer.setLayerVisibility({id:"camera-abnormal",visible:t}),this.mapInitializer.setLayerVisibility({id:"kk-normal",visible:i}),this.mapInitializer.setLayerVisibility({id:"kk-abnormal",visible:i})}getLayerConfig(e){let t,i,a;return e.deviceType==="camera"?e.deviceState==="normal"?(t="/GisViewerAssets/Images/gis/gis_sxj_map.png",i=[45,108,196],a=this.cameraNormalLayer):(t="/GisViewerAssets/Images/gis/gis_sxj_yc.png",i=[189,49,50],a=this.cameraAbnormalLayer):e.deviceState==="normal"?(t="/GisViewerAssets/Images/gis/gis_kk_map.png",i=[45,108,196],a=this.kkNormalLayer):(t="/GisViewerAssets/Images/gis/gis_kk_yc.png",i=[189,49,50],a=this.kkAbnormalLayer),{icon:t,color:i,deviceLayer:a}}getAutoStyleByScale(){return this.view.scale>this.clusterScaleThreshold?"cluster":"scatter"}updateClusterEnabled(e){const t=e.deviceState;e.deviceType==="camera"?t?t==="normal"?this.clusterEnabled.cameraNormal=e.visible:this.clusterEnabled.cameraAbnormal=e.visible:(this.clusterEnabled.cameraNormal=e.visible,this.clusterEnabled.cameraAbnormal=e.visible):t?t==="normal"?this.clusterEnabled.kkNormal=e.visible:this.clusterEnabled.kkAbnormal=e.visible:(this.clusterEnabled.kkNormal=e.visible,this.clusterEnabled.kkAbnormal=e.visible)}ensureStationaryWatch(){this.watchHandle||(this.watchHandle=S.when(()=>this.view.stationary,async()=>{if(!this.currentShowParams)return;if((this.currentShowParams.style??this.getAutoStyleByScale())==="scatter"){this.applyScatterMode();return}await this.applyClusterMode()}))}hasAnyClusterEnabled(){return this.clusterEnabled.cameraNormal||this.clusterEnabled.cameraAbnormal||this.clusterEnabled.kkNormal||this.clusterEnabled.kkAbnormal}tryRemoveWatchIfNoVisible(){var i;const e=this.isCameraVisible||this.isKkVisible,t=this.hasAnyClusterEnabled();!e&&!t&&((i=this.watchHandle)==null||i.remove(),this.watchHandle=null)}applyScatterMode(){this.showScatter(),this.cameraNormalLayer.visible=!1,this.cameraAbnormalLayer.visible=!1,this.kkNormalLayer.visible=!1,this.kkAbnormalLayer.visible=!1,this.cameraNormalLayer.removeAll(),this.cameraAbnormalLayer.removeAll(),this.kkNormalLayer.removeAll(),this.kkAbnormalLayer.removeAll()}async applyClusterMode(){var l,o;this.showScatter(!1);const e=((l=this.currentShowParams)==null?void 0:l.ddCode)||"",t=((o=this.currentShowParams)==null?void 0:o.zdCode)||"",i=this.view.extent,a=[];this.cameraNormalLayer.visible=this.clusterEnabled.cameraNormal,this.clusterEnabled.cameraNormal?a.push(this.showClusterInExtent({deviceType:"camera",deviceState:"normal",style:"cluster",ddCode:e,zdCode:t,visible:!0},i)):this.cameraNormalLayer.removeAll(),this.kkNormalLayer.visible=this.clusterEnabled.kkNormal,this.clusterEnabled.kkNormal?a.push(this.showClusterInExtent({deviceType:"kk",deviceState:"normal",style:"cluster",ddCode:e,zdCode:t,visible:!0},i)):this.kkNormalLayer.removeAll(),await Promise.all(a),this.tryRemoveWatchIfNoVisible()}async showClusterInExtent(e,t){const i=await fetch(`${this.esServer}/queryGeoAggregation`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceType:e.deviceType,topLeftLat:t.ymax,topLeftLon:t.xmin,bottomRightLat:t.ymin,bottomRightLon:t.xmax,devStateSet:e.deviceState?[e.deviceState==="normal"?"1":"2"]:["1","2"],zdCode:e.zdCode||"",ddCode:e.ddCode||"",mapLevel:this.view.zoom+8,meter:1e3})});if(i.status!==200){console.error(i.statusText);return}const a=await i.json();if(a.code!==200)return;const{icon:l,color:o,deviceLayer:y}=this.getLayerConfig(e);y.removeAll();const u=a.data.map(s=>{var m;const n=(s.count.toString().length*6+6)/2,h=new v({geometry:{type:"point",x:s.lon,y:s.lat},attributes:{id:((m=s.devInfo)==null?void 0:m.deviceId)||s.key,type:e.deviceType,count:s.count,typeName:e.deviceType==="camera"?"视频":"卡口",stateName:e.deviceState==="normal"?"正常":"异常",...s.devInfo}});return s.count>1?h.symbol={type:"cim",data:{type:"CIMSymbolReference",symbol:{type:"CIMPointSymbol",symbolLayers:[{type:"CIMVectorMarker",size:32,colorLocked:!0,anchorPointUnits:"Relative",frame:{xmin:-16,ymin:-16,xmax:16,ymax:16},markerGraphics:[{type:"CIMMarkerGraphic",geometry:{rings:[[[-n,30],[n,30],[n,15],[-n,15],[-n,30]]]},symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:o.concat([255])},{type:"CIMSolidStroke",enable:!0,width:3,color:o.concat([128])}]}},{type:"CIMMarkerGraphic",primitiveName:"textGraphic",geometry:{x:0,y:0},symbol:{type:"CIMTextSymbol",fontFamilyName:"msyh",height:12,horizontalAlignment:"Center",offsetX:0,offsetY:22,symbol:{type:"CIMPolygonSymbol",symbolLayers:[{type:"CIMSolidFill",enable:!0,color:[255,255,255,255]}]},verticalAlignment:"Center"},textString:s.count.toString()}],scaleSymbolsProportionally:!0,respectFrame:!0},{type:"CIMPictureMarker",enable:!0,anchorPoint:{x:0,y:0},anchorPointUnits:"Relative",size:24,rotateClockwise:!0,textureFilter:"Picture",url:l}]}}}:h.symbol={type:"picture-marker",url:l,width:18,height:18},h});y.addMany(u)}}exports.default=p;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const i=require("vue"),l=require("../../../types/index.js"),n=require("../../stores/index.js"),c=require("./signal-holo-flow.js"),s=require("./signal-holo-flow-lsr.js"),h=require("./trace-holo-flow.js");class w{constructor(e,o){this.view=e,this.signalCountdownPanelProps=o}async init(){this.traceHoloFlow=new h.default(this.view),await this.traceHoloFlow.init()}handleVehicleTraceData(e){this.traceHoloFlow.handleVehicleTraceData(e)}toggleTrafficObject(e){switch(e.name.toLowerCase()){case"groundVehicle".toLowerCase():this.traceHoloFlow.toggleGroundVehicle(e.visible);break;case"elevatedVehicle".toLowerCase():this.traceHoloFlow.toggleElevatedVehicle(e.visible);break}}clearHoloTrace(){this.traceHoloFlow.clearTrace()}toggleTrafficInfo(e){this.traceHoloFlow.toggleTrafficInfo(e)}togglePause(e){this.traceHoloFlow.togglePause(e)}updatePanelContent(e){let o=l.EVehiclePlateState.None;switch(e){case"none":o=l.EVehiclePlateState.None;break;case"plateNumber":o=l.EVehiclePlateState.PlateNumber;break;case"vehicleId":o=l.EVehiclePlateState.Id;break;case"mix":o=l.EVehiclePlateState.Mix;break}this.traceHoloFlow.updatePanelContent(o)}async handleSignalData(e){var o,a;if(!this.signalHoloFlow){const t=n.default.useAppDataStore;((a=(o=i.toRaw(t.mapConfig).holoFlow)==null?void 0:o.signal)==null?void 0:a.style)==="LSR"?this.signalHoloFlow=new s.default(this.view,this.signalCountdownPanelProps):this.signalHoloFlow=new c.default(this.view),await this.signalHoloFlow.initializeLayer()}await this.signalHoloFlow.handleHoloSignalData(e)}async initializeLampGroup(e){var o,a;if(!this.signalHoloFlow){const t=n.default.useAppDataStore;if(((a=(o=i.toRaw(t.mapConfig).holoFlow)==null?void 0:o.signal)==null?void 0:a.style)==="LSR")this.signalHoloFlow=new s.default(this.view,this.signalCountdownPanelProps);else return}await this.signalHoloFlow.initializeLayer(),this.signalHoloFlow.initializeLampGroup(e)}handleUniSignalData(e){return this.signalHoloFlow.handleUniSignalData(e)}clearHoloSignal(){var e;(e=this.signalHoloFlow)==null||e.clearSignal()}setInterpolate(e){this.traceHoloFlow.setInterpolate(e)}downloadTrackLog(){this.traceHoloFlow.downloadLog()}}exports.default=w;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
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"),m=require("../../../types/index.js"),x=require("../../stores/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;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const P=require("@arcgis/core/Basemap"),M=require("@arcgis/core/config"),I=require("@arcgis/core/core/reactiveUtils"),b=require("@arcgis/core/geometry"),z=require("@arcgis/core/geometry/support/webMercatorUtils"),T=require("@arcgis/core/Graphic"),G=require("@arcgis/core/layers/FeatureLayer"),q=require("@arcgis/core/layers/GeoJSONLayer"),O=require("@arcgis/core/layers/GroupLayer"),S=require("@arcgis/core/layers/IntegratedMesh3DTilesLayer"),x=require("@arcgis/core/layers/MapImageLayer"),_=require("@arcgis/core/layers/TileLayer"),j=require("@arcgis/core/layers/WebTileLayer"),H=require("@arcgis/core/layers/WMSLayer"),B=require("@arcgis/core/Map"),N=require("@arcgis/core/views/MapView"),R=require("@arcgis/core/views/SceneView"),E=require("@turf/destination"),U=require("@turf/helpers"),A=require("@arcgis/core/layers/GraphicsLayer"),D=require("./custom-layer/custom-wmts-layer.js");function k(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 C=k(I),L=k(z),V=k(U);class J{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;this.mapConfig=e.mapConfig;const{container:i,markerClickCallback:s,mapClickCallback:r}=e;M.assetsPath=`${this.mapConfig.assetsRoot}/ArcgisAssets`,M.fontsUrl=`${this.mapConfig.assetsRoot}/fonts`,M.apiKey="AAPKf5a3e1044d7a4faeb3b1ec7060f5c68equIrP2KbRyL-t_b40Kk4GTWUQ1BFCyttvyQPQnWpFmBd7kp9gkrVihjfmcKBwxjW";const o=new B;((p=this.mapConfig)==null?void 0:p.mapOptions.mode.toLowerCase())==="2d"?(this.view=new N({map:o,container:i,...this.mapConfig.mapOptions}),this.view.on("drag",t=>{t.button===2&&t.stopPropagation()})):this.view=new R({map:o,container:i,environment:{atmosphereEnabled:!0,lighting:{type:"virtual"}},...(w=this.mapConfig)==null?void 0:w.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,v;if(r){let c=t.mapPoint;c.spatialReference.isWebMercator&&(c=L.webMercatorToGeographic(c)),r([c.x,c.y],[t.screenPoint.x,t.screenPoint.y],t)}if(this.view.type==="3d"){const c=this.view.camera;if(this.view.spatialReference.isWebMercator){const d=L.webMercatorToGeographic(c.position),f={heading:c.heading,tilt:c.tilt,position:d.toJSON()};console.log(f),(l=navigator.clipboard)==null||l.writeText(JSON.stringify(f))}else console.log(c.toJSON());console.log(this.view.zoom,this.view.scale)}else{let c=this.view.center;this.view.spatialReference.isWebMercator&&(c=L.webMercatorToGeographic(c)),console.log({center:c.toJSON(),zoom:this.view.zoom,scale:this.view.scale})}const n=(v=(await this.view.hitTest(t)).results)==null?void 0:v.filter(c=>c.type==="graphic");n.length>0&&n.forEach(c=>{var f;const d=c.graphic;(f=d.attributes)!=null&&f.type&&s&&s(d.attributes.type,d.attributes.id,d.attributes,t)})});{let t=0,a=!1;this.view.on("pointer-move",async n=>{var v;const l=performance.now();if(!(a||l-t<100)){t=l,a=!0;try{const d=(v=(await this.view.hitTest(n)).results)==null?void 0:v.some(W=>W.type==="graphic"),f=this.view.container;f&&(f.style.cursor=d?"pointer":"default")}finally{a=!1}}})}if(this.view.on("pointer-leave",()=>{const t=this.view.container;t&&(t.style.cursor="default")}),(g=this.mapConfig)!=null&&g.baseLayers?this.mapConfig.baseLayers.forEach(t=>{const a=this.processUrl(t.url);let n=null;switch(t.type.toLowerCase()){case"webTile".toLowerCase():{n=new j({urlTemplate:a,...t.options});break}case"tile":{n=new _({url:a,...t.options});break}case"customwmts".toLowerCase():{n=new D.default({urlTemplate:a,...t.options});break}case"mapimage".toLowerCase():{n=new x({url:a,...t.options});break}case"arcgis":{const l=new P(t.options);o.basemap=l;break}case"feature":{n=new G({url:a,...t.options});break}case"3dtiles":{n=new S({url:a,...t.options});break}case"wms":{n=new H({url:a,...t.options});break}case"geojson":{n=new q({url:a,...t.options});break}}if(n)if(t.group){let l=o.findLayerById(t.group);l&&l.type==="group"?l.add(n):(l=new O({id:t.group,title:t.groupTitle,visibilityMode:"inherited",layers:[n],visible:t.groupVisible!==!1}),o.add(l))}else o.add(n)}):o.basemap=new P({style:{id:"arcgis/light-gray",language:"zh-CN"}}),(m=this.mapConfig)!=null&&m.hdLayers){const t=this.mapConfig.hdLayers.map(a=>new q({url:this.processUrl(a.url),...a.options,title:a.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=L.webMercatorToGeographic(t)),u={center:[t.x,t.y],zoom:this.view.zoom}}else{let t=this.view.camera.position;this.view.spatialReference.isWebMercator&&(t=L.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 r=this.view.map.findLayerById(i);return r?(r.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 b.Point(e.target);break;case"polyline":e.target=new b.Polyline(e.target);break;case"polygon":e.target=new b.Polygon(e.target);break;case"multipoint":e.target=new b.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 r=Math.tan(i*Math.PI/180)*e.height,o=E(V.point(e.center),r,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:r}=this.mapConfig;if(!r)return{status:-1,message:"未配置camera"};const o=r[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=C.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 b.Point({x:i[0],y:i[1]}),r=this.view.toScreen(s);return[r.x,r.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=C.watch(()=>this.view.zoom,r=>{i&&r<=i&&(this.view.zoom=i),s&&r>=s&&(this.view.zoom=s)}))}async loadDetachmentLayer(){this.detachmentLayer=new A({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 r=await(await fetch("/GisViewerAssets/ShangHai/Layers/district.json")).json(),o=[],{renderer:h,labelingInfo:u}=i.options;r.features.forEach(p=>{const w=p.attributes.ZD_NAME;if(w!=="高架支队"){let g=new b.Polygon({rings:p.geometry.rings});g=z.webMercatorToGeographic(g);const m=new T({geometry:g,attributes:p.attributes});if(h){if(h.type==="simple")m.symbol=h.symbol;else if(h.type==="unique-value"){const t=m.getAttribute("OBJECTID"),a=h.uniqueValueInfos.find(n=>n.value==t);m.symbol=a?a.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 t=new T({geometry:g.centroid,symbol:{...u.symbol,text:w}});o.push(t)}}}),this.detachmentLayer.addMany(o),this.detachmentLayerLoaded=!0}catch(s){console.error("加载支队图层失败:",s);return}}}exports.default=J;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("../stores/index.js"),q=require("@arcgis/core/layers/GraphicsLayer"),b=require("@turf/helpers"),P=require("@turf/destination"),C=require("@arcgis/core/Graphic"),S=require("@turf/intersect"),w=require("@turf/buffer"),f=require("@turf/area");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(b);class v{constructor(e){this.initialized=!1,this.lanePolygonMap=new Map,this.view=e;const t=m.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=w(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 C({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;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
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"}],popupTemplate:{title:"{name}",content:[{type:"fields",fieldInfos:[{fieldName:"id",label:"区控编号"},{fieldName:"subDistrictCount",label:"子区数量"},{fieldName:"signalCount",label:"信号机数量"}]}]},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;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
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;
@@ -1 +0,0 @@
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;
package/lib/src/index.js DELETED
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./gis-map/index.js");exports.GisMap=e.GisMap;
File without changes