@vcmap/core 5.0.0-rc.8 → 5.0.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 (887) 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 +956 -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 +70 -36
  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 +60 -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.ts +489 -0
  638. package/src/layer/{geojsonLayer.js → geojsonLayer.ts} +41 -73
  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.ts +110 -0
  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.ts +121 -0
  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.ts +105 -0
  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} +119 -93
  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 +1382 -0
  681. package/src/map/mapState.ts +11 -0
  682. package/src/map/{obliqueMap.js → obliqueMap.ts} +188 -223
  683. package/src/map/openlayersMap.ts +206 -0
  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.ts +193 -0
  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.ts +856 -0
  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 -7591
  776. package/index.js +0 -147
  777. package/src/category/appBackedCategory.js +0 -41
  778. package/src/category/category.js +0 -374
  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 -89
  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 -62
  788. package/src/featureProvider/wmsFeatureProvider.js +0 -286
  789. package/src/globalCollections.js +0 -7
  790. package/src/interaction/abstractInteraction.js +0 -151
  791. package/src/interaction/coordinateAtPixel.js +0 -99
  792. package/src/interaction/eventHandler.js +0 -425
  793. package/src/interaction/featureAtPixelInteraction.js +0 -273
  794. package/src/interaction/featureProviderInteraction.js +0 -43
  795. package/src/interaction/interactionType.js +0 -114
  796. package/src/layer/cesium/cesiumTilesetCesiumImpl.js +0 -359
  797. package/src/layer/cesium/clusterContext.js +0 -95
  798. package/src/layer/cesium/openStreetMapCesiumImpl.js +0 -29
  799. package/src/layer/cesium/pointCloudCesiumImpl.js +0 -58
  800. package/src/layer/cesium/rasterLayerCesiumImpl.js +0 -110
  801. package/src/layer/cesium/singleImageCesiumImpl.js +0 -49
  802. package/src/layer/cesium/terrainCesiumImpl.js +0 -80
  803. package/src/layer/cesium/vectorCesiumImpl.js +0 -255
  804. package/src/layer/cesium/vectorContext.js +0 -167
  805. package/src/layer/cesium/vectorTileImageryProvider.js +0 -246
  806. package/src/layer/cesium/x3dmHelper.js +0 -22
  807. package/src/layer/cesiumTilesetLayer.js +0 -376
  808. package/src/layer/czmlLayer.js +0 -141
  809. package/src/layer/dataSourceLayer.js +0 -259
  810. package/src/layer/featureLayer.js +0 -261
  811. package/src/layer/featureStoreLayer.js +0 -647
  812. package/src/layer/featureStoreLayerChanges.js +0 -376
  813. package/src/layer/featureStoreLayerState.js +0 -19
  814. package/src/layer/featureVisibility.js +0 -436
  815. package/src/layer/geojsonHelpers.js +0 -445
  816. package/src/layer/globalHider.js +0 -147
  817. package/src/layer/layer.js +0 -752
  818. package/src/layer/layerState.js +0 -17
  819. package/src/layer/layerSymbols.js +0 -6
  820. package/src/layer/oblique/layerObliqueImpl.js +0 -76
  821. package/src/layer/oblique/obliqueHelpers.js +0 -175
  822. package/src/layer/oblique/vectorObliqueImpl.js +0 -469
  823. package/src/layer/openStreetMapLayer.js +0 -194
  824. package/src/layer/openlayers/layerOpenlayersImpl.js +0 -79
  825. package/src/layer/openlayers/rasterLayerOpenlayersImpl.js +0 -122
  826. package/src/layer/openlayers/vectorOpenlayersImpl.js +0 -118
  827. package/src/layer/openlayers/vectorTileOpenlayersImpl.js +0 -177
  828. package/src/layer/pointCloudLayer.js +0 -162
  829. package/src/layer/rasterLayer.js +0 -294
  830. package/src/layer/singleImageLayer.js +0 -120
  831. package/src/layer/terrainHelpers.js +0 -119
  832. package/src/layer/terrainLayer.js +0 -122
  833. package/src/layer/tileLoadedHelper.js +0 -72
  834. package/src/layer/tileProvider/mvtTileProvider.js +0 -104
  835. package/src/layer/tileProvider/staticGeojsonTileProvider.js +0 -67
  836. package/src/layer/tileProvider/tileProvider.js +0 -584
  837. package/src/layer/tileProvider/tileProviderFactory.js +0 -28
  838. package/src/layer/tileProvider/urlTemplateTileProvider.js +0 -106
  839. package/src/layer/tmsLayer.js +0 -121
  840. package/src/layer/vectorHelpers.js +0 -206
  841. package/src/layer/vectorLayer.js +0 -632
  842. package/src/layer/vectorProperties.js +0 -1391
  843. package/src/layer/vectorTileLayer.js +0 -480
  844. package/src/layer/wfsLayer.js +0 -165
  845. package/src/layer/wmtsLayer.js +0 -235
  846. package/src/map/baseOLMap.js +0 -257
  847. package/src/map/cameraLimiter.js +0 -219
  848. package/src/map/cesiumMap.js +0 -1177
  849. package/src/map/mapState.js +0 -17
  850. package/src/map/openlayersMap.js +0 -208
  851. package/src/map/vcsMap.js +0 -526
  852. package/src/oblique/obliqueCollection.js +0 -653
  853. package/src/oblique/obliqueDataSet.js +0 -400
  854. package/src/oblique/obliqueImage.js +0 -247
  855. package/src/oblique/obliqueImageMeta.js +0 -126
  856. package/src/oblique/obliqueViewDirection.js +0 -40
  857. package/src/oblique/parseImageJson.js +0 -256
  858. package/src/ol/feature.js +0 -47
  859. package/src/style/declarativeStyleItem.js +0 -633
  860. package/src/style/styleFactory.js +0 -48
  861. package/src/style/styleHelpers.js +0 -555
  862. package/src/style/styleItem.js +0 -245
  863. package/src/style/vectorStyleItem.js +0 -929
  864. package/src/style/writeStyle.js +0 -48
  865. package/src/util/dateTime.js +0 -60
  866. package/src/util/extent.js +0 -131
  867. package/src/util/featureconverter/circleToCesium.js +0 -215
  868. package/src/util/featureconverter/convert.js +0 -83
  869. package/src/util/featureconverter/extent3D.js +0 -181
  870. package/src/util/featureconverter/featureconverterHelper.js +0 -591
  871. package/src/util/featureconverter/lineStringToCesium.js +0 -171
  872. package/src/util/featureconverter/pointToCesium.js +0 -359
  873. package/src/util/featureconverter/polygonToCesium.js +0 -229
  874. package/src/util/fetch.js +0 -32
  875. package/src/util/geometryHelpers.js +0 -172
  876. package/src/util/indexedCollection.js +0 -181
  877. package/src/util/layerCollection.js +0 -221
  878. package/src/util/locale.js +0 -53
  879. package/src/util/mapCollection.js +0 -405
  880. package/src/util/math.js +0 -71
  881. package/src/util/overrideCollection.js +0 -224
  882. package/src/util/projection.js +0 -366
  883. package/src/util/splitScreen.js +0 -233
  884. package/src/util/viewpoint.js +0 -336
  885. package/src/vcsApp.js +0 -373
  886. package/src/vcsAppContextHelpers.js +0 -108
  887. package/src/vcsObject.js +0 -84
@@ -0,0 +1,404 @@
1
+ /* eslint no-underscore-dangle: ["error", { "allow": ["_listeners", "_scopes", "_toRemove"] }] */
2
+ /* eslint-disable no-continue */
3
+ import { boundingExtent, getBottomLeft, getBottomRight, getTopLeft, getTopRight, } from 'ol/extent.js';
4
+ import { transform } from 'ol/proj.js';
5
+ import { Cartesian2 } from '@vcmap-cesium/engine';
6
+ import { ObliqueViewDirection } from './obliqueViewDirection.js';
7
+ import { getHeightFromTerrainProvider } from '../layer/terrainHelpers.js';
8
+ import { cartesian2DDistance } from '../util/math.js';
9
+ import { mercatorProjection, wgs84Projection, } from '../util/projection.js';
10
+ let scratchCartesian2A = new Cartesian2();
11
+ let scratchCartesian2B = new Cartesian2();
12
+ /**
13
+ * sorts the corner points of the json after [lower left, lower right, upper right, upper left]
14
+ * 3----2 ^
15
+ * | | |
16
+ * 0----1 north
17
+ * @param inputCornerPoints
18
+ * @param [sortDirection=false]
19
+ */
20
+ export function sortRealWordEdgeCoordinates(inputCornerPoints, sortDirection = false) {
21
+ const cornerPoints = inputCornerPoints.slice();
22
+ const extent = boundingExtent(cornerPoints);
23
+ const extentPoints = [
24
+ getBottomLeft(extent),
25
+ getBottomRight(extent),
26
+ getTopRight(extent),
27
+ getTopLeft(extent),
28
+ ];
29
+ let sorted = extentPoints.map((extentPoint) => {
30
+ let closest = 0;
31
+ let distance = Infinity;
32
+ cornerPoints.forEach((cornerPoint, cornerIndex) => {
33
+ const currentDistance = cartesian2DDistance(extentPoint, cornerPoint);
34
+ if (currentDistance < distance) {
35
+ distance = currentDistance;
36
+ closest = cornerIndex;
37
+ }
38
+ });
39
+ return cornerPoints.splice(closest, 1)[0];
40
+ });
41
+ if (sortDirection === ObliqueViewDirection.EAST) {
42
+ sorted = [sorted[3], sorted[0], sorted[1], sorted[2]];
43
+ }
44
+ else if (sortDirection === ObliqueViewDirection.SOUTH) {
45
+ sorted = [sorted[2], sorted[3], sorted[0], sorted[1]];
46
+ }
47
+ else if (sortDirection === ObliqueViewDirection.WEST) {
48
+ sorted = [sorted[1], sorted[2], sorted[3], sorted[0]];
49
+ }
50
+ return sorted;
51
+ }
52
+ /**
53
+ * @param v1
54
+ * @param v2
55
+ */
56
+ function angleBetweenTwo2DVectors(v1, v2) {
57
+ scratchCartesian2A = Cartesian2.fromElements(v1[0], v1[1], scratchCartesian2A);
58
+ scratchCartesian2B = Cartesian2.fromElements(v2[0], v2[1], scratchCartesian2B);
59
+ return Cartesian2.angleBetween(scratchCartesian2A, scratchCartesian2B);
60
+ }
61
+ /**
62
+ * taken from http://jsfiddle.net/justin_c_rounds/Gd2S2/
63
+ * @param segment1
64
+ * @param segment2
65
+ */
66
+ export function checkLineIntersection(segment1, segment2) {
67
+ // if the lines intersect, the result contains the x and y of the intersection (treating the lines as infinite) and booleans for whether line segment 1 or line segment 2 contain the point
68
+ const [[line1StartX, line1StartY], [line1EndX, line1EndY]] = segment1;
69
+ const [[line2StartX, line2StartY], [line2EndX, line2EndY]] = segment2;
70
+ let a;
71
+ let b;
72
+ const result = {
73
+ x: null,
74
+ y: null,
75
+ onLine1: false,
76
+ onLine2: false,
77
+ };
78
+ const denominator = (line2EndY - line2StartY) * (line1EndX - line1StartX) -
79
+ (line2EndX - line2StartX) * (line1EndY - line1StartY);
80
+ if (denominator === 0) {
81
+ return result;
82
+ }
83
+ a = line1StartY - line2StartY;
84
+ b = line1StartX - line2StartX;
85
+ const numerator1 = (line2EndX - line2StartX) * a - (line2EndY - line2StartY) * b;
86
+ const numerator2 = (line1EndX - line1StartX) * a - (line1EndY - line1StartY) * b;
87
+ a = numerator1 / denominator;
88
+ b = numerator2 / denominator;
89
+ // if we cast these lines infinitely in both directions, they intersect here:
90
+ result.x = line1StartX + a * (line1EndX - line1StartX);
91
+ result.y = line1StartY + a * (line1EndY - line1StartY);
92
+ /*
93
+ // it is worth noting that this should be the same as:
94
+ x = line2StartX + (b * (line2EndX - line2StartX));
95
+ y = line2StartX + (b * (line2EndY - line2StartY));
96
+ */
97
+ // if line1 is a segment and line2 is infinite, they intersect if:
98
+ if (a > 0 && a < 1) {
99
+ result.onLine1 = true;
100
+ }
101
+ // if line2 is a segment and line1 is infinite, they intersect if:
102
+ if (b > 0 && b < 1) {
103
+ result.onLine2 = true;
104
+ }
105
+ // if line1 and line2 are segments, they intersect if both of the above are true
106
+ return result;
107
+ }
108
+ /**
109
+ * transforms coordinate with intersection from corner
110
+ * @param inputOrigin
111
+ * @param inputTarget
112
+ * @param originIsImage
113
+ * @param coordinate2Transform
114
+ * @param viewDirection
115
+ * @returns |null}
116
+ */
117
+ export function transformCWIFC(inputOrigin, inputTarget, originIsImage, coordinate2Transform, viewDirection) {
118
+ const origin = sortRealWordEdgeCoordinates(inputOrigin, originIsImage ? false : viewDirection);
119
+ const target = sortRealWordEdgeCoordinates(inputTarget, originIsImage ? viewDirection : false);
120
+ // test intersections from all corner points over coordinate to all non neighbouring borders
121
+ // and non side borders too - so actually remains only upper and lower border
122
+ // and store:
123
+ // - from which corner point,
124
+ // - intersection,
125
+ // - angle of intersection
126
+ // - as well as edge (ccw) and
127
+ // - distance ratio while negative means negative direction
128
+ // to be able to recreate the situation in the target system
129
+ const intersections = [];
130
+ for (let cp = 0; cp < origin.length; ++cp) {
131
+ // TODO write into a proper map and function
132
+ const intrCurrCP = [];
133
+ for (let sp = 0; sp < origin.length; ++sp) {
134
+ const ep = sp === origin.length - 1 ? 0 : sp + 1; // end point of edge
135
+ // skip if cp is sp or ep - neighbouring edge
136
+ if (cp === sp || cp === ep) {
137
+ continue;
138
+ }
139
+ // skip also if sp is 3 and ep is 0 and also skip sp is 1 and ep is 2 since does only work over the upper and lower boundary
140
+ if ((sp === 3 && ep === 0) || (sp === 1 && ep === 2)) {
141
+ continue;
142
+ }
143
+ // get intersection from cp over coordinate2Transform to current border edge
144
+ const currIntr = checkLineIntersection([origin[cp], coordinate2Transform], [origin[sp], origin[ep]]);
145
+ if (currIntr.x == null || currIntr.y == null) {
146
+ continue;
147
+ }
148
+ // get vector from current cp to coordinate2Transform to be able to determine if the intersection is in same direction
149
+ // might be in different direction when point is outside - then we dont need this data
150
+ const vectorCP2Coordinate = [
151
+ coordinate2Transform[0] - origin[cp][0],
152
+ coordinate2Transform[1] - origin[cp][1],
153
+ ];
154
+ const vectorCP2Intr = [
155
+ currIntr.x - origin[cp][0],
156
+ currIntr.y - origin[cp][1],
157
+ ];
158
+ const angleDirectionCheck = angleBetweenTwo2DVectors(vectorCP2Coordinate, vectorCP2Intr);
159
+ if (angleDirectionCheck == null) {
160
+ continue;
161
+ }
162
+ if (angleDirectionCheck / (Math.PI * 180.0) > 5) {
163
+ continue;
164
+ }
165
+ const sp2ep = [
166
+ origin[sp][0] - origin[ep][0],
167
+ origin[sp][1] - origin[ep][1],
168
+ ];
169
+ const ep2sp = [
170
+ origin[ep][0] - origin[sp][0],
171
+ origin[ep][1] - origin[sp][1],
172
+ ];
173
+ // regarding the angle find the smallest
174
+ const angleStart2End = angleBetweenTwo2DVectors(vectorCP2Coordinate, sp2ep);
175
+ if (angleStart2End == null) {
176
+ continue;
177
+ }
178
+ const angleEnd2Start = angleBetweenTwo2DVectors(vectorCP2Coordinate, ep2sp);
179
+ if (angleEnd2Start == null) {
180
+ continue;
181
+ }
182
+ // regarding ratioStart2End get ratio and then direction
183
+ const distStartEnd = cartesian2DDistance(origin[sp], origin[ep]);
184
+ if (distStartEnd === 0) {
185
+ continue;
186
+ }
187
+ const tempRatioStartEnd = cartesian2DDistance(origin[sp], [currIntr.x, currIntr.y]) /
188
+ distStartEnd;
189
+ let angleEdge2Intr = 0;
190
+ if (tempRatioStartEnd !== 0) {
191
+ angleEdge2Intr = angleBetweenTwo2DVectors(ep2sp, [
192
+ currIntr.x - origin[sp][0],
193
+ currIntr.y - origin[sp][1],
194
+ ]);
195
+ if (angleEdge2Intr == null) {
196
+ continue;
197
+ }
198
+ }
199
+ intrCurrCP.push({
200
+ cornerPoint: cp,
201
+ intrX: currIntr.x,
202
+ intrY: currIntr.y,
203
+ angle: angleStart2End <= angleEnd2Start ? angleStart2End : angleEnd2Start,
204
+ edgeStart: sp,
205
+ edgeEnd: ep,
206
+ ratioStart2End: (angleEdge2Intr / Math.PI) * 180.0 > 5
207
+ ? tempRatioStartEnd * -1
208
+ : tempRatioStartEnd,
209
+ });
210
+ }
211
+ // after getting the data find the intersection with largest of smallest angles
212
+ let largestAngle = -1;
213
+ let indLargestAngle = -1;
214
+ for (let i = 0; i < intrCurrCP.length; ++i) {
215
+ if (intrCurrCP[i].angle > largestAngle) {
216
+ largestAngle = intrCurrCP[i].angle;
217
+ indLargestAngle = i;
218
+ }
219
+ }
220
+ if (indLargestAngle !== -1) {
221
+ intersections.push(intrCurrCP[indLargestAngle]);
222
+ }
223
+ }
224
+ // if we don not have enough data to recreate the situation in target system stop
225
+ if (intersections.length < 2) {
226
+ return null;
227
+ }
228
+ // make list with intersection combinations and sort after strength (add angles together)
229
+ const intrCombis = []; // will contain [addedAngle, intersectionsIndex_i, intersectionsIndex_j]
230
+ for (let i = 0; i < intersections.length; ++i) {
231
+ for (let j = i + 1; j < intersections.length; ++j) {
232
+ intrCombis.push([intersections[i].angle + intersections[j].angle, i, j]);
233
+ }
234
+ }
235
+ let intrCross = null;
236
+ intrCombis
237
+ .sort()
238
+ .reverse()
239
+ .find((intersection) => {
240
+ const intersectionsSorted = [
241
+ intersections[intersection[1]],
242
+ intersections[intersection[2]],
243
+ ];
244
+ const targetEdgeEnd0 = target[intersectionsSorted[0].edgeEnd];
245
+ const targetEdgeStart0 = target[intersectionsSorted[0].edgeStart];
246
+ // test angle of lines with that the intersection will be calculated - if two small skip
247
+ const targetEdgeVectorFor0 = [
248
+ targetEdgeEnd0[0] - targetEdgeStart0[0],
249
+ targetEdgeEnd0[1] - targetEdgeStart0[1],
250
+ ];
251
+ const intrFor0InTarget = [
252
+ targetEdgeStart0[0] +
253
+ targetEdgeVectorFor0[0] * intersectionsSorted[0].ratioStart2End,
254
+ targetEdgeStart0[1] +
255
+ targetEdgeVectorFor0[1] * intersectionsSorted[0].ratioStart2End,
256
+ ];
257
+ const targetEdgeEnd1 = target[intersectionsSorted[1].edgeEnd];
258
+ const targetEdgeStart1 = target[intersectionsSorted[1].edgeStart];
259
+ const targetEdgeVectorFor1 = [
260
+ targetEdgeEnd1[0] - targetEdgeStart1[0],
261
+ targetEdgeEnd1[1] - targetEdgeStart1[1],
262
+ ];
263
+ const intrFor1InTarget = [
264
+ targetEdgeStart1[0] +
265
+ targetEdgeVectorFor1[0] * intersectionsSorted[1].ratioStart2End,
266
+ targetEdgeStart1[1] +
267
+ targetEdgeVectorFor1[1] * intersectionsSorted[1].ratioStart2End,
268
+ ];
269
+ const vecCP0ToIntr0 = [
270
+ intrFor0InTarget[0] - target[intersectionsSorted[0].cornerPoint][0],
271
+ intrFor0InTarget[1] - target[intersectionsSorted[0].cornerPoint][1],
272
+ ];
273
+ const vecCP1ToIntr1 = [
274
+ intrFor1InTarget[0] - target[intersectionsSorted[1].cornerPoint][0],
275
+ intrFor1InTarget[1] - target[intersectionsSorted[1].cornerPoint][1],
276
+ ];
277
+ const angleCross = angleBetweenTwo2DVectors(vecCP0ToIntr0, vecCP1ToIntr1);
278
+ if (angleCross == null) {
279
+ return false;
280
+ }
281
+ /* var thresholdInDegree = 3;
282
+ if (angleCross/Math.PI*180.0 < thresholdInDegree || angleCross/Math.PI*180.0 > 180-thresholdInDegree)
283
+ continue; */
284
+ // get point in target
285
+ intrCross = checkLineIntersection([target[intersectionsSorted[0].cornerPoint], intrFor0InTarget], [target[intersectionsSorted[1].cornerPoint], intrFor1InTarget]);
286
+ if (intrCross.x == null || intrCross.y == null) {
287
+ return false;
288
+ }
289
+ return true;
290
+ });
291
+ return intrCross;
292
+ }
293
+ /**
294
+ * Always returns a Promise. When the input coordinates contain a height, it will use this height to compute the image coordinates
295
+ * When not, it will try to get the terrainHeight in case a terrain is defined and use the height from there, to compute the image coordinates
296
+ * @param image
297
+ * @param worldCoordinate if not in web mercatpr, specify data-projection in options
298
+ * @param options
299
+ */
300
+ export function transformToImage(image, worldCoordinate, options = {}) {
301
+ let gpInternalCoordinates;
302
+ if (options.dataProjection &&
303
+ options.dataProjection === image.meta.projection) {
304
+ gpInternalCoordinates = worldCoordinate;
305
+ }
306
+ else {
307
+ gpInternalCoordinates = options.dataProjection
308
+ ? transform(worldCoordinate, options.dataProjection.proj, image.meta.projection.proj)
309
+ : transform(worldCoordinate, mercatorProjection.proj, image.meta.projection.proj);
310
+ }
311
+ function useAverageHeight() {
312
+ const coords = image.transformRealWorld2Image(gpInternalCoordinates);
313
+ return { coords, height: image.averageHeight, estimate: true };
314
+ }
315
+ if (worldCoordinate[2]) {
316
+ const coords = image.transformRealWorld2Image(gpInternalCoordinates, worldCoordinate[2]);
317
+ return Promise.resolve({
318
+ coords,
319
+ height: worldCoordinate[2],
320
+ estimate: false,
321
+ });
322
+ }
323
+ if (!options.dontUseTerrain && image.meta.terrainProvider) {
324
+ return getHeightFromTerrainProvider(image.meta.terrainProvider, [gpInternalCoordinates], image.meta.projection)
325
+ .then(([gpWithHeight]) => {
326
+ if (gpWithHeight[2]) {
327
+ const imageCoordinates = image.transformRealWorld2Image(gpInternalCoordinates, gpWithHeight[2]);
328
+ return {
329
+ coords: imageCoordinates,
330
+ height: gpInternalCoordinates[2],
331
+ estimate: false,
332
+ };
333
+ }
334
+ // eslint-disable-next-line no-console
335
+ console.warn('The configured terrain on the oblique layer could not be queried, position might be inaccurate');
336
+ return useAverageHeight();
337
+ })
338
+ .catch(() => useAverageHeight());
339
+ }
340
+ return Promise.resolve(useAverageHeight());
341
+ }
342
+ function pickTerrain(pickTerrainOptions) {
343
+ pickTerrainOptions.count += 1;
344
+ const { image, worldCoordinate, imageCoordinate, terrainErrorThreshold, terrainErrorCountThreshold, count, height, } = pickTerrainOptions;
345
+ return getHeightFromTerrainProvider(image.meta.terrainProvider, [worldCoordinate])
346
+ .then(([worldCoordinateWithHeights]) => {
347
+ if (worldCoordinateWithHeights[2] != null) {
348
+ const newWorldCoords = transform(image.transformImage2RealWorld(imageCoordinate, worldCoordinateWithHeights[2]), image.meta.projection.proj, wgs84Projection.proj);
349
+ newWorldCoords[2] = worldCoordinateWithHeights[2];
350
+ if (Math.abs(height - worldCoordinateWithHeights[2]) <
351
+ terrainErrorThreshold ||
352
+ count > terrainErrorCountThreshold) {
353
+ return { coords: newWorldCoords, estimate: false };
354
+ }
355
+ pickTerrainOptions.height = newWorldCoords[2];
356
+ pickTerrainOptions.worldCoordinate = worldCoordinateWithHeights;
357
+ return pickTerrain(pickTerrainOptions);
358
+ }
359
+ // eslint-disable-next-line no-console
360
+ console.log('The configured terrain on the oblique layer could not be queried, position might be inaccurate');
361
+ return { coords: worldCoordinateWithHeights, estimate: true };
362
+ })
363
+ .catch(() => ({ coords: worldCoordinate, estimate: true }));
364
+ }
365
+ /**
366
+ * Always returns a deferred.
367
+ * it will try to get the terrainHeight in case a terrain is defined.
368
+ * @param image
369
+ * @param imageCoordinate
370
+ * @param options
371
+ * @returns return coordinates are in mercator if not specified in options
372
+ */
373
+ export async function transformFromImage(image, imageCoordinate, options = {}) {
374
+ const initialWorldCoords = transform(image.transformImage2RealWorld(imageCoordinate, image.averageHeight), image.meta.projection.proj, wgs84Projection.proj);
375
+ const terrainErrorThreshold = options.terrainErrorThreshold || 1;
376
+ const terrainErrorCountThreshold = options.terrainErrorCountThreshold || 3;
377
+ let coordsObj = { coords: initialWorldCoords, estimate: true };
378
+ if (!options.dontUseTerrain && image.meta.terrainProvider) {
379
+ coordsObj = await pickTerrain({
380
+ worldCoordinate: initialWorldCoords,
381
+ imageCoordinate,
382
+ image,
383
+ count: 0,
384
+ height: image.averageHeight,
385
+ terrainErrorThreshold,
386
+ terrainErrorCountThreshold,
387
+ });
388
+ }
389
+ coordsObj.coords = options.dataProjection
390
+ ? transform(coordsObj.coords, wgs84Projection.proj, options.dataProjection.proj)
391
+ : transform(coordsObj.coords, wgs84Projection.proj, mercatorProjection.proj);
392
+ return coordsObj;
393
+ }
394
+ export function hasSameOrigin(url) {
395
+ const windowUrl = new URL(window.location.href);
396
+ const parsedUrl = new URL(url, window.location.href);
397
+ if (parsedUrl.protocol === 'data:') {
398
+ return true;
399
+ }
400
+ return (windowUrl.origin === parsedUrl.origin &&
401
+ windowUrl.port === parsedUrl.port &&
402
+ windowUrl.protocol === parsedUrl.protocol);
403
+ }
404
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/oblique/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,196 @@
1
+ import VectorSource from 'ol/source/Vector.js';
2
+ import { type Extent } from 'ol/extent.js';
3
+ import type { Coordinate } from 'ol/coordinate.js';
4
+ import type { Size } from 'ol/size.js';
5
+ import VcsEvent from '../vcsEvent.js';
6
+ import ObliqueDataSet, { DataState, type ObliqueDataSetOptions } from './obliqueDataSet.js';
7
+ import { ObliqueViewDirection } from './obliqueViewDirection.js';
8
+ import VcsObject, { VcsObjectOptions } from '../vcsObject.js';
9
+ import type { TerrainProviderOptions } from '../layer/terrainHelpers.js';
10
+ import type ObliqueImage from './obliqueImage.js';
11
+ import type { ObliqueViewOptions } from './obliqueView.js';
12
+ export type ObliqueCameraOptions = {
13
+ name: string;
14
+ 'principal-point': Coordinate;
15
+ 'pixel-size'?: Coordinate;
16
+ 'radial-distorsion-expected-2-found'?: number[];
17
+ 'radial-distorsion-found-2-expected'?: number[];
18
+ size?: Size;
19
+ };
20
+ type ObliqueGeneralImageInfo = {
21
+ width: number;
22
+ height: number;
23
+ 'tile-resolution': number[];
24
+ 'tile-width': number;
25
+ 'tile-height': number;
26
+ cameraParameter?: ObliqueCameraOptions[] | Record<string, Omit<ObliqueCameraOptions, 'name'>>;
27
+ crs: string;
28
+ };
29
+ export type ObliqueImageJson = {
30
+ generalImageInfo: ObliqueGeneralImageInfo;
31
+ tileLevel?: number;
32
+ images?: Array<unknown[]>;
33
+ availableTiles?: string[];
34
+ version?: string;
35
+ };
36
+ export type ObliqueVersion = {
37
+ version: number;
38
+ buildNumber: number;
39
+ };
40
+ export type ObliqueDataSetTerrainProviderOptions = TerrainProviderOptions & {
41
+ url: string;
42
+ };
43
+ export type ObliqueCollectionOptions = VcsObjectOptions & {
44
+ dataSets?: (ObliqueDataSet | ObliqueDataSetOptions)[];
45
+ maxZoom?: number;
46
+ minZoom?: number;
47
+ scaleFactor?: number;
48
+ hideLevels?: number;
49
+ datasourceId?: string;
50
+ };
51
+ export type ObliqueImageRbushItem = {
52
+ minX: number;
53
+ minY: number;
54
+ maxX: number;
55
+ maxY: number;
56
+ name: string;
57
+ };
58
+ declare class ObliqueCollection extends VcsObject {
59
+ static get className(): string;
60
+ static getDefaultOptions(): ObliqueCollectionOptions;
61
+ /**
62
+ * Maps each direction to an RTree
63
+ */
64
+ private _directionTrees;
65
+ /**
66
+ * Maps image name to image
67
+ */
68
+ private _images;
69
+ /**
70
+ * Maps urls to general infos & cameras
71
+ */
72
+ private _dataSets;
73
+ viewOptions: ObliqueViewOptions;
74
+ private _loaded;
75
+ /**
76
+ * Event raised when images are loaded. Is passed an Array of ObliqueImages as its only argument.
77
+ */
78
+ imagesLoaded: VcsEvent<Array<ObliqueImage>>;
79
+ private _tileFeatureSource;
80
+ private _imageFeatureSource;
81
+ private _destroyed;
82
+ private _loadingPromise;
83
+ /**
84
+ * Optional Id to synchronize with the vcPublisher Datasources. This can also be used to track a connection
85
+ * to other sources of data.
86
+ */
87
+ datasourceId?: string;
88
+ /**
89
+ * @param options
90
+ */
91
+ constructor(options: ObliqueCollectionOptions);
92
+ get dataSets(): ObliqueDataSet[];
93
+ /**
94
+ * Indicates, that this collection has been loaded
95
+ */
96
+ get loaded(): boolean;
97
+ get destroyed(): VcsEvent<void>;
98
+ /**
99
+ * A vector source of all tiles available to this collection in mercator. The feature have a "state" property,
100
+ * the id is the string tile coordinate "z/x/y" of the tile
101
+ */
102
+ get tileFeatureSource(): VectorSource;
103
+ /**
104
+ * A vector source of all image currently loaded for this collection in mercator.
105
+ * The id is the image name. The feature has a "viewDirection" property.
106
+ */
107
+ get imageFeatureSource(): VectorSource;
108
+ /**
109
+ * All currently loaded images
110
+ */
111
+ get images(): ObliqueImage[];
112
+ private _createTileFeatureSource;
113
+ private _createImageFeatureSource;
114
+ private _loadDataSet;
115
+ /**
116
+ * Adds an oblique data set to this collection.
117
+ */
118
+ private _addDataSet;
119
+ /**
120
+ * Adds an oblique data set to this collection.
121
+ */
122
+ addDataSet(dataSet: ObliqueDataSet): Promise<void>;
123
+ /**
124
+ * Loads all meta data associated with this collection
125
+ */
126
+ load(): Promise<void>;
127
+ private _loadImages;
128
+ /**
129
+ * Gets all available tile coordinates across all data sets, including their loaded state. Return value is
130
+ * an object, where the key is the tile coordinate in z/x/y and the value is the data state
131
+ */
132
+ getTiles(): Record<string, DataState>;
133
+ /**
134
+ * Returns an image by its name, if it has been loaded
135
+ */
136
+ getImageByName(name: string): ObliqueImage | undefined;
137
+ /**
138
+ * Returns a list of viewDirections which a currently available in this collection
139
+ */
140
+ getAvailableViewDirections(): ObliqueViewDirection[];
141
+ /**
142
+ * Returns the state of the data for a given location an all underlying data sources
143
+ * @param mercatorCoordinate - coordinate in web mercator
144
+ */
145
+ getDataStateForCoordinate(mercatorCoordinate: Coordinate): DataState;
146
+ /**
147
+ * Returns the state of the data for a given location an all underlying data sources
148
+ * @param extent - coordinate in web mercator
149
+ */
150
+ getDataStateForExtent(extent: Coordinate): DataState;
151
+ /**
152
+ * Loads data for a given mercator Coordinate
153
+ * @param mercatorCoordinate - coordinate in web mercator
154
+ */
155
+ loadDataForCoordinate(mercatorCoordinate: Coordinate): Promise<void>;
156
+ /**
157
+ * Loads all data tiles in the given extent
158
+ */
159
+ loadDataForExtent(extent: Extent): Promise<void>;
160
+ private _getNextImageForCoordinate;
161
+ /**
162
+ * Returns the <i>closest</i> image for the given location and direction (location and image extent must not overlap).
163
+ * Returns undefined, if there are no images for the given direction
164
+ * @param mercatorCoordinate - coordinate in web mercator
165
+ * @param direction - the preferred direction if no image in that direction can be found, other direction will be queried
166
+ */
167
+ getImageForCoordinate(mercatorCoordinate: Coordinate, direction: ObliqueViewDirection): ObliqueImage | undefined;
168
+ /**
169
+ * Loads all data for a location and then returns the <i>closest</i> image for the given location and direction (location and image extent must not overlap).
170
+ * Returns undefined, if there are no images for the given direction
171
+ * @param mercatorCoordinate - coordinate in web mercator
172
+ * @param direction
173
+ */
174
+ loadImageForCoordinate(mercatorCoordinate: Coordinate, direction: ObliqueViewDirection): Promise<ObliqueImage | undefined>;
175
+ /**
176
+ * Checks, if an image exists for a given coordinated
177
+ * @param mercatorCoordinate - coordinate in web mercator
178
+ * @param direction
179
+ */
180
+ hasImageAtCoordinate(mercatorCoordinate: Coordinate, direction: ObliqueViewDirection): Promise<boolean>;
181
+ /**
182
+ * Loads the image adjacent to a given image in a certain direction from the provided image.
183
+ * Returns undefined if there are no images in that direction or there are no images for the direction
184
+ * of the provided image.
185
+ * @param image
186
+ * @param heading - 0 = east, PI / 2 = north, PI = west and PI * 1.5 = south
187
+ * @param [deviation=PI/4]
188
+ */
189
+ loadAdjacentImage(image: ObliqueImage, heading: number, deviation?: number): Promise<ObliqueImage | undefined>;
190
+ /**
191
+ * Destroys all data sets and all images and any image/tile features for this collection
192
+ */
193
+ destroy(): void;
194
+ toJSON(): ObliqueCollectionOptions;
195
+ }
196
+ export default ObliqueCollection;