@vcmap/core 6.2.4 → 6.3.0-rc.2

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 (378) hide show
  1. package/dist/cesium.d.ts +12 -0
  2. package/dist/index.d.ts +13 -3
  3. package/dist/index.js +11 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/ol.d.ts +13 -2
  6. package/dist/src/category/category.d.ts +1 -1
  7. package/dist/src/category/category.js +3 -4
  8. package/dist/src/category/category.js.map +1 -1
  9. package/dist/src/cesium/cesium3DTileFeature.d.ts +1 -0
  10. package/dist/src/cesium/cesium3DTileFeature.js +14 -3
  11. package/dist/src/cesium/cesium3DTileFeature.js.map +1 -1
  12. package/dist/src/cesium/cesium3DTilePointFeature.js +2 -1
  13. package/dist/src/cesium/cesium3DTilePointFeature.js.map +1 -1
  14. package/dist/src/classRegistry.d.ts +7 -1
  15. package/dist/src/classRegistry.js.map +1 -1
  16. package/dist/src/featureProvider/abstractAttributeProvider.d.ts +62 -0
  17. package/dist/src/featureProvider/abstractAttributeProvider.js +129 -0
  18. package/dist/src/featureProvider/abstractAttributeProvider.js.map +1 -0
  19. package/dist/src/featureProvider/abstractFeatureProvider.d.ts +10 -19
  20. package/dist/src/featureProvider/abstractFeatureProvider.js +10 -42
  21. package/dist/src/featureProvider/abstractFeatureProvider.js.map +1 -1
  22. package/dist/src/featureProvider/compositeFeatureProvider.d.ts +27 -0
  23. package/dist/src/featureProvider/compositeFeatureProvider.js +53 -0
  24. package/dist/src/featureProvider/compositeFeatureProvider.js.map +1 -0
  25. package/dist/src/featureProvider/csvAttributeProvider.d.ts +41 -0
  26. package/dist/src/featureProvider/csvAttributeProvider.js +126 -0
  27. package/dist/src/featureProvider/csvAttributeProvider.js.map +1 -0
  28. package/dist/src/featureProvider/featureProviderFactory.d.ts +3 -0
  29. package/dist/src/featureProvider/featureProviderFactory.js +17 -0
  30. package/dist/src/featureProvider/featureProviderFactory.js.map +1 -0
  31. package/dist/src/featureProvider/i3sAttributeProvider.d.ts +7 -0
  32. package/dist/src/featureProvider/i3sAttributeProvider.js +43 -0
  33. package/dist/src/featureProvider/i3sAttributeProvider.js.map +1 -0
  34. package/dist/src/featureProvider/jsonAttributeProvider.d.ts +26 -0
  35. package/dist/src/featureProvider/jsonAttributeProvider.js +73 -0
  36. package/dist/src/featureProvider/jsonAttributeProvider.js.map +1 -0
  37. package/dist/src/featureProvider/tileProviderFeatureProvider.d.ts +4 -6
  38. package/dist/src/featureProvider/tileProviderFeatureProvider.js +9 -11
  39. package/dist/src/featureProvider/tileProviderFeatureProvider.js.map +1 -1
  40. package/dist/src/featureProvider/urlIdAttributeProvider.d.ts +28 -0
  41. package/dist/src/featureProvider/urlIdAttributeProvider.js +50 -0
  42. package/dist/src/featureProvider/urlIdAttributeProvider.js.map +1 -0
  43. package/dist/src/featureProvider/wmsFeatureProvider.d.ts +13 -4
  44. package/dist/src/featureProvider/wmsFeatureProvider.js +19 -9
  45. package/dist/src/featureProvider/wmsFeatureProvider.js.map +1 -1
  46. package/dist/src/interaction/coordinateAtPixel.js +4 -6
  47. package/dist/src/interaction/coordinateAtPixel.js.map +1 -1
  48. package/dist/src/interaction/ensurePositionInteraction.d.ts +14 -0
  49. package/dist/src/interaction/ensurePositionInteraction.js +42 -0
  50. package/dist/src/interaction/ensurePositionInteraction.js.map +1 -0
  51. package/dist/src/interaction/eventHandler.d.ts +3 -0
  52. package/dist/src/interaction/eventHandler.js +10 -1
  53. package/dist/src/interaction/eventHandler.js.map +1 -1
  54. package/dist/src/interaction/featureAtPixelInteraction.d.ts +15 -3
  55. package/dist/src/interaction/featureAtPixelInteraction.js +70 -18
  56. package/dist/src/interaction/featureAtPixelInteraction.js.map +1 -1
  57. package/dist/src/interaction/featureProviderInteraction.js +42 -26
  58. package/dist/src/interaction/featureProviderInteraction.js.map +1 -1
  59. package/dist/src/interaction/panoramaImageSelection.js +2 -2
  60. package/dist/src/interaction/panoramaImageSelection.js.map +1 -1
  61. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.d.ts +17 -9
  62. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js +244 -165
  63. package/dist/src/layer/cesium/cesiumTilesetCesiumImpl.js.map +1 -1
  64. package/dist/src/layer/cesium/i3sCesiumImpl.d.ts +33 -0
  65. package/dist/src/layer/cesium/i3sCesiumImpl.js +107 -0
  66. package/dist/src/layer/cesium/i3sCesiumImpl.js.map +1 -0
  67. package/dist/src/layer/cesium/rasterLayerCesiumImpl.d.ts +3 -3
  68. package/dist/src/layer/cesium/rasterLayerCesiumImpl.js.map +1 -1
  69. package/dist/src/layer/cesium/terrainCesiumImpl.d.ts +3 -3
  70. package/dist/src/layer/cesium/terrainCesiumImpl.js.map +1 -1
  71. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js +2 -1
  72. package/dist/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.js.map +1 -1
  73. package/dist/src/layer/cesium/vectorContext.js +1 -1
  74. package/dist/src/layer/cesium/vectorContext.js.map +1 -1
  75. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js +7 -6
  76. package/dist/src/layer/cesium/vectorRasterTileCesiumImpl.js.map +1 -1
  77. package/dist/src/layer/cesium/vectorTileImageryProvider.js +2 -2
  78. package/dist/src/layer/cesium/vectorTileImageryProvider.js.map +1 -1
  79. package/dist/src/layer/cesiumTilesetLayer.d.ts +10 -1
  80. package/dist/src/layer/cesiumTilesetLayer.js +33 -8
  81. package/dist/src/layer/cesiumTilesetLayer.js.map +1 -1
  82. package/dist/src/layer/cogLayer.d.ts +1 -1
  83. package/dist/src/layer/cogLayer.js +3 -4
  84. package/dist/src/layer/cogLayer.js.map +1 -1
  85. package/dist/src/layer/czmlLayer.d.ts +1 -1
  86. package/dist/src/layer/czmlLayer.js +4 -4
  87. package/dist/src/layer/czmlLayer.js.map +1 -1
  88. package/dist/src/layer/featureLayer.d.ts +1 -6
  89. package/dist/src/layer/featureLayer.js +3 -10
  90. package/dist/src/layer/featureLayer.js.map +1 -1
  91. package/dist/src/layer/featureStoreLayer.d.ts +3 -2
  92. package/dist/src/layer/featureStoreLayer.js +5 -5
  93. package/dist/src/layer/featureStoreLayer.js.map +1 -1
  94. package/dist/src/layer/flatGeobufLayer.d.ts +2 -0
  95. package/dist/src/layer/flatGeobufLayer.js +8 -0
  96. package/dist/src/layer/flatGeobufLayer.js.map +1 -1
  97. package/dist/src/layer/geojsonLayer.d.ts +1 -1
  98. package/dist/src/layer/geojsonLayer.js +5 -12
  99. package/dist/src/layer/geojsonLayer.js.map +1 -1
  100. package/dist/src/layer/i3sLayer.d.ts +80 -0
  101. package/dist/src/layer/i3sLayer.js +242 -0
  102. package/dist/src/layer/i3sLayer.js.map +1 -0
  103. package/dist/src/layer/layer.d.ts +29 -10
  104. package/dist/src/layer/layer.js +114 -34
  105. package/dist/src/layer/layer.js.map +1 -1
  106. package/dist/src/layer/layerSymbols.d.ts +4 -0
  107. package/dist/src/layer/layerSymbols.js +4 -0
  108. package/dist/src/layer/layerSymbols.js.map +1 -1
  109. package/dist/src/layer/openStreetMapLayer.d.ts +1 -1
  110. package/dist/src/layer/openStreetMapLayer.js +11 -6
  111. package/dist/src/layer/openStreetMapLayer.js.map +1 -1
  112. package/dist/src/layer/panorama/vectorPanoramaImpl.d.ts +38 -0
  113. package/dist/src/layer/panorama/vectorPanoramaImpl.js +164 -0
  114. package/dist/src/layer/panorama/vectorPanoramaImpl.js.map +1 -0
  115. package/dist/src/layer/panoramaDatasetLayer.d.ts +7 -3
  116. package/dist/src/layer/panoramaDatasetLayer.js +46 -20
  117. package/dist/src/layer/panoramaDatasetLayer.js.map +1 -1
  118. package/dist/src/layer/pointCloudLayer.d.ts +1 -5
  119. package/dist/src/layer/pointCloudLayer.js +3 -15
  120. package/dist/src/layer/pointCloudLayer.js.map +1 -1
  121. package/dist/src/layer/rasterLayer.d.ts +1 -1
  122. package/dist/src/layer/rasterLayer.js +4 -4
  123. package/dist/src/layer/rasterLayer.js.map +1 -1
  124. package/dist/src/layer/singleImageLayer.d.ts +1 -1
  125. package/dist/src/layer/singleImageLayer.js +3 -3
  126. package/dist/src/layer/singleImageLayer.js.map +1 -1
  127. package/dist/src/layer/terrainLayer.d.ts +1 -1
  128. package/dist/src/layer/terrainLayer.js +8 -6
  129. package/dist/src/layer/terrainLayer.js.map +1 -1
  130. package/dist/src/layer/tileProvider/flatGeobufTileProvider.d.ts +1 -1
  131. package/dist/src/layer/tileProvider/flatGeobufTileProvider.js +7 -5
  132. package/dist/src/layer/tileProvider/flatGeobufTileProvider.js.map +1 -1
  133. package/dist/src/layer/tileProvider/mvtTileProvider.d.ts +1 -1
  134. package/dist/src/layer/tileProvider/mvtTileProvider.js +6 -5
  135. package/dist/src/layer/tileProvider/mvtTileProvider.js.map +1 -1
  136. package/dist/src/layer/tileProvider/staticFeatureTileProvider.d.ts +1 -1
  137. package/dist/src/layer/tileProvider/staticFeatureTileProvider.js +3 -3
  138. package/dist/src/layer/tileProvider/staticFeatureTileProvider.js.map +1 -1
  139. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.d.ts +1 -1
  140. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js +7 -4
  141. package/dist/src/layer/tileProvider/staticGeojsonTileProvider.js.map +1 -1
  142. package/dist/src/layer/tileProvider/tileProvider.d.ts +7 -1
  143. package/dist/src/layer/tileProvider/tileProvider.js +15 -5
  144. package/dist/src/layer/tileProvider/tileProvider.js.map +1 -1
  145. package/dist/src/layer/tileProvider/urlTemplateTileProvider.d.ts +1 -1
  146. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js +3 -3
  147. package/dist/src/layer/tileProvider/urlTemplateTileProvider.js.map +1 -1
  148. package/dist/src/layer/tmsLayer.d.ts +1 -1
  149. package/dist/src/layer/tmsLayer.js +3 -10
  150. package/dist/src/layer/tmsLayer.js.map +1 -1
  151. package/dist/src/layer/vectorLayer.d.ts +11 -5
  152. package/dist/src/layer/vectorLayer.js +21 -10
  153. package/dist/src/layer/vectorLayer.js.map +1 -1
  154. package/dist/src/layer/vectorProperties.js +10 -1
  155. package/dist/src/layer/vectorProperties.js.map +1 -1
  156. package/dist/src/layer/vectorTileLayer.d.ts +14 -5
  157. package/dist/src/layer/vectorTileLayer.js +82 -31
  158. package/dist/src/layer/vectorTileLayer.js.map +1 -1
  159. package/dist/src/layer/wfsLayer.d.ts +1 -1
  160. package/dist/src/layer/wfsLayer.js +5 -4
  161. package/dist/src/layer/wfsLayer.js.map +1 -1
  162. package/dist/src/layer/wmsLayer.d.ts +4 -1
  163. package/dist/src/layer/wmsLayer.js +65 -36
  164. package/dist/src/layer/wmsLayer.js.map +1 -1
  165. package/dist/src/layer/wmtsLayer.d.ts +1 -1
  166. package/dist/src/layer/wmtsLayer.js +3 -10
  167. package/dist/src/layer/wmtsLayer.js.map +1 -1
  168. package/dist/src/map/baseCesiumMap.d.ts +69 -0
  169. package/dist/src/map/baseCesiumMap.js +393 -0
  170. package/dist/src/map/baseCesiumMap.js.map +1 -0
  171. package/dist/src/map/cesiumMap.d.ts +6 -98
  172. package/dist/src/map/cesiumMap.js +29 -266
  173. package/dist/src/map/cesiumMap.js.map +1 -1
  174. package/dist/src/map/obliqueMap.d.ts +1 -1
  175. package/dist/src/map/obliqueMap.js +14 -8
  176. package/dist/src/map/obliqueMap.js.map +1 -1
  177. package/dist/src/map/openlayersMap.d.ts +1 -1
  178. package/dist/src/map/openlayersMap.js +3 -4
  179. package/dist/src/map/openlayersMap.js.map +1 -1
  180. package/dist/src/map/panoramaMap.d.ts +17 -29
  181. package/dist/src/map/panoramaMap.js +56 -100
  182. package/dist/src/map/panoramaMap.js.map +1 -1
  183. package/dist/src/map/vcsMap.d.ts +15 -2
  184. package/dist/src/map/vcsMap.js +26 -3
  185. package/dist/src/map/vcsMap.js.map +1 -1
  186. package/dist/src/oblique/obliqueCollection.d.ts +1 -1
  187. package/dist/src/oblique/obliqueCollection.js +3 -4
  188. package/dist/src/oblique/obliqueCollection.js.map +1 -1
  189. package/dist/src/panorama/panoramaCameraController.d.ts +4 -0
  190. package/dist/src/panorama/panoramaCameraController.js +8 -0
  191. package/dist/src/panorama/panoramaCameraController.js.map +1 -1
  192. package/dist/src/panorama/panoramaImage.d.ts +10 -1
  193. package/dist/src/panorama/panoramaImage.js +15 -9
  194. package/dist/src/panorama/panoramaImage.js.map +1 -1
  195. package/dist/src/panorama/panoramaImageView.d.ts +6 -1
  196. package/dist/src/panorama/panoramaImageView.js +11 -2
  197. package/dist/src/panorama/panoramaImageView.js.map +1 -1
  198. package/dist/src/panorama/panoramaTileMaterial.d.ts +6 -0
  199. package/dist/src/panorama/panoramaTileMaterial.js +14 -0
  200. package/dist/src/panorama/panoramaTileMaterial.js.map +1 -1
  201. package/dist/src/panorama/panoramaTileMaterialFS.shader.d.ts +1 -1
  202. package/dist/src/panorama/panoramaTileMaterialFS.shader.js +16 -1
  203. package/dist/src/panorama/panoramaTileMaterialFS.shader.js.map +1 -1
  204. package/dist/src/panorama/panoramaTilePrimitiveCollection.d.ts +6 -0
  205. package/dist/src/panorama/panoramaTilePrimitiveCollection.js +28 -0
  206. package/dist/src/panorama/panoramaTilePrimitiveCollection.js.map +1 -1
  207. package/dist/src/style/declarativeStyleItem.js +7 -8
  208. package/dist/src/style/declarativeStyleItem.js.map +1 -1
  209. package/dist/src/util/clipping/clippingPolygonObject.d.ts +1 -1
  210. package/dist/src/util/clipping/clippingPolygonObject.js +3 -4
  211. package/dist/src/util/clipping/clippingPolygonObject.js.map +1 -1
  212. package/dist/src/util/displayQuality/displayQuality.js +4 -4
  213. package/dist/src/util/displayQuality/displayQuality.js.map +1 -1
  214. package/dist/src/util/editor/createFeatureSession.js +3 -1
  215. package/dist/src/util/editor/createFeatureSession.js.map +1 -1
  216. package/dist/src/util/editor/editFeaturesSession.js +9 -2
  217. package/dist/src/util/editor/editFeaturesSession.js.map +1 -1
  218. package/dist/src/util/editor/editGeometrySession.js +3 -1
  219. package/dist/src/util/editor/editGeometrySession.js.map +1 -1
  220. package/dist/src/util/editor/editorSessionHelpers.d.ts +3 -3
  221. package/dist/src/util/editor/editorSessionHelpers.js +4 -2
  222. package/dist/src/util/editor/editorSessionHelpers.js.map +1 -1
  223. package/dist/src/util/editor/interactions/creationSnapping.js +4 -1
  224. package/dist/src/util/editor/interactions/creationSnapping.js.map +1 -1
  225. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js +2 -2
  226. package/dist/src/util/editor/interactions/ensureHandlerSelectionInteraction.js.map +1 -1
  227. package/dist/src/util/editor/interactions/layerSnapping.js +4 -1
  228. package/dist/src/util/editor/interactions/layerSnapping.js.map +1 -1
  229. package/dist/src/util/editor/interactions/mapInteractionController.js +12 -1
  230. package/dist/src/util/editor/interactions/mapInteractionController.js.map +1 -1
  231. package/dist/src/util/editor/interactions/translationSnapping.js +4 -2
  232. package/dist/src/util/editor/interactions/translationSnapping.js.map +1 -1
  233. package/dist/src/util/editor/selectFeaturesSession.js +1 -1
  234. package/dist/src/util/editor/selectFeaturesSession.js.map +1 -1
  235. package/dist/src/util/editor/transformation/create3DHandlers.d.ts +2 -2
  236. package/dist/src/util/editor/transformation/create3DHandlers.js.map +1 -1
  237. package/dist/src/util/editor/transformation/transformationHandler.js +5 -2
  238. package/dist/src/util/editor/transformation/transformationHandler.js.map +1 -1
  239. package/dist/src/util/editor/transformation/translateInteraction.js +2 -2
  240. package/dist/src/util/editor/transformation/translateInteraction.js.map +1 -1
  241. package/dist/src/util/fetch.d.ts +7 -0
  242. package/dist/src/util/fetch.js +7 -0
  243. package/dist/src/util/fetch.js.map +1 -1
  244. package/dist/src/util/flight/flightInstance.d.ts +1 -1
  245. package/dist/src/util/flight/flightInstance.js +3 -4
  246. package/dist/src/util/flight/flightInstance.js.map +1 -1
  247. package/dist/src/util/mapCollection.d.ts +5 -0
  248. package/dist/src/util/mapCollection.js +14 -0
  249. package/dist/src/util/mapCollection.js.map +1 -1
  250. package/dist/src/util/renderScreenshot.js +2 -3
  251. package/dist/src/util/renderScreenshot.js.map +1 -1
  252. package/dist/src/util/viewpoint.js +1 -1
  253. package/dist/src/util/viewpoint.js.map +1 -1
  254. package/dist/src/vcsApp.d.ts +2 -3
  255. package/dist/src/vcsApp.js.map +1 -1
  256. package/dist/src/vcsModuleHelpers.d.ts +5 -2
  257. package/dist/src/vcsModuleHelpers.js +27 -1
  258. package/dist/src/vcsModuleHelpers.js.map +1 -1
  259. package/dist/src/vcsObject.d.ts +2 -1
  260. package/dist/src/vcsObject.js +9 -1
  261. package/dist/src/vcsObject.js.map +1 -1
  262. package/dist/src/vectorCluster/vectorClusterGroup.d.ts +1 -1
  263. package/dist/src/vectorCluster/vectorClusterGroup.js +3 -4
  264. package/dist/src/vectorCluster/vectorClusterGroup.js.map +1 -1
  265. package/dist/src/vectorCluster/vectorClusterStyleItem.d.ts +1 -1
  266. package/dist/src/vectorCluster/vectorClusterStyleItem.js +3 -4
  267. package/dist/src/vectorCluster/vectorClusterStyleItem.js.map +1 -1
  268. package/dist/tests/unit/helpers/cesiumHelpers.d.ts +11 -1
  269. package/dist/tests/unit/helpers/cesiumHelpers.js +26 -3
  270. package/dist/tests/unit/helpers/cesiumHelpers.js.map +1 -1
  271. package/dist/tests/unit/helpers/panoramaHelpers.js +1 -1
  272. package/dist/tests/unit/helpers/panoramaHelpers.js.map +1 -1
  273. package/index.ts +30 -5
  274. package/package.json +3 -3
  275. package/src/category/category.ts +3 -4
  276. package/src/cesium/cesium.d.ts +12 -0
  277. package/src/cesium/cesium3DTileFeature.ts +23 -3
  278. package/src/cesium/cesium3DTilePointFeature.ts +3 -1
  279. package/src/classRegistry.ts +8 -3
  280. package/src/featureProvider/abstractAttributeProvider.ts +201 -0
  281. package/src/featureProvider/abstractFeatureProvider.ts +32 -51
  282. package/src/featureProvider/compositeFeatureProvider.ts +103 -0
  283. package/src/featureProvider/csvAttributeProvider.ts +186 -0
  284. package/src/featureProvider/featureProviderFactory.ts +31 -0
  285. package/src/featureProvider/i3sAttributeProvider.ts +60 -0
  286. package/src/featureProvider/jsonAttributeProvider.ts +109 -0
  287. package/src/featureProvider/tileProviderFeatureProvider.ts +13 -14
  288. package/src/featureProvider/urlIdAttributeProvider.ts +82 -0
  289. package/src/featureProvider/wmsFeatureProvider.ts +31 -10
  290. package/src/global.d.ts +2 -0
  291. package/src/interaction/coordinateAtPixel.ts +4 -6
  292. package/src/interaction/ensurePositionInteraction.ts +50 -0
  293. package/src/interaction/eventHandler.ts +12 -1
  294. package/src/interaction/featureAtPixelInteraction.ts +92 -32
  295. package/src/interaction/featureProviderInteraction.ts +59 -38
  296. package/src/interaction/panoramaImageSelection.ts +4 -2
  297. package/src/layer/cesium/cesiumTilesetCesiumImpl.ts +297 -197
  298. package/src/layer/cesium/i3sCesiumImpl.ts +141 -0
  299. package/src/layer/cesium/rasterLayerCesiumImpl.ts +3 -3
  300. package/src/layer/cesium/terrainCesiumImpl.ts +3 -3
  301. package/src/layer/cesium/vcsTile/vcsQuadtreeTileProvider.ts +4 -3
  302. package/src/layer/cesium/vectorContext.ts +1 -1
  303. package/src/layer/cesium/vectorRasterTileCesiumImpl.ts +7 -6
  304. package/src/layer/cesium/vectorTileImageryProvider.ts +2 -2
  305. package/src/layer/cesiumTilesetLayer.ts +60 -8
  306. package/src/layer/cogLayer.ts +5 -5
  307. package/src/layer/czmlLayer.ts +4 -4
  308. package/src/layer/featureLayer.ts +5 -16
  309. package/src/layer/featureStoreLayer.ts +11 -5
  310. package/src/layer/flatGeobufLayer.ts +12 -0
  311. package/src/layer/geojsonLayer.ts +5 -12
  312. package/src/layer/i3sLayer.ts +343 -0
  313. package/src/layer/layer.ts +178 -39
  314. package/src/layer/layerSymbols.ts +5 -0
  315. package/src/layer/openStreetMapLayer.ts +13 -6
  316. package/src/layer/panorama/vectorPanoramaImpl.ts +238 -0
  317. package/src/layer/panoramaDatasetLayer.ts +69 -23
  318. package/src/layer/pointCloudLayer.ts +5 -20
  319. package/src/layer/rasterLayer.ts +4 -4
  320. package/src/layer/singleImageLayer.ts +5 -3
  321. package/src/layer/terrainLayer.ts +9 -6
  322. package/src/layer/tileProvider/flatGeobufTileProvider.ts +9 -5
  323. package/src/layer/tileProvider/mvtTileProvider.ts +10 -5
  324. package/src/layer/tileProvider/staticFeatureTileProvider.ts +5 -3
  325. package/src/layer/tileProvider/staticGeojsonTileProvider.ts +11 -4
  326. package/src/layer/tileProvider/tileProvider.ts +18 -5
  327. package/src/layer/tileProvider/urlTemplateTileProvider.ts +7 -3
  328. package/src/layer/tmsLayer.ts +3 -10
  329. package/src/layer/vectorLayer.ts +29 -11
  330. package/src/layer/vectorProperties.ts +10 -1
  331. package/src/layer/vectorTileLayer.ts +141 -53
  332. package/src/layer/wfsLayer.ts +7 -4
  333. package/src/layer/wmsLayer.ts +80 -48
  334. package/src/layer/wmtsLayer.ts +3 -10
  335. package/src/map/baseCesiumMap.ts +600 -0
  336. package/src/map/cesiumMap.ts +99 -457
  337. package/src/map/obliqueMap.ts +16 -10
  338. package/src/map/openlayersMap.ts +5 -5
  339. package/src/map/panoramaMap.ts +74 -139
  340. package/src/map/vcsMap.ts +44 -4
  341. package/src/oblique/obliqueCollection.ts +5 -4
  342. package/src/ol/ol.d.ts +13 -2
  343. package/src/panorama/panoramaCameraController.ts +13 -1
  344. package/src/panorama/panoramaImage.ts +25 -8
  345. package/src/panorama/panoramaImageView.ts +29 -3
  346. package/src/panorama/panoramaTileMaterial.ts +20 -0
  347. package/src/panorama/panoramaTileMaterialFS.glsl +16 -1
  348. package/src/panorama/panoramaTilePrimitiveCollection.ts +34 -0
  349. package/src/style/declarativeStyleItem.ts +7 -9
  350. package/src/util/clipping/clippingPolygonObject.ts +5 -4
  351. package/src/util/displayQuality/displayQuality.ts +4 -4
  352. package/src/util/editor/createFeatureSession.ts +4 -1
  353. package/src/util/editor/editFeaturesSession.ts +14 -4
  354. package/src/util/editor/editGeometrySession.ts +3 -1
  355. package/src/util/editor/editorSessionHelpers.ts +5 -3
  356. package/src/util/editor/interactions/creationSnapping.ts +7 -1
  357. package/src/util/editor/interactions/ensureHandlerSelectionInteraction.ts +2 -2
  358. package/src/util/editor/interactions/layerSnapping.ts +7 -1
  359. package/src/util/editor/interactions/mapInteractionController.ts +12 -2
  360. package/src/util/editor/interactions/translationSnapping.ts +6 -4
  361. package/src/util/editor/selectFeaturesSession.ts +1 -1
  362. package/src/util/editor/transformation/create3DHandlers.ts +2 -2
  363. package/src/util/editor/transformation/transformationHandler.ts +5 -3
  364. package/src/util/editor/transformation/translateInteraction.ts +4 -4
  365. package/src/util/fetch.ts +7 -0
  366. package/src/util/flight/flightInstance.ts +6 -5
  367. package/src/util/mapCollection.ts +18 -0
  368. package/src/util/renderScreenshot.ts +4 -8
  369. package/src/util/viewpoint.ts +2 -2
  370. package/src/vcsApp.ts +7 -8
  371. package/src/vcsModuleHelpers.ts +62 -4
  372. package/src/vcsObject.ts +10 -1
  373. package/src/vectorCluster/vectorClusterGroup.ts +7 -4
  374. package/src/vectorCluster/vectorClusterStyleItem.ts +8 -4
  375. package/dist/src/map/cesiumMapHelpers.d.ts +0 -7
  376. package/dist/src/map/cesiumMapHelpers.js +0 -144
  377. package/dist/src/map/cesiumMapHelpers.js.map +0 -1
  378. package/src/map/cesiumMapHelpers.ts +0 -219
@@ -1,144 +0,0 @@
1
- import { Cartesian3, Cartographic, Ellipsoid, KeyboardEventModifier, Math as CesiumMath, Ray, ScreenSpaceEventType, } from '@vcmap-cesium/engine';
2
- import { ModificationKeyType, PointerEventType, PointerKeyType, } from '../interaction/interactionType.js';
3
- import Viewpoint from '../util/viewpoint.js';
4
- function raisePointerInteraction(map, key, pointer, pointerEvent, csEvent, screenSpaceEventHandler) {
5
- const multipleTouch =
6
- // eslint-disable-next-line no-underscore-dangle
7
- (screenSpaceEventHandler?._positions?.length ?? 0) > 1;
8
- const windowPosition = csEvent
9
- .position
10
- ? csEvent.position
11
- : csEvent.endPosition;
12
- map.pointerInteractionEvent.raiseEvent({
13
- map,
14
- windowPosition,
15
- key,
16
- pointer,
17
- multipleTouch,
18
- pointerEvent,
19
- });
20
- }
21
- export function setupCesiumInteractions(map, scene, screenSpaceEventHandler) {
22
- const mods = [
23
- {
24
- csModifier: KeyboardEventModifier.ALT,
25
- vcsModifier: ModificationKeyType.ALT,
26
- },
27
- {
28
- csModifier: KeyboardEventModifier.CTRL,
29
- vcsModifier: ModificationKeyType.CTRL,
30
- },
31
- {
32
- csModifier: KeyboardEventModifier.SHIFT,
33
- vcsModifier: ModificationKeyType.SHIFT,
34
- },
35
- { csModifier: undefined, vcsModifier: ModificationKeyType.NONE },
36
- ];
37
- const types = [
38
- {
39
- type: ScreenSpaceEventType.LEFT_DOWN,
40
- pointerEvent: PointerEventType.DOWN,
41
- pointer: PointerKeyType.LEFT,
42
- },
43
- {
44
- type: ScreenSpaceEventType.LEFT_UP,
45
- pointerEvent: PointerEventType.UP,
46
- pointer: PointerKeyType.LEFT,
47
- },
48
- {
49
- type: ScreenSpaceEventType.RIGHT_DOWN,
50
- pointerEvent: PointerEventType.DOWN,
51
- pointer: PointerKeyType.RIGHT,
52
- },
53
- {
54
- type: ScreenSpaceEventType.RIGHT_UP,
55
- pointerEvent: PointerEventType.UP,
56
- pointer: PointerKeyType.RIGHT,
57
- },
58
- {
59
- type: ScreenSpaceEventType.MIDDLE_DOWN,
60
- pointerEvent: PointerEventType.DOWN,
61
- pointer: PointerKeyType.MIDDLE,
62
- },
63
- {
64
- type: ScreenSpaceEventType.MIDDLE_UP,
65
- pointerEvent: PointerEventType.UP,
66
- pointer: PointerKeyType.MIDDLE,
67
- },
68
- {
69
- type: ScreenSpaceEventType.MOUSE_MOVE,
70
- pointerEvent: PointerEventType.MOVE,
71
- pointer: PointerKeyType.ALL,
72
- },
73
- ];
74
- let lastEventFrameNumber = 0;
75
- const screenSpaceListeners = types
76
- .map(({ pointerEvent, pointer, type }) => {
77
- return mods.map(({ csModifier, vcsModifier }) => {
78
- const handler = type === ScreenSpaceEventType.MOUSE_MOVE
79
- ? (csEvent) => {
80
- if (scene.frameState.frameNumber !== lastEventFrameNumber) {
81
- lastEventFrameNumber = scene.frameState.frameNumber;
82
- raisePointerInteraction(map, vcsModifier, pointer, pointerEvent, csEvent, screenSpaceEventHandler);
83
- }
84
- }
85
- : (csEvent) => {
86
- raisePointerInteraction(map, vcsModifier, pointer, pointerEvent, csEvent, screenSpaceEventHandler);
87
- };
88
- screenSpaceEventHandler.setInputAction?.(handler, type, csModifier);
89
- return () => {
90
- screenSpaceEventHandler.removeInputAction?.(type, csModifier);
91
- };
92
- });
93
- })
94
- .flat();
95
- return () => {
96
- screenSpaceListeners.forEach((removeListener) => {
97
- removeListener();
98
- });
99
- };
100
- }
101
- export function getViewpointFromScene(scene) {
102
- const cam = scene.camera;
103
- const cameraPositionCartesian = cam.position;
104
- let groundPosition;
105
- let distance;
106
- const groundPositionCartesian = scene.globe?.pick(new Ray(cam.position, cam.direction), scene);
107
- if (groundPositionCartesian) {
108
- distance = Cartesian3.distance(groundPositionCartesian, cameraPositionCartesian);
109
- const groundPositionCartographic = Ellipsoid.WGS84.cartesianToCartographic(groundPositionCartesian);
110
- groundPosition = [
111
- CesiumMath.toDegrees(groundPositionCartographic.longitude),
112
- CesiumMath.toDegrees(groundPositionCartographic.latitude),
113
- groundPositionCartographic.height,
114
- ];
115
- }
116
- const cameraPositionCartographic = cam.positionCartographic;
117
- const cameraPosition = [
118
- CesiumMath.toDegrees(cameraPositionCartographic.longitude),
119
- CesiumMath.toDegrees(cameraPositionCartographic.latitude),
120
- cameraPositionCartographic.height,
121
- ];
122
- return new Viewpoint({
123
- groundPosition,
124
- cameraPosition,
125
- distance,
126
- heading: CesiumMath.toDegrees(cam.heading),
127
- pitch: CesiumMath.toDegrees(cam.pitch),
128
- roll: CesiumMath.toDegrees(cam.roll),
129
- });
130
- }
131
- export function getResolution(cartesian, camera, mapElement, latitude) {
132
- const distance = Cartesian3.distance(cartesian, camera.position);
133
- const usedLatitude = latitude ?? Cartographic.fromCartesian(cartesian).latitude;
134
- const fov = Math.PI / 3.0;
135
- const width = mapElement.offsetWidth;
136
- const height = mapElement.offsetHeight;
137
- const aspectRatio = width / height;
138
- const fovy = Math.atan(Math.tan(fov * 0.5) / aspectRatio) * 2.0;
139
- const visibleMeters = 2 * distance * Math.tan(fovy / 2);
140
- const relativeCircumference = Math.cos(Math.abs(usedLatitude));
141
- const visibleMapUnits = visibleMeters / relativeCircumference;
142
- return visibleMapUnits / height;
143
- }
144
- //# sourceMappingURL=cesiumMapHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cesiumMapHelpers.js","sourceRoot":"","sources":["../../../src/map/cesiumMapHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,219 +0,0 @@
1
- import type {
2
- Camera,
3
- Scene,
4
- ScreenSpaceEventHandler,
5
- } from '@vcmap-cesium/engine';
6
- import {
7
- Cartesian3,
8
- Cartographic,
9
- Ellipsoid,
10
- KeyboardEventModifier,
11
- Math as CesiumMath,
12
- Ray,
13
- ScreenSpaceEventType,
14
- } from '@vcmap-cesium/engine';
15
- import {
16
- ModificationKeyType,
17
- PointerEventType,
18
- PointerKeyType,
19
- } from '../interaction/interactionType.js';
20
- import Viewpoint from '../util/viewpoint.js';
21
- import type VcsMap from './vcsMap.js';
22
-
23
- function raisePointerInteraction(
24
- map: VcsMap,
25
- key: ModificationKeyType,
26
- pointer: number,
27
- pointerEvent: PointerEventType,
28
- csEvent:
29
- | ScreenSpaceEventHandler.PositionedEvent
30
- | ScreenSpaceEventHandler.MotionEvent,
31
- screenSpaceEventHandler: ScreenSpaceEventHandler,
32
- ): void {
33
- const multipleTouch =
34
- // eslint-disable-next-line no-underscore-dangle
35
- (screenSpaceEventHandler?._positions?.length ?? 0) > 1;
36
- const windowPosition = (csEvent as ScreenSpaceEventHandler.PositionedEvent)
37
- .position
38
- ? (csEvent as ScreenSpaceEventHandler.PositionedEvent).position
39
- : (csEvent as ScreenSpaceEventHandler.MotionEvent).endPosition;
40
-
41
- map.pointerInteractionEvent.raiseEvent({
42
- map,
43
- windowPosition,
44
- key,
45
- pointer,
46
- multipleTouch,
47
- pointerEvent,
48
- });
49
- }
50
-
51
- export function setupCesiumInteractions(
52
- map: VcsMap,
53
- scene: Scene,
54
- screenSpaceEventHandler: ScreenSpaceEventHandler,
55
- ): () => void {
56
- const mods = [
57
- {
58
- csModifier: KeyboardEventModifier.ALT,
59
- vcsModifier: ModificationKeyType.ALT,
60
- },
61
- {
62
- csModifier: KeyboardEventModifier.CTRL,
63
- vcsModifier: ModificationKeyType.CTRL,
64
- },
65
- {
66
- csModifier: KeyboardEventModifier.SHIFT,
67
- vcsModifier: ModificationKeyType.SHIFT,
68
- },
69
- { csModifier: undefined, vcsModifier: ModificationKeyType.NONE },
70
- ];
71
-
72
- const types = [
73
- {
74
- type: ScreenSpaceEventType.LEFT_DOWN,
75
- pointerEvent: PointerEventType.DOWN,
76
- pointer: PointerKeyType.LEFT,
77
- },
78
- {
79
- type: ScreenSpaceEventType.LEFT_UP,
80
- pointerEvent: PointerEventType.UP,
81
- pointer: PointerKeyType.LEFT,
82
- },
83
- {
84
- type: ScreenSpaceEventType.RIGHT_DOWN,
85
- pointerEvent: PointerEventType.DOWN,
86
- pointer: PointerKeyType.RIGHT,
87
- },
88
- {
89
- type: ScreenSpaceEventType.RIGHT_UP,
90
- pointerEvent: PointerEventType.UP,
91
- pointer: PointerKeyType.RIGHT,
92
- },
93
- {
94
- type: ScreenSpaceEventType.MIDDLE_DOWN,
95
- pointerEvent: PointerEventType.DOWN,
96
- pointer: PointerKeyType.MIDDLE,
97
- },
98
- {
99
- type: ScreenSpaceEventType.MIDDLE_UP,
100
- pointerEvent: PointerEventType.UP,
101
- pointer: PointerKeyType.MIDDLE,
102
- },
103
- {
104
- type: ScreenSpaceEventType.MOUSE_MOVE,
105
- pointerEvent: PointerEventType.MOVE,
106
- pointer: PointerKeyType.ALL,
107
- },
108
- ];
109
- let lastEventFrameNumber = 0;
110
- const screenSpaceListeners = types
111
- .map(({ pointerEvent, pointer, type }) => {
112
- return mods.map(({ csModifier, vcsModifier }) => {
113
- const handler:
114
- | ScreenSpaceEventHandler.PositionedEventCallback
115
- | ScreenSpaceEventHandler.MotionEventCallback =
116
- type === ScreenSpaceEventType.MOUSE_MOVE
117
- ? (csEvent: ScreenSpaceEventHandler.MotionEvent): void => {
118
- if (scene.frameState.frameNumber !== lastEventFrameNumber) {
119
- lastEventFrameNumber = scene.frameState.frameNumber;
120
- raisePointerInteraction(
121
- map,
122
- vcsModifier,
123
- pointer,
124
- pointerEvent,
125
- csEvent,
126
- screenSpaceEventHandler,
127
- );
128
- }
129
- }
130
- : (csEvent: ScreenSpaceEventHandler.PositionedEvent): void => {
131
- raisePointerInteraction(
132
- map,
133
- vcsModifier,
134
- pointer,
135
- pointerEvent,
136
- csEvent,
137
- screenSpaceEventHandler,
138
- );
139
- };
140
-
141
- screenSpaceEventHandler.setInputAction?.(handler, type, csModifier);
142
- return (): void => {
143
- screenSpaceEventHandler.removeInputAction?.(type, csModifier);
144
- };
145
- });
146
- })
147
- .flat();
148
-
149
- return (): void => {
150
- screenSpaceListeners.forEach((removeListener) => {
151
- removeListener();
152
- });
153
- };
154
- }
155
-
156
- export function getViewpointFromScene(scene: Scene): Viewpoint {
157
- const cam = scene.camera;
158
- const cameraPositionCartesian = cam.position;
159
- let groundPosition;
160
- let distance;
161
-
162
- const groundPositionCartesian = scene.globe?.pick(
163
- new Ray(cam.position, cam.direction),
164
- scene,
165
- );
166
-
167
- if (groundPositionCartesian) {
168
- distance = Cartesian3.distance(
169
- groundPositionCartesian,
170
- cameraPositionCartesian,
171
- );
172
- const groundPositionCartographic = Ellipsoid.WGS84.cartesianToCartographic(
173
- groundPositionCartesian,
174
- );
175
- groundPosition = [
176
- CesiumMath.toDegrees(groundPositionCartographic.longitude),
177
- CesiumMath.toDegrees(groundPositionCartographic.latitude),
178
- groundPositionCartographic.height,
179
- ];
180
- }
181
-
182
- const cameraPositionCartographic = cam.positionCartographic;
183
- const cameraPosition = [
184
- CesiumMath.toDegrees(cameraPositionCartographic.longitude),
185
- CesiumMath.toDegrees(cameraPositionCartographic.latitude),
186
- cameraPositionCartographic.height,
187
- ];
188
-
189
- return new Viewpoint({
190
- groundPosition,
191
- cameraPosition,
192
- distance,
193
- heading: CesiumMath.toDegrees(cam.heading),
194
- pitch: CesiumMath.toDegrees(cam.pitch),
195
- roll: CesiumMath.toDegrees(cam.roll),
196
- });
197
- }
198
-
199
- export function getResolution(
200
- cartesian: Cartesian3,
201
- camera: Camera,
202
- mapElement: HTMLElement,
203
- latitude?: number,
204
- ): number {
205
- const distance = Cartesian3.distance(cartesian, camera.position);
206
- const usedLatitude =
207
- latitude ?? Cartographic.fromCartesian(cartesian).latitude;
208
-
209
- const fov = Math.PI / 3.0;
210
- const width = mapElement.offsetWidth;
211
- const height = mapElement.offsetHeight;
212
- const aspectRatio = width / height;
213
- const fovy = Math.atan(Math.tan(fov * 0.5) / aspectRatio) * 2.0;
214
- const visibleMeters = 2 * distance * Math.tan(fovy / 2);
215
- const relativeCircumference = Math.cos(Math.abs(usedLatitude));
216
- const visibleMapUnits = visibleMeters / relativeCircumference;
217
-
218
- return visibleMapUnits / height;
219
- }