@npm9912/v-map 0.1.0

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 (438) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +185 -0
  3. package/dist/cjs/_commonjsHelpers-B83fTs8d.js +36 -0
  4. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  5. package/dist/cjs/cesium-provider-BiFFyAl9.js +2598 -0
  6. package/dist/cjs/deck-provider-Ctq3Q8a1.js +47824 -0
  7. package/dist/cjs/geotiff-CEwvF9cG.js +47 -0
  8. package/dist/cjs/geotiff-source-RaNzzWkC.js +1522 -0
  9. package/dist/cjs/index-B1oGO1g-.js +10658 -0
  10. package/dist/cjs/index-B8LHqjyg.js +1765 -0
  11. package/dist/cjs/index-BIL4VsgP.js +310 -0
  12. package/dist/cjs/index-Blku2QY8.js +167 -0
  13. package/dist/cjs/index-CJvvX4yx.js +21 -0
  14. package/dist/cjs/index-CbVT-Con.js +699 -0
  15. package/dist/cjs/index-ISOEpMC3.js +20478 -0
  16. package/dist/cjs/index-JSwBbvGA.js +1621 -0
  17. package/dist/cjs/index.browser-DQhD8Jwl.js +6873 -0
  18. package/dist/cjs/index.cjs.js +2 -0
  19. package/dist/cjs/layer-extension-B_olS0rc.js +65 -0
  20. package/dist/cjs/leaflet-provider-DOqfs7g5.js +1815 -0
  21. package/dist/cjs/loader.cjs.js +13 -0
  22. package/dist/cjs/main-dist-7TykwFci.js +2655 -0
  23. package/dist/cjs/messages-D7h4m8Tx.js +186 -0
  24. package/dist/cjs/openlayers-provider-Dfeg6L4n.js +1604 -0
  25. package/dist/cjs/polygon-layer-B9PrN7vr.js +1300 -0
  26. package/dist/cjs/scenegraph-layer-DwNoxQdi.js +2530 -0
  27. package/dist/cjs/styleconfig-CVRqArk-.js +23 -0
  28. package/dist/cjs/v-map-builder.cjs.entry.js +3786 -0
  29. package/dist/cjs/v-map-layer-geojson_12.cjs.entry.js +40894 -0
  30. package/dist/cjs/v-map-layer-helper-iAzxAg9I.js +285 -0
  31. package/dist/cjs/v-map-layer-terrain-geotiff.cjs.entry.js +258 -0
  32. package/dist/cjs/v-map-layercontrol.cjs.entry.js +247 -0
  33. package/dist/cjs/v-map.cjs.js +25 -0
  34. package/dist/cjs/v-map.v-map-layer-osm.v-map-layergroup-BsXp3BoL.js +582 -0
  35. package/dist/cjs/v-map_3.cjs.entry.js +12 -0
  36. package/dist/collection/collection-manifest.json +30 -0
  37. package/dist/collection/components/v-map/v-map.css +3 -0
  38. package/dist/collection/components/v-map/v-map.js +467 -0
  39. package/dist/collection/components/v-map/v-map.test.js +33 -0
  40. package/dist/collection/components/v-map-builder/v-map-builder.css +1 -0
  41. package/dist/collection/components/v-map-builder/v-map-builder.js +913 -0
  42. package/dist/collection/components/v-map-builder/v-map-builder.test.js +56 -0
  43. package/dist/collection/components/v-map-layer-geojson/v-map-layer-geojson.js +862 -0
  44. package/dist/collection/components/v-map-layer-geojson/v-map-layer-geojson.test.js +42 -0
  45. package/dist/collection/components/v-map-layer-geotiff/v-map-layer-geotiff.css +4 -0
  46. package/dist/collection/components/v-map-layer-geotiff/v-map-layer-geotiff.js +500 -0
  47. package/dist/collection/components/v-map-layer-geotiff/v-map-layer-geotiff.test.js +38 -0
  48. package/dist/collection/components/v-map-layer-google/v-map-layer-google.css +1 -0
  49. package/dist/collection/components/v-map-layer-google/v-map-layer-google.js +442 -0
  50. package/dist/collection/components/v-map-layer-osm/error-api.test.js +108 -0
  51. package/dist/collection/components/v-map-layer-osm/v-map-layer-osm.css +4 -0
  52. package/dist/collection/components/v-map-layer-osm/v-map-layer-osm.js +311 -0
  53. package/dist/collection/components/v-map-layer-osm/v-map-layer-osm.test.js +36 -0
  54. package/dist/collection/components/v-map-layer-scatterplot/v-map-layer-scatterplot.css +1 -0
  55. package/dist/collection/components/v-map-layer-scatterplot/v-map-layer-scatterplot.js +305 -0
  56. package/dist/collection/components/v-map-layer-terrain/v-map-layer-terrain.css +3 -0
  57. package/dist/collection/components/v-map-layer-terrain/v-map-layer-terrain.js +548 -0
  58. package/dist/collection/components/v-map-layer-terrain/v-map-layer-terrain.test.js +36 -0
  59. package/dist/collection/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.css +3 -0
  60. package/dist/collection/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.js +735 -0
  61. package/dist/collection/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.test.js +42 -0
  62. package/dist/collection/components/v-map-layer-tile3d/v-map-layer-tile3d.css +3 -0
  63. package/dist/collection/components/v-map-layer-tile3d/v-map-layer-tile3d.js +449 -0
  64. package/dist/collection/components/v-map-layer-tile3d/v-map-layer-tile3d.test.js +50 -0
  65. package/dist/collection/components/v-map-layer-wcs/v-map-layer-wcs.css +1 -0
  66. package/dist/collection/components/v-map-layer-wcs/v-map-layer-wcs.js +448 -0
  67. package/dist/collection/components/v-map-layer-wcs/v-map-layer-wcs.test.js +39 -0
  68. package/dist/collection/components/v-map-layer-wfs/v-map-layer-wfs.css +1 -0
  69. package/dist/collection/components/v-map-layer-wfs/v-map-layer-wfs.js +489 -0
  70. package/dist/collection/components/v-map-layer-wfs/v-map-layer-wfs.test.js +43 -0
  71. package/dist/collection/components/v-map-layer-wkt/v-map-layer-wkt.css +1 -0
  72. package/dist/collection/components/v-map-layer-wkt/v-map-layer-wkt.js +811 -0
  73. package/dist/collection/components/v-map-layer-wkt/v-map-layer-wkt.test.js +34 -0
  74. package/dist/collection/components/v-map-layer-wms/v-map-layer-wms.css +1 -0
  75. package/dist/collection/components/v-map-layer-wms/v-map-layer-wms.js +453 -0
  76. package/dist/collection/components/v-map-layer-wms/v-map-layer-wms.test.js +36 -0
  77. package/dist/collection/components/v-map-layer-xyz/v-map-layer-xyz.css +1 -0
  78. package/dist/collection/components/v-map-layer-xyz/v-map-layer-xyz.js +331 -0
  79. package/dist/collection/components/v-map-layer-xyz/v-map-layer-xyz.test.js +28 -0
  80. package/dist/collection/components/v-map-layercontrol/v-map-layercontrol.css +74 -0
  81. package/dist/collection/components/v-map-layercontrol/v-map-layercontrol.js +277 -0
  82. package/dist/collection/components/v-map-layercontrol/v-map-layercontrol.test.js +134 -0
  83. package/dist/collection/components/v-map-layergroup/v-map-layergroup.css +4 -0
  84. package/dist/collection/components/v-map-layergroup/v-map-layergroup.js +212 -0
  85. package/dist/collection/components/v-map-layergroup/v-map-layergroup.test.js +39 -0
  86. package/dist/collection/components/v-map-style/v-map-style.css +38 -0
  87. package/dist/collection/components/v-map-style/v-map-style.js +492 -0
  88. package/dist/collection/components/v-map-style/v-map-style.unit.js +62 -0
  89. package/dist/collection/index.js +1 -0
  90. package/dist/collection/layer/v-map-layer-helper.js +281 -0
  91. package/dist/collection/layer/v-map-layer-helper.unit.js +234 -0
  92. package/dist/collection/lib/cesium-loader.js +58 -0
  93. package/dist/collection/lib/ensure-importmap.js +12 -0
  94. package/dist/collection/lib/ensure-importmap.unit.js +57 -0
  95. package/dist/collection/lib/versions.gen.js +6 -0
  96. package/dist/collection/lib/vstyle.js +8 -0
  97. package/dist/collection/map-provider/cesium/CesiumGeoTIFFTerrainProvider.js +285 -0
  98. package/dist/collection/map-provider/cesium/CesiumLayerGroups.js +159 -0
  99. package/dist/collection/map-provider/cesium/GeoTIFFImageryProvider.js +192 -0
  100. package/dist/collection/map-provider/cesium/GeoTIFFImageryProvider.test.js +57 -0
  101. package/dist/collection/map-provider/cesium/cesium-provider.js +1408 -0
  102. package/dist/collection/map-provider/cesium/i-layer.js +1 -0
  103. package/dist/collection/map-provider/cesium/layer-manager.js +467 -0
  104. package/dist/collection/map-provider/deck/DeckGLGeoTIFFLayer.js +483 -0
  105. package/dist/collection/map-provider/deck/DeckGLGeoTIFFTerrainLayer.js +410 -0
  106. package/dist/collection/map-provider/deck/LayerGroupWithModel.js +169 -0
  107. package/dist/collection/map-provider/deck/LayerGroups.js +192 -0
  108. package/dist/collection/map-provider/deck/LayerModel.js +1 -0
  109. package/dist/collection/map-provider/deck/RenderableGroup.js +1 -0
  110. package/dist/collection/map-provider/deck/deck-provider.js +1563 -0
  111. package/dist/collection/map-provider/geotiff/geotiff-source.js +172 -0
  112. package/dist/collection/map-provider/geotiff/utils/AABB2D.js +24 -0
  113. package/dist/collection/map-provider/geotiff/utils/BVHNode2D.js +166 -0
  114. package/dist/collection/map-provider/geotiff/utils/GeoTIFFTileProcessor.js +484 -0
  115. package/dist/collection/map-provider/geotiff/utils/Triangle.js +1 -0
  116. package/dist/collection/map-provider/geotiff/utils/Triangulation.js +321 -0
  117. package/dist/collection/map-provider/geotiff/utils/colormap-utils.js +190 -0
  118. package/dist/collection/map-provider/geotiff/utils/normalization-utils.js +122 -0
  119. package/dist/collection/map-provider/geotiff/utils/sampling-utils.js +108 -0
  120. package/dist/collection/map-provider/leaflet/GeoTIFFGridLayer.js +147 -0
  121. package/dist/collection/map-provider/leaflet/WCSGridLayer.js +124 -0
  122. package/dist/collection/map-provider/leaflet/google-map-tiles-layer.js +352 -0
  123. package/dist/collection/map-provider/leaflet/leaflet-helpers.js +94 -0
  124. package/dist/collection/map-provider/leaflet/leaflet-provider.js +1095 -0
  125. package/dist/collection/map-provider/ol/CustomGeoTiff.js +145 -0
  126. package/dist/collection/map-provider/ol/openlayers-helper.js +26 -0
  127. package/dist/collection/map-provider/ol/openlayers-provider.js +1427 -0
  128. package/dist/collection/map-provider/provider-factory.js +44 -0
  129. package/dist/collection/map-provider/provider-factory.unit.js +66 -0
  130. package/dist/collection/testing/browser-test-utils.js +49 -0
  131. package/dist/collection/testing/e2e-testing.js +122 -0
  132. package/dist/collection/testing/e2e-utils.js +70 -0
  133. package/dist/collection/testing/geotiff-test-server.js +100 -0
  134. package/dist/collection/testing/mocks/geostyler-lyrx-parser.js +12 -0
  135. package/dist/collection/testing/mocks/geostyler-mapbox-parser.js +12 -0
  136. package/dist/collection/testing/mocks/geostyler-qgis-parser.js +12 -0
  137. package/dist/collection/testing/mocks/geostyler-sld-parser.js +13 -0
  138. package/dist/collection/testing/mocks/geostyler-style.js +5 -0
  139. package/dist/collection/testing/setupTests.browser.js +1 -0
  140. package/dist/collection/testing/setupTests.stencil.js +20 -0
  141. package/dist/collection/testing/setupTests.vitest.js +59 -0
  142. package/dist/collection/testing/stencil-testing-wrapper.js +43 -0
  143. package/dist/collection/testing/styleMock.js +1 -0
  144. package/dist/collection/types/color.js +1 -0
  145. package/dist/collection/types/cssmode.js +1 -0
  146. package/dist/collection/types/flavour.js +1 -0
  147. package/dist/collection/types/layerconfig.js +1 -0
  148. package/dist/collection/types/lonlat.js +1 -0
  149. package/dist/collection/types/mapinitoptions.js +1 -0
  150. package/dist/collection/types/mapprovider.js +1 -0
  151. package/dist/collection/types/provideroptions.js +1 -0
  152. package/dist/collection/types/styleconfig.js +19 -0
  153. package/dist/collection/types/styling.js +13 -0
  154. package/dist/collection/types/styling.unit.js +37 -0
  155. package/dist/collection/types/vmaplayer.js +1 -0
  156. package/dist/collection/utils/async-mutex.js +28 -0
  157. package/dist/collection/utils/diff.js +142 -0
  158. package/dist/collection/utils/diff.unit.js +59 -0
  159. package/dist/collection/utils/dom-env.js +43 -0
  160. package/dist/collection/utils/dom-env.unit.js +92 -0
  161. package/dist/collection/utils/events.js +8 -0
  162. package/dist/collection/utils/logger.js +183 -0
  163. package/dist/collection/utils/logger.unit.js +98 -0
  164. package/dist/collection/utils/messages.js +12 -0
  165. package/dist/collection/utils/spatial-utils.js +27 -0
  166. package/dist/collection/utils/spatial-utils.unit.js +24 -0
  167. package/dist/components/_commonjsHelpers.js +1 -0
  168. package/dist/components/cesium-provider.js +1 -0
  169. package/dist/components/deck-provider.js +1 -0
  170. package/dist/components/events.js +1 -0
  171. package/dist/components/geotiff-source.js +1 -0
  172. package/dist/components/geotiff.js +4 -0
  173. package/dist/components/index.browser.js +15 -0
  174. package/dist/components/index.d.ts +35 -0
  175. package/dist/components/index.js +1 -0
  176. package/dist/components/index2.js +1 -0
  177. package/dist/components/index3.js +1 -0
  178. package/dist/components/index4.js +1 -0
  179. package/dist/components/index5.js +1 -0
  180. package/dist/components/index6.js +1 -0
  181. package/dist/components/index7.js +1 -0
  182. package/dist/components/index8.js +7 -0
  183. package/dist/components/layer-extension.js +1 -0
  184. package/dist/components/leaflet-provider.js +1 -0
  185. package/dist/components/main-dist.js +1 -0
  186. package/dist/components/messages.js +1 -0
  187. package/dist/components/openlayers-provider.js +1 -0
  188. package/dist/components/polygon-layer.js +1 -0
  189. package/dist/components/scenegraph-layer.js +1 -0
  190. package/dist/components/styleconfig.js +1 -0
  191. package/dist/components/styling.js +1 -0
  192. package/dist/components/v-map-builder.d.ts +11 -0
  193. package/dist/components/v-map-builder.js +2 -0
  194. package/dist/components/v-map-layer-geojson.d.ts +11 -0
  195. package/dist/components/v-map-layer-geojson.js +1 -0
  196. package/dist/components/v-map-layer-geojson2.js +1 -0
  197. package/dist/components/v-map-layer-geotiff.d.ts +11 -0
  198. package/dist/components/v-map-layer-geotiff.js +1 -0
  199. package/dist/components/v-map-layer-geotiff2.js +1 -0
  200. package/dist/components/v-map-layer-google.d.ts +11 -0
  201. package/dist/components/v-map-layer-google.js +1 -0
  202. package/dist/components/v-map-layer-google2.js +1 -0
  203. package/dist/components/v-map-layer-helper.js +1 -0
  204. package/dist/components/v-map-layer-osm.d.ts +11 -0
  205. package/dist/components/v-map-layer-osm.js +1 -0
  206. package/dist/components/v-map-layer-osm2.js +1 -0
  207. package/dist/components/v-map-layer-scatterplot.d.ts +11 -0
  208. package/dist/components/v-map-layer-scatterplot.js +1 -0
  209. package/dist/components/v-map-layer-scatterplot2.js +1 -0
  210. package/dist/components/v-map-layer-terrain-geotiff.d.ts +11 -0
  211. package/dist/components/v-map-layer-terrain-geotiff.js +1 -0
  212. package/dist/components/v-map-layer-terrain.d.ts +11 -0
  213. package/dist/components/v-map-layer-terrain.js +1 -0
  214. package/dist/components/v-map-layer-terrain2.js +1 -0
  215. package/dist/components/v-map-layer-tile3d.d.ts +11 -0
  216. package/dist/components/v-map-layer-tile3d.js +1 -0
  217. package/dist/components/v-map-layer-tile3d2.js +1 -0
  218. package/dist/components/v-map-layer-wcs.d.ts +11 -0
  219. package/dist/components/v-map-layer-wcs.js +1 -0
  220. package/dist/components/v-map-layer-wcs2.js +1 -0
  221. package/dist/components/v-map-layer-wfs.d.ts +11 -0
  222. package/dist/components/v-map-layer-wfs.js +1 -0
  223. package/dist/components/v-map-layer-wfs2.js +1 -0
  224. package/dist/components/v-map-layer-wkt.d.ts +11 -0
  225. package/dist/components/v-map-layer-wkt.js +1 -0
  226. package/dist/components/v-map-layer-wkt2.js +1 -0
  227. package/dist/components/v-map-layer-wms.d.ts +11 -0
  228. package/dist/components/v-map-layer-wms.js +1 -0
  229. package/dist/components/v-map-layer-wms2.js +1 -0
  230. package/dist/components/v-map-layer-xyz.d.ts +11 -0
  231. package/dist/components/v-map-layer-xyz.js +1 -0
  232. package/dist/components/v-map-layer-xyz2.js +1 -0
  233. package/dist/components/v-map-layercontrol.d.ts +11 -0
  234. package/dist/components/v-map-layercontrol.js +1 -0
  235. package/dist/components/v-map-layergroup.d.ts +11 -0
  236. package/dist/components/v-map-layergroup.js +1 -0
  237. package/dist/components/v-map-layergroup2.js +1 -0
  238. package/dist/components/v-map-style.d.ts +11 -0
  239. package/dist/components/v-map-style.js +1 -0
  240. package/dist/components/v-map-style2.js +10 -0
  241. package/dist/components/v-map.d.ts +11 -0
  242. package/dist/components/v-map.js +1 -0
  243. package/dist/components/v-map2.js +1 -0
  244. package/dist/esm/_commonjsHelpers-E-ZsRS8r.js +32 -0
  245. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  246. package/dist/esm/cesium-provider-BJfAup3w.js +2596 -0
  247. package/dist/esm/deck-provider-C7U9VDEq.js +47709 -0
  248. package/dist/esm/geotiff-BEWxTIfH.js +45 -0
  249. package/dist/esm/geotiff-source-esnDnC-u.js +1516 -0
  250. package/dist/esm/index-B1zwA4IC.js +685 -0
  251. package/dist/esm/index-BBpiaTpT.js +165 -0
  252. package/dist/esm/index-BIEmlzCf.js +1697 -0
  253. package/dist/esm/index-BUHa4Jj0.js +307 -0
  254. package/dist/esm/index-DbSdn93t.js +20461 -0
  255. package/dist/esm/index-RpJarvr_.js +10656 -0
  256. package/dist/esm/index-jN06TXUp.js +14 -0
  257. package/dist/esm/index-jzneDarq.js +1613 -0
  258. package/dist/esm/index.browser-DhQAXuA7.js +6860 -0
  259. package/dist/esm/index.js +1 -0
  260. package/dist/esm/layer-extension-CZXK5goK.js +63 -0
  261. package/dist/esm/leaflet-provider-Q41TB6ku.js +1794 -0
  262. package/dist/esm/loader.js +11 -0
  263. package/dist/esm/main-dist-CwnA7_Xn.js +2652 -0
  264. package/dist/esm/messages-CMKJzsgL.js +180 -0
  265. package/dist/esm/openlayers-provider-CMsDsQTQ.js +1602 -0
  266. package/dist/esm/polygon-layer-ByhxGhWC.js +1295 -0
  267. package/dist/esm/scenegraph-layer-09K_B6DT.js +2526 -0
  268. package/dist/esm/styleconfig-B-bAcABs.js +21 -0
  269. package/dist/esm/v-map-builder.entry.js +3784 -0
  270. package/dist/esm/v-map-layer-geojson_12.entry.js +40881 -0
  271. package/dist/esm/v-map-layer-helper-Dys44Cgo.js +283 -0
  272. package/dist/esm/v-map-layer-terrain-geotiff.entry.js +256 -0
  273. package/dist/esm/v-map-layercontrol.entry.js +245 -0
  274. package/dist/esm/v-map.js +21 -0
  275. package/dist/esm/v-map.v-map-layer-osm.v-map-layergroup-B4pFHuSf.js +572 -0
  276. package/dist/esm/v-map_3.entry.js +4 -0
  277. package/dist/index.cjs.js +1 -0
  278. package/dist/index.js +1 -0
  279. package/dist/types/cesium-augment.d.ts +5 -0
  280. package/dist/types/components/v-map/v-map.d.ts +70 -0
  281. package/dist/types/components/v-map/v-map.test.d.ts +1 -0
  282. package/dist/types/components/v-map-builder/v-map-builder.d.ts +48 -0
  283. package/dist/types/components/v-map-builder/v-map-builder.test.d.ts +1 -0
  284. package/dist/types/components/v-map-layer-geojson/v-map-layer-geojson.d.ts +129 -0
  285. package/dist/types/components/v-map-layer-geojson/v-map-layer-geojson.test.d.ts +1 -0
  286. package/dist/types/components/v-map-layer-geotiff/v-map-layer-geotiff.d.ts +74 -0
  287. package/dist/types/components/v-map-layer-geotiff/v-map-layer-geotiff.test.d.ts +1 -0
  288. package/dist/types/components/v-map-layer-google/v-map-layer-google.d.ts +78 -0
  289. package/dist/types/components/v-map-layer-osm/error-api.test.d.ts +1 -0
  290. package/dist/types/components/v-map-layer-osm/v-map-layer-osm.d.ts +50 -0
  291. package/dist/types/components/v-map-layer-osm/v-map-layer-osm.test.d.ts +1 -0
  292. package/dist/types/components/v-map-layer-scatterplot/v-map-layer-scatterplot.d.ts +54 -0
  293. package/dist/types/components/v-map-layer-terrain/v-map-layer-terrain.d.ts +74 -0
  294. package/dist/types/components/v-map-layer-terrain/v-map-layer-terrain.test.d.ts +1 -0
  295. package/dist/types/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.d.ts +117 -0
  296. package/dist/types/components/v-map-layer-terrain-geotiff/v-map-layer-terrain-geotiff.test.d.ts +1 -0
  297. package/dist/types/components/v-map-layer-tile3d/v-map-layer-tile3d.d.ts +69 -0
  298. package/dist/types/components/v-map-layer-tile3d/v-map-layer-tile3d.test.d.ts +1 -0
  299. package/dist/types/components/v-map-layer-wcs/v-map-layer-wcs.d.ts +47 -0
  300. package/dist/types/components/v-map-layer-wcs/v-map-layer-wcs.test.d.ts +1 -0
  301. package/dist/types/components/v-map-layer-wfs/v-map-layer-wfs.d.ts +59 -0
  302. package/dist/types/components/v-map-layer-wfs/v-map-layer-wfs.test.d.ts +1 -0
  303. package/dist/types/components/v-map-layer-wkt/v-map-layer-wkt.d.ts +132 -0
  304. package/dist/types/components/v-map-layer-wkt/v-map-layer-wkt.test.d.ts +1 -0
  305. package/dist/types/components/v-map-layer-wms/v-map-layer-wms.d.ts +76 -0
  306. package/dist/types/components/v-map-layer-wms/v-map-layer-wms.test.d.ts +1 -0
  307. package/dist/types/components/v-map-layer-xyz/v-map-layer-xyz.d.ts +59 -0
  308. package/dist/types/components/v-map-layer-xyz/v-map-layer-xyz.test.d.ts +1 -0
  309. package/dist/types/components/v-map-layercontrol/v-map-layercontrol.d.ts +44 -0
  310. package/dist/types/components/v-map-layercontrol/v-map-layercontrol.test.d.ts +1 -0
  311. package/dist/types/components/v-map-layergroup/v-map-layergroup.d.ts +31 -0
  312. package/dist/types/components/v-map-layergroup/v-map-layergroup.test.d.ts +1 -0
  313. package/dist/types/components/v-map-style/v-map-style.d.ts +75 -0
  314. package/dist/types/components/v-map-style/v-map-style.unit.d.ts +1 -0
  315. package/dist/types/components.d.ts +2391 -0
  316. package/dist/types/globals.d.ts +16 -0
  317. package/dist/types/index.d.ts +10 -0
  318. package/dist/types/layer/v-map-layer-helper.d.ts +45 -0
  319. package/dist/types/layer/v-map-layer-helper.unit.d.ts +1 -0
  320. package/dist/types/leaflet-augment.d.ts +15 -0
  321. package/dist/types/lib/cesium-loader.d.ts +3 -0
  322. package/dist/types/lib/ensure-importmap.d.ts +3 -0
  323. package/dist/types/lib/ensure-importmap.unit.d.ts +1 -0
  324. package/dist/types/lib/versions.gen.d.ts +5 -0
  325. package/dist/types/lib/vstyle.d.ts +44 -0
  326. package/dist/types/map-provider/cesium/CesiumGeoTIFFTerrainProvider.d.ts +92 -0
  327. package/dist/types/map-provider/cesium/CesiumLayerGroups.d.ts +64 -0
  328. package/dist/types/map-provider/cesium/GeoTIFFImageryProvider.d.ts +75 -0
  329. package/dist/types/map-provider/cesium/GeoTIFFImageryProvider.test.d.ts +1 -0
  330. package/dist/types/map-provider/cesium/cesium-provider.d.ts +87 -0
  331. package/dist/types/map-provider/cesium/i-layer.d.ts +11 -0
  332. package/dist/types/map-provider/cesium/layer-manager.d.ts +31 -0
  333. package/dist/types/map-provider/deck/DeckGLGeoTIFFLayer.d.ts +91 -0
  334. package/dist/types/map-provider/deck/DeckGLGeoTIFFTerrainLayer.d.ts +82 -0
  335. package/dist/types/map-provider/deck/LayerGroupWithModel.d.ts +55 -0
  336. package/dist/types/map-provider/deck/LayerGroups.d.ts +63 -0
  337. package/dist/types/map-provider/deck/LayerModel.d.ts +8 -0
  338. package/dist/types/map-provider/deck/RenderableGroup.d.ts +20 -0
  339. package/dist/types/map-provider/deck/deck-provider.d.ts +92 -0
  340. package/dist/types/map-provider/geotiff/geotiff-source.d.ts +30 -0
  341. package/dist/types/map-provider/geotiff/utils/AABB2D.d.ts +28 -0
  342. package/dist/types/map-provider/geotiff/utils/BVHNode2D.d.ts +36 -0
  343. package/dist/types/map-provider/geotiff/utils/GeoTIFFTileProcessor.d.ts +116 -0
  344. package/dist/types/map-provider/geotiff/utils/Triangle.d.ts +5 -0
  345. package/dist/types/map-provider/geotiff/utils/Triangulation.d.ts +94 -0
  346. package/dist/types/map-provider/geotiff/utils/colormap-utils.d.ts +47 -0
  347. package/dist/types/map-provider/geotiff/utils/normalization-utils.d.ts +39 -0
  348. package/dist/types/map-provider/geotiff/utils/sampling-utils.d.ts +13 -0
  349. package/dist/types/map-provider/leaflet/GeoTIFFGridLayer.d.ts +34 -0
  350. package/dist/types/map-provider/leaflet/WCSGridLayer.d.ts +38 -0
  351. package/dist/types/map-provider/leaflet/google-map-tiles-layer.d.ts +73 -0
  352. package/dist/types/map-provider/leaflet/leaflet-helpers.d.ts +6 -0
  353. package/dist/types/map-provider/leaflet/leaflet-provider.d.ts +73 -0
  354. package/dist/types/map-provider/ol/CustomGeoTiff.d.ts +14 -0
  355. package/dist/types/map-provider/ol/openlayers-helper.d.ts +2 -0
  356. package/dist/types/map-provider/ol/openlayers-provider.d.ts +80 -0
  357. package/dist/types/map-provider/provider-factory.d.ts +12 -0
  358. package/dist/types/map-provider/provider-factory.unit.d.ts +1 -0
  359. package/dist/types/namespaces.d.ts +3 -0
  360. package/dist/types/ol-augment.d.ts +3 -0
  361. package/dist/types/ol-override.d.ts +7 -0
  362. package/dist/types/ol.d.ts +10 -0
  363. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  364. package/dist/types/testing/browser-test-utils.d.ts +6 -0
  365. package/dist/types/testing/e2e-testing.d.ts +5 -0
  366. package/dist/types/testing/e2e-utils.d.ts +4 -0
  367. package/dist/types/testing/geotiff-test-server.d.ts +5 -0
  368. package/dist/types/testing/mocks/geostyler-lyrx-parser.d.ts +11 -0
  369. package/dist/types/testing/mocks/geostyler-mapbox-parser.d.ts +11 -0
  370. package/dist/types/testing/mocks/geostyler-qgis-parser.d.ts +11 -0
  371. package/dist/types/testing/mocks/geostyler-sld-parser.d.ts +11 -0
  372. package/dist/types/testing/mocks/geostyler-style.d.ts +5 -0
  373. package/dist/types/testing/setupTests.browser.d.ts +1 -0
  374. package/dist/types/testing/setupTests.stencil.d.ts +1 -0
  375. package/dist/types/testing/setupTests.vitest.d.ts +1 -0
  376. package/dist/types/testing/stencil-testing-wrapper.d.ts +3 -0
  377. package/dist/types/types/color.d.ts +1 -0
  378. package/dist/types/types/cssmode.d.ts +1 -0
  379. package/dist/types/types/flavour.d.ts +1 -0
  380. package/dist/types/types/layerconfig.d.ts +207 -0
  381. package/dist/types/types/lonlat.d.ts +1 -0
  382. package/dist/types/types/mapinitoptions.d.ts +4 -0
  383. package/dist/types/types/mapprovider.d.ts +46 -0
  384. package/dist/types/types/provideroptions.d.ts +8 -0
  385. package/dist/types/types/styleconfig.d.ts +27 -0
  386. package/dist/types/types/styling.d.ts +24 -0
  387. package/dist/types/types/styling.unit.d.ts +1 -0
  388. package/dist/types/types/vmaplayer.d.ts +10 -0
  389. package/dist/types/utils/async-mutex.d.ts +7 -0
  390. package/dist/types/utils/diff.d.ts +64 -0
  391. package/dist/types/utils/diff.unit.d.ts +1 -0
  392. package/dist/types/utils/dom-env.d.ts +5 -0
  393. package/dist/types/utils/dom-env.unit.d.ts +1 -0
  394. package/dist/types/utils/events.d.ts +29 -0
  395. package/dist/types/utils/logger.d.ts +47 -0
  396. package/dist/types/utils/logger.unit.d.ts +1 -0
  397. package/dist/types/utils/messages.d.ts +12 -0
  398. package/dist/types/utils/spatial-utils.d.ts +6 -0
  399. package/dist/types/utils/spatial-utils.unit.d.ts +1 -0
  400. package/dist/types/versions.d.ts +7 -0
  401. package/dist/v-map/index.esm.js +0 -0
  402. package/dist/v-map/p--vVleK-M.js +1 -0
  403. package/dist/v-map/p-09d10db0.entry.js +1 -0
  404. package/dist/v-map/p-5eba6058.entry.js +10 -0
  405. package/dist/v-map/p-6b102336.entry.js +1 -0
  406. package/dist/v-map/p-B-bAcABs.js +1 -0
  407. package/dist/v-map/p-BBpiaTpT.js +1 -0
  408. package/dist/v-map/p-BdijL4Av.js +1 -0
  409. package/dist/v-map/p-Be3r33VF.js +4 -0
  410. package/dist/v-map/p-BeFu0ap4.js +1 -0
  411. package/dist/v-map/p-BxFJezdK.js +1 -0
  412. package/dist/v-map/p-CMKJzsgL.js +1 -0
  413. package/dist/v-map/p-CXfA_q8m.js +1 -0
  414. package/dist/v-map/p-CZqY0yW4.js +1 -0
  415. package/dist/v-map/p-CafTHT9i.js +1 -0
  416. package/dist/v-map/p-DCTHyf58.js +1 -0
  417. package/dist/v-map/p-DQuL1Twl.js +1 -0
  418. package/dist/v-map/p-DR9McdNX.js +1 -0
  419. package/dist/v-map/p-Dckgonw8.js +1 -0
  420. package/dist/v-map/p-DhQAXuA7.js +15 -0
  421. package/dist/v-map/p-DmICdG34.js +7 -0
  422. package/dist/v-map/p-DrOQ9V4h.js +1 -0
  423. package/dist/v-map/p-DvHXtWUg.js +1 -0
  424. package/dist/v-map/p-E-ZsRS8r.js +1 -0
  425. package/dist/v-map/p-MyTSFnEk.js +1 -0
  426. package/dist/v-map/p-RpJarvr_.js +1 -0
  427. package/dist/v-map/p-WaMDUuAz.js +1 -0
  428. package/dist/v-map/p-aa410e64.entry.js +2 -0
  429. package/dist/v-map/p-c21c93fe.entry.js +1 -0
  430. package/dist/v-map/p-jzneDarq.js +2 -0
  431. package/dist/v-map/p-uiIP-taz.js +1 -0
  432. package/dist/v-map/v-map.esm.js +1 -0
  433. package/loader/cdn.js +1 -0
  434. package/loader/index.cjs.js +1 -0
  435. package/loader/index.d.ts +24 -0
  436. package/loader/index.es2017.js +1 -0
  437. package/loader/index.js +2 -0
  438. package/package.json +193 -0
@@ -0,0 +1,16 @@
1
+ import type { CesiumNS, OlNS } from './namespaces';
2
+
3
+ // Fix for OpenLayers PaletteTexture TypeScript compatibility issue
4
+ declare module "ol/webgl/PaletteTexture" {
5
+ export interface PaletteTexture {
6
+ name: string;
7
+ data: Uint8Array; // Fixed: removed generic <ArrayBufferLike>
8
+ }
9
+ }
10
+
11
+ declare global {
12
+ // weil du per <script> lädst:
13
+ var Cesium: CesiumNS | undefined; // globalThis.Cesium
14
+ var ol: OlNS | undefined; // globalThis.ol (falls genutzt)
15
+ }
16
+ export {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview entry point for your component library
3
+ *
4
+ * This is the entry point for your component library. Use this file to export utilities,
5
+ * constants or data structure that accompany your components.
6
+ *
7
+ * DO NOT use this file to export your components. Instead, use the recommended approaches
8
+ * to consume components of this package as outlined in the `README.md`.
9
+ */
10
+ export type * from './components.d.ts';
@@ -0,0 +1,45 @@
1
+ import type { LayerConfig } from '../types/layerconfig';
2
+ import { type VMapErrorDetail } from '../utils/events';
3
+ import type { MapProvider, LayerUpdate } from '../types/mapprovider';
4
+ export interface VMapErrorHost {
5
+ /** Called by the helper to set the component load state */
6
+ setLoadState(state: 'idle' | 'loading' | 'ready' | 'error'): void;
7
+ }
8
+ export declare class VMapLayerHelper {
9
+ private el;
10
+ private static readonly RUNTIME_ERROR_DEBOUNCE_MS;
11
+ private layerId;
12
+ private mapProvider;
13
+ private _error?;
14
+ private host?;
15
+ private initContext?;
16
+ private listenersBound;
17
+ private recreateInFlight;
18
+ private lastRuntimeErrorTime;
19
+ constructor(el: HTMLElement, host?: VMapErrorHost);
20
+ startLoading(): void;
21
+ markReady(): void;
22
+ markUpdated(): void;
23
+ setError(detail: VMapErrorDetail): void;
24
+ setRuntimeError(detail: VMapErrorDetail): void;
25
+ clearError(): void;
26
+ getError(): VMapErrorDetail | undefined;
27
+ private addLayer;
28
+ protected addToMapInternal(group: HTMLVMapLayergroupElement, vmap: HTMLVMapElement, createLayerConfig: () => LayerConfig, elementId?: string): Promise<void>;
29
+ private bindMapEventsOnce;
30
+ private readonly onMapProviderReady;
31
+ private readonly onMapProviderWillShutdown;
32
+ setVisible(visible: boolean): Promise<void>;
33
+ setOpacity(opacity: number): Promise<void>;
34
+ setZIndex(zIndex: number): Promise<void>;
35
+ updateLayer(update: LayerUpdate): Promise<void>;
36
+ recreateLayer(): Promise<void>;
37
+ initLayer(createLayerConfig: () => LayerConfig, elementId?: string): Promise<void>;
38
+ dispose(): Promise<void>;
39
+ getMapProvider(): MapProvider;
40
+ getLayerId(): string;
41
+ removeLayer(): Promise<void>;
42
+ private registerLayerError;
43
+ private unregisterLayerError;
44
+ private getVMap;
45
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ import 'leaflet';
2
+
3
+ declare module 'leaflet' {
4
+ interface Layer {
5
+ vmapVisible?: boolean;
6
+ vmapOpacity?: number;
7
+ layerElementId?: string;
8
+ }
9
+
10
+ interface LayerGroup<P = any> {
11
+ _groupId?: string;
12
+ visible?: boolean;
13
+ basemap?: boolean;
14
+ }
15
+ }
@@ -0,0 +1,3 @@
1
+ import type { CesiumNS } from '../../types/namespaces';
2
+ export declare function loadCesium(version?: "1.139.1"): Promise<CesiumNS>;
3
+ export declare function injectWidgetsCss(shadowRoot?: ShadowRoot): Promise<void>;
@@ -0,0 +1,3 @@
1
+ export declare function ensureImportMap({ allowOverride }?: {
2
+ allowOverride?: boolean;
3
+ }): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,5 @@
1
+ export declare const CESIUM_VERSION: "1.139.1";
2
+ export declare const OL_VERSION: "10.8.0";
3
+ export declare const LEAFLET_VERSION: "1.9.4";
4
+ export declare const DECK_VERSION: "9.2.11";
5
+ export declare const IMPORT_MAP_JSON: "{\n \"imports\": {\n \"ol/\": \"https://esm.sh/ol@10.8.0/\",\n \"ol\": \"https://esm.sh/ol@10.8.0\",\n \"leaflet\": \"https://esm.sh/leaflet@1.9.4\",\n \"deck\": \"https://esm.sh/deck@9.2.11\",\n \"@loaders.gl/core\": \"https://esm.sh/@loaders.gl/core@4.3.4\",\n \"@loaders.gl/3d-tiles\": \"https://esm.sh/@loaders.gl/3d-tiles@4.3.4\",\n \"@loaders.gl/gis\": \"https://esm.sh/@loaders.gl/gis@4.3.4\",\n \"@loaders.gl/gltf\": \"https://esm.sh/@loaders.gl/gltf@4.3.4\",\n \"@loaders.gl/images\": \"https://esm.sh/@loaders.gl/images@4.3.4\",\n \"@loaders.gl/loader-utils\": \"https://esm.sh/@loaders.gl/loader-utils@4.3.4\",\n \"@loaders.gl/mvt\": \"https://esm.sh/@loaders.gl/mvt@4.3.4\",\n \"@loaders.gl/schema\": \"https://esm.sh/@loaders.gl/schema@4.3.4\",\n \"@loaders.gl/terrain\": \"https://esm.sh/@loaders.gl/terrain@4.3.4\",\n \"@loaders.gl/textures\": \"https://esm.sh/@loaders.gl/textures@4.3.4\",\n \"@loaders.gl/tiles\": \"https://esm.sh/@loaders.gl/tiles@4.3.4\",\n \"@loaders.gl/wms\": \"https://esm.sh/@loaders.gl/wms@4.3.4\"\n }\n}";
@@ -0,0 +1,44 @@
1
+ export type Color = string | [number, number, number, number?];
2
+ export type Expr<T = unknown> = T | unknown[];
3
+ export type VStyleRule = {
4
+ when?: Expr<boolean>;
5
+ point?: {
6
+ radius?: Expr<number>;
7
+ fill?: Expr<Color>;
8
+ stroke?: {
9
+ color?: Expr<Color>;
10
+ width?: Expr<number>;
11
+ };
12
+ icon?: {
13
+ url: string;
14
+ size?: number;
15
+ anchor?: [number, number];
16
+ };
17
+ };
18
+ line?: {
19
+ color?: Expr<Color>;
20
+ width?: Expr<number>;
21
+ dasharray?: number[];
22
+ };
23
+ polygon?: {
24
+ fill?: Expr<Color>;
25
+ stroke?: {
26
+ color?: Expr<Color>;
27
+ width?: Expr<number>;
28
+ };
29
+ };
30
+ label?: {
31
+ text?: Expr<string>;
32
+ color?: Expr<Color>;
33
+ size?: Expr<number>;
34
+ halo?: {
35
+ color?: Expr<Color>;
36
+ width?: Expr<number>;
37
+ };
38
+ };
39
+ };
40
+ export type VStyle = {
41
+ rules: VStyleRule[];
42
+ vars?: Record<string, Color | number | string>;
43
+ };
44
+ export declare const VSTYLE_DEFAULT: VStyle;
@@ -0,0 +1,92 @@
1
+ type CesiumModule = typeof import('cesium');
2
+ import type { TerrainProvider, TilingScheme, TerrainData, Rectangle, Credit, TileAvailability, Event as CesiumEvent } from 'cesium';
3
+ export interface CesiumGeoTIFFTerrainProviderOptions {
4
+ url: string;
5
+ projection?: string;
6
+ forceProjection?: boolean;
7
+ nodata?: number;
8
+ Cesium: CesiumModule;
9
+ }
10
+ /**
11
+ * Custom Cesium Terrain Provider for GeoTIFF elevation data
12
+ *
13
+ * This provider loads a GeoTIFF file containing elevation data and provides
14
+ * it to Cesium's terrain system as a heightmap.
15
+ */
16
+ export declare class CesiumGeoTIFFTerrainProvider implements TerrainProvider {
17
+ private Cesium;
18
+ private image?;
19
+ private fromProjection;
20
+ private sourceBounds;
21
+ private wgs84Bounds;
22
+ private width;
23
+ private height;
24
+ private noDataValue;
25
+ private ready;
26
+ private _readyPromise;
27
+ private heightmapWidth;
28
+ private heightmapHeight;
29
+ private proj4;
30
+ tilingScheme: TilingScheme;
31
+ constructor(options: CesiumGeoTIFFTerrainProviderOptions);
32
+ private initialize;
33
+ /**
34
+ * Get the coverage rectangle in WGS84 coordinates
35
+ */
36
+ get rectangle(): Rectangle;
37
+ /**
38
+ * Request tile geometry for a specific tile
39
+ */
40
+ requestTileGeometry(x: number, y: number, level: number): Promise<TerrainData>;
41
+ /**
42
+ * Create a flat heightmap for tiles outside the GeoTIFF bounds
43
+ */
44
+ private createFlatHeightmap;
45
+ /**
46
+ * Get the availability of tiles
47
+ */
48
+ get availability(): TileAvailability | undefined;
49
+ /**
50
+ * Get the tiling scheme
51
+ */
52
+ getTilingScheme(): TilingScheme;
53
+ /**
54
+ * Get the maximum geometric error allowed at a specific level
55
+ * Required by Cesium's TerrainProvider interface
56
+ *
57
+ * The geometric error is the difference (in meters) between the actual terrain
58
+ * and the terrain approximation at this level. Higher levels have lower error.
59
+ */
60
+ getLevelMaximumGeometricError(level: number): number;
61
+ loadTileDataAvailability(_x: number, _y: number, _level: number): undefined | Promise<void>;
62
+ /**
63
+ * Check if tile data is available for a specific tile
64
+ * Required by Cesium's TerrainProvider interface
65
+ */
66
+ getTileDataAvailable(x: number, y: number, level: number): boolean | undefined;
67
+ /**
68
+ * Check if the provider is ready
69
+ */
70
+ get readyPromise(): Promise<boolean>;
71
+ /**
72
+ * Get the credit to display
73
+ */
74
+ get credit(): Credit;
75
+ /**
76
+ * Check if the provider has water mask
77
+ */
78
+ get hasWaterMask(): boolean;
79
+ /**
80
+ * Check if the provider has vertex normals
81
+ */
82
+ get hasVertexNormals(): boolean;
83
+ /**
84
+ * Get the error event
85
+ */
86
+ get errorEvent(): CesiumEvent<TerrainProvider.ErrorEvent>;
87
+ }
88
+ /**
89
+ * Factory function to create a CesiumGeoTIFFTerrainProvider
90
+ */
91
+ export declare function createCesiumGeoTIFFTerrainProvider(options: CesiumGeoTIFFTerrainProviderOptions): Promise<TerrainProvider>;
92
+ export {};
@@ -0,0 +1,64 @@
1
+ import type { Color } from 'cesium';
2
+ import { ILayer } from './i-layer';
3
+ export interface I3DTilesLayer extends ILayer {
4
+ setColor(color: string | Color, opacity?: number): void;
5
+ setStyle(style: Record<string, unknown>): void;
6
+ }
7
+ export type AnyLayer = ILayer | I3DTilesLayer;
8
+ interface CesiumLayerRef {
9
+ /** interne Layer-ID (dein layerId) */
10
+ id: string;
11
+ /** optionale Basemap-Key (z. B. "osm", "satellite") */
12
+ elementId?: string | null;
13
+ /** Wrapper aus LayerManager */
14
+ layer: AnyLayer;
15
+ }
16
+ /**
17
+ * Eine Gruppe verwaltet Sichtbarkeit & Basemap-Filter ihrer Cesium-Layer.
18
+ * - group.visible = false => Alle Layer der Gruppe unsichtbar.
19
+ * - group.basemap = "X" => Nur Layer mit elementId==="X" in der Gruppe sichtbar.
20
+ * - Der ursprüngliche Sichtbarkeitszustand jedes Layers wird gemerkt und bei
21
+ * Re-Aktivierung wiederhergestellt.
22
+ */
23
+ export declare class CesiumLayerGroup {
24
+ readonly id: string;
25
+ private _visible;
26
+ private _basemap;
27
+ private _layers;
28
+ private _originalVisible;
29
+ private _dirty;
30
+ constructor(id: string, visible?: boolean);
31
+ get visible(): boolean;
32
+ set visible(v: boolean);
33
+ get basemap(): string | null;
34
+ set basemap(b: string | null);
35
+ isDirty(): boolean;
36
+ addLayer(ref: CesiumLayerRef): void;
37
+ /** optional zum Nachziehen von elementId (z. B. wenn erst später bekannt) */
38
+ setLayerElementId(layerId: string, elementId?: string | null): void;
39
+ removeLayer(layerId: string): boolean;
40
+ clear(): void;
41
+ /** zentrale Logik: Basemap/Visibility anwenden */
42
+ apply(): void;
43
+ }
44
+ /**
45
+ * Root-Store für mehrere Cesium-Gruppen.
46
+ * - Ordnung/Z-Index übernimmst du weiterhin im LayerManager pro Layer.
47
+ * - Diese Klasse kümmert sich um Gruppensichtbarkeit & Basemap-Filter.
48
+ */
49
+ export declare class CesiumLayerGroups {
50
+ private _groups;
51
+ private _dirty;
52
+ get groups(): readonly CesiumLayerGroup[];
53
+ getGroup(id: string): CesiumLayerGroup | undefined;
54
+ hasGroup(id: string): boolean;
55
+ ensureGroup(id: string, visible?: boolean): CesiumLayerGroup;
56
+ addLayerToGroup(groupId: string, visible: boolean, ref: CesiumLayerRef): void;
57
+ removeLayer(layerId: string, removeFromAll?: boolean): boolean;
58
+ setGroupVisible(groupId: string, visible: boolean): void;
59
+ setBasemap(groupId: string, basemap: string | null): void;
60
+ /** Wendet alle Gruppenregeln an (sichtbar/basemap). */
61
+ apply(): void;
62
+ clear(): void;
63
+ }
64
+ export {};
@@ -0,0 +1,75 @@
1
+ import type { ColorStop } from '../geotiff/utils/colormap-utils';
2
+ import { GeoTIFFTileProcessor } from '../geotiff/utils/GeoTIFFTileProcessor';
3
+ type CesiumModule = typeof import('cesium');
4
+ import type { Credit, Event as CesiumEvent, ImageryProvider, Rectangle, TileDiscardPolicy, TilingScheme } from 'cesium';
5
+ export interface CesiumGeoTIFFImageryOptions {
6
+ Cesium: CesiumModule;
7
+ rectangleDegrees: [number, number, number, number];
8
+ tileProcessor: GeoTIFFTileProcessor;
9
+ tileSize: number;
10
+ resolution: number;
11
+ resampleMethod: 'near' | 'bilinear';
12
+ colorStops?: ColorStop[];
13
+ minimumLevel?: number;
14
+ maximumLevel?: number;
15
+ }
16
+ /**
17
+ * Custom ImageryProvider that renders GeoTIFF tiles on demand using
18
+ * the shared GeoTIFFTileProcessor (triangulation-based reprojection).
19
+ */
20
+ export declare class GeoTIFFImageryProvider implements ImageryProvider {
21
+ readonly tileWidth: number;
22
+ readonly tileHeight: number;
23
+ readonly tilingScheme: TilingScheme;
24
+ readonly rectangle: Rectangle;
25
+ readonly errorEvent: CesiumEvent;
26
+ readonly credit: Credit | undefined;
27
+ readonly tileDiscardPolicy: TileDiscardPolicy | undefined;
28
+ readonly proxy: undefined;
29
+ readonly hasAlphaChannel = true;
30
+ readonly minimumLevel: number;
31
+ readonly maximumLevel: number | undefined;
32
+ private readonly Cesium;
33
+ private readonly tileProcessor;
34
+ private readonly resolution;
35
+ private readonly resampleMethod;
36
+ private readonly colorStops?;
37
+ private readonly readyPromiseInternal;
38
+ ready: boolean;
39
+ constructor(options: CesiumGeoTIFFImageryOptions);
40
+ get tilingSchemeName(): string | undefined;
41
+ get readyPromise(): Promise<boolean>;
42
+ get tileCredits(): import('cesium').Credit[] | undefined;
43
+ getTileCredits(_x: number, _y: number, _level: number): import('cesium').Credit[] | undefined;
44
+ get url(): string | undefined;
45
+ /**
46
+ * Flips a canvas vertically (Y-axis inversion) for Cesium.
47
+ * Creates a new canvas with the flipped content.
48
+ *
49
+ * @param sourceCanvas - The canvas to flip
50
+ * @param width - Width of the canvas
51
+ * @param height - Height of the canvas
52
+ * @returns A new canvas with vertically flipped content, or the source canvas if flipping fails
53
+ */
54
+ private flipCanvasVertically;
55
+ /**
56
+ * Creates a flipped ImageBitmap from RGBA data.
57
+ * Uses ImageBitmap for better performance when available.
58
+ *
59
+ * @param rgbaData - The RGBA pixel data
60
+ * @param sampleSize - Size of the tile (width and height)
61
+ * @returns A flipped ImageBitmap, or undefined if creation fails
62
+ */
63
+ private createFlippedImageBitmap;
64
+ /**
65
+ * Creates a flipped image (ImageBitmap or Canvas) from RGBA data.
66
+ * Prefers ImageBitmap for better performance, falls back to Canvas.
67
+ *
68
+ * @param rgbaData - The RGBA pixel data
69
+ * @returns A flipped ImageBitmap or Canvas, or undefined if creation fails
70
+ */
71
+ private createFlippedImageFromRGBA;
72
+ requestImage(x: number, y: number, level: number): Promise<HTMLCanvasElement | ImageBitmap | undefined>;
73
+ pickFeatures(): undefined;
74
+ }
75
+ export {};
@@ -0,0 +1,87 @@
1
+ import type { MapProvider, LayerUpdate, LayerErrorCallback } from '../../types/mapprovider';
2
+ import type { ProviderOptions } from '../../types/provideroptions';
3
+ import type { LayerConfig } from '../../types/layerconfig';
4
+ import type { LonLat } from '../../types/lonlat';
5
+ export declare class CesiumProvider implements MapProvider {
6
+ private viewer;
7
+ private Cesium;
8
+ private layerManager;
9
+ private shadowRoot;
10
+ private layerGroups;
11
+ private layerManagerMutex;
12
+ private layerErrorCallbacks;
13
+ private layerErrorCleanups;
14
+ init(options: ProviderOptions): Promise<void>;
15
+ destroy(): Promise<void>;
16
+ private createLayer;
17
+ addLayerToGroup(layerConfig: LayerConfig): Promise<string>;
18
+ setBaseLayer(groupId: string, layerElementId: string): Promise<void>;
19
+ addBaseLayer(layerConfig: LayerConfig, basemapid: string, layerElementId: string): Promise<string>;
20
+ ensureGroup(groupId: string, visible: boolean, _opts?: {
21
+ basemapid?: string;
22
+ }): Promise<void>;
23
+ setGroupVisible(groupId: string, visible: boolean): Promise<void>;
24
+ onLayerError(layerId: string, callback: LayerErrorCallback): void;
25
+ offLayerError(layerId: string): void;
26
+ private attachCesiumErrorListeners;
27
+ removeLayer(layerId: string): Promise<void>;
28
+ setOpacity(layerId: string, opacity: number): Promise<void>;
29
+ setVisible(layerId: string, visible: boolean): Promise<void>;
30
+ setZIndex(layerId: string, zIndex: number): Promise<void>;
31
+ /**
32
+ * Apply Geostyler styling to a GeoJsonDataSource
33
+ */
34
+ private applyGeostylerStyling;
35
+ /**
36
+ * Convert CSS color to Cesium Color
37
+ */
38
+ private parseCesiumColor;
39
+ /**
40
+ * Apply opacity to Cesium color
41
+ */
42
+ private applyCesiumOpacity;
43
+ /**
44
+ * Create Cesium styling options from StyleConfig
45
+ */
46
+ private createCesiumStyle;
47
+ /**
48
+ * Apply enhanced styling to a GeoJsonDataSource
49
+ */
50
+ private applyEnhancedStyling;
51
+ private createWKTLayer;
52
+ private wktToGeoJSON;
53
+ private resolveWktText;
54
+ private createGeoJSONLayer;
55
+ private createWFSLayer;
56
+ private createOSMLayer;
57
+ private createGoogleLayer;
58
+ private getGoogleMapTypeId;
59
+ /**
60
+ * Load Google Maps JavaScript API
61
+ */
62
+ private loadGoogleMapsApi;
63
+ /**
64
+ * Add Google logo for compliance
65
+ */
66
+ private ensureGoogleLogo;
67
+ private createXYZLayer;
68
+ private createTerrainLayer;
69
+ /**
70
+ * Create GeoTIFF Terrain Layer
71
+ * Loads GeoTIFF elevation data and provides it as terrain
72
+ */
73
+ private createGeoTIFFTerrainLayer;
74
+ private addWMSLayer;
75
+ /**
76
+ * Create WCS (Web Coverage Service) ImageryLayer
77
+ * Supports WCS 2.0.1 (subset) and 1.x.x (BBOX) versions
78
+ */
79
+ private createWCSLayer;
80
+ private addArcGISLayer;
81
+ private createGeoTIFFLayer;
82
+ private createTile3DLayer;
83
+ updateLayer(layerId: string, update: LayerUpdate): Promise<void>;
84
+ setView(center: LonLat, zoom: number): Promise<void>;
85
+ private fetchWFSFromUrl;
86
+ private appendParams;
87
+ }
@@ -0,0 +1,11 @@
1
+ export interface ILayer {
2
+ getOptions(): Record<string, unknown>;
3
+ setOptions(options: Record<string, unknown>): void;
4
+ getVisible(): boolean;
5
+ setVisible(value: boolean): void;
6
+ getOpacity(): number;
7
+ setOpacity(value: number): void;
8
+ getZIndex(): number;
9
+ setZIndex(zIndex: number): Promise<void>;
10
+ remove(): void;
11
+ }
@@ -0,0 +1,31 @@
1
+ import type { Viewer, Cesium3DTileset, ImageryLayer, DataSource, Color, Cesium3DTileStyle, GeoJsonDataSource } from 'cesium';
2
+ import { ILayer } from './i-layer';
3
+ interface I3DTilesLayer extends ILayer {
4
+ setColor(color: string | Color, opacity?: number): void;
5
+ setStyle(style: Cesium3DTileStyle | Record<string, unknown>): void;
6
+ }
7
+ type CesiumModule = typeof import('cesium');
8
+ export declare class LayerManager {
9
+ private Cesium;
10
+ private layers;
11
+ private viewer;
12
+ constructor(Cesium: CesiumModule, viewer: Viewer);
13
+ replaceLayer<T extends GeoJsonDataSource | DataSource | Cesium3DTileset | ImageryLayer>(id: string, oldlayer: ILayer | I3DTilesLayer, layer: T): ILayer | I3DTilesLayer;
14
+ addLayer<T extends GeoJsonDataSource | DataSource | Cesium3DTileset | ImageryLayer>(id: string, layer: T): ILayer | I3DTilesLayer;
15
+ addCustomLayer(id: string, layer: ILayer | I3DTilesLayer): ILayer | I3DTilesLayer;
16
+ getLayer(layerId: string): ILayer | I3DTilesLayer;
17
+ getLayerById(layerId: string): ILayer | I3DTilesLayer;
18
+ removeLayer(layerId: string): void;
19
+ setVisible(layerId: string, visible: boolean): void;
20
+ setOpacity(layerId: string, opacity: number): void;
21
+ setZIndex(layerId: string, zindex: number): Promise<void>;
22
+ private wrapLayer;
23
+ private sortImageryLayers;
24
+ private sort3DTileSets;
25
+ private sortDataSources;
26
+ private sort;
27
+ private wrapImageryLayer;
28
+ private wrapTilesetLayer;
29
+ private wrapDataSourceLayer;
30
+ }
31
+ export {};
@@ -0,0 +1,91 @@
1
+ import type { Layer, LayerProps } from '@deck.gl/core';
2
+ import type { ColorMap as GeoStylerColorMap } from 'geostyler-style';
3
+ import { type ColorMapName } from '../geotiff/utils/colormap-utils';
4
+ export interface DeckGLGeoTIFFLayerProps extends LayerProps {
5
+ url: string;
6
+ /**
7
+ * Quell-Projektion des GeoTIFF (z. B. "EPSG:32632" oder proj4-String)
8
+ *
9
+ * Verwendung:
10
+ * 1. Wenn nicht angegeben: Projektion wird aus GeoTIFF GeoKeys gelesen
11
+ * 2. Wenn GeoKeys fehlen: Dieser Wert wird als Fallback verwendet
12
+ * 3. Wenn forceProjection=true: Überschreibt GeoKeys komplett
13
+ *
14
+ * Default fallback: 'EPSG:4326' (WGS84)
15
+ */
16
+ projection?: string;
17
+ /**
18
+ * Erzwingt die Verwendung der projection-Prop, ignoriert GeoKeys
19
+ *
20
+ * Nützlich wenn:
21
+ * - GeoTIFF falsche/fehlende Projektionsinformationen hat
22
+ * - Man die Projektion manuell überschreiben möchte
23
+ *
24
+ * Default: false
25
+ */
26
+ forceProjection?: boolean;
27
+ noDataValue?: number;
28
+ nullColor?: [number, number, number, number];
29
+ minZoom?: number;
30
+ maxZoom?: number;
31
+ tileSize?: number;
32
+ /**
33
+ * Sampling-Auflösung (0.0 - 1.0)
34
+ *
35
+ * - 1.0 = volle Auflösung (256x256 samples für 256x256 tile)
36
+ * - 0.5 = halbe Auflösung (128x128 samples, upscaled zu 256x256)
37
+ * - 0.25 = viertel Auflösung (64x64 samples, upscaled zu 256x256)
38
+ *
39
+ * Niedrigere Werte = schneller, aber weniger genau
40
+ * Default: 1.0
41
+ */
42
+ resolution?: number;
43
+ /**
44
+ * Resampling-Methode
45
+ *
46
+ * - 'near': Nearest Neighbor (schnellste, blockartig)
47
+ * - 'bilinear': Bilineare Interpolation (langsamer, glatter)
48
+ *
49
+ * Default: 'bilinear'
50
+ */
51
+ resampleMethod?: 'near' | 'bilinear';
52
+ /**
53
+ * ColorMap für Grayscale-Daten
54
+ *
55
+ * Unterstützt:
56
+ * 1. Vordefinierte Namen:
57
+ * - 'grayscale': Schwarz-Weiß (default)
58
+ * - 'viridis': Wissenschaftliche Farbskala (lila→gelb)
59
+ * - 'terrain': Terrain-Farben (blau→grün→braun→weiß)
60
+ * - 'turbo': Google Turbo (blau→grün→gelb→rot)
61
+ * - 'rainbow': Regenbogen
62
+ *
63
+ * 2. GeoStyler ColorMap (aus SLD via v-map-style):
64
+ * Wird automatisch vom styleReady Event übernommen
65
+ *
66
+ * Nur für Single-Band (Grayscale) Daten!
67
+ * RGB/RGBA Daten ignorieren diese Prop.
68
+ *
69
+ * Default: 'grayscale'
70
+ */
71
+ colorMap?: ColorMapName | GeoStylerColorMap;
72
+ /**
73
+ * Wertebereich für Normalisierung [min, max]
74
+ *
75
+ * Für Float32/Float64 Daten: Mappt Werte in diesem Bereich auf 0-1 für ColorMap
76
+ * - Werte < min → 0.0 (erste Farbe)
77
+ * - Werte > max → 1.0 (letzte Farbe)
78
+ * - Dazwischen → linear interpoliert
79
+ *
80
+ * Wenn nicht angegeben: Auto-detect aus Daten (kann langsam sein!)
81
+ *
82
+ * Beispiel: [0, 3000] für Höhendaten 0-3000m
83
+ */
84
+ valueRange?: [number, number];
85
+ /** Optional callback for tile load errors, wired by provider. */
86
+ onTileLoadError?: (err: Error) => void;
87
+ }
88
+ /**
89
+ * Factory-Funktion zum Erstellen eines DeckGLGeoTIFFLayer
90
+ */
91
+ export declare function createDeckGLGeoTIFFLayer(props: DeckGLGeoTIFFLayerProps): Promise<Layer>;