@vcmap/core 5.0.0-rc.9 → 5.0.1

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 (879) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +107 -33
  3. package/build/postinstall.js +65 -18
  4. package/dist/index.d.ts +176 -0
  5. package/dist/index.js +177 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/category/category.d.ts +85 -0
  8. package/dist/src/category/category.js +287 -0
  9. package/dist/src/category/category.js.map +1 -0
  10. package/dist/src/category/categoryCollection.d.ts +35 -0
  11. package/dist/src/category/categoryCollection.js +110 -0
  12. package/dist/src/category/categoryCollection.js.map +1 -0
  13. package/dist/src/cesium/cesium3DTileFeature.d.ts +1 -0
  14. package/dist/src/cesium/cesium3DTileFeature.js +6 -0
  15. package/dist/src/cesium/cesium3DTileFeature.js.map +1 -0
  16. package/dist/src/cesium/cesium3DTilePointFeature.d.ts +1 -0
  17. package/dist/src/cesium/cesium3DTilePointFeature.js +6 -0
  18. package/dist/src/cesium/cesium3DTilePointFeature.js.map +1 -0
  19. package/dist/src/cesium/cesiumVcsCameraPrimitive.d.ts +21 -0
  20. package/dist/src/cesium/cesiumVcsCameraPrimitive.js +128 -0
  21. package/dist/src/cesium/cesiumVcsCameraPrimitive.js.map +1 -0
  22. package/dist/src/cesium/entity.d.ts +1 -0
  23. package/dist/src/cesium/entity.js +18 -0
  24. package/dist/src/cesium/entity.js.map +1 -0
  25. package/dist/src/cesium/wallpaperMaterial.d.ts +1 -0
  26. package/dist/src/cesium/wallpaperMaterial.js +61 -0
  27. package/dist/src/cesium/wallpaperMaterial.js.map +1 -0
  28. package/dist/src/classRegistry.d.ts +40 -0
  29. package/dist/src/classRegistry.js +89 -0
  30. package/dist/src/classRegistry.js.map +1 -0
  31. package/dist/src/featureProvider/abstractFeatureProvider.d.ts +76 -0
  32. package/dist/src/featureProvider/abstractFeatureProvider.js +133 -0
  33. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -0
  34. package/dist/src/featureProvider/featureProviderSymbols.d.ts +4 -0
  35. package/dist/src/featureProvider/featureProviderSymbols.js +6 -0
  36. package/dist/src/featureProvider/featureProviderSymbols.js.map +1 -0
  37. package/dist/src/featureProvider/tileProviderFeatureProvider.d.ts +19 -0
  38. package/dist/src/featureProvider/tileProviderFeatureProvider.js +30 -0
  39. package/dist/src/featureProvider/tileProviderFeatureProvider.js.map +1 -0
  40. package/dist/src/featureProvider/wmsFeatureProvider.d.ts +91 -0
  41. package/dist/src/featureProvider/wmsFeatureProvider.js +214 -0
  42. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -0
  43. package/dist/src/interaction/abstractInteraction.d.ts +117 -0
  44. package/dist/src/interaction/abstractInteraction.js +102 -0
  45. package/dist/src/interaction/abstractInteraction.js.map +1 -0
  46. package/dist/src/interaction/coordinateAtPixel.d.ts +13 -0
  47. package/dist/src/interaction/coordinateAtPixel.js +75 -0
  48. package/dist/src/interaction/coordinateAtPixel.js.map +1 -0
  49. package/dist/src/interaction/eventHandler.d.ts +86 -0
  50. package/dist/src/interaction/eventHandler.js +325 -0
  51. package/dist/src/interaction/eventHandler.js.map +1 -0
  52. package/dist/src/interaction/featureAtPixelInteraction.d.ts +39 -0
  53. package/dist/src/interaction/featureAtPixelInteraction.js +203 -0
  54. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -0
  55. package/dist/src/interaction/featureProviderInteraction.d.ts +9 -0
  56. package/dist/src/interaction/featureProviderInteraction.js +34 -0
  57. package/dist/src/interaction/featureProviderInteraction.js.map +1 -0
  58. package/dist/src/interaction/interactionChain.d.ts +32 -0
  59. package/dist/src/interaction/interactionChain.js +83 -0
  60. package/dist/src/interaction/interactionChain.js.map +1 -0
  61. package/dist/src/interaction/interactionType.d.ts +42 -0
  62. package/dist/src/interaction/interactionType.js +47 -0
  63. package/dist/src/interaction/interactionType.js.map +1 -0
  64. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +45 -0
  65. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +295 -0
  66. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -0
  67. package/dist/src/layer/cesium/clusterContext.d.ts +24 -0
  68. package/dist/src/layer/cesium/clusterContext.js +61 -0
  69. package/dist/src/layer/cesium/clusterContext.js.map +1 -0
  70. package/dist/src/layer/cesium/dataSourceCesiumImpl.d.ts +18 -0
  71. package/dist/src/layer/cesium/dataSourceCesiumImpl.js +115 -0
  72. package/dist/src/layer/cesium/dataSourceCesiumImpl.js.map +1 -0
  73. package/dist/src/layer/cesium/openStreetMapCesiumImpl.d.ts +10 -0
  74. package/dist/src/layer/cesium/openStreetMapCesiumImpl.js +18 -0
  75. package/dist/src/layer/cesium/openStreetMapCesiumImpl.js.map +1 -0
  76. package/dist/src/layer/cesium/rasterLayerCesiumImpl.d.ts +24 -0
  77. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js +73 -0
  78. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -0
  79. package/dist/src/layer/cesium/singleImageCesiumImpl.d.ts +14 -0
  80. package/dist/src/layer/cesium/singleImageCesiumImpl.js +35 -0
  81. package/dist/src/layer/cesium/singleImageCesiumImpl.js.map +1 -0
  82. package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +19 -0
  83. package/dist/src/layer/cesium/terrainCesiumImpl.js +47 -0
  84. package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -0
  85. package/dist/src/layer/cesium/tmsCesiumImpl.d.ts +14 -0
  86. package/dist/src/layer/cesium/tmsCesiumImpl.js +42 -0
  87. package/dist/src/layer/cesium/tmsCesiumImpl.js.map +1 -0
  88. package/dist/src/layer/cesium/vectorCesiumImpl.d.ts +62 -0
  89. package/dist/src/layer/cesium/vectorCesiumImpl.js +190 -0
  90. package/dist/src/layer/cesium/vectorCesiumImpl.js.map +1 -0
  91. package/dist/src/layer/cesium/vectorContext.d.ts +90 -0
  92. package/dist/src/layer/cesium/vectorContext.js +281 -0
  93. package/dist/src/layer/cesium/vectorContext.js.map +1 -0
  94. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.d.ts +31 -0
  95. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +77 -0
  96. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -0
  97. package/dist/src/layer/cesium/vectorTileImageryProvider.d.ts +57 -0
  98. package/dist/src/layer/cesium/vectorTileImageryProvider.js +130 -0
  99. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -0
  100. package/dist/src/layer/cesium/wmsCesiumImpl.d.ts +17 -0
  101. package/dist/src/layer/cesium/wmsCesiumImpl.js +53 -0
  102. package/dist/src/layer/cesium/wmsCesiumImpl.js.map +1 -0
  103. package/dist/src/layer/cesium/wmtsCesiumImpl.d.ts +22 -0
  104. package/dist/src/layer/cesium/wmtsCesiumImpl.js +64 -0
  105. package/dist/src/layer/cesium/wmtsCesiumImpl.js.map +1 -0
  106. package/dist/src/layer/cesiumTilesetLayer.d.ts +82 -0
  107. package/dist/src/layer/cesiumTilesetLayer.js +176 -0
  108. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -0
  109. package/dist/src/layer/czmlLayer.d.ts +34 -0
  110. package/dist/src/layer/czmlLayer.js +115 -0
  111. package/dist/src/layer/czmlLayer.js.map +1 -0
  112. package/dist/src/layer/dataSourceLayer.d.ts +54 -0
  113. package/dist/src/layer/dataSourceLayer.js +132 -0
  114. package/dist/src/layer/dataSourceLayer.js.map +1 -0
  115. package/dist/src/layer/featureLayer.d.ts +85 -0
  116. package/dist/src/layer/featureLayer.js +155 -0
  117. package/dist/src/layer/featureLayer.js.map +1 -0
  118. package/dist/src/layer/featureStoreLayer.d.ts +123 -0
  119. package/dist/src/layer/featureStoreLayer.js +470 -0
  120. package/dist/src/layer/featureStoreLayer.js.map +1 -0
  121. package/dist/src/layer/featureStoreLayerChanges.d.ts +88 -0
  122. package/dist/src/layer/featureStoreLayerChanges.js +288 -0
  123. package/dist/src/layer/featureStoreLayerChanges.js.map +1 -0
  124. package/dist/src/layer/featureStoreLayerState.d.ts +9 -0
  125. package/dist/src/layer/featureStoreLayerState.js +11 -0
  126. package/dist/src/layer/featureStoreLayerState.js.map +1 -0
  127. package/dist/src/layer/featureVisibility.d.ts +108 -0
  128. package/dist/src/layer/featureVisibility.js +335 -0
  129. package/dist/src/layer/featureVisibility.js.map +1 -0
  130. package/dist/src/layer/geojsonHelpers.d.ts +72 -0
  131. package/dist/src/layer/geojsonHelpers.js +339 -0
  132. package/dist/src/layer/geojsonHelpers.js.map +1 -0
  133. package/dist/src/layer/geojsonLayer.d.ts +29 -0
  134. package/dist/src/layer/geojsonLayer.js +121 -0
  135. package/dist/src/layer/geojsonLayer.js.map +1 -0
  136. package/dist/src/layer/globalHider.d.ts +31 -0
  137. package/dist/src/layer/globalHider.js +93 -0
  138. package/dist/src/layer/globalHider.js.map +1 -0
  139. package/dist/src/layer/layer.d.ts +227 -0
  140. package/dist/src/layer/layer.js +494 -0
  141. package/dist/src/layer/layer.js.map +1 -0
  142. package/dist/src/layer/layerImplementation.d.ts +41 -0
  143. package/dist/src/layer/layerImplementation.js +75 -0
  144. package/dist/src/layer/layerImplementation.js.map +1 -0
  145. package/dist/src/layer/layerState.d.ts +10 -0
  146. package/dist/src/layer/layerState.js +12 -0
  147. package/dist/src/layer/layerState.js.map +1 -0
  148. package/dist/src/layer/layerSymbols.d.ts +4 -0
  149. package/dist/src/layer/layerSymbols.js +6 -0
  150. package/dist/src/layer/layerSymbols.js.map +1 -0
  151. package/dist/src/layer/oblique/layerObliqueImpl.d.ts +15 -0
  152. package/dist/src/layer/oblique/layerObliqueImpl.js +41 -0
  153. package/dist/src/layer/oblique/layerObliqueImpl.js.map +1 -0
  154. package/dist/src/layer/oblique/obliqueHelpers.d.ts +40 -0
  155. package/dist/src/layer/oblique/obliqueHelpers.js +140 -0
  156. package/dist/src/layer/oblique/obliqueHelpers.js.map +1 -0
  157. package/dist/src/layer/oblique/vectorObliqueImpl.d.ts +70 -0
  158. package/dist/src/layer/oblique/vectorObliqueImpl.js +344 -0
  159. package/dist/src/layer/oblique/vectorObliqueImpl.js.map +1 -0
  160. package/dist/src/layer/openStreetMapLayer.d.ts +54 -0
  161. package/dist/src/layer/openStreetMapLayer.js +126 -0
  162. package/dist/src/layer/openStreetMapLayer.js.map +1 -0
  163. package/dist/src/layer/openlayers/layerOpenlayersImpl.d.ts +31 -0
  164. package/dist/src/layer/openlayers/layerOpenlayersImpl.js +96 -0
  165. package/dist/src/layer/openlayers/layerOpenlayersImpl.js.map +1 -0
  166. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.d.ts +11 -0
  167. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js +21 -0
  168. package/dist/src/layer/openlayers/openStreetMapOpenlayersImpl.js.map +1 -0
  169. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.d.ts +15 -0
  170. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js +27 -0
  171. package/dist/src/layer/openlayers/rasterLayerOpenlayersImpl.js.map +1 -0
  172. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.d.ts +18 -0
  173. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js +38 -0
  174. package/dist/src/layer/openlayers/singleImageOpenlayersImpl.js.map +1 -0
  175. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.d.ts +15 -0
  176. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js +23 -0
  177. package/dist/src/layer/openlayers/tileDebugOpenlayersImpl.js.map +1 -0
  178. package/dist/src/layer/openlayers/tmsOpenlayersImpl.d.ts +21 -0
  179. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js +55 -0
  180. package/dist/src/layer/openlayers/tmsOpenlayersImpl.js.map +1 -0
  181. package/dist/src/layer/openlayers/vectorOpenlayersImpl.d.ts +31 -0
  182. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js +81 -0
  183. package/dist/src/layer/openlayers/vectorOpenlayersImpl.js.map +1 -0
  184. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.d.ts +37 -0
  185. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js +131 -0
  186. package/dist/src/layer/openlayers/vectorTileOpenlayersImpl.js.map +1 -0
  187. package/dist/src/layer/openlayers/wmsOpenlayersImpl.d.ts +18 -0
  188. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js +38 -0
  189. package/dist/src/layer/openlayers/wmsOpenlayersImpl.js.map +1 -0
  190. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.d.ts +24 -0
  191. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js +99 -0
  192. package/dist/src/layer/openlayers/wmtsOpenlayersImpl.js.map +1 -0
  193. package/dist/src/layer/pointCloudLayer.d.ts +46 -0
  194. package/dist/src/layer/pointCloudLayer.js +93 -0
  195. package/dist/src/layer/pointCloudLayer.js.map +1 -0
  196. package/dist/src/layer/rasterLayer.d.ts +95 -0
  197. package/dist/src/layer/rasterLayer.js +197 -0
  198. package/dist/src/layer/rasterLayer.js.map +1 -0
  199. package/dist/src/layer/singleImageLayer.d.ts +30 -0
  200. package/dist/src/layer/singleImageLayer.js +79 -0
  201. package/dist/src/layer/singleImageLayer.js.map +1 -0
  202. package/dist/src/layer/terrainHelpers.d.ts +27 -0
  203. package/dist/src/layer/terrainHelpers.js +59 -0
  204. package/dist/src/layer/terrainHelpers.js.map +1 -0
  205. package/dist/src/layer/terrainLayer.d.ts +32 -0
  206. package/dist/src/layer/terrainLayer.js +68 -0
  207. package/dist/src/layer/terrainLayer.js.map +1 -0
  208. package/dist/src/layer/tileLoadedHelper.d.ts +5 -0
  209. package/dist/src/layer/tileLoadedHelper.js +52 -0
  210. package/dist/src/layer/tileLoadedHelper.js.map +1 -0
  211. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +31 -0
  212. package/dist/src/layer/tileProvider/mvtTileProvider.js +91 -0
  213. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -0
  214. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +17 -0
  215. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +43 -0
  216. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -0
  217. package/dist/src/layer/tileProvider/tileProvider.d.ts +174 -0
  218. package/dist/src/layer/tileProvider/tileProvider.js +444 -0
  219. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -0
  220. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +37 -0
  221. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js +89 -0
  222. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -0
  223. package/dist/src/layer/tmsLayer.d.ts +27 -0
  224. package/dist/src/layer/tmsLayer.js +71 -0
  225. package/dist/src/layer/tmsLayer.js.map +1 -0
  226. package/dist/src/layer/vectorHelpers.d.ts +14 -0
  227. package/dist/src/layer/vectorHelpers.js +100 -0
  228. package/dist/src/layer/vectorHelpers.js.map +1 -0
  229. package/dist/src/layer/vectorLayer.d.ts +176 -0
  230. package/dist/src/layer/vectorLayer.js +384 -0
  231. package/dist/src/layer/vectorLayer.js.map +1 -0
  232. package/dist/src/layer/vectorProperties.d.ts +310 -0
  233. package/dist/src/layer/vectorProperties.js +999 -0
  234. package/dist/src/layer/vectorProperties.js.map +1 -0
  235. package/dist/src/layer/vectorSymbols.d.ts +31 -0
  236. package/{src → dist/src}/layer/vectorSymbols.js +7 -15
  237. package/dist/src/layer/vectorSymbols.js.map +1 -0
  238. package/dist/src/layer/vectorTileLayer.d.ts +93 -0
  239. package/dist/src/layer/vectorTileLayer.js +346 -0
  240. package/dist/src/layer/vectorTileLayer.js.map +1 -0
  241. package/dist/src/layer/wfsLayer.d.ts +45 -0
  242. package/dist/src/layer/wfsLayer.js +124 -0
  243. package/dist/src/layer/wfsLayer.js.map +1 -0
  244. package/dist/src/layer/wmsHelpers.d.ts +15 -0
  245. package/dist/src/layer/wmsHelpers.js +54 -0
  246. package/dist/src/layer/wmsHelpers.js.map +1 -0
  247. package/dist/src/layer/wmsLayer.d.ts +75 -0
  248. package/dist/src/layer/wmsLayer.js +206 -0
  249. package/dist/src/layer/wmsLayer.js.map +1 -0
  250. package/dist/src/layer/wmtsLayer.d.ts +51 -0
  251. package/dist/src/layer/wmtsLayer.js +144 -0
  252. package/dist/src/layer/wmtsLayer.js.map +1 -0
  253. package/dist/src/map/baseOLMap.d.ts +34 -0
  254. package/dist/src/map/baseOLMap.js +174 -0
  255. package/dist/src/map/baseOLMap.js.map +1 -0
  256. package/dist/src/map/cameraLimiter.d.ts +71 -0
  257. package/dist/src/map/cameraLimiter.js +136 -0
  258. package/dist/src/map/cameraLimiter.js.map +1 -0
  259. package/dist/src/map/cesiumMap.d.ts +255 -0
  260. package/dist/src/map/cesiumMap.js +959 -0
  261. package/dist/src/map/cesiumMap.js.map +1 -0
  262. package/dist/src/map/mapState.d.ts +10 -0
  263. package/dist/src/map/mapState.js +12 -0
  264. package/dist/src/map/mapState.js.map +1 -0
  265. package/dist/src/map/obliqueMap.d.ts +89 -0
  266. package/dist/src/map/obliqueMap.js +364 -0
  267. package/dist/src/map/obliqueMap.js.map +1 -0
  268. package/dist/src/map/openlayersMap.d.ts +26 -0
  269. package/dist/src/map/openlayersMap.js +169 -0
  270. package/dist/src/map/openlayersMap.js.map +1 -0
  271. package/dist/src/map/vcsMap.d.ts +203 -0
  272. package/dist/src/map/vcsMap.js +389 -0
  273. package/dist/src/map/vcsMap.js.map +1 -0
  274. package/dist/src/moduleIdSymbol.d.ts +1 -0
  275. package/dist/src/moduleIdSymbol.js +3 -0
  276. package/dist/src/moduleIdSymbol.js.map +1 -0
  277. package/dist/src/oblique/defaultObliqueCollection.d.ts +13 -0
  278. package/dist/src/oblique/defaultObliqueCollection.js +43 -0
  279. package/dist/src/oblique/defaultObliqueCollection.js.map +1 -0
  280. package/dist/src/oblique/helpers.d.ts +77 -0
  281. package/dist/src/oblique/helpers.js +404 -0
  282. package/dist/src/oblique/helpers.js.map +1 -0
  283. package/dist/src/oblique/obliqueCollection.d.ts +196 -0
  284. package/dist/src/oblique/obliqueCollection.js +446 -0
  285. package/dist/src/oblique/obliqueCollection.js.map +1 -0
  286. package/dist/src/oblique/obliqueDataSet.d.ts +91 -0
  287. package/dist/src/oblique/obliqueDataSet.js +270 -0
  288. package/dist/src/oblique/obliqueDataSet.js.map +1 -0
  289. package/dist/src/oblique/obliqueImage.d.ts +80 -0
  290. package/dist/src/oblique/obliqueImage.js +164 -0
  291. package/dist/src/oblique/obliqueImage.js.map +1 -0
  292. package/dist/src/oblique/obliqueImageMeta.d.ts +59 -0
  293. package/dist/src/oblique/obliqueImageMeta.js +81 -0
  294. package/dist/src/oblique/obliqueImageMeta.js.map +1 -0
  295. package/dist/src/oblique/obliqueProvider.d.ts +91 -0
  296. package/dist/src/oblique/obliqueProvider.js +337 -0
  297. package/dist/src/oblique/obliqueProvider.js.map +1 -0
  298. package/dist/src/oblique/obliqueView.d.ts +46 -0
  299. package/dist/src/oblique/obliqueView.js +139 -0
  300. package/dist/src/oblique/obliqueView.js.map +1 -0
  301. package/dist/src/oblique/obliqueViewDirection.d.ts +15 -0
  302. package/dist/src/oblique/obliqueViewDirection.js +20 -0
  303. package/dist/src/oblique/obliqueViewDirection.js.map +1 -0
  304. package/dist/src/oblique/parseImageJson.d.ts +17 -0
  305. package/dist/src/oblique/parseImageJson.js +227 -0
  306. package/dist/src/oblique/parseImageJson.js.map +1 -0
  307. package/dist/src/ol/feature.d.ts +1 -0
  308. package/dist/src/ol/feature.js +78 -0
  309. package/dist/src/ol/feature.js.map +1 -0
  310. package/dist/src/ol/geom/circle.d.ts +1 -0
  311. package/{src → dist/src}/ol/geom/circle.js +13 -10
  312. package/dist/src/ol/geom/circle.js.map +1 -0
  313. package/dist/src/ol/geom/geometryCollection.d.ts +1 -0
  314. package/dist/src/ol/geom/geometryCollection.js +31 -0
  315. package/dist/src/ol/geom/geometryCollection.js.map +1 -0
  316. package/dist/src/ol/render/canvas/canvasTileRenderer.d.ts +54 -0
  317. package/dist/src/ol/render/canvas/canvasTileRenderer.js +131 -0
  318. package/dist/src/ol/render/canvas/canvasTileRenderer.js.map +1 -0
  319. package/dist/src/ol/source/ClusterEnhancedVectorSource.d.ts +18 -0
  320. package/dist/src/ol/source/ClusterEnhancedVectorSource.js +38 -0
  321. package/dist/src/ol/source/ClusterEnhancedVectorSource.js.map +1 -0
  322. package/dist/src/ol/source/VcsCluster.d.ts +17 -0
  323. package/dist/src/ol/source/VcsCluster.js +32 -0
  324. package/dist/src/ol/source/VcsCluster.js.map +1 -0
  325. package/dist/src/overrideClassRegistry.d.ts +54 -0
  326. package/dist/src/overrideClassRegistry.js +151 -0
  327. package/dist/src/overrideClassRegistry.js.map +1 -0
  328. package/dist/src/style/arcStyle.d.ts +75 -0
  329. package/dist/src/style/arcStyle.js +256 -0
  330. package/dist/src/style/arcStyle.js.map +1 -0
  331. package/dist/src/style/arrowStyle.d.ts +67 -0
  332. package/dist/src/style/arrowStyle.js +188 -0
  333. package/dist/src/style/arrowStyle.js.map +1 -0
  334. package/dist/src/style/declarativeStyleItem.d.ts +75 -0
  335. package/dist/src/style/declarativeStyleItem.js +419 -0
  336. package/dist/src/style/declarativeStyleItem.js.map +1 -0
  337. package/dist/src/style/shapesCategory.d.ts +13 -0
  338. package/dist/src/style/shapesCategory.js +46 -0
  339. package/dist/src/style/shapesCategory.js.map +1 -0
  340. package/dist/src/style/styleFactory.d.ts +4 -0
  341. package/dist/src/style/styleFactory.js +25 -0
  342. package/dist/src/style/styleFactory.js.map +1 -0
  343. package/dist/src/style/styleHelpers.d.ts +132 -0
  344. package/dist/src/style/styleHelpers.js +552 -0
  345. package/dist/src/style/styleHelpers.js.map +1 -0
  346. package/dist/src/style/styleItem.d.ts +59 -0
  347. package/dist/src/style/styleItem.js +98 -0
  348. package/dist/src/style/styleItem.js.map +1 -0
  349. package/dist/src/style/vectorStyleItem.d.ts +126 -0
  350. package/dist/src/style/vectorStyleItem.js +703 -0
  351. package/dist/src/style/vectorStyleItem.js.map +1 -0
  352. package/dist/src/style/writeStyle.d.ts +6 -0
  353. package/dist/src/style/writeStyle.js +34 -0
  354. package/dist/src/style/writeStyle.js.map +1 -0
  355. package/dist/src/util/clipping/clippingObject.d.ts +100 -0
  356. package/dist/src/util/clipping/clippingObject.js +274 -0
  357. package/dist/src/util/clipping/clippingObject.js.map +1 -0
  358. package/dist/src/util/clipping/clippingObjectManager.d.ts +69 -0
  359. package/dist/src/util/clipping/clippingObjectManager.js +221 -0
  360. package/dist/src/util/clipping/clippingObjectManager.js.map +1 -0
  361. package/dist/src/util/clipping/clippingPlaneHelper.d.ts +66 -0
  362. package/dist/src/util/clipping/clippingPlaneHelper.js +316 -0
  363. package/dist/src/util/clipping/clippingPlaneHelper.js.map +1 -0
  364. package/dist/src/util/collection.d.ts +76 -0
  365. package/dist/src/util/collection.js +159 -0
  366. package/dist/src/util/collection.js.map +1 -0
  367. package/dist/src/util/editor/createFeatureSession.d.ts +39 -0
  368. package/dist/src/util/editor/createFeatureSession.js +171 -0
  369. package/dist/src/util/editor/createFeatureSession.js.map +1 -0
  370. package/dist/src/util/editor/editFeaturesSession.d.ts +30 -0
  371. package/dist/src/util/editor/editFeaturesSession.js +264 -0
  372. package/dist/src/util/editor/editFeaturesSession.js.map +1 -0
  373. package/dist/src/util/editor/editGeometrySession.d.ts +16 -0
  374. package/dist/src/util/editor/editGeometrySession.js +346 -0
  375. package/dist/src/util/editor/editGeometrySession.js.map +1 -0
  376. package/dist/src/util/editor/editorHelpers.d.ts +55 -0
  377. package/dist/src/util/editor/editorHelpers.js +160 -0
  378. package/dist/src/util/editor/editorHelpers.js.map +1 -0
  379. package/dist/src/util/editor/editorSessionHelpers.d.ts +49 -0
  380. package/dist/src/util/editor/editorSessionHelpers.js +92 -0
  381. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -0
  382. package/dist/src/util/editor/editorSymbols.d.ts +17 -0
  383. package/dist/src/util/editor/editorSymbols.js +18 -0
  384. package/dist/src/util/editor/editorSymbols.js.map +1 -0
  385. package/dist/src/util/editor/interactions/createBBoxInteraction.d.ts +27 -0
  386. package/dist/src/util/editor/interactions/createBBoxInteraction.js +107 -0
  387. package/dist/src/util/editor/interactions/createBBoxInteraction.js.map +1 -0
  388. package/dist/src/util/editor/interactions/createCircleInteraction.d.ts +28 -0
  389. package/dist/src/util/editor/interactions/createCircleInteraction.js +77 -0
  390. package/dist/src/util/editor/interactions/createCircleInteraction.js.map +1 -0
  391. package/dist/src/util/editor/interactions/createLineStringInteraction.d.ts +28 -0
  392. package/dist/src/util/editor/interactions/createLineStringInteraction.js +79 -0
  393. package/dist/src/util/editor/interactions/createLineStringInteraction.js.map +1 -0
  394. package/dist/src/util/editor/interactions/createPointInteraction.d.ts +21 -0
  395. package/dist/src/util/editor/interactions/createPointInteraction.js +47 -0
  396. package/dist/src/util/editor/interactions/createPointInteraction.js.map +1 -0
  397. package/dist/src/util/editor/interactions/createPolygonInteraction.d.ts +30 -0
  398. package/dist/src/util/editor/interactions/createPolygonInteraction.js +91 -0
  399. package/dist/src/util/editor/interactions/createPolygonInteraction.js.map +1 -0
  400. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.d.ts +19 -0
  401. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js +61 -0
  402. package/dist/src/util/editor/interactions/editFeaturesMouseOverInteraction.js.map +1 -0
  403. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.d.ts +35 -0
  404. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js +89 -0
  405. package/dist/src/util/editor/interactions/editGeometryMouseOverInteraction.js.map +1 -0
  406. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.d.ts +16 -0
  407. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js +37 -0
  408. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -0
  409. package/dist/src/util/editor/interactions/insertVertexInteraction.d.ts +23 -0
  410. package/dist/src/util/editor/interactions/insertVertexInteraction.js +61 -0
  411. package/dist/src/util/editor/interactions/insertVertexInteraction.js.map +1 -0
  412. package/dist/src/util/editor/interactions/mapInteractionController.d.ts +12 -0
  413. package/dist/src/util/editor/interactions/mapInteractionController.js +84 -0
  414. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -0
  415. package/dist/src/util/editor/interactions/removeVertexInteraction.d.ts +14 -0
  416. package/dist/src/util/editor/interactions/removeVertexInteraction.js +27 -0
  417. package/dist/src/util/editor/interactions/removeVertexInteraction.js.map +1 -0
  418. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.d.ts +35 -0
  419. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js +105 -0
  420. package/dist/src/util/editor/interactions/selectFeatureMouseOverInteraction.js.map +1 -0
  421. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.d.ts +36 -0
  422. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js +96 -0
  423. package/dist/src/util/editor/interactions/selectMultiFeatureInteraction.js.map +1 -0
  424. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.d.ts +35 -0
  425. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js +72 -0
  426. package/dist/src/util/editor/interactions/selectSingleFeatureInteraction.js.map +1 -0
  427. package/dist/src/util/editor/interactions/translateVertexInteraction.d.ts +15 -0
  428. package/dist/src/util/editor/interactions/translateVertexInteraction.js +41 -0
  429. package/dist/src/util/editor/interactions/translateVertexInteraction.js.map +1 -0
  430. package/dist/src/util/editor/selectFeaturesSession.d.ts +31 -0
  431. package/dist/src/util/editor/selectFeaturesSession.js +228 -0
  432. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -0
  433. package/dist/src/util/editor/transformation/create2DHandlers.d.ts +12 -0
  434. package/dist/src/util/editor/transformation/create2DHandlers.js +295 -0
  435. package/dist/src/util/editor/transformation/create2DHandlers.js.map +1 -0
  436. package/dist/src/util/editor/transformation/create3DHandlers.d.ts +10 -0
  437. package/dist/src/util/editor/transformation/create3DHandlers.js +488 -0
  438. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -0
  439. package/dist/src/util/editor/transformation/extrudeInteraction.d.ts +20 -0
  440. package/dist/src/util/editor/transformation/extrudeInteraction.js +55 -0
  441. package/dist/src/util/editor/transformation/extrudeInteraction.js.map +1 -0
  442. package/dist/src/util/editor/transformation/rotateInteraction.d.ts +25 -0
  443. package/dist/src/util/editor/transformation/rotateInteraction.js +106 -0
  444. package/dist/src/util/editor/transformation/rotateInteraction.js.map +1 -0
  445. package/dist/src/util/editor/transformation/scaleInteraction.d.ts +26 -0
  446. package/dist/src/util/editor/transformation/scaleInteraction.js +118 -0
  447. package/dist/src/util/editor/transformation/scaleInteraction.js.map +1 -0
  448. package/dist/src/util/editor/transformation/transformationHandler.d.ts +18 -0
  449. package/dist/src/util/editor/transformation/transformationHandler.js +133 -0
  450. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -0
  451. package/dist/src/util/editor/transformation/transformationTypes.d.ts +53 -0
  452. package/dist/src/util/editor/transformation/transformationTypes.js +30 -0
  453. package/dist/src/util/editor/transformation/transformationTypes.js.map +1 -0
  454. package/dist/src/util/editor/transformation/translateInteraction.d.ts +29 -0
  455. package/dist/src/util/editor/transformation/translateInteraction.js +151 -0
  456. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -0
  457. package/dist/src/util/editor/validateGeoemetry.d.ts +2 -0
  458. package/dist/src/util/editor/validateGeoemetry.js +24 -0
  459. package/dist/src/util/editor/validateGeoemetry.js.map +1 -0
  460. package/dist/src/util/exclusiveManager.d.ts +39 -0
  461. package/dist/src/util/exclusiveManager.js +103 -0
  462. package/dist/src/util/exclusiveManager.js.map +1 -0
  463. package/dist/src/util/extent.d.ts +33 -0
  464. package/dist/src/util/extent.js +84 -0
  465. package/dist/src/util/extent.js.map +1 -0
  466. package/dist/src/util/featureconverter/arcToCesium.d.ts +22 -0
  467. package/dist/src/util/featureconverter/arcToCesium.js +57 -0
  468. package/dist/src/util/featureconverter/arcToCesium.js.map +1 -0
  469. package/dist/src/util/featureconverter/circleToCesium.d.ts +30 -0
  470. package/dist/src/util/featureconverter/circleToCesium.js +128 -0
  471. package/dist/src/util/featureconverter/circleToCesium.js.map +1 -0
  472. package/dist/src/util/featureconverter/convert.d.ts +16 -0
  473. package/dist/src/util/featureconverter/convert.js +76 -0
  474. package/dist/src/util/featureconverter/convert.js.map +1 -0
  475. package/dist/src/util/featureconverter/extent3D.d.ts +33 -0
  476. package/dist/src/util/featureconverter/extent3D.js +150 -0
  477. package/dist/src/util/featureconverter/extent3D.js.map +1 -0
  478. package/dist/src/util/featureconverter/featureconverterHelper.d.ts +35 -0
  479. package/dist/src/util/featureconverter/featureconverterHelper.js +403 -0
  480. package/dist/src/util/featureconverter/featureconverterHelper.js.map +1 -0
  481. package/dist/src/util/featureconverter/lineStringToCesium.d.ts +41 -0
  482. package/dist/src/util/featureconverter/lineStringToCesium.js +172 -0
  483. package/dist/src/util/featureconverter/lineStringToCesium.js.map +1 -0
  484. package/dist/src/util/featureconverter/pointHelpers.d.ts +13 -0
  485. package/dist/src/util/featureconverter/pointHelpers.js +254 -0
  486. package/dist/src/util/featureconverter/pointHelpers.js.map +1 -0
  487. package/dist/src/util/featureconverter/pointToCesium.d.ts +36 -0
  488. package/dist/src/util/featureconverter/pointToCesium.js +258 -0
  489. package/dist/src/util/featureconverter/pointToCesium.js.map +1 -0
  490. package/dist/src/util/featureconverter/polygonToCesium.d.ts +33 -0
  491. package/dist/src/util/featureconverter/polygonToCesium.js +161 -0
  492. package/dist/src/util/featureconverter/polygonToCesium.js.map +1 -0
  493. package/dist/src/util/fetch.d.ts +3 -0
  494. package/dist/src/util/fetch.js +16 -0
  495. package/dist/src/util/fetch.js.map +1 -0
  496. package/dist/src/util/geometryHelpers.d.ts +14 -0
  497. package/dist/src/util/geometryHelpers.js +132 -0
  498. package/dist/src/util/geometryHelpers.js.map +1 -0
  499. package/dist/src/util/indexedCollection.d.ts +63 -0
  500. package/dist/src/util/indexedCollection.js +137 -0
  501. package/dist/src/util/indexedCollection.js.map +1 -0
  502. package/dist/src/util/isMobile.d.ts +4 -0
  503. package/dist/src/util/isMobile.js +12 -0
  504. package/dist/src/util/isMobile.js.map +1 -0
  505. package/dist/src/util/layerCollection.d.ts +92 -0
  506. package/dist/src/util/layerCollection.js +247 -0
  507. package/dist/src/util/layerCollection.js.map +1 -0
  508. package/dist/src/util/locale.d.ts +4 -0
  509. package/dist/src/util/locale.js +12 -0
  510. package/dist/src/util/locale.js.map +1 -0
  511. package/dist/src/util/mapCollection.d.ts +112 -0
  512. package/dist/src/util/mapCollection.js +312 -0
  513. package/dist/src/util/mapCollection.js.map +1 -0
  514. package/dist/src/util/math.d.ts +45 -0
  515. package/dist/src/util/math.js +136 -0
  516. package/dist/src/util/math.js.map +1 -0
  517. package/dist/src/util/overrideCollection.d.ts +58 -0
  518. package/dist/src/util/overrideCollection.js +176 -0
  519. package/dist/src/util/overrideCollection.js.map +1 -0
  520. package/dist/src/util/projection.d.ts +98 -0
  521. package/dist/src/util/projection.js +207 -0
  522. package/dist/src/util/projection.js.map +1 -0
  523. package/dist/src/util/urlHelpers.d.ts +1 -0
  524. package/dist/src/util/urlHelpers.js +12 -0
  525. package/dist/src/util/urlHelpers.js.map +1 -0
  526. package/dist/src/util/viewpoint.d.ts +155 -0
  527. package/dist/src/util/viewpoint.js +263 -0
  528. package/dist/src/util/viewpoint.js.map +1 -0
  529. package/dist/src/vcsApp.d.ts +113 -0
  530. package/dist/src/vcsApp.js +344 -0
  531. package/dist/src/vcsApp.js.map +1 -0
  532. package/dist/src/vcsEvent.d.ts +32 -0
  533. package/dist/src/vcsEvent.js +60 -0
  534. package/dist/src/vcsEvent.js.map +1 -0
  535. package/dist/src/vcsModule.d.ts +67 -0
  536. package/dist/src/vcsModule.js +86 -0
  537. package/dist/src/vcsModule.js.map +1 -0
  538. package/dist/src/vcsModuleHelpers.d.ts +23 -0
  539. package/dist/src/vcsModuleHelpers.js +72 -0
  540. package/dist/src/vcsModuleHelpers.js.map +1 -0
  541. package/dist/src/vcsObject.d.ts +35 -0
  542. package/dist/src/vcsObject.js +45 -0
  543. package/dist/src/vcsObject.js.map +1 -0
  544. package/dist/tests/data/dynamicPointCzml.json +53 -0
  545. package/dist/tests/data/oblique/imageData/imagev34.json +136 -0
  546. package/dist/tests/data/oblique/imageData/imagev35.json +307 -0
  547. package/dist/tests/data/oblique/imageData/imagev35PerImageSize.json +333 -0
  548. package/dist/tests/data/oblique/tiledImageData/12/2199/1342.json +11056 -0
  549. package/dist/tests/data/oblique/tiledImageData/12/2199/1343.json +11236 -0
  550. package/dist/tests/data/oblique/tiledImageData/12/2199/1344.json +11077 -0
  551. package/dist/tests/data/oblique/tiledImageData/12/2200/1342.json +11036 -0
  552. package/dist/tests/data/oblique/tiledImageData/12/2200/1343.json +11277 -0
  553. package/dist/tests/data/oblique/tiledImageData/12/2200/1344.json +11131 -0
  554. package/dist/tests/data/oblique/tiledImageData/12/2201/1342.json +10870 -0
  555. package/dist/tests/data/oblique/tiledImageData/12/2201/1343.json +11492 -0
  556. package/dist/tests/data/oblique/tiledImageData/12/2201/1344.json +10909 -0
  557. package/dist/tests/data/oblique/tiledImageData/image.json +70 -0
  558. package/dist/tests/data/terrain/13/8800/6485.terrain +0 -0
  559. package/dist/tests/data/terrain/13/8800/6486.terrain +0 -0
  560. package/dist/tests/data/terrain/13/8801/6485.terrain +0 -0
  561. package/dist/tests/data/terrain/13/8801/6486.terrain +0 -0
  562. package/dist/tests/data/terrain/layer.json +127 -0
  563. package/dist/tests/data/testGeoJSON.json +149 -0
  564. package/dist/tests/data/tile.pbf +0 -0
  565. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +108 -0
  566. package/dist/tests/unit/helpers/cesiumHelpers.js +277 -0
  567. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -0
  568. package/dist/tests/unit/helpers/getFileNameFromUrl.d.ts +6 -0
  569. package/dist/tests/unit/helpers/getFileNameFromUrl.js +12 -0
  570. package/dist/tests/unit/helpers/getFileNameFromUrl.js.map +1 -0
  571. package/dist/tests/unit/helpers/helpers.d.ts +12 -0
  572. package/dist/tests/unit/helpers/helpers.js +23 -0
  573. package/dist/tests/unit/helpers/helpers.js.map +1 -0
  574. package/dist/tests/unit/helpers/imageHelpers.d.ts +20 -0
  575. package/dist/tests/unit/helpers/imageHelpers.js +21 -0
  576. package/dist/tests/unit/helpers/imageHelpers.js.map +1 -0
  577. package/dist/tests/unit/helpers/importJSON.d.ts +5 -0
  578. package/dist/tests/unit/helpers/importJSON.js +15 -0
  579. package/dist/tests/unit/helpers/importJSON.js.map +1 -0
  580. package/dist/tests/unit/helpers/obliqueData.d.ts +21 -0
  581. package/dist/tests/unit/helpers/obliqueData.js +76 -0
  582. package/dist/tests/unit/helpers/obliqueData.js.map +1 -0
  583. package/dist/tests/unit/helpers/obliqueHelpers.d.ts +33 -0
  584. package/dist/tests/unit/helpers/obliqueHelpers.js +97 -0
  585. package/dist/tests/unit/helpers/obliqueHelpers.js.map +1 -0
  586. package/dist/tests/unit/helpers/openlayersHelpers.d.ts +11 -0
  587. package/dist/tests/unit/helpers/openlayersHelpers.js +24 -0
  588. package/dist/tests/unit/helpers/openlayersHelpers.js.map +1 -0
  589. package/dist/tests/unit/helpers/terrain/terrainData.d.ts +10 -0
  590. package/dist/tests/unit/helpers/terrain/terrainData.js +40 -0
  591. package/dist/tests/unit/helpers/terrain/terrainData.js.map +1 -0
  592. package/index.ts +724 -0
  593. package/package.json +69 -35
  594. package/src/category/category.ts +414 -0
  595. package/src/category/categoryCollection.ts +142 -0
  596. package/src/cesium/cesium.d.ts +257 -0
  597. package/src/cesium/cesium3DTileFeature.ts +10 -0
  598. package/src/cesium/cesium3DTilePointFeature.ts +10 -0
  599. package/src/cesium/{cesiumVcsCameraPrimitive.js → cesiumVcsCameraPrimitive.ts} +58 -29
  600. package/src/cesium/entity.ts +26 -0
  601. package/src/cesium/wallpaperMaterial.js +5 -4
  602. package/src/classRegistry.ts +147 -0
  603. package/src/featureProvider/abstractFeatureProvider.ts +191 -0
  604. package/src/featureProvider/featureProviderSymbols.ts +5 -0
  605. package/src/featureProvider/tileProviderFeatureProvider.ts +55 -0
  606. package/src/featureProvider/wmsFeatureProvider.ts +330 -0
  607. package/src/global.d.ts +12 -0
  608. package/src/interaction/abstractInteraction.ts +192 -0
  609. package/src/interaction/coordinateAtPixel.ts +105 -0
  610. package/src/interaction/eventHandler.ts +434 -0
  611. package/src/interaction/featureAtPixelInteraction.ts +306 -0
  612. package/src/interaction/featureProviderInteraction.ts +61 -0
  613. package/src/interaction/{interactionChain.js → interactionChain.ts} +40 -42
  614. package/src/interaction/interactionType.ts +45 -0
  615. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +395 -0
  616. package/src/layer/cesium/clusterContext.ts +136 -0
  617. package/src/layer/cesium/{dataSourceCesiumImpl.js → dataSourceCesiumImpl.ts} +49 -67
  618. package/src/layer/cesium/openStreetMapCesiumImpl.ts +28 -0
  619. package/src/layer/cesium/rasterLayerCesiumImpl.ts +100 -0
  620. package/src/layer/cesium/singleImageCesiumImpl.ts +55 -0
  621. package/src/layer/cesium/terrainCesiumImpl.ts +63 -0
  622. package/src/layer/cesium/{tmsCesiumImpl.js → tmsCesiumImpl.ts} +28 -19
  623. package/src/layer/cesium/vectorCesiumImpl.ts +261 -0
  624. package/src/layer/cesium/vectorContext.ts +528 -0
  625. package/src/layer/cesium/{vectorRasterTileCesiumImpl.js → vectorRasterTileCesiumImpl.ts} +48 -55
  626. package/src/layer/cesium/vectorTileImageryProvider.ts +222 -0
  627. package/src/layer/cesium/{wmsCesiumImpl.js → wmsCesiumImpl.ts} +33 -27
  628. package/src/layer/cesium/{wmtsCesiumImpl.js → wmtsCesiumImpl.ts} +45 -52
  629. package/src/layer/cesiumTilesetLayer.ts +267 -0
  630. package/src/layer/czmlLayer.ts +144 -0
  631. package/src/layer/dataSourceLayer.ts +167 -0
  632. package/src/layer/featureLayer.ts +225 -0
  633. package/src/layer/featureStoreLayer.ts +628 -0
  634. package/src/layer/featureStoreLayerChanges.ts +392 -0
  635. package/src/layer/featureStoreLayerState.ts +10 -0
  636. package/src/layer/featureVisibility.ts +417 -0
  637. package/src/layer/{geojsonHelpers.js → geojsonHelpers.ts} +229 -168
  638. package/src/layer/{geojsonLayer.js → geojsonLayer.ts} +39 -71
  639. package/src/layer/globalHider.ts +114 -0
  640. package/src/layer/layer.ts +688 -0
  641. package/src/layer/{layerImplementation.js → layerImplementation.ts} +38 -49
  642. package/src/layer/layerState.ts +11 -0
  643. package/src/layer/layerSymbols.ts +5 -0
  644. package/src/layer/oblique/layerObliqueImpl.ts +49 -0
  645. package/src/layer/oblique/obliqueHelpers.ts +216 -0
  646. package/src/layer/oblique/vectorObliqueImpl.ts +497 -0
  647. package/src/layer/openStreetMapLayer.ts +185 -0
  648. package/src/layer/openlayers/layerOpenlayersImpl.ts +133 -0
  649. package/src/layer/openlayers/{openStreetMapOpenlayersImpl.js → openStreetMapOpenlayersImpl.ts} +4 -8
  650. package/src/layer/openlayers/rasterLayerOpenlayersImpl.ts +45 -0
  651. package/src/layer/openlayers/{singleImageOpenlayersImpl.js → singleImageOpenlayersImpl.ts} +15 -17
  652. package/src/layer/openlayers/{tileDebugOpenlayersImpl.js → tileDebugOpenlayersImpl.ts} +12 -19
  653. package/src/layer/openlayers/{tmsOpenlayersImpl.js → tmsOpenlayersImpl.ts} +24 -21
  654. package/src/layer/openlayers/vectorOpenlayersImpl.ts +112 -0
  655. package/src/layer/openlayers/vectorTileOpenlayersImpl.ts +164 -0
  656. package/src/layer/openlayers/{wmsOpenlayersImpl.js → wmsOpenlayersImpl.ts} +16 -23
  657. package/src/layer/openlayers/{wmtsOpenlayersImpl.js → wmtsOpenlayersImpl.ts} +44 -60
  658. package/src/layer/pointCloudLayer.ts +137 -0
  659. package/src/layer/rasterLayer.ts +324 -0
  660. package/src/layer/{singleImageLayer.js → singleImageLayer.ts} +40 -50
  661. package/src/layer/terrainHelpers.ts +95 -0
  662. package/src/layer/terrainLayer.ts +108 -0
  663. package/src/layer/tileLoadedHelper.ts +70 -0
  664. package/src/layer/tileProvider/{mvtTileProvider.js → mvtTileProvider.ts} +56 -57
  665. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +60 -0
  666. package/src/layer/tileProvider/tileProvider.ts +625 -0
  667. package/src/layer/tileProvider/urlTemplateTileProvider.ts +120 -0
  668. package/src/layer/{tmsLayer.js → tmsLayer.ts} +39 -55
  669. package/src/layer/vectorHelpers.ts +127 -0
  670. package/src/layer/vectorLayer.ts +595 -0
  671. package/src/layer/vectorProperties.ts +1592 -0
  672. package/src/layer/vectorSymbols.ts +41 -0
  673. package/src/layer/vectorTileLayer.ts +479 -0
  674. package/src/layer/wfsLayer.ts +169 -0
  675. package/src/layer/{wmsHelpers.js → wmsHelpers.ts} +33 -26
  676. package/src/layer/{wmsLayer.js → wmsLayer.ts} +117 -91
  677. package/src/layer/wmtsLayer.ts +240 -0
  678. package/src/map/baseOLMap.ts +241 -0
  679. package/src/map/cameraLimiter.ts +229 -0
  680. package/src/map/cesiumMap.ts +1388 -0
  681. package/src/map/mapState.ts +11 -0
  682. package/src/map/{obliqueMap.js → obliqueMap.ts} +186 -221
  683. package/src/map/{openlayersMap.js → openlayersMap.ts} +91 -93
  684. package/src/map/vcsMap.ts +504 -0
  685. package/src/moduleIdSymbol.ts +2 -0
  686. package/src/oblique/{defaultObliqueCollection.js → defaultObliqueCollection.ts} +6 -16
  687. package/src/oblique/{helpers.js → helpers.ts} +322 -148
  688. package/src/oblique/obliqueCollection.ts +634 -0
  689. package/src/oblique/obliqueDataSet.ts +373 -0
  690. package/src/oblique/obliqueImage.ts +259 -0
  691. package/src/oblique/obliqueImageMeta.ts +125 -0
  692. package/src/oblique/{obliqueProvider.js → obliqueProvider.ts} +182 -170
  693. package/src/oblique/{obliqueView.js → obliqueView.ts} +94 -74
  694. package/src/oblique/obliqueViewDirection.ts +25 -0
  695. package/src/oblique/parseImageJson.ts +337 -0
  696. package/src/ol/feature.ts +93 -0
  697. package/src/ol/geojson.d.ts +28 -0
  698. package/src/ol/geom/circle.ts +41 -0
  699. package/src/ol/geom/geometryCollection.js +14 -8
  700. package/src/ol/ol.d.ts +138 -0
  701. package/src/ol/render/canvas/canvasTileRenderer.js +11 -13
  702. package/src/{overrideClassRegistry.js → overrideClassRegistry.ts} +72 -83
  703. package/src/style/arcStyle.ts +434 -0
  704. package/src/style/arrowStyle.ts +303 -0
  705. package/src/style/declarativeStyleItem.ts +562 -0
  706. package/src/style/{shapesCategory.js → shapesCategory.ts} +17 -28
  707. package/src/style/styleFactory.ts +38 -0
  708. package/src/style/styleHelpers.ts +671 -0
  709. package/src/style/styleItem.ts +134 -0
  710. package/src/style/{vectorStyleItem.js → vectorStyleItem.ts} +311 -374
  711. package/src/style/writeStyle.ts +41 -0
  712. package/src/util/clipping/{clippingObject.js → clippingObject.ts} +149 -178
  713. package/src/util/clipping/{clippingObjectManager.js → clippingObjectManager.ts} +108 -136
  714. package/src/util/clipping/{clippingPlaneHelper.js → clippingPlaneHelper.ts} +199 -134
  715. package/src/util/{collection.js → collection.ts} +66 -78
  716. package/src/util/editor/createFeatureSession.ts +241 -0
  717. package/src/util/editor/editFeaturesSession.ts +360 -0
  718. package/src/util/editor/editGeometrySession.ts +469 -0
  719. package/src/util/editor/editorHelpers.ts +328 -0
  720. package/src/util/editor/editorSessionHelpers.ts +137 -0
  721. package/src/util/editor/editorSymbols.ts +17 -0
  722. package/src/util/editor/interactions/createBBoxInteraction.ts +135 -0
  723. package/src/util/editor/interactions/createCircleInteraction.ts +102 -0
  724. package/src/util/editor/interactions/createLineStringInteraction.ts +103 -0
  725. package/src/util/editor/interactions/createPointInteraction.ts +62 -0
  726. package/src/util/editor/interactions/createPolygonInteraction.ts +115 -0
  727. package/src/util/editor/interactions/editFeaturesMouseOverInteraction.ts +74 -0
  728. package/src/util/editor/interactions/editGeometryMouseOverInteraction.ts +106 -0
  729. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +52 -0
  730. package/src/util/editor/interactions/insertVertexInteraction.ts +91 -0
  731. package/src/util/editor/interactions/mapInteractionController.ts +119 -0
  732. package/src/util/editor/interactions/removeVertexInteraction.ts +37 -0
  733. package/src/util/editor/interactions/selectFeatureMouseOverInteraction.ts +132 -0
  734. package/src/util/editor/interactions/selectMultiFeatureInteraction.ts +135 -0
  735. package/src/util/editor/interactions/selectSingleFeatureInteraction.ts +108 -0
  736. package/src/util/editor/interactions/translateVertexInteraction.ts +51 -0
  737. package/src/util/editor/selectFeaturesSession.ts +314 -0
  738. package/src/util/editor/transformation/create2DHandlers.ts +368 -0
  739. package/src/util/editor/transformation/create3DHandlers.ts +664 -0
  740. package/src/util/editor/transformation/extrudeInteraction.ts +87 -0
  741. package/src/util/editor/transformation/rotateInteraction.ts +177 -0
  742. package/src/util/editor/transformation/scaleInteraction.ts +185 -0
  743. package/src/util/editor/transformation/transformationHandler.ts +174 -0
  744. package/src/util/editor/transformation/transformationTypes.ts +71 -0
  745. package/src/util/editor/transformation/translateInteraction.ts +248 -0
  746. package/src/util/editor/validateGeoemetry.ts +22 -0
  747. package/src/util/{exclusiveManager.js → exclusiveManager.ts} +26 -42
  748. package/src/util/extent.ts +114 -0
  749. package/src/util/featureconverter/arcToCesium.ts +126 -0
  750. package/src/util/featureconverter/circleToCesium.ts +211 -0
  751. package/src/util/featureconverter/convert.ts +178 -0
  752. package/src/util/featureconverter/extent3D.ts +217 -0
  753. package/src/util/featureconverter/featureconverterHelper.ts +670 -0
  754. package/src/util/featureconverter/lineStringToCesium.ts +306 -0
  755. package/src/util/featureconverter/pointHelpers.ts +429 -0
  756. package/src/util/featureconverter/pointToCesium.ts +403 -0
  757. package/src/util/featureconverter/polygonToCesium.ts +249 -0
  758. package/src/util/fetch.ts +28 -0
  759. package/src/util/geometryHelpers.ts +170 -0
  760. package/src/util/indexedCollection.ts +157 -0
  761. package/src/util/{isMobile.js → isMobile.ts} +12 -6
  762. package/src/util/layerCollection.ts +293 -0
  763. package/src/util/locale.ts +11 -0
  764. package/src/util/mapCollection.ts +393 -0
  765. package/src/util/math.ts +180 -0
  766. package/src/util/overrideCollection.ts +286 -0
  767. package/src/util/projection.ts +288 -0
  768. package/src/util/{urlHelpers.js → urlHelpers.ts} +6 -8
  769. package/src/util/viewpoint.ts +394 -0
  770. package/src/vcsApp.ts +518 -0
  771. package/src/{vcsEvent.js → vcsEvent.ts} +17 -37
  772. package/src/vcsModule.ts +127 -0
  773. package/src/vcsModuleHelpers.ts +128 -0
  774. package/src/vcsObject.ts +72 -0
  775. package/index.d.ts +0 -7599
  776. package/index.js +0 -146
  777. package/src/category/appBackedCategory.js +0 -76
  778. package/src/category/category.js +0 -401
  779. package/src/category/categoryCollection.js +0 -145
  780. package/src/cesium/cesium3DTileFeature.js +0 -9
  781. package/src/cesium/cesium3DTilePointFeature.js +0 -9
  782. package/src/classRegistry.js +0 -168
  783. package/src/context.js +0 -73
  784. package/src/featureProvider/abstractFeatureProvider.js +0 -196
  785. package/src/featureProvider/featureProviderHelpers.js +0 -50
  786. package/src/featureProvider/featureProviderSymbols.js +0 -11
  787. package/src/featureProvider/tileProviderFeatureProvider.js +0 -64
  788. package/src/featureProvider/wmsFeatureProvider.js +0 -288
  789. package/src/interaction/abstractInteraction.js +0 -151
  790. package/src/interaction/coordinateAtPixel.js +0 -99
  791. package/src/interaction/eventHandler.js +0 -425
  792. package/src/interaction/featureAtPixelInteraction.js +0 -273
  793. package/src/interaction/featureProviderInteraction.js +0 -43
  794. package/src/interaction/interactionType.js +0 -114
  795. package/src/layer/cesium/cesiumTilesetCesiumImpl.js +0 -359
  796. package/src/layer/cesium/clusterContext.js +0 -95
  797. package/src/layer/cesium/openStreetMapCesiumImpl.js +0 -29
  798. package/src/layer/cesium/pointCloudCesiumImpl.js +0 -58
  799. package/src/layer/cesium/rasterLayerCesiumImpl.js +0 -110
  800. package/src/layer/cesium/singleImageCesiumImpl.js +0 -49
  801. package/src/layer/cesium/terrainCesiumImpl.js +0 -80
  802. package/src/layer/cesium/vectorCesiumImpl.js +0 -255
  803. package/src/layer/cesium/vectorContext.js +0 -167
  804. package/src/layer/cesium/vectorTileImageryProvider.js +0 -246
  805. package/src/layer/cesium/x3dmHelper.js +0 -22
  806. package/src/layer/cesiumTilesetLayer.js +0 -373
  807. package/src/layer/czmlLayer.js +0 -141
  808. package/src/layer/dataSourceLayer.js +0 -259
  809. package/src/layer/featureLayer.js +0 -248
  810. package/src/layer/featureStoreLayer.js +0 -647
  811. package/src/layer/featureStoreLayerChanges.js +0 -376
  812. package/src/layer/featureStoreLayerState.js +0 -19
  813. package/src/layer/featureVisibility.js +0 -436
  814. package/src/layer/globalHider.js +0 -147
  815. package/src/layer/layer.js +0 -752
  816. package/src/layer/layerState.js +0 -17
  817. package/src/layer/layerSymbols.js +0 -6
  818. package/src/layer/oblique/layerObliqueImpl.js +0 -76
  819. package/src/layer/oblique/obliqueHelpers.js +0 -175
  820. package/src/layer/oblique/vectorObliqueImpl.js +0 -469
  821. package/src/layer/openStreetMapLayer.js +0 -194
  822. package/src/layer/openlayers/layerOpenlayersImpl.js +0 -79
  823. package/src/layer/openlayers/rasterLayerOpenlayersImpl.js +0 -122
  824. package/src/layer/openlayers/vectorOpenlayersImpl.js +0 -118
  825. package/src/layer/openlayers/vectorTileOpenlayersImpl.js +0 -177
  826. package/src/layer/pointCloudLayer.js +0 -162
  827. package/src/layer/rasterLayer.js +0 -294
  828. package/src/layer/terrainHelpers.js +0 -119
  829. package/src/layer/terrainLayer.js +0 -122
  830. package/src/layer/tileLoadedHelper.js +0 -72
  831. package/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -82
  832. package/src/layer/tileProvider/tileProvider.js +0 -593
  833. package/src/layer/tileProvider/urlTemplateTileProvider.js +0 -121
  834. package/src/layer/vectorHelpers.js +0 -206
  835. package/src/layer/vectorLayer.js +0 -623
  836. package/src/layer/vectorProperties.js +0 -1391
  837. package/src/layer/vectorTileLayer.js +0 -471
  838. package/src/layer/wfsLayer.js +0 -165
  839. package/src/layer/wmtsLayer.js +0 -235
  840. package/src/map/baseOLMap.js +0 -257
  841. package/src/map/cameraLimiter.js +0 -219
  842. package/src/map/cesiumMap.js +0 -1177
  843. package/src/map/mapState.js +0 -17
  844. package/src/map/vcsMap.js +0 -526
  845. package/src/oblique/obliqueCollection.js +0 -653
  846. package/src/oblique/obliqueDataSet.js +0 -400
  847. package/src/oblique/obliqueImage.js +0 -247
  848. package/src/oblique/obliqueImageMeta.js +0 -126
  849. package/src/oblique/obliqueViewDirection.js +0 -40
  850. package/src/oblique/parseImageJson.js +0 -256
  851. package/src/ol/feature.js +0 -47
  852. package/src/style/declarativeStyleItem.js +0 -632
  853. package/src/style/styleFactory.js +0 -29
  854. package/src/style/styleHelpers.js +0 -555
  855. package/src/style/styleItem.js +0 -164
  856. package/src/style/writeStyle.js +0 -45
  857. package/src/util/dateTime.js +0 -60
  858. package/src/util/extent.js +0 -131
  859. package/src/util/featureconverter/circleToCesium.js +0 -215
  860. package/src/util/featureconverter/convert.js +0 -83
  861. package/src/util/featureconverter/extent3D.js +0 -181
  862. package/src/util/featureconverter/featureconverterHelper.js +0 -591
  863. package/src/util/featureconverter/lineStringToCesium.js +0 -171
  864. package/src/util/featureconverter/pointToCesium.js +0 -359
  865. package/src/util/featureconverter/polygonToCesium.js +0 -229
  866. package/src/util/fetch.js +0 -32
  867. package/src/util/geometryHelpers.js +0 -172
  868. package/src/util/indexedCollection.js +0 -181
  869. package/src/util/layerCollection.js +0 -221
  870. package/src/util/locale.js +0 -53
  871. package/src/util/mapCollection.js +0 -405
  872. package/src/util/math.js +0 -71
  873. package/src/util/overrideCollection.js +0 -224
  874. package/src/util/projection.js +0 -363
  875. package/src/util/splitScreen.js +0 -233
  876. package/src/util/viewpoint.js +0 -333
  877. package/src/vcsApp.js +0 -471
  878. package/src/vcsAppContextHelpers.js +0 -121
  879. package/src/vcsObject.js +0 -84
@@ -0,0 +1,125 @@
1
+ import type { Size } from 'ol/size.js';
2
+ import type { Coordinate } from 'ol/coordinate.js';
3
+ import type { CesiumTerrainProvider } from '@vcmap-cesium/engine';
4
+ import { cartesian2DDistance } from '../util/math.js';
5
+ import type Projection from '../util/projection.js';
6
+
7
+ export type ObliqueImageMetaOptions = {
8
+ 'principal-point'?: Coordinate;
9
+ 'pixel-size'?: Coordinate;
10
+ 'radial-distorsion-expected-2-found'?: number[];
11
+ 'radial-distorsion-found-2-expected'?: number[];
12
+ size: Size;
13
+ tileSize: Size;
14
+ tileResolution: number[];
15
+ projection: Projection;
16
+ url: string;
17
+ terrainProvider?: CesiumTerrainProvider;
18
+ name: string;
19
+ format?: string;
20
+ };
21
+
22
+ class ObliqueImageMeta {
23
+ /**
24
+ * The name of the camera associated with these meta data
25
+ */
26
+ readonly name: string;
27
+
28
+ principalPoint: Coordinate | undefined;
29
+
30
+ pixelSize: Coordinate | undefined;
31
+
32
+ radialE2F: Array<number> | undefined;
33
+
34
+ radialF2E: Array<number> | undefined;
35
+
36
+ hasRadial: boolean;
37
+
38
+ /**
39
+ * The size of the images associated with this meta data
40
+ */
41
+ size: Size;
42
+
43
+ /**
44
+ * The tile size of the images associated with this meta data
45
+ */
46
+ tileSize: Size;
47
+
48
+ /**
49
+ * The tile resolutions of the images associated with this meta data
50
+ */
51
+ tileResolution: Array<number>;
52
+
53
+ /**
54
+ * The world projection of the images associated with this meta
55
+ */
56
+ projection: Projection;
57
+
58
+ url: string;
59
+
60
+ /**
61
+ * An optional terrain provider
62
+ */
63
+ terrainProvider: CesiumTerrainProvider | undefined;
64
+
65
+ format: string;
66
+
67
+ constructor(options: ObliqueImageMetaOptions) {
68
+ this.name = options.name;
69
+ this.principalPoint = options['principal-point'];
70
+ this.pixelSize = options['pixel-size'];
71
+ this.radialE2F = options['radial-distorsion-expected-2-found'];
72
+ this.radialF2E = options['radial-distorsion-found-2-expected'];
73
+ this.hasRadial = !!(this.pixelSize && this.radialE2F && this.radialF2E);
74
+ this.size = options.size;
75
+ this.tileSize = options.tileSize;
76
+ this.tileResolution = options.tileResolution;
77
+ this.projection = options.projection;
78
+ this.url = options.url;
79
+ this.terrainProvider = options.terrainProvider;
80
+ this.format = options.format || 'jpg';
81
+ }
82
+
83
+ /**
84
+ * Removes radial distortion in image coordinates. Radial coefficients must be provided
85
+ * @param coordinate
86
+ * @param [useF2E=false] useFound2Expected, if not true expectedToFound is used
87
+ */
88
+ radialDistortionCoordinate(
89
+ coordinate: Coordinate,
90
+ useF2E: unknown,
91
+ ): Coordinate {
92
+ if (this.hasRadial && this.principalPoint) {
93
+ const coefficientsArray = (
94
+ useF2E ? this.radialF2E : this.radialE2F
95
+ ) as number[];
96
+
97
+ const distC2PPInMM =
98
+ cartesian2DDistance(this.principalPoint, coordinate) *
99
+ this.pixelSize![0];
100
+ if (distC2PPInMM === 0) {
101
+ return coordinate.slice();
102
+ }
103
+ const diffX = coordinate[0] - this.principalPoint[0];
104
+ const diffY = coordinate[1] - this.principalPoint[1];
105
+
106
+ // get shift value
107
+ let shift = 0;
108
+ for (let i = 0; i < coefficientsArray.length; ++i) {
109
+ shift += coefficientsArray[i] * distC2PPInMM ** i;
110
+ }
111
+
112
+ // get new position through spherical coordinates system - http://mathworld.wolfram.com/SphericalCoordinates.html
113
+ const newDistInPixel = (distC2PPInMM + shift) / this.pixelSize![0];
114
+ const angleTheta = Math.atan2(diffY, diffX);
115
+ return [
116
+ this.principalPoint[0] + newDistInPixel * Math.cos(angleTheta),
117
+ this.principalPoint[1] + newDistInPixel * Math.sin(angleTheta),
118
+ ];
119
+ }
120
+
121
+ return coordinate.slice();
122
+ }
123
+ }
124
+
125
+ export default ObliqueImageMeta;
@@ -1,28 +1,32 @@
1
1
  import { getTransform } from 'ol/proj.js';
2
2
  import View from 'ol/View.js';
3
+ import type olMap from 'ol/Map.js';
3
4
  import { unByKey } from 'ol/Observable.js';
5
+ import type { Coordinate } from 'ol/coordinate.js';
6
+ import type { EventsKey } from 'ol/events.js';
7
+
4
8
  import { DataState } from './obliqueDataSet.js';
5
- import OLView from './obliqueView.js';
9
+ import ObliqueView from './obliqueView.js';
6
10
  import { transformFromImage } from './helpers.js';
7
11
  import { getHeightFromTerrainProvider } from '../layer/terrainHelpers.js';
8
12
  import { mercatorProjection } from '../util/projection.js';
9
13
  import VcsEvent from '../vcsEvent.js';
10
- import { isDefaultImageSymbol } from './defaultObliqueCollection.js';
11
-
12
- /**
13
- * @typedef {Object} ObliqueViewPoint
14
- * @property {import("ol/coordinate").Coordinate} center - in mercator
15
- * @property {number} zoom
16
- * @property {import("@vcmap/core").ObliqueViewDirection} direction
17
- * @api
18
- */
19
-
20
- /**
21
- * @param {number} number
22
- * @param {number} max
23
- * @returns {number}
24
- */
25
- function withinBounds(number, max) {
14
+ import type ObliqueImage from './obliqueImage.js';
15
+ import { isDefaultImageSymbol } from './obliqueImage.js';
16
+ import { ObliqueViewDirection } from './obliqueViewDirection.js';
17
+ import type ObliqueCollection from './obliqueCollection.js';
18
+ import ObliqueImageMeta from './obliqueImageMeta.js';
19
+
20
+ export type ObliqueViewpoint = {
21
+ /**
22
+ * in mercator
23
+ */
24
+ center: Coordinate;
25
+ zoom: number;
26
+ direction: ObliqueViewDirection;
27
+ };
28
+
29
+ function withinBounds(number: number, max: number): number {
26
30
  if (number < 0) {
27
31
  return 0;
28
32
  }
@@ -33,118 +37,90 @@ function withinBounds(number, max) {
33
37
  return number;
34
38
  }
35
39
 
36
- /**
37
- * @class
38
- * @export
39
- */
40
+ export type ObliqueProviderMapChangeEventType = 'postrender' | 'moveend';
41
+
40
42
  class ObliqueProvider {
43
+ private _active = false;
44
+
45
+ private _loadingImage: ObliqueImage | string | null = null;
46
+
47
+ private _olMap: olMap;
48
+
49
+ private _viewCache: Map<ObliqueImageMeta, ObliqueView> = new Map();
50
+
51
+ private _currentImage: ObliqueImage | null = null;
52
+
53
+ private _currentView: ObliqueView | undefined = undefined;
54
+
55
+ private _collection: ObliqueCollection | null = null;
56
+
57
+ private _mapChangeEvent: ObliqueProviderMapChangeEventType = 'postrender';
58
+
41
59
  /**
42
- * @param {import("ol").Map} olMap
60
+ * Event raised once a new image is set on the provider. Will be passed the new image as the only argument.
43
61
  */
44
- constructor(olMap) {
45
- this._active = false;
46
- /** @type {import("@vcmap/core").ObliqueImage|string|null} */
47
- this._loadingImage = null;
48
- /** @type {import("ol").Map} */
62
+ imageChanged = new VcsEvent<ObliqueImage>();
63
+
64
+ /**
65
+ * Whether the post render handler should switch on image edge. Setting
66
+ * this to false will suspend all post render handler switches.
67
+ */
68
+ switchEnabled = true;
69
+
70
+ /**
71
+ * Threshold from 0 to 1 to define when to start switching to other images. Where 0 indicates
72
+ * to only switch, when the view center is outside of the image and 1 to always switch. 0.2 would start switching
73
+ * if the view center is within the outer 20% of the image.
74
+ */
75
+ switchThreshold = 0;
76
+
77
+ private _postRenderListener: EventsKey | undefined = undefined;
78
+
79
+ constructor(olMap: olMap) {
49
80
  this._olMap = olMap;
50
- this._viewCache = new Map();
51
- /**
52
- * @type {import("@vcmap/core").ObliqueImage|null}
53
- */
54
- this._currentImage = null; // XXX defaultImage
55
- /**
56
- * @type {import("@vcmap/core").ObliqueView|null}
57
- * @private
58
- */
59
- this._currentView = null;
60
- /** @type {import("@vcmap/core").ObliqueCollection} */
61
- this._collection = null; // XXX should we also make a default collection?
62
- /** @type {string} */
63
- this._mapChangeEvent = 'postrender';
64
-
65
- /**
66
- * Event raised once a new image is set on the provider. Will be passed the new image as the only argument.
67
- * @type {import("@vcmap/core").VcsEvent<import("@vcmap/core").ObliqueImage>}
68
- * @api
69
- */
70
- this.imageChanged = new VcsEvent();
71
- /**
72
- * Whether the post render handler should switch on image edge. Setting
73
- * this to false will suspend all post render handler switches.
74
- * @type {boolean}
75
- * @api
76
- */
77
- this.switchEnabled = true;
78
- /**
79
- * Threshold from 0 to 1 to define when to start switching to other images. Where 0 indicates
80
- * to only switch, when the view center is outside of the image and 1 to always switch. 0.2 would start switching
81
- * if the view center is within the outer 20% of the image.
82
- * @type {number}
83
- * @api
84
- */
85
- this.switchThreshold = 0;
86
81
  }
87
82
 
88
83
  /**
89
84
  * The event to listen to on the map. can be 'postrender' or 'moveend'. Default is 'postrender'
90
- * @type {string}
91
- * @api
92
85
  */
93
- get mapChangeEvent() {
86
+ get mapChangeEvent(): ObliqueProviderMapChangeEventType {
94
87
  return this._mapChangeEvent;
95
88
  }
96
89
 
97
- /**
98
- * @param {string} eventName
99
- */
100
- set mapChangeEvent(eventName) {
90
+ set mapChangeEvent(eventName: ObliqueProviderMapChangeEventType) {
101
91
  this._mapChangeEvent = eventName;
102
92
  if (this._active) {
103
93
  if (this._postRenderListener) {
104
94
  unByKey(this._postRenderListener);
105
95
  }
106
- // @ts-ignore
107
- this._postRenderListener = this._olMap.on(this._mapChangeEvent, this._postRenderHandler.bind(this));
96
+ this._postRenderListener = this._olMap.on(
97
+ this._mapChangeEvent,
98
+ this._postRenderHandler.bind(this),
99
+ );
108
100
  }
109
101
  }
110
102
 
111
- /**
112
- * @returns {boolean}
113
- * @api
114
- */
115
- get loading() {
103
+ get loading(): boolean {
116
104
  return !!this._loadingImage;
117
105
  }
118
106
 
119
- /**
120
- * @returns {boolean}
121
- * @api
122
- */
123
- get active() {
107
+ get active(): boolean {
124
108
  return this._active;
125
109
  }
126
110
 
127
- /**
128
- * @readonly
129
- * @type {import("@vcmap/core").ObliqueImage|null}
130
- * @api
131
- */
132
- get currentImage() { return this._currentImage; }
111
+ get currentImage(): ObliqueImage | null {
112
+ return this._currentImage;
113
+ }
133
114
 
134
- /**
135
- * @readonly
136
- * @type {import("@vcmap/core").ObliqueCollection|null}
137
- * @api
138
- */
139
- get collection() { return this._collection; }
115
+ get collection(): ObliqueCollection | null {
116
+ return this._collection;
117
+ }
140
118
 
141
119
  /**
142
120
  * Set a new collection. The collection must be loaded.
143
121
  * If a previous collection was set, the current image and its resources will be removed from the olMap.
144
- * @param {import("@vcmap/core").ObliqueCollection} collection
145
- * @api
146
122
  */
147
- setCollection(collection) {
123
+ setCollection(collection: ObliqueCollection): void {
148
124
  this._loadingImage = null;
149
125
  if (!collection.loaded) {
150
126
  // eslint-disable-next-line no-console
@@ -153,53 +129,53 @@ class ObliqueProvider {
153
129
  }
154
130
  this._collection = collection;
155
131
  this._removeCurrentView();
156
- this._currentView = null;
132
+ this._currentView = undefined;
157
133
  this._currentImage = null;
158
134
  }
159
135
 
160
136
  /**
161
137
  * Activate the provider, its current view and its post render handler
162
- * @api
163
138
  */
164
- activate() {
139
+ activate(): void {
165
140
  if (!this._collection) {
166
- throw new Error('cannot activate provider without an oblique collection.');
141
+ throw new Error(
142
+ 'cannot activate provider without an oblique collection.',
143
+ );
167
144
  }
168
145
  if (!this._active) {
169
146
  this._active = true;
170
147
  this._setCurrentView();
171
148
  if (!this._postRenderListener) {
172
- // @ts-ignore
173
- this._postRenderListener = this._olMap.on(this._mapChangeEvent, this._postRenderHandler.bind(this));
149
+ this._postRenderListener = this._olMap.on(
150
+ this._mapChangeEvent,
151
+ this._postRenderHandler.bind(this),
152
+ );
174
153
  }
175
154
  }
176
155
  }
177
156
 
178
157
  /**
179
158
  * Deactivates the provider, removing the current view and post render handler from the map
180
- * @api
181
159
  */
182
- deactivate() {
160
+ deactivate(): void {
183
161
  if (this._currentView) {
184
162
  this._removeCurrentView();
185
163
  }
186
164
 
187
165
  if (this._postRenderListener) {
188
166
  unByKey(this._postRenderListener);
189
- this._postRenderListener = null;
167
+ this._postRenderListener = undefined;
190
168
  }
191
169
 
192
170
  this._active = false;
193
171
  }
194
172
 
195
- /**
196
- * @param {import("ol/coordinate").Coordinate} coord
197
- * @returns {import("ol/coordinate").Coordinate}
198
- * @private
199
- */
200
- _pullCoordinateToImageCenter(coord) {
173
+ private _pullCoordinateToImageCenter(coord: Coordinate): Coordinate {
201
174
  if (this.currentImage) {
202
- const center = [this.currentImage.meta.size[0] / 2, this.currentImage.meta.size[1] / 2];
175
+ const center = [
176
+ this.currentImage.meta.size[0] / 2,
177
+ this.currentImage.meta.size[1] / 2,
178
+ ];
203
179
  if (coord[0] < center[0]) {
204
180
  coord[0] += 50;
205
181
  } else {
@@ -215,47 +191,68 @@ class ObliqueProvider {
215
191
  return coord;
216
192
  }
217
193
 
218
- _postRenderHandler() {
194
+ private _postRenderHandler(): void {
219
195
  if (this._active && !this.loading && this.switchEnabled) {
220
- const currentSize = this._currentImage ? this._currentImage.meta.size : null;
221
- const imageCoordinates = this._olMap.getView().getCenter();
196
+ const currentSize = this._currentImage
197
+ ? this._currentImage.meta.size
198
+ : null;
199
+ const imageCoordinates = this._olMap.getView().getCenter() as Coordinate;
222
200
  const ratioLower = this.switchThreshold; // XXX this.switchThreshold;
223
201
  const ratioUpper = 1 - ratioLower;
224
202
  if (
225
- !this._currentImage || (
226
- imageCoordinates[0] / currentSize[0] > ratioLower &&
227
- imageCoordinates[0] / currentSize[0] < ratioUpper &&
228
- imageCoordinates[1] / currentSize[1] > ratioLower &&
229
- imageCoordinates[1] / currentSize[1] < ratioUpper
230
- )
203
+ !this._currentImage ||
204
+ (imageCoordinates[0] / currentSize![0] > ratioLower &&
205
+ imageCoordinates[0] / currentSize![0] < ratioUpper &&
206
+ imageCoordinates[1] / currentSize![1] > ratioLower &&
207
+ imageCoordinates[1] / currentSize![1] < ratioUpper)
231
208
  ) {
232
209
  return;
233
210
  }
234
- const pulledCenter = this._pullCoordinateToImageCenter(imageCoordinates.slice());
235
- const worldCoords = this._currentImage.transformImage2RealWorld(pulledCenter).slice(0, 2);
236
- const transform = getTransform(this._currentImage.meta.projection.proj, mercatorProjection.proj);
211
+ const pulledCenter = this._pullCoordinateToImageCenter(
212
+ imageCoordinates.slice(),
213
+ );
214
+ const worldCoords = this._currentImage
215
+ .transformImage2RealWorld(pulledCenter)
216
+ .slice(0, 2);
217
+ const transform = getTransform(
218
+ this._currentImage.meta.projection.proj,
219
+ mercatorProjection.proj,
220
+ );
237
221
  // error in TransformFunction type definition, remove undefined after openlayer fixed the type
238
222
  const mercatorCoords = transform(worldCoords, undefined, undefined);
239
223
  const buffer = 200; // XXX make configurable?
240
224
  const extent = [
241
- mercatorCoords[0] - buffer, mercatorCoords[1] - buffer,
242
- mercatorCoords[0] + buffer, mercatorCoords[1] + buffer,
225
+ mercatorCoords[0] - buffer,
226
+ mercatorCoords[1] - buffer,
227
+ mercatorCoords[0] + buffer,
228
+ mercatorCoords[1] + buffer,
243
229
  ];
244
- const dataState = this._collection.getDataStateForExtent(extent);
230
+ const dataState = this._collection!.getDataStateForExtent(extent);
245
231
  if (dataState === DataState.READY) {
246
- const image = this._collection.getImageForCoordinate(mercatorCoords, this._currentImage.viewDirection);
232
+ const image = this._collection!.getImageForCoordinate(
233
+ mercatorCoords,
234
+ this._currentImage.viewDirection,
235
+ );
247
236
  if (image && image.name !== this._currentImage.name) {
248
- this._changeImage(image, imageCoordinates);
237
+ // eslint-disable-next-line no-void
238
+ void this._changeImage(image, imageCoordinates);
249
239
  }
250
240
  } else if (dataState === DataState.PENDING) {
251
- this._collection.loadDataForExtent(extent);
241
+ // eslint-disable-next-line no-void
242
+ void this._collection!.loadDataForExtent(extent);
252
243
  }
253
244
  }
254
245
  }
255
246
 
256
- async _changeImage(image, imageCoordinates) {
247
+ private async _changeImage(
248
+ image: ObliqueImage,
249
+ imageCoordinates: Coordinate,
250
+ ): Promise<void> {
257
251
  this._loadingImage = image;
258
- const { coords } = await transformFromImage(this._currentImage, imageCoordinates);
252
+ const { coords } = await transformFromImage(
253
+ this._currentImage as ObliqueImage,
254
+ imageCoordinates,
255
+ );
259
256
  if (this._loadingImage !== image) {
260
257
  return;
261
258
  }
@@ -264,17 +261,19 @@ class ObliqueProvider {
264
261
 
265
262
  /**
266
263
  * Sets the current image
267
- * @param {import("@vcmap/core").ObliqueImage} image
268
- * @param {import("ol/coordinate").Coordinate=} optCenter - mercator coordinates of an optional center to use. uses the images center if undefined
269
- * @returns {Promise<boolean>}
270
- * @api
264
+ * @param image
265
+ * @param optCenter - mercator coordinates of an optional center to use. uses the images center if undefined
271
266
  */
272
- async setImage(image, optCenter) {
267
+ async setImage(
268
+ image: ObliqueImage,
269
+ optCenter?: Coordinate,
270
+ ): Promise<boolean> {
273
271
  if (!this._collection) {
274
272
  throw new Error('cannot set an image without an oblique collection.');
275
273
  }
276
274
  this._loadingImage = image;
277
- const isNewImage = !this._currentImage || this._currentImage.name !== image.name;
275
+ const isNewImage =
276
+ !this._currentImage || this._currentImage.name !== image.name;
278
277
  this._currentImage = image;
279
278
  if (isNewImage) {
280
279
  await image.calculateImageAverageHeight();
@@ -284,18 +283,21 @@ class ObliqueProvider {
284
283
  return false;
285
284
  }
286
285
 
287
- let olView;
286
+ let olView: ObliqueView;
288
287
  if (this._viewCache.has(image.meta)) {
289
- olView = this._viewCache.get(image.meta);
288
+ olView = this._viewCache.get(image.meta) as ObliqueView;
290
289
  } else {
291
- olView = new OLView(image.meta, this._collection.viewOptions);
290
+ olView = new ObliqueView(image.meta, this._collection.viewOptions);
292
291
  this._viewCache.set(image.meta, olView);
293
292
  }
294
293
 
295
294
  const previousView = this._currentView;
296
295
  this._currentView = olView;
297
296
  if (isNewImage) {
298
- this._currentView.setImageName(this._currentImage.name, this._currentImage[isDefaultImageSymbol]);
297
+ this._currentView.setImageName(
298
+ this._currentImage.name,
299
+ this._currentImage[isDefaultImageSymbol],
300
+ );
299
301
  }
300
302
 
301
303
  const [width, height] = this._currentImage.meta.size;
@@ -306,7 +308,10 @@ class ObliqueProvider {
306
308
  mercatorProjection.proj,
307
309
  this._currentImage.meta.projection.proj,
308
310
  )(optCenter.slice(0, 2), undefined, undefined);
309
- const imageCenter = this._currentImage.transformRealWorld2Image(worldCenter, optCenter[2]);
311
+ const imageCenter = this._currentImage.transformRealWorld2Image(
312
+ worldCenter,
313
+ optCenter[2],
314
+ );
310
315
  imageCenter[0] = withinBounds(imageCenter[0], width);
311
316
  imageCenter[1] = withinBounds(imageCenter[1], height);
312
317
  center = imageCenter;
@@ -324,11 +329,7 @@ class ObliqueProvider {
324
329
  return true;
325
330
  }
326
331
 
327
- /**
328
- * @param {import("@vcmap/core").ObliqueView=} previousView
329
- * @private
330
- */
331
- _setCurrentView(previousView) {
332
+ private _setCurrentView(previousView?: ObliqueView): void {
332
333
  if (this._currentView) {
333
334
  const isSame = previousView && previousView === this._currentView;
334
335
  if (!isSame) {
@@ -337,7 +338,9 @@ class ObliqueProvider {
337
338
  }
338
339
 
339
340
  if (this._olMap.getView() && this._olMap.getView().getResolution()) {
340
- this._currentView.view.setResolution(this._olMap.getView().getResolution());
341
+ this._currentView.view.setResolution(
342
+ this._olMap.getView().getResolution(),
343
+ );
341
344
  }
342
345
 
343
346
  this._olMap.setView(this._currentView.view);
@@ -346,7 +349,7 @@ class ObliqueProvider {
346
349
  }
347
350
  }
348
351
 
349
- _removeCurrentView() {
352
+ private _removeCurrentView(): void {
350
353
  if (this._currentView) {
351
354
  if (this._olMap.getView() === this._currentView.view) {
352
355
  this._olMap.setView(new View());
@@ -357,13 +360,15 @@ class ObliqueProvider {
357
360
 
358
361
  /**
359
362
  * Sets a new image based on a ground coordinate and a direction.
360
- * @param {import("ol/coordinate").Coordinate} coordinate
361
- * @param {import("@vcmap/core").ObliqueViewDirection} direction
362
- * @param {number} [zoom=2]
363
- * @returns {Promise<void>}
364
- * @api
363
+ * @param coordinate
364
+ * @param direction
365
+ * @param [zoom=2]
365
366
  */
366
- async setView(coordinate, direction, zoom = 2) {
367
+ async setView(
368
+ coordinate: Coordinate,
369
+ direction: ObliqueViewDirection,
370
+ zoom = 2,
371
+ ): Promise<void> {
367
372
  if (!this._collection) {
368
373
  throw new Error('cannot set the view without an oblique collection.');
369
374
  }
@@ -371,7 +376,10 @@ class ObliqueProvider {
371
376
  const usedCoordinate = coordinate.slice();
372
377
  const coordinateHash = `${coordinate.join('')}${direction}${zoom}`;
373
378
  this._loadingImage = coordinateHash;
374
- const image = await this._collection.loadImageForCoordinate(coordinate, direction);
379
+ const image = await this._collection.loadImageForCoordinate(
380
+ coordinate,
381
+ direction,
382
+ );
375
383
  if (image) {
376
384
  if (this._loadingImage !== coordinateHash) {
377
385
  return;
@@ -390,7 +398,7 @@ class ObliqueProvider {
390
398
  return;
391
399
  }
392
400
  const imageSet = await this.setImage(image, usedCoordinate);
393
- if (imageSet) {
401
+ if (imageSet && this._currentView) {
394
402
  this._currentView.view.setZoom(zoom);
395
403
  }
396
404
  } else {
@@ -400,17 +408,18 @@ class ObliqueProvider {
400
408
 
401
409
  /**
402
410
  * Returns a viewpoint for the currently set view.
403
- * @returns {Promise<ObliqueViewPoint>}
404
- * @api
405
411
  */
406
- async getView() {
412
+ async getView(): Promise<ObliqueViewpoint | null> {
407
413
  if (this._currentView && this._currentImage) {
408
- const imageCoord = this._currentView.view.getCenter();
409
- const { coords: center } = await transformFromImage(this._currentImage, imageCoord);
414
+ const imageCoord = this._currentView.view.getCenter() as Coordinate;
415
+ const { coords: center } = await transformFromImage(
416
+ this._currentImage,
417
+ imageCoord,
418
+ );
410
419
  return {
411
420
  center,
412
421
  direction: this._currentImage.viewDirection,
413
- zoom: this._currentView.view.getZoom(),
422
+ zoom: this._currentView.view.getZoom() as number,
414
423
  };
415
424
  }
416
425
  return null;
@@ -418,21 +427,24 @@ class ObliqueProvider {
418
427
 
419
428
  /**
420
429
  * Destroys all openlayers resources created by this oblique provider
421
- * @api
422
430
  */
423
- destroy() {
431
+ destroy(): void {
424
432
  this._removeCurrentView();
425
- [...this._viewCache.values()].forEach((ov) => { ov.destroy(); });
433
+ [...this._viewCache.values()].forEach((ov) => {
434
+ ov.destroy();
435
+ });
426
436
  this._viewCache.clear();
427
437
  this._loadingImage = null;
428
438
  if (this._postRenderListener) {
429
439
  unByKey(this._postRenderListener);
430
- this._postRenderListener = null;
440
+ this._postRenderListener = undefined;
431
441
  }
432
442
 
433
443
  this.imageChanged.destroy();
434
444
  this._collection = null;
435
- this._olMap = null;
445
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
446
+ // @ts-ignore
447
+ this._olMap = undefined;
436
448
  }
437
449
  }
438
450