@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,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":"AAAA,iGAAiG;AACjG,gCAAgC;AAChC,OAAO,EACL,cAAc,EACd,aAAa,EACb,cAAc,EACd,UAAU,EACV,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAA8B,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAmB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAC1C,IAAI,kBAAkB,GAAG,IAAI,UAAU,EAAE,CAAC;AAO1C;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,iBAA+B,EAC/B,gBAA8C,KAAK;IAEnD,MAAM,YAAY,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG;QACnB,aAAa,CAAC,MAAM,CAAC;QACrB,cAAc,CAAC,MAAM,CAAC;QACtB,WAAW,CAAC,MAAM,CAAC;QACnB,UAAU,CAAC,MAAM,CAAC;KACnB,CAAC;IAEF,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QAC5C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,QAAQ,GAAG,QAAQ,CAAC;QACxB,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE;YAChD,MAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACtE,IAAI,eAAe,GAAG,QAAQ,EAAE;gBAC9B,QAAQ,GAAG,eAAe,CAAC;gBAC3B,OAAO,GAAG,WAAW,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,IAAI,aAAa,KAAK,oBAAoB,CAAC,IAAI,EAAE;QAC/C,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACvD;SAAM,IAAI,aAAa,KAAK,oBAAoB,CAAC,KAAK,EAAE;QACvD,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACvD;SAAM,IAAI,aAAa,KAAK,oBAAoB,CAAC,IAAI,EAAE;QACtD,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACvD;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAC/B,EAAc,EACd,EAAc;IAEd,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,EAAE,CAAC,CAAC,CAAC,EACL,EAAE,CAAC,CAAC,CAAC,EACL,kBAAkB,CACnB,CAAC;IACF,kBAAkB,GAAG,UAAU,CAAC,YAAY,CAC1C,EAAE,CAAC,CAAC,CAAC,EACL,EAAE,CAAC,CAAC,CAAC,EACL,kBAAkB,CACnB,CAAC;IACF,OAAO,UAAU,CAAC,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;AACzE,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAsB,EACtB,QAAsB;IAEtB,2LAA2L;IAC3L,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC;IACtE,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,GAAG,QAAQ,CAAC;IACtE,IAAI,CAAC,CAAC;IACN,IAAI,CAAC,CAAC;IAEN,MAAM,MAAM,GAA2B;QACrC,CAAC,EAAE,IAAI;QACP,CAAC,EAAE,IAAI;QACP,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,MAAM,WAAW,GACf,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;QACrD,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IAExD,IAAI,WAAW,KAAK,CAAC,EAAE;QACrB,OAAO,MAAM,CAAC;KACf;IACD,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9B,CAAC,GAAG,WAAW,GAAG,WAAW,CAAC;IAC9B,MAAM,UAAU,GACd,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,UAAU,GACd,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAChE,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC;IAC7B,CAAC,GAAG,UAAU,GAAG,WAAW,CAAC;IAE7B,6EAA6E;IAC7E,MAAM,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IACvD,MAAM,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC;IACvD;;;;OAIG;IACH,kEAAkE;IAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;IACD,kEAAkE;IAClE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;KACvB;IACD,gFAAgF;IAChF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAyB,EACzB,WAAyB,EACzB,aAAsB,EACtB,oBAAgC,EAChC,aAAmC;IAEnC,MAAM,MAAM,GAAG,2BAA2B,CACxC,WAAW,EACX,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CACtC,CAAC;IACF,MAAM,MAAM,GAAG,2BAA2B,CACxC,WAAW,EACX,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CACtC,CAAC;IAEF,4FAA4F;IAC5F,6EAA6E;IAC7E,aAAa;IACb,6BAA6B;IAC7B,kBAAkB;IAClB,0BAA0B;IAC1B,8BAA8B;IAC9B,2DAA2D;IAC3D,4DAA4D;IAC5D,MAAM,aAAa,GAQb,EAAE,CAAC;IACT,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACzC,4CAA4C;QAC5C,MAAM,UAAU,GAAG,EAAE,CAAC;QAEtB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACzC,MAAM,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,oBAAoB;YAEtE,6CAA6C;YAC7C,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC1B,SAAS;aACV;YAED,4HAA4H;YAC5H,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;gBACpD,SAAS;aACV;YAED,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,qBAAqB,CACpC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,EAClC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CACzB,CAAC;YACF,IAAI,QAAQ,CAAC,CAAC,IAAI,IAAI,IAAI,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE;gBAC5C,SAAS;aACV;YAED,sHAAsH;YACtH,sFAAsF;YACtF,MAAM,mBAAmB,GAAG;gBAC1B,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACvC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACxC,CAAC;YACF,MAAM,aAAa,GAAG;gBACpB,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1B,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC3B,CAAC;YACF,MAAM,mBAAmB,GAAG,wBAAwB,CAClD,mBAAmB,EACnB,aAAa,CACd,CAAC;YACF,IAAI,mBAAmB,IAAI,IAAI,EAAE;gBAC/B,SAAS;aACV;YAED,IAAI,mBAAmB,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE;gBAC/C,SAAS;aACV;YAED,MAAM,KAAK,GAAG;gBACZ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9B,CAAC;YACF,MAAM,KAAK,GAAG;gBACZ,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC7B,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aAC9B,CAAC;YACF,wCAAwC;YACxC,MAAM,cAAc,GAAG,wBAAwB,CAC7C,mBAAmB,EACnB,KAAK,CACN,CAAC;YACF,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,SAAS;aACV;YAED,MAAM,cAAc,GAAG,wBAAwB,CAC7C,mBAAmB,EACnB,KAAK,CACN,CAAC;YACF,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,SAAS;aACV;YAED,wDAAwD;YACxD,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,IAAI,YAAY,KAAK,CAAC,EAAE;gBACtB,SAAS;aACV;YACD,MAAM,iBAAiB,GACrB,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzD,YAAY,CAAC;YACf,IAAI,cAAc,GAAkB,CAAC,CAAC;YACtC,IAAI,iBAAiB,KAAK,CAAC,EAAE;gBAC3B,cAAc,GAAG,wBAAwB,CAAC,KAAK,EAAE;oBAC/C,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC1B,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAC3B,CAAC,CAAC;gBACH,IAAI,cAAc,IAAI,IAAI,EAAE;oBAC1B,SAAS;iBACV;aACF;YAED,UAAU,CAAC,IAAI,CAAC;gBACd,WAAW,EAAE,EAAE;gBACf,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjB,KAAK,EAAE,QAAQ,CAAC,CAAC;gBACjB,KAAK,EACH,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc;gBACpE,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;gBACX,cAAc,EACZ,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC;oBACpC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBACxB,CAAC,CAAC,iBAAiB;aACxB,CAAC,CAAC;SACJ;QAED,+EAA+E;QAC/E,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;QACtB,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC1C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,YAAY,EAAE;gBACtC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACnC,eAAe,GAAG,CAAC,CAAC;aACrB;SACF;QACD,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;YAC1B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;SACjD;KACF;IAED,iFAAiF;IACjF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;QAC5B,OAAO,IAAI,CAAC;KACb;IAED,yFAAyF;IACzF,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,wEAAwE;IAC/F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACjD,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1E;KACF;IAED,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,UAAU;SACP,IAAI,EAAE;SACN,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;QACrB,MAAM,mBAAmB,GAAG;YAC1B,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;SAC/B,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAClE,wFAAwF;QACxF,MAAM,oBAAoB,GAAG;YAC3B,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;YACvC,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;SACxC,CAAC;QAEF,MAAM,gBAAgB,GAAG;YACvB,gBAAgB,CAAC,CAAC,CAAC;gBACjB,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc;YACjE,gBAAgB,CAAC,CAAC,CAAC;gBACjB,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc;SAClE,CAAC;QAEF,MAAM,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAElE,MAAM,oBAAoB,GAAG;YAC3B,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;YACvC,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;SACxC,CAAC;QACF,MAAM,gBAAgB,GAAG;YACvB,gBAAgB,CAAC,CAAC,CAAC;gBACjB,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc;YACjE,gBAAgB,CAAC,CAAC,CAAC;gBACjB,oBAAoB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,cAAc;SAClE,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACpE,CAAC;QACF,MAAM,aAAa,GAAG;YACpB,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACpE,CAAC;QAEF,MAAM,UAAU,GAAG,wBAAwB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;QACD;;qBAEa;QAEb,sBAAsB;QACtB,SAAS,GAAG,qBAAqB,CAC/B,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,EAC9D,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,CAC/D,CAAC;QACF,IAAI,SAAS,CAAC,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,IAAI,IAAI,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC;AACnB,CAAC;AAkBD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAmB,EACnB,eAA2B,EAC3B,UAAsC,EAAE;IAMxC,IAAI,qBAAiC,CAAC;IACtC,IACE,OAAO,CAAC,cAAc;QACtB,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,EAChD;QACA,qBAAqB,GAAG,eAAe,CAAC;KACzC;SAAM;QACL,qBAAqB,GAAG,OAAO,CAAC,cAAc;YAC5C,CAAC,CAAC,SAAS,CACP,eAAe,EACf,OAAO,CAAC,cAAc,CAAC,IAAI,EAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAC3B;YACH,CAAC,CAAC,SAAS,CACP,eAAe,EACf,kBAAkB,CAAC,IAAI,EACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAC3B,CAAC;KACP;IAED,SAAS,gBAAgB;QAKvB,MAAM,MAAM,GAAG,KAAK,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,CAAC;QACrE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,wBAAwB,CAC3C,qBAAqB,EACrB,eAAe,CAAC,CAAC,CAAC,CACnB,CAAC;QACF,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,MAAM;YACN,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;YAC1B,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;QACzD,OAAO,4BAA4B,CACjC,KAAK,CAAC,IAAI,CAAC,eAAe,EAC1B,CAAC,qBAAqB,CAAC,EACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CACtB;aACE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE;YACvB,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE;gBACnB,MAAM,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CACrD,qBAAqB,EACrB,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;gBACF,OAAO;oBACL,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;oBAChC,QAAQ,EAAE,KAAK;iBAChB,CAAC;aACH;YACD,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,gGAAgG,CACjG,CAAC;YACF,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;KACpC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC7C,CAAC;AAYD,SAAS,WAAW,CAClB,kBAAsC;IAEtC,kBAAkB,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,EACJ,KAAK,EACL,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,EACL,MAAM,GACP,GAAG,kBAAkB,CAAC;IAEvB,OAAO,4BAA4B,CACjC,KAAK,CAAC,IAAI,CAAC,eAAwC,EACnD,CAAC,eAAe,CAAC,CAClB;SACE,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,EAAE;QACrC,IAAI,0BAA0B,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YACzC,MAAM,cAAc,GAAG,SAAS,CAC9B,KAAK,CAAC,wBAAwB,CAC5B,eAAe,EACf,0BAA0B,CAAC,CAAC,CAAC,CAC9B,EACD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAC1B,eAAe,CAAC,IAAI,CACrB,CAAC;YACF,cAAc,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;YAClD,IACE,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBAC9C,qBAAqB;gBACvB,KAAK,GAAG,0BAA0B,EAClC;gBACA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;aACpD;YACD,kBAAkB,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC9C,kBAAkB,CAAC,eAAe,GAAG,0BAA0B,CAAC;YAChE,OAAO,WAAW,CAAC,kBAAkB,CAAC,CAAC;SACxC;QACD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CACT,gGAAgG,CACjG,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,0BAA0B,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChE,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAmB,EACnB,eAA2B,EAC3B,UAAsC,EAAE;IAExC,MAAM,kBAAkB,GAAG,SAAS,CAClC,KAAK,CAAC,wBAAwB,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,EACpE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAC1B,eAAe,CAAC,IAAI,CACrB,CAAC;IAEF,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC;IACjE,MAAM,0BAA0B,GAAG,OAAO,CAAC,0BAA0B,IAAI,CAAC,CAAC;IAE3E,IAAI,SAAS,GAAG,EAAE,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/D,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE;QACzD,SAAS,GAAG,MAAM,WAAW,CAAC;YAC5B,eAAe,EAAE,kBAAkB;YACnC,eAAe;YACf,KAAK;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,qBAAqB;YACrB,0BAA0B;SAC3B,CAAC,CAAC;KACJ;IAED,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc;QACvC,CAAC,CAAC,SAAS,CACP,SAAS,CAAC,MAAM,EAChB,eAAe,CAAC,IAAI,EACpB,OAAO,CAAC,cAAc,CAAC,IAAI,CAC5B;QACH,CAAC,CAAC,SAAS,CACP,SAAS,CAAC,MAAM,EAChB,eAAe,CAAC,IAAI,EACpB,kBAAkB,CAAC,IAAI,CACxB,CAAC;IACN,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErD,IAAI,SAAS,CAAC,QAAQ,KAAK,OAAO,EAAE;QAClC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM;QACrC,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;QACjC,SAAS,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,CAC1C,CAAC;AACJ,CAAC"}
@@ -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;