@itwin/core-frontend 3.6.0-dev.3 → 3.6.0-dev.33
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.
- package/CHANGELOG.md +29 -1
- package/lib/cjs/AccuDraw.js +1 -1
- package/lib/cjs/AccuDraw.js.map +1 -1
- package/lib/cjs/EnvironmentDecorations.d.ts +4 -4
- package/lib/cjs/EnvironmentDecorations.d.ts.map +1 -1
- package/lib/cjs/EnvironmentDecorations.js +69 -52
- package/lib/cjs/EnvironmentDecorations.js.map +1 -1
- package/lib/cjs/NoRenderApp.d.ts.map +1 -1
- package/lib/cjs/NoRenderApp.js +3 -0
- package/lib/cjs/NoRenderApp.js.map +1 -1
- package/lib/cjs/Tiles.d.ts +4 -0
- package/lib/cjs/Tiles.d.ts.map +1 -1
- package/lib/cjs/Tiles.js +11 -0
- package/lib/cjs/Tiles.js.map +1 -1
- package/lib/cjs/ViewManager.d.ts.map +1 -1
- package/lib/cjs/ViewManager.js +2 -3
- package/lib/cjs/ViewManager.js.map +1 -1
- package/lib/cjs/Viewport.d.ts +16 -1
- package/lib/cjs/Viewport.d.ts.map +1 -1
- package/lib/cjs/Viewport.js +42 -12
- package/lib/cjs/Viewport.js.map +1 -1
- package/lib/cjs/extension/ExtensionRuntime.js +2 -0
- package/lib/cjs/extension/ExtensionRuntime.js.map +1 -1
- package/lib/cjs/render/GraphicBranch.d.ts +3 -0
- package/lib/cjs/render/GraphicBranch.d.ts.map +1 -1
- package/lib/cjs/render/GraphicBranch.js.map +1 -1
- package/lib/cjs/render/MockRender.d.ts.map +1 -1
- package/lib/cjs/render/MockRender.js +3 -0
- package/lib/cjs/render/MockRender.js.map +1 -1
- package/lib/cjs/render/RealityMeshParams.d.ts +3 -4
- package/lib/cjs/render/RealityMeshParams.d.ts.map +1 -1
- package/lib/cjs/render/RealityMeshParams.js +9 -5
- package/lib/cjs/render/RealityMeshParams.js.map +1 -1
- package/lib/cjs/render/webgl/BackgroundMapDrape.js +2 -2
- package/lib/cjs/render/webgl/BranchState.d.ts +3 -0
- package/lib/cjs/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/cjs/render/webgl/BranchState.js +5 -0
- package/lib/cjs/render/webgl/BranchState.js.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.d.ts +32 -0
- package/lib/cjs/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/cjs/render/webgl/CachedGeometry.js +74 -1
- package/lib/cjs/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.d.ts.map +1 -1
- package/lib/cjs/render/webgl/DrawCommand.js +6 -4
- package/lib/cjs/render/webgl/DrawCommand.js.map +1 -1
- package/lib/cjs/render/webgl/EDL.d.ts +40 -0
- package/lib/cjs/render/webgl/EDL.d.ts.map +1 -0
- package/lib/cjs/render/webgl/EDL.js +264 -0
- package/lib/cjs/render/webgl/EDL.js.map +1 -0
- package/lib/cjs/render/webgl/EdgeSettings.js +2 -2
- package/lib/cjs/render/webgl/FrameBuffer.d.ts +4 -0
- package/lib/cjs/render/webgl/FrameBuffer.d.ts.map +1 -1
- package/lib/cjs/render/webgl/FrameBuffer.js +9 -0
- package/lib/cjs/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/cjs/render/webgl/FrustumUniforms.d.ts +7 -0
- package/lib/cjs/render/webgl/FrustumUniforms.d.ts.map +1 -1
- package/lib/cjs/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/Layer.js +2 -2
- package/lib/cjs/render/webgl/LayerCommands.js +2 -2
- package/lib/cjs/render/webgl/PlanarClassifier.js +7 -7
- package/lib/cjs/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/cjs/render/webgl/PointCloud.d.ts +2 -2
- package/lib/cjs/render/webgl/PointCloud.d.ts.map +1 -1
- package/lib/cjs/render/webgl/PointCloud.js +2 -0
- package/lib/cjs/render/webgl/PointCloud.js.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.d.ts +3 -1
- package/lib/cjs/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RealityMesh.js +8 -3
- package/lib/cjs/render/webgl/RealityMesh.js.map +1 -1
- package/lib/cjs/render/webgl/RealityModelUniforms.d.ts +9 -0
- package/lib/cjs/render/webgl/RealityModelUniforms.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RealityModelUniforms.js +50 -0
- package/lib/cjs/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.d.ts +2 -1
- package/lib/cjs/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderCommands.js +45 -37
- package/lib/cjs/render/webgl/RenderCommands.js.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.d.ts +19 -17
- package/lib/cjs/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/cjs/render/webgl/RenderFlags.js +8 -6
- package/lib/cjs/render/webgl/RenderFlags.js.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.d.ts +6 -1
- package/lib/cjs/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/cjs/render/webgl/SceneCompositor.js +195 -76
- package/lib/cjs/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/cjs/render/webgl/SolarShadowMap.js +2 -2
- package/lib/cjs/render/webgl/SurfaceGeometry.js +5 -5
- package/lib/cjs/render/webgl/Target.js +7 -7
- package/lib/cjs/render/webgl/Target.js.map +1 -1
- package/lib/cjs/render/webgl/Technique.d.ts.map +1 -1
- package/lib/cjs/render/webgl/Technique.js +18 -3
- package/lib/cjs/render/webgl/Technique.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueFlags.js +4 -4
- package/lib/cjs/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.d.ts +6 -2
- package/lib/cjs/render/webgl/TechniqueId.d.ts.map +1 -1
- package/lib/cjs/render/webgl/TechniqueId.js.map +1 -1
- package/lib/cjs/render/webgl/UniformHandle.d.ts.map +1 -1
- package/lib/cjs/render/webgl/UniformHandle.js +1 -2
- package/lib/cjs/render/webgl/UniformHandle.js.map +1 -1
- package/lib/cjs/render/webgl/VisibleTileFeatures.js +5 -5
- package/lib/cjs/render/webgl/glsl/EDL.d.ts +14 -0
- package/lib/cjs/render/webgl/glsl/EDL.d.ts.map +1 -0
- package/lib/cjs/render/webgl/glsl/EDL.js +260 -0
- package/lib/cjs/render/webgl/glsl/EDL.js.map +1 -0
- package/lib/cjs/render/webgl/glsl/RenderPass.js +12 -12
- package/lib/cjs/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/cjs/tile/BatchedTileIdMap.js +1 -1
- package/lib/cjs/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/cjs/tile/DynamicIModelTile.js +1 -1
- package/lib/cjs/tile/DynamicIModelTile.js.map +1 -1
- package/lib/cjs/tile/GltfReader.js +1 -1
- package/lib/cjs/tile/GltfReader.js.map +1 -1
- package/lib/cjs/tile/IModelTile.js +1 -1
- package/lib/cjs/tile/IModelTile.js.map +1 -1
- package/lib/cjs/tile/ImdlReader.js +5 -5
- package/lib/cjs/tile/ImdlReader.js.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/RealityModelTileTree.js +2 -1
- package/lib/cjs/tile/RealityModelTileTree.js.map +1 -1
- package/lib/cjs/tile/RealityTileLoader.js +2 -2
- package/lib/cjs/tile/RealityTileLoader.js.map +1 -1
- package/lib/cjs/tile/TileTreeReference.d.ts +3 -0
- package/lib/cjs/tile/TileTreeReference.d.ts.map +1 -1
- package/lib/cjs/tile/TileTreeReference.js +3 -0
- package/lib/cjs/tile/TileTreeReference.js.map +1 -1
- package/lib/cjs/tile/map/CesiumTerrainProvider.js +9 -9
- package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js +1 -2
- package/lib/cjs/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +2 -2
- package/lib/cjs/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +1 -1
- package/lib/cjs/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.d.ts +1 -0
- package/lib/cjs/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/cjs/tile/map/ImageryTileTree.js +4 -1
- package/lib/cjs/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts +7 -3
- package/lib/cjs/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapLayerImageryProvider.js +12 -8
- package/lib/cjs/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/cjs/tile/map/MapTileTree.js +1 -1
- package/lib/cjs/tile/map/MapTileTree.js.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts +1 -0
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js +4 -0
- package/lib/cjs/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/cjs/tile/map/WmtsCapabilities.d.ts +23 -68
- package/lib/cjs/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/cjs/tile/map/WmtsCapabilities.js +269 -260
- package/lib/cjs/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/cjs/tools/ClipViewTool.js +2 -2
- package/lib/cjs/tools/ClipViewTool.js.map +1 -1
- package/lib/cjs/tools/MeasureTool.js +1 -1
- package/lib/cjs/tools/MeasureTool.js.map +1 -1
- package/lib/esm/AccuDraw.js +1 -1
- package/lib/esm/AccuDraw.js.map +1 -1
- package/lib/esm/EnvironmentDecorations.d.ts +4 -4
- package/lib/esm/EnvironmentDecorations.d.ts.map +1 -1
- package/lib/esm/EnvironmentDecorations.js +69 -52
- package/lib/esm/EnvironmentDecorations.js.map +1 -1
- package/lib/esm/NoRenderApp.d.ts.map +1 -1
- package/lib/esm/NoRenderApp.js +3 -0
- package/lib/esm/NoRenderApp.js.map +1 -1
- package/lib/esm/Tiles.d.ts +4 -0
- package/lib/esm/Tiles.d.ts.map +1 -1
- package/lib/esm/Tiles.js +11 -0
- package/lib/esm/Tiles.js.map +1 -1
- package/lib/esm/ViewManager.d.ts.map +1 -1
- package/lib/esm/ViewManager.js +2 -3
- package/lib/esm/ViewManager.js.map +1 -1
- package/lib/esm/Viewport.d.ts +16 -1
- package/lib/esm/Viewport.d.ts.map +1 -1
- package/lib/esm/Viewport.js +42 -12
- package/lib/esm/Viewport.js.map +1 -1
- package/lib/esm/extension/ExtensionRuntime.js +3 -1
- package/lib/esm/extension/ExtensionRuntime.js.map +1 -1
- package/lib/esm/render/GraphicBranch.d.ts +3 -0
- package/lib/esm/render/GraphicBranch.d.ts.map +1 -1
- package/lib/esm/render/GraphicBranch.js.map +1 -1
- package/lib/esm/render/MockRender.d.ts.map +1 -1
- package/lib/esm/render/MockRender.js +3 -0
- package/lib/esm/render/MockRender.js.map +1 -1
- package/lib/esm/render/RealityMeshParams.d.ts +3 -4
- package/lib/esm/render/RealityMeshParams.d.ts.map +1 -1
- package/lib/esm/render/RealityMeshParams.js +10 -6
- package/lib/esm/render/RealityMeshParams.js.map +1 -1
- package/lib/esm/render/webgl/BackgroundMapDrape.js +2 -2
- package/lib/esm/render/webgl/BranchState.d.ts +3 -0
- package/lib/esm/render/webgl/BranchState.d.ts.map +1 -1
- package/lib/esm/render/webgl/BranchState.js +5 -0
- package/lib/esm/render/webgl/BranchState.js.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.d.ts +32 -0
- package/lib/esm/render/webgl/CachedGeometry.d.ts.map +1 -1
- package/lib/esm/render/webgl/CachedGeometry.js +69 -0
- package/lib/esm/render/webgl/CachedGeometry.js.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.d.ts.map +1 -1
- package/lib/esm/render/webgl/DrawCommand.js +6 -4
- package/lib/esm/render/webgl/DrawCommand.js.map +1 -1
- package/lib/esm/render/webgl/EDL.d.ts +40 -0
- package/lib/esm/render/webgl/EDL.d.ts.map +1 -0
- package/lib/esm/render/webgl/EDL.js +260 -0
- package/lib/esm/render/webgl/EDL.js.map +1 -0
- package/lib/esm/render/webgl/EdgeSettings.js +2 -2
- package/lib/esm/render/webgl/FrameBuffer.d.ts +4 -0
- package/lib/esm/render/webgl/FrameBuffer.d.ts.map +1 -1
- package/lib/esm/render/webgl/FrameBuffer.js +9 -0
- package/lib/esm/render/webgl/FrameBuffer.js.map +1 -1
- package/lib/esm/render/webgl/FrustumUniforms.d.ts +7 -0
- package/lib/esm/render/webgl/FrustumUniforms.d.ts.map +1 -1
- package/lib/esm/render/webgl/FrustumUniforms.js.map +1 -1
- package/lib/esm/render/webgl/Layer.js +2 -2
- package/lib/esm/render/webgl/LayerCommands.js +2 -2
- package/lib/esm/render/webgl/PlanarClassifier.js +7 -7
- package/lib/esm/render/webgl/PlanarClassifier.js.map +1 -1
- package/lib/esm/render/webgl/PointCloud.d.ts +2 -2
- package/lib/esm/render/webgl/PointCloud.d.ts.map +1 -1
- package/lib/esm/render/webgl/PointCloud.js +2 -0
- package/lib/esm/render/webgl/PointCloud.js.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.d.ts +3 -1
- package/lib/esm/render/webgl/RealityMesh.d.ts.map +1 -1
- package/lib/esm/render/webgl/RealityMesh.js +8 -3
- package/lib/esm/render/webgl/RealityMesh.js.map +1 -1
- package/lib/esm/render/webgl/RealityModelUniforms.d.ts +9 -0
- package/lib/esm/render/webgl/RealityModelUniforms.d.ts.map +1 -1
- package/lib/esm/render/webgl/RealityModelUniforms.js +50 -0
- package/lib/esm/render/webgl/RealityModelUniforms.js.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.d.ts +2 -1
- package/lib/esm/render/webgl/RenderCommands.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderCommands.js +45 -37
- package/lib/esm/render/webgl/RenderCommands.js.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.d.ts +19 -17
- package/lib/esm/render/webgl/RenderFlags.d.ts.map +1 -1
- package/lib/esm/render/webgl/RenderFlags.js +8 -6
- package/lib/esm/render/webgl/RenderFlags.js.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.d.ts +6 -1
- package/lib/esm/render/webgl/SceneCompositor.d.ts.map +1 -1
- package/lib/esm/render/webgl/SceneCompositor.js +194 -77
- package/lib/esm/render/webgl/SceneCompositor.js.map +1 -1
- package/lib/esm/render/webgl/SolarShadowMap.js +2 -2
- package/lib/esm/render/webgl/SurfaceGeometry.js +5 -5
- package/lib/esm/render/webgl/Target.js +7 -7
- package/lib/esm/render/webgl/Target.js.map +1 -1
- package/lib/esm/render/webgl/Technique.d.ts.map +1 -1
- package/lib/esm/render/webgl/Technique.js +18 -3
- package/lib/esm/render/webgl/Technique.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueFlags.js +4 -4
- package/lib/esm/render/webgl/TechniqueFlags.js.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.d.ts +6 -2
- package/lib/esm/render/webgl/TechniqueId.d.ts.map +1 -1
- package/lib/esm/render/webgl/TechniqueId.js.map +1 -1
- package/lib/esm/render/webgl/UniformHandle.d.ts.map +1 -1
- package/lib/esm/render/webgl/UniformHandle.js +1 -2
- package/lib/esm/render/webgl/UniformHandle.js.map +1 -1
- package/lib/esm/render/webgl/VisibleTileFeatures.js +5 -5
- package/lib/esm/render/webgl/glsl/EDL.d.ts +14 -0
- package/lib/esm/render/webgl/glsl/EDL.d.ts.map +1 -0
- package/lib/esm/render/webgl/glsl/EDL.js +253 -0
- package/lib/esm/render/webgl/glsl/EDL.js.map +1 -0
- package/lib/esm/render/webgl/glsl/RenderPass.js +12 -12
- package/lib/esm/render/webgl/glsl/RenderPass.js.map +1 -1
- package/lib/esm/tile/BatchedTileIdMap.js +1 -1
- package/lib/esm/tile/BatchedTileIdMap.js.map +1 -1
- package/lib/esm/tile/DynamicIModelTile.js +1 -1
- package/lib/esm/tile/DynamicIModelTile.js.map +1 -1
- package/lib/esm/tile/GltfReader.js +1 -1
- package/lib/esm/tile/GltfReader.js.map +1 -1
- package/lib/esm/tile/IModelTile.js +1 -1
- package/lib/esm/tile/IModelTile.js.map +1 -1
- package/lib/esm/tile/ImdlReader.js +5 -5
- package/lib/esm/tile/ImdlReader.js.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.d.ts.map +1 -1
- package/lib/esm/tile/RealityModelTileTree.js +2 -1
- package/lib/esm/tile/RealityModelTileTree.js.map +1 -1
- package/lib/esm/tile/RealityTileLoader.js +2 -2
- package/lib/esm/tile/RealityTileLoader.js.map +1 -1
- package/lib/esm/tile/TileTreeReference.d.ts +3 -0
- package/lib/esm/tile/TileTreeReference.d.ts.map +1 -1
- package/lib/esm/tile/TileTreeReference.js +3 -0
- package/lib/esm/tile/TileTreeReference.js.map +1 -1
- package/lib/esm/tile/map/CesiumTerrainProvider.js +9 -9
- package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js +1 -2
- package/lib/esm/tile/map/ImageryProviders/ArcGISImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js +2 -2
- package/lib/esm/tile/map/ImageryProviders/ArcGISMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js +2 -2
- package/lib/esm/tile/map/ImageryProviders/WmtsMapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.d.ts +1 -0
- package/lib/esm/tile/map/ImageryTileTree.d.ts.map +1 -1
- package/lib/esm/tile/map/ImageryTileTree.js +4 -1
- package/lib/esm/tile/map/ImageryTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts +7 -3
- package/lib/esm/tile/map/MapLayerImageryProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapLayerImageryProvider.js +12 -8
- package/lib/esm/tile/map/MapLayerImageryProvider.js.map +1 -1
- package/lib/esm/tile/map/MapTileTree.js +1 -1
- package/lib/esm/tile/map/MapTileTree.js.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts +1 -0
- package/lib/esm/tile/map/MapTiledGraphicsProvider.d.ts.map +1 -1
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js +4 -0
- package/lib/esm/tile/map/MapTiledGraphicsProvider.js.map +1 -1
- package/lib/esm/tile/map/WmtsCapabilities.d.ts +23 -68
- package/lib/esm/tile/map/WmtsCapabilities.d.ts.map +1 -1
- package/lib/esm/tile/map/WmtsCapabilities.js +268 -259
- package/lib/esm/tile/map/WmtsCapabilities.js.map +1 -1
- package/lib/esm/tools/ClipViewTool.js +2 -2
- package/lib/esm/tools/ClipViewTool.js.map +1 -1
- package/lib/esm/tools/MeasureTool.js +1 -1
- package/lib/esm/tools/MeasureTool.js.map +1 -1
- package/package.json +22 -23
|
@@ -7,8 +7,60 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { Point2d, Range2d } from "@itwin/core-geometry";
|
|
9
9
|
import { request } from "../../request/Request";
|
|
10
|
-
import { xml2json } from "xml-js";
|
|
11
10
|
import { MapCartoRectangle, WmsUtilities } from "../internal"; // WmsUtilities needed for getBaseUrl
|
|
11
|
+
var OwsConstants;
|
|
12
|
+
(function (OwsConstants) {
|
|
13
|
+
OwsConstants["ABSTRACT_XMLTAG"] = "ows:Abstract";
|
|
14
|
+
OwsConstants["ACCESSCONSTRAINTS_XMLTAG"] = "ows:AccessConstraints";
|
|
15
|
+
OwsConstants["ALLOWEDVALUES_XMLTAG"] = "ows:AllowedValues";
|
|
16
|
+
OwsConstants["BOUNDINGBOX_XMLTAG"] = "ows:BoundingBox";
|
|
17
|
+
OwsConstants["CONSTRAINT_XMLTAG"] = "ows:Constraint";
|
|
18
|
+
OwsConstants["DCP_XMLTAG"] = "ows:DCP";
|
|
19
|
+
OwsConstants["FEES_XMLTAG"] = "ows:Fees";
|
|
20
|
+
OwsConstants["GET_XMLTAG"] = "ows:Get";
|
|
21
|
+
OwsConstants["HTTP_XMLTAG"] = "ows:HTTP";
|
|
22
|
+
OwsConstants["IDENTIFIER_XMLTAG"] = "ows:Identifier";
|
|
23
|
+
OwsConstants["KEYWORDS_XMLTAG"] = "ows:Keywords";
|
|
24
|
+
OwsConstants["KEYWORD_XMLTAG"] = "ows:Keyword";
|
|
25
|
+
OwsConstants["LOWERCORNER_XMLTAG"] = "ows:LowerCorner";
|
|
26
|
+
OwsConstants["OPERATION_XMLTAG"] = "ows:Operation";
|
|
27
|
+
OwsConstants["OPERATIONSMETADATA_XMLTAG"] = "ows:OperationsMetadata";
|
|
28
|
+
OwsConstants["POST_XMLTAG"] = "ows:Post";
|
|
29
|
+
OwsConstants["SERVICEIDENTIFICATION_XMLTAG"] = "ows:ServiceIdentification";
|
|
30
|
+
OwsConstants["SERVICETYPE_XMLTAG"] = "ows:ServiceType";
|
|
31
|
+
OwsConstants["SERVICETYPEVERSION_XMLTAG"] = "ows:ServiceTypeVersion";
|
|
32
|
+
OwsConstants["SUPPORTEDCRS_XMLTAG"] = "ows:SupportedCRS";
|
|
33
|
+
OwsConstants["TITLE_XMLTAG"] = "ows:Title";
|
|
34
|
+
OwsConstants["UPPERCORNER_XMLTAG"] = "ows:UpperCorner";
|
|
35
|
+
OwsConstants["VALUE_XMLTAG"] = "ows:Value";
|
|
36
|
+
OwsConstants["WGS84BOUNDINGBOX_XMLTAG"] = "ows:WGS84BoundingBox";
|
|
37
|
+
})(OwsConstants || (OwsConstants = {}));
|
|
38
|
+
var XmlConstants;
|
|
39
|
+
(function (XmlConstants) {
|
|
40
|
+
// Operations names
|
|
41
|
+
XmlConstants["GETCAPABILITIES"] = "GetCapabilities";
|
|
42
|
+
XmlConstants["GETTILE"] = "GetTile";
|
|
43
|
+
XmlConstants["GETFEATUREINFO"] = "GetFeatureInfo";
|
|
44
|
+
XmlConstants["MATRIXWIDTH_XMLTAG"] = "MatrixWidth";
|
|
45
|
+
XmlConstants["MATRIXHEIGHT_XMLTAG"] = "MatrixHeight";
|
|
46
|
+
XmlConstants["SCALEDENOMINATOR_XMLTAG"] = "ScaleDenominator";
|
|
47
|
+
XmlConstants["TILEHEIGHT_XMLTAG"] = "TileHeight";
|
|
48
|
+
XmlConstants["TILEMATRIX_XMLTAG"] = "TileMatrix";
|
|
49
|
+
XmlConstants["TILEMATRIXSETLINK_XMLTAG"] = "TileMatrixSetLink";
|
|
50
|
+
XmlConstants["TILEWIDTH_XMLTAG"] = "TileWidth";
|
|
51
|
+
XmlConstants["TOPLEFTCORNER_XMLTAG"] = "TopLeftCorner";
|
|
52
|
+
XmlConstants["WELLKNOWNSCALESET_XMLTAG"] = "WellKnownScaleSet";
|
|
53
|
+
XmlConstants["CONSTRAINT_NAME_FILTER"] = "Encoding";
|
|
54
|
+
XmlConstants["STYLE_ISDEFAULT"] = "IsDefault";
|
|
55
|
+
XmlConstants["XLINK_HREF"] = "xlink:href";
|
|
56
|
+
})(XmlConstants || (XmlConstants = {}));
|
|
57
|
+
/** @internal
|
|
58
|
+
*/
|
|
59
|
+
export var WmtsConstants;
|
|
60
|
+
(function (WmtsConstants) {
|
|
61
|
+
WmtsConstants[WmtsConstants["GOOGLEMAPS_LEVEL0_SCALE_DENOM"] = 559082264.0287178] = "GOOGLEMAPS_LEVEL0_SCALE_DENOM";
|
|
62
|
+
WmtsConstants["GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME"] = "googlemapscompatible";
|
|
63
|
+
})(WmtsConstants || (WmtsConstants = {}));
|
|
12
64
|
/**
|
|
13
65
|
* fetch XML from HTTP request
|
|
14
66
|
* @param url server URL to address the request
|
|
@@ -25,100 +77,53 @@ async function getXml(url, credentials) {
|
|
|
25
77
|
const data = await request(url, options);
|
|
26
78
|
return data.text;
|
|
27
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Utility function to extract an element' text content
|
|
82
|
+
* @return An element's text content, default to provided defaultTest value if no text is available.
|
|
83
|
+
* @param url server URL to address the request
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
const getElementTextContent = (elem, qualifiedName, defaultText) => {
|
|
87
|
+
var _a;
|
|
88
|
+
const tmpElem = elem.getElementsByTagName(qualifiedName);
|
|
89
|
+
if (tmpElem.length > 0) {
|
|
90
|
+
return (_a = tmpElem[0].textContent) !== null && _a !== void 0 ? _a : defaultText;
|
|
91
|
+
}
|
|
92
|
+
else
|
|
93
|
+
return defaultText;
|
|
94
|
+
};
|
|
28
95
|
/** Encapsulation of the capabilities for an WMTS server
|
|
29
96
|
* @internal
|
|
30
97
|
*/
|
|
31
98
|
export var WmtsCapability;
|
|
32
99
|
(function (WmtsCapability) {
|
|
33
|
-
class OwsConstants {
|
|
34
|
-
}
|
|
35
|
-
// OWS xml tag names
|
|
36
|
-
OwsConstants.ABSTRACT_XMLTAG = "ows:Abstract";
|
|
37
|
-
OwsConstants.ACCESSCONSTRAINTS_XMLTAG = "ows:AccessConstraints";
|
|
38
|
-
OwsConstants.ALLOWEDVALUES_XMLTAG = "ows:AllowedValues";
|
|
39
|
-
OwsConstants.BOUNDINGBOX_XMLTAG = "ows:BoundingBox";
|
|
40
|
-
OwsConstants.CONSTRAINT_XMLTAG = "ows:Constraint";
|
|
41
|
-
OwsConstants.DCP_XMLTAG = "ows:DCP";
|
|
42
|
-
OwsConstants.FEES_XMLTAG = "ows:Fees";
|
|
43
|
-
OwsConstants.GET_XMLTAG = "ows:Get";
|
|
44
|
-
OwsConstants.HTTP_XMLTAG = "ows:HTTP";
|
|
45
|
-
OwsConstants.IDENTIFIER_XMLTAG = "ows:Identifier";
|
|
46
|
-
OwsConstants.KEYWORDS_XMLTAG = "ows:Keywords";
|
|
47
|
-
OwsConstants.KEYWORD_XMLTAG = "ows:Keyword";
|
|
48
|
-
OwsConstants.LOWERCORNER_XMLTAG = "ows:LowerCorner";
|
|
49
|
-
OwsConstants.OPERATION_XMLTAG = "ows:Operation";
|
|
50
|
-
OwsConstants.OPERATIONSMETADATA_XMLTAG = "ows:OperationsMetadata";
|
|
51
|
-
OwsConstants.POST_XMLTAG = "ows:Post";
|
|
52
|
-
OwsConstants.SERVICEIDENTIFICATION_XMLTAG = "ows:ServiceIdentification";
|
|
53
|
-
OwsConstants.SERVICETYPE_XMLTAG = "ows:ServiceType";
|
|
54
|
-
OwsConstants.SERVICETYPEVERSION_XMLTAG = "ows:ServiceTypeVersion";
|
|
55
|
-
OwsConstants.SUPPORTEDCRS_XMLTAG = "ows:SupportedCRS";
|
|
56
|
-
OwsConstants.TITLE_XMLTAG = "ows:Title";
|
|
57
|
-
OwsConstants.UPPERCORNER_XMLTAG = "ows:UpperCorner";
|
|
58
|
-
OwsConstants.VALUE_XMLTAG = "ows:Value";
|
|
59
|
-
OwsConstants.WGS84BOUNDINGBOX_XMLTAG = "ows:WGS84BoundingBox";
|
|
60
|
-
WmtsCapability.OwsConstants = OwsConstants;
|
|
61
|
-
class XmlConstants {
|
|
62
|
-
}
|
|
63
|
-
// Operations names
|
|
64
|
-
XmlConstants.GETCAPABILITIES = "GetCapabilities";
|
|
65
|
-
XmlConstants.GETTILE = "GetTile";
|
|
66
|
-
XmlConstants.GETFEATUREINFO = "GetFeatureInfo";
|
|
67
|
-
XmlConstants.MATRIXWIDTH_XMLTAG = "MatrixWidth";
|
|
68
|
-
XmlConstants.MATRIXHEIGHT_XMLTAG = "MatrixHeight";
|
|
69
|
-
XmlConstants.SCALEDENOMINATOR_XMLTAG = "ScaleDenominator";
|
|
70
|
-
XmlConstants.TILEHEIGHT_XMLTAG = "TileHeight";
|
|
71
|
-
XmlConstants.TILEMATRIX_XMLTAG = "TileMatrix";
|
|
72
|
-
XmlConstants.TILEMATRIXSETLINK_XMLTAG = "TileMatrixSetLink";
|
|
73
|
-
XmlConstants.TILEWIDTH_XMLTAG = "TileWidth";
|
|
74
|
-
XmlConstants.TOPLEFTCORNER_XMLTAG = "TopLeftCorner";
|
|
75
|
-
XmlConstants.WELLKNOWNSCALESET_XMLTAG = "WellKnownScaleSet";
|
|
76
|
-
XmlConstants.CONSTRAINT_NAME_FILTER = "Encoding";
|
|
77
|
-
XmlConstants.STYLE_ISDEFAULT = "IsDefault";
|
|
78
|
-
XmlConstants.XLINK_HREF = "xlink:href";
|
|
79
|
-
WmtsCapability.XmlConstants = XmlConstants;
|
|
80
|
-
class Constants {
|
|
81
|
-
}
|
|
82
|
-
Constants.GOOGLEMAPS_LEVEL0_SCALE_DENOM = 559082264.0287178;
|
|
83
|
-
Constants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME = "googlemapscompatible";
|
|
84
|
-
WmtsCapability.Constants = Constants;
|
|
85
100
|
class ServiceIdentification {
|
|
86
|
-
constructor(
|
|
87
|
-
|
|
88
|
-
this.
|
|
89
|
-
this.
|
|
90
|
-
this.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
101
|
+
constructor(elem) {
|
|
102
|
+
this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);
|
|
103
|
+
this.serviceType = getElementTextContent(elem, OwsConstants.SERVICETYPE_XMLTAG);
|
|
104
|
+
this.serviceTypeVersion = getElementTextContent(elem, OwsConstants.SERVICETYPEVERSION_XMLTAG);
|
|
105
|
+
this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
|
|
106
|
+
const keywords = elem.getElementsByTagName(OwsConstants.KEYWORDS_XMLTAG);
|
|
107
|
+
if (keywords.length > 0) {
|
|
108
|
+
const keyword = keywords[0].getElementsByTagName(OwsConstants.KEYWORD_XMLTAG);
|
|
94
109
|
this.keywords = [];
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
this.keywords.push(keywords._text);
|
|
110
|
+
for (const keyworkElem of keyword) {
|
|
111
|
+
const keyWordText = keyworkElem.textContent;
|
|
112
|
+
if (keyWordText)
|
|
113
|
+
this.keywords.push(keyWordText);
|
|
104
114
|
}
|
|
105
115
|
}
|
|
106
|
-
this.accessConstraints = (
|
|
107
|
-
this.fees = (
|
|
116
|
+
this.accessConstraints = getElementTextContent(elem, OwsConstants.ACCESSCONSTRAINTS_XMLTAG);
|
|
117
|
+
this.fees = getElementTextContent(elem, OwsConstants.FEES_XMLTAG);
|
|
108
118
|
}
|
|
109
119
|
}
|
|
110
120
|
WmtsCapability.ServiceIdentification = ServiceIdentification;
|
|
111
121
|
class OperationMetadata {
|
|
112
|
-
constructor(
|
|
113
|
-
const operation = (
|
|
114
|
-
if (operation) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.readOperation(op);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
this.readOperation(operation);
|
|
122
|
+
constructor(elem) {
|
|
123
|
+
const operation = elem.getElementsByTagName(OwsConstants.OPERATION_XMLTAG);
|
|
124
|
+
if (operation.length > 0) {
|
|
125
|
+
for (const op of operation) {
|
|
126
|
+
this.readOperation(op);
|
|
122
127
|
}
|
|
123
128
|
}
|
|
124
129
|
}
|
|
@@ -126,57 +131,64 @@ export var WmtsCapability;
|
|
|
126
131
|
get getFeatureInfo() { return this._getFeatureInfo; }
|
|
127
132
|
get getTile() { return this._getTile; }
|
|
128
133
|
readOperation(op) {
|
|
129
|
-
|
|
130
|
-
if (
|
|
134
|
+
const nameAttr = op.attributes.getNamedItem("name");
|
|
135
|
+
if (!nameAttr)
|
|
136
|
+
return;
|
|
137
|
+
if (nameAttr.textContent === XmlConstants.GETCAPABILITIES) {
|
|
131
138
|
this._getCapabilities = new Operation(op);
|
|
132
|
-
|
|
139
|
+
}
|
|
140
|
+
else if (nameAttr.textContent === XmlConstants.GETTILE) {
|
|
133
141
|
this._getTile = new Operation(op);
|
|
134
|
-
|
|
142
|
+
}
|
|
143
|
+
else if (nameAttr.textContent === XmlConstants.GETFEATUREINFO) {
|
|
135
144
|
this._getFeatureInfo = new Operation(op);
|
|
145
|
+
}
|
|
136
146
|
}
|
|
137
147
|
}
|
|
138
148
|
WmtsCapability.OperationMetadata = OperationMetadata;
|
|
139
149
|
class HttpDcp {
|
|
140
|
-
constructor(
|
|
141
|
-
var _a, _b
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
150
|
+
constructor(elem) {
|
|
151
|
+
var _a, _b;
|
|
152
|
+
const url = elem.getAttribute(XmlConstants.XLINK_HREF);
|
|
153
|
+
if (url)
|
|
154
|
+
this.url = url !== null && url !== void 0 ? url : "";
|
|
155
|
+
const constraint = elem.getElementsByTagName(OwsConstants.CONSTRAINT_XMLTAG);
|
|
156
|
+
if (constraint.length > 0) {
|
|
157
|
+
this.constraintName = (_a = constraint[0].getAttribute("name")) !== null && _a !== void 0 ? _a : "";
|
|
158
|
+
if ((_b = this.constraintName) === null || _b === void 0 ? void 0 : _b.endsWith(XmlConstants.CONSTRAINT_NAME_FILTER)) {
|
|
159
|
+
const allowedValues = constraint[0].getElementsByTagName(OwsConstants.ALLOWEDVALUES_XMLTAG);
|
|
160
|
+
if (allowedValues.length > 0) {
|
|
161
|
+
this.encoding = getElementTextContent(allowedValues[0], OwsConstants.VALUE_XMLTAG);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
146
165
|
}
|
|
147
166
|
}
|
|
148
167
|
WmtsCapability.HttpDcp = HttpDcp;
|
|
149
168
|
class Operation {
|
|
150
|
-
constructor(
|
|
151
|
-
var _a, _b
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
169
|
+
constructor(elem) {
|
|
170
|
+
var _a, _b;
|
|
171
|
+
const name = elem.getAttribute("name");
|
|
172
|
+
if (name)
|
|
173
|
+
this.name = name;
|
|
174
|
+
const dcp = elem.getElementsByTagName(OwsConstants.DCP_XMLTAG);
|
|
175
|
+
if (!dcp || dcp.length === 0)
|
|
176
|
+
return;
|
|
177
|
+
const dcpHttp = dcp[0].getElementsByTagName(OwsConstants.HTTP_XMLTAG);
|
|
178
|
+
if (!dcpHttp || dcpHttp.length === 0)
|
|
155
179
|
return;
|
|
156
|
-
const get = dcpHttp[OwsConstants.GET_XMLTAG
|
|
157
|
-
if (get) {
|
|
180
|
+
const get = dcpHttp[0].getElementsByTagName(OwsConstants.GET_XMLTAG);
|
|
181
|
+
if (get.length > 0) {
|
|
158
182
|
this._getDcpHttp = [];
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
var _a;
|
|
162
|
-
(_a = this._getDcpHttp) === null || _a === void 0 ? void 0 : _a.push(new WmtsCapability.HttpDcp(getItem));
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
(_c = this._getDcpHttp) === null || _c === void 0 ? void 0 : _c.push(new WmtsCapability.HttpDcp(get));
|
|
183
|
+
for (const getItem of get) {
|
|
184
|
+
(_a = this._getDcpHttp) === null || _a === void 0 ? void 0 : _a.push(new HttpDcp(getItem));
|
|
167
185
|
}
|
|
168
186
|
}
|
|
169
|
-
const post = dcpHttp[OwsConstants.POST_XMLTAG
|
|
170
|
-
if (post) {
|
|
187
|
+
const post = dcpHttp[0].getElementsByTagName(OwsConstants.POST_XMLTAG);
|
|
188
|
+
if (post.length > 0) {
|
|
171
189
|
this._postDcpHttp = [];
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
var _a;
|
|
175
|
-
(_a = this._postDcpHttp) === null || _a === void 0 ? void 0 : _a.push(new WmtsCapability.HttpDcp(postItem));
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
(_d = this._postDcpHttp) === null || _d === void 0 ? void 0 : _d.push(new WmtsCapability.HttpDcp(post));
|
|
190
|
+
for (const postItem of post) {
|
|
191
|
+
(_b = this._postDcpHttp) === null || _b === void 0 ? void 0 : _b.push(new HttpDcp(postItem));
|
|
180
192
|
}
|
|
181
193
|
}
|
|
182
194
|
}
|
|
@@ -185,45 +197,32 @@ export var WmtsCapability;
|
|
|
185
197
|
}
|
|
186
198
|
WmtsCapability.Operation = Operation;
|
|
187
199
|
class Contents {
|
|
188
|
-
constructor(
|
|
189
|
-
this._json = _json;
|
|
200
|
+
constructor(elem) {
|
|
190
201
|
this.layers = [];
|
|
191
202
|
this.tileMatrixSets = [];
|
|
192
203
|
// Layers
|
|
193
|
-
const
|
|
194
|
-
if (
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
this.layers.push(new WmtsCapability.Layer(layer));
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
this.layers.push(new WmtsCapability.Layer(jsonLayer));
|
|
202
|
-
}
|
|
204
|
+
const layer = elem.getElementsByTagName("Layer");
|
|
205
|
+
if (layer) {
|
|
206
|
+
for (const layerElem of layer)
|
|
207
|
+
this.layers.push(new Layer(layerElem));
|
|
203
208
|
}
|
|
204
209
|
// TileMatrixSet
|
|
205
|
-
const
|
|
206
|
-
if (
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(matrixSet));
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
else {
|
|
213
|
-
this.tileMatrixSets.push(new WmtsCapability.TileMatrixSet(jsonTileMatrixSet));
|
|
214
|
-
}
|
|
210
|
+
const tms = elem.querySelectorAll("Contents > TileMatrixSet");
|
|
211
|
+
if (tms) {
|
|
212
|
+
for (const tmsElem of tms)
|
|
213
|
+
this.tileMatrixSets.push(new TileMatrixSet(tmsElem));
|
|
215
214
|
}
|
|
216
215
|
}
|
|
217
216
|
getGoogleMapsCompatibleTileMatrixSet() {
|
|
218
217
|
const googleMapsTms = [];
|
|
219
218
|
this.tileMatrixSets.forEach((tms) => {
|
|
220
219
|
var _a;
|
|
221
|
-
if ((_a = tms.wellKnownScaleSet) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(
|
|
220
|
+
if ((_a = tms.wellKnownScaleSet) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(WmtsConstants.GOOGLEMAPS_COMPATIBLE_WELLKNOWNNAME))
|
|
222
221
|
googleMapsTms.push(tms);
|
|
223
222
|
// In case wellKnownScaleSet was not been set properly, infer from scaleDenominator
|
|
224
223
|
// Note: some servers are quite inaccurate in their scale values, hence I used a delta value of 1.
|
|
225
224
|
else if (tms.tileMatrix.length > 0
|
|
226
|
-
&& Math.abs(tms.tileMatrix[0].scaleDenominator -
|
|
225
|
+
&& Math.abs(tms.tileMatrix[0].scaleDenominator - WmtsConstants.GOOGLEMAPS_LEVEL0_SCALE_DENOM) < 1
|
|
227
226
|
&& (tms.supportedCrs.includes("3857") || tms.supportedCrs.includes("900913")))
|
|
228
227
|
googleMapsTms.push(tms);
|
|
229
228
|
});
|
|
@@ -236,140 +235,155 @@ export var WmtsCapability;
|
|
|
236
235
|
WmtsCapability.Contents = Contents;
|
|
237
236
|
class Style {
|
|
238
237
|
// TODO: LegendURL
|
|
239
|
-
constructor(
|
|
240
|
-
var _a, _b, _c;
|
|
241
|
-
this._json = _json;
|
|
238
|
+
constructor(elem) {
|
|
242
239
|
this.isDefault = false;
|
|
243
|
-
if (!
|
|
240
|
+
if (!elem)
|
|
244
241
|
return;
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
this.
|
|
242
|
+
const isDefault = elem.getAttribute("isDefault");
|
|
243
|
+
if (isDefault)
|
|
244
|
+
this.isDefault = isDefault.toLowerCase() === "true";
|
|
245
|
+
this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
|
|
246
|
+
this.identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);
|
|
249
247
|
}
|
|
250
248
|
}
|
|
251
249
|
WmtsCapability.Style = Style;
|
|
252
250
|
class BoundingBox {
|
|
253
|
-
constructor(
|
|
254
|
-
var _a
|
|
255
|
-
this.crs = (_a =
|
|
256
|
-
const lowerCorner = (
|
|
257
|
-
const upperCorner = (
|
|
258
|
-
if (lowerCorner
|
|
259
|
-
|
|
251
|
+
constructor(elem) {
|
|
252
|
+
var _a;
|
|
253
|
+
this.crs = (_a = elem.getAttribute("crs")) !== null && _a !== void 0 ? _a : undefined;
|
|
254
|
+
const lowerCorner = getElementTextContent(elem, OwsConstants.LOWERCORNER_XMLTAG);
|
|
255
|
+
const upperCorner = getElementTextContent(elem, OwsConstants.UPPERCORNER_XMLTAG);
|
|
256
|
+
if (lowerCorner && upperCorner) {
|
|
257
|
+
const lowerCornerArray = lowerCorner === null || lowerCorner === void 0 ? void 0 : lowerCorner.split(" ").map((x) => +x);
|
|
258
|
+
const upperCornerArray = upperCorner === null || upperCorner === void 0 ? void 0 : upperCorner.split(" ").map((x) => +x);
|
|
259
|
+
if (lowerCornerArray && lowerCornerArray.length === 2 && upperCornerArray && upperCornerArray.length === 2)
|
|
260
|
+
this.range = Range2d.createXYXY(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);
|
|
261
|
+
}
|
|
260
262
|
}
|
|
261
263
|
}
|
|
262
264
|
WmtsCapability.BoundingBox = BoundingBox;
|
|
263
265
|
class TileMatrixSetLimits {
|
|
264
|
-
constructor(
|
|
265
|
-
this.tileMatrix =
|
|
266
|
-
|
|
267
|
-
|
|
266
|
+
constructor(elem) {
|
|
267
|
+
this.tileMatrix = getElementTextContent(elem, "TileMatrix");
|
|
268
|
+
const minTileRow = getElementTextContent(elem, "MinTileRow");
|
|
269
|
+
const maxTileRow = getElementTextContent(elem, "MaxTileRow");
|
|
270
|
+
const minTileCol = getElementTextContent(elem, "MinTileCol");
|
|
271
|
+
const maxTileCol = getElementTextContent(elem, "MaxTileCol");
|
|
272
|
+
if (minTileRow !== undefined && maxTileRow !== undefined && minTileCol !== undefined && maxTileCol)
|
|
273
|
+
this.limits = Range2d.createXYXY(Number(minTileCol), Number(minTileRow), Number(maxTileCol), Number(maxTileRow));
|
|
268
274
|
}
|
|
269
275
|
}
|
|
270
276
|
WmtsCapability.TileMatrixSetLimits = TileMatrixSetLimits;
|
|
271
277
|
class TileMatrixSetLink {
|
|
272
|
-
constructor(
|
|
273
|
-
var _a, _b;
|
|
278
|
+
constructor(elem) {
|
|
274
279
|
this.tileMatrixSetLimits = new Array();
|
|
275
|
-
this.tileMatrixSet = (
|
|
276
|
-
const
|
|
277
|
-
if (
|
|
278
|
-
tileMatrixLimits
|
|
280
|
+
this.tileMatrixSet = getElementTextContent(elem, "TileMatrixSet", "");
|
|
281
|
+
const tileMatrixLimitsRoot = elem.getElementsByTagName("TileMatrixSetLimits");
|
|
282
|
+
if (tileMatrixLimitsRoot.length > 0) {
|
|
283
|
+
const tileMatrixLimits = tileMatrixLimitsRoot[0].getElementsByTagName("TileMatrixSetLimits");
|
|
284
|
+
for (const tmsl of tileMatrixLimits) {
|
|
285
|
+
this.tileMatrixSetLimits.push(new TileMatrixSetLimits(tmsl));
|
|
286
|
+
}
|
|
287
|
+
}
|
|
279
288
|
}
|
|
280
289
|
}
|
|
281
290
|
WmtsCapability.TileMatrixSetLink = TileMatrixSetLink;
|
|
282
291
|
class TileMatrixSet {
|
|
283
|
-
constructor(
|
|
284
|
-
var _a, _b, _c, _d, _e;
|
|
292
|
+
constructor(elem) {
|
|
285
293
|
this.tileMatrix = [];
|
|
286
|
-
|
|
287
|
-
if (
|
|
294
|
+
const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG);
|
|
295
|
+
if (identifier)
|
|
296
|
+
this.identifier = identifier;
|
|
297
|
+
else
|
|
288
298
|
throw new Error("No Identifier found.");
|
|
289
|
-
this.title = (
|
|
290
|
-
this.abstract = (
|
|
291
|
-
|
|
292
|
-
if (
|
|
299
|
+
this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
|
|
300
|
+
this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);
|
|
301
|
+
const supportedCrs = getElementTextContent(elem, OwsConstants.SUPPORTEDCRS_XMLTAG);
|
|
302
|
+
if (supportedCrs)
|
|
303
|
+
this.supportedCrs = supportedCrs;
|
|
304
|
+
else
|
|
293
305
|
throw new Error("No supported CRS found.");
|
|
294
|
-
this.wellKnownScaleSet = (
|
|
306
|
+
this.wellKnownScaleSet = getElementTextContent(elem, XmlConstants.WELLKNOWNSCALESET_XMLTAG, "");
|
|
295
307
|
// TileMatrix:
|
|
296
308
|
// TileMatrix is mandatory on TileMatrixSet, if it doesn't exists, something is OFF with the capability.
|
|
297
|
-
const tileMatrix =
|
|
298
|
-
if (
|
|
309
|
+
const tileMatrix = elem.getElementsByTagName(XmlConstants.TILEMATRIX_XMLTAG);
|
|
310
|
+
if (tileMatrix.length === 0)
|
|
299
311
|
throw new Error("No matrix set link found for WMTS layer");
|
|
300
|
-
|
|
301
|
-
tileMatrix.
|
|
302
|
-
this.tileMatrix.push(new TileMatrix(tm));
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
this.tileMatrix.push(new TileMatrix(tileMatrix));
|
|
312
|
+
for (const tm of tileMatrix) {
|
|
313
|
+
this.tileMatrix.push(new TileMatrix(tm));
|
|
307
314
|
}
|
|
308
315
|
}
|
|
309
316
|
}
|
|
310
317
|
WmtsCapability.TileMatrixSet = TileMatrixSet;
|
|
311
318
|
class TileMatrix {
|
|
312
|
-
constructor(
|
|
313
|
-
var _a
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
319
|
+
constructor(elem) {
|
|
320
|
+
var _a;
|
|
321
|
+
const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, "");
|
|
322
|
+
if (identifier)
|
|
323
|
+
this.identifier = identifier;
|
|
324
|
+
else
|
|
318
325
|
throw new Error("No Identifier found.");
|
|
319
|
-
this.title = (
|
|
320
|
-
this.abstract = (
|
|
326
|
+
this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
|
|
327
|
+
this.abstract = getElementTextContent(elem, OwsConstants.ABSTRACT_XMLTAG);
|
|
321
328
|
// Scale denominator
|
|
322
|
-
const
|
|
323
|
-
if (!
|
|
329
|
+
const scaleDenom = getElementTextContent(elem, XmlConstants.SCALEDENOMINATOR_XMLTAG, "");
|
|
330
|
+
if (!scaleDenom)
|
|
324
331
|
throw new Error("No scale denominator found on TileMatrix.");
|
|
325
|
-
this.scaleDenominator = +
|
|
332
|
+
this.scaleDenominator = +scaleDenom;
|
|
326
333
|
// Top left corner
|
|
327
|
-
const topLeftCorner = (
|
|
334
|
+
const topLeftCorner = (_a = getElementTextContent(elem, XmlConstants.TOPLEFTCORNER_XMLTAG, "")) === null || _a === void 0 ? void 0 : _a.split(" ").map((x) => +x);
|
|
328
335
|
if ((topLeftCorner === null || topLeftCorner === void 0 ? void 0 : topLeftCorner.length) !== 2)
|
|
329
336
|
throw new Error("No TopLeftCorner found on TileMatrix.");
|
|
330
337
|
this.topLeftCorner = Point2d.create(topLeftCorner[0], topLeftCorner[1]);
|
|
331
338
|
// Tile Width
|
|
332
|
-
const
|
|
333
|
-
if (!
|
|
339
|
+
const tileWidth = getElementTextContent(elem, XmlConstants.TILEWIDTH_XMLTAG);
|
|
340
|
+
if (!tileWidth)
|
|
334
341
|
throw new Error("No tile width found on TileMatrix.");
|
|
335
|
-
this.tileWidth = +
|
|
342
|
+
this.tileWidth = +tileWidth;
|
|
336
343
|
// Tile Height
|
|
337
|
-
const
|
|
338
|
-
if (!
|
|
339
|
-
throw new Error("No tile
|
|
340
|
-
this.tileHeight = +
|
|
344
|
+
const tileHeight = getElementTextContent(elem, XmlConstants.TILEHEIGHT_XMLTAG);
|
|
345
|
+
if (!tileHeight)
|
|
346
|
+
throw new Error("No tile height found on TileMatrix.");
|
|
347
|
+
this.tileHeight = +tileHeight;
|
|
341
348
|
// Matrix Width
|
|
342
|
-
const
|
|
343
|
-
if (!
|
|
349
|
+
const matrixWidth = getElementTextContent(elem, XmlConstants.MATRIXWIDTH_XMLTAG);
|
|
350
|
+
if (!matrixWidth)
|
|
344
351
|
throw new Error("No tile width found on TileMatrix.");
|
|
345
|
-
this.matrixWidth = +
|
|
352
|
+
this.matrixWidth = +matrixWidth;
|
|
346
353
|
// Matrix Height
|
|
347
|
-
const
|
|
348
|
-
if (!
|
|
349
|
-
throw new Error("No tile
|
|
350
|
-
this.matrixHeight = +
|
|
354
|
+
const matrixHeight = getElementTextContent(elem, XmlConstants.MATRIXHEIGHT_XMLTAG);
|
|
355
|
+
if (!matrixHeight)
|
|
356
|
+
throw new Error("No tile height found on TileMatrix.");
|
|
357
|
+
this.matrixHeight = +matrixHeight;
|
|
351
358
|
}
|
|
352
359
|
}
|
|
353
360
|
WmtsCapability.TileMatrix = TileMatrix;
|
|
354
361
|
class Layer {
|
|
355
|
-
constructor(
|
|
356
|
-
var _a, _b, _c, _d, _e, _f
|
|
362
|
+
constructor(elem) {
|
|
363
|
+
var _a, _b, _c, _d, _e, _f;
|
|
357
364
|
this.styles = [];
|
|
358
365
|
this.tileMatrixSetLinks = [];
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
366
|
+
const identifier = getElementTextContent(elem, OwsConstants.IDENTIFIER_XMLTAG, "");
|
|
367
|
+
if (identifier)
|
|
368
|
+
this.identifier = identifier;
|
|
369
|
+
else
|
|
370
|
+
throw new Error("No Identifier found.");
|
|
371
|
+
this.title = getElementTextContent(elem, OwsConstants.TITLE_XMLTAG);
|
|
372
|
+
this.format = getElementTextContent(elem, "Format");
|
|
364
373
|
// BoundingBox
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
374
|
+
const boundingBox = elem.getElementsByTagName(OwsConstants.BOUNDINGBOX_XMLTAG);
|
|
375
|
+
if (boundingBox.length > 0)
|
|
376
|
+
this.boundingBox = new BoundingBox(boundingBox[0]);
|
|
377
|
+
let lowerCornerArray, upperCornerArray;
|
|
378
|
+
const bbox = elem.getElementsByTagName(OwsConstants.WGS84BOUNDINGBOX_XMLTAG);
|
|
379
|
+
if (bbox.length > 0) {
|
|
380
|
+
lowerCornerArray = (_a = getElementTextContent(bbox[0], OwsConstants.LOWERCORNER_XMLTAG)) === null || _a === void 0 ? void 0 : _a.split(" ").map((x) => +x);
|
|
381
|
+
upperCornerArray = (_b = getElementTextContent(bbox[0], OwsConstants.UPPERCORNER_XMLTAG)) === null || _b === void 0 ? void 0 : _b.split(" ").map((x) => +x);
|
|
382
|
+
}
|
|
383
|
+
if ((lowerCornerArray === null || lowerCornerArray === void 0 ? void 0 : lowerCornerArray.length) === 2 && (upperCornerArray === null || upperCornerArray === void 0 ? void 0 : upperCornerArray.length) === 2)
|
|
384
|
+
this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(lowerCornerArray[0], lowerCornerArray[1], upperCornerArray[0], upperCornerArray[1]);
|
|
371
385
|
// If we could not initialized WSG84 bounding box, attempt to initialized it from Bounding Box
|
|
372
|
-
if (!this.wsg84BoundingBox && (((
|
|
386
|
+
if (!this.wsg84BoundingBox && (((_d = (_c = this.boundingBox) === null || _c === void 0 ? void 0 : _c.crs) === null || _d === void 0 ? void 0 : _d.includes("EPSG:4326")) || ((_f = (_e = this.boundingBox) === null || _e === void 0 ? void 0 : _e.crs) === null || _f === void 0 ? void 0 : _f.includes("CRS:84")))) {
|
|
373
387
|
const range = this.boundingBox.range;
|
|
374
388
|
if (range)
|
|
375
389
|
this.wsg84BoundingBox = MapCartoRectangle.fromDegrees(range.low.x, range.low.y, range.high.x, range.high.y);
|
|
@@ -377,53 +391,48 @@ export var WmtsCapability;
|
|
|
377
391
|
this.wsg84BoundingBox = MapCartoRectangle.createMaximum();
|
|
378
392
|
}
|
|
379
393
|
// Style
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
}
|
|
385
|
-
else if (_json.Style) {
|
|
386
|
-
this.styles.push(new Style(_json.Style));
|
|
394
|
+
const style = elem.getElementsByTagName("Style");
|
|
395
|
+
if (style.length > 0) {
|
|
396
|
+
for (const styleElem of style)
|
|
397
|
+
this.styles.push(new Style(styleElem));
|
|
387
398
|
}
|
|
388
399
|
// TileMatrixSetLink
|
|
389
400
|
// TileMatrixSetLink is mandatory on Layer, if it doesn't exists, something is OFF with the capability.
|
|
390
|
-
const tileMatrixSetLink =
|
|
391
|
-
if (
|
|
401
|
+
const tileMatrixSetLink = elem.getElementsByTagName(XmlConstants.TILEMATRIXSETLINK_XMLTAG);
|
|
402
|
+
if (tileMatrixSetLink.length === 0)
|
|
392
403
|
throw new Error("No matrix set link found for WMTS layer");
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));
|
|
396
|
-
});
|
|
397
|
-
}
|
|
398
|
-
else {
|
|
399
|
-
this.tileMatrixSetLinks.push(new TileMatrixSetLink(tileMatrixSetLink));
|
|
400
|
-
}
|
|
404
|
+
for (const tmsl of tileMatrixSetLink)
|
|
405
|
+
this.tileMatrixSetLinks.push(new TileMatrixSetLink(tmsl));
|
|
401
406
|
}
|
|
402
407
|
}
|
|
403
408
|
WmtsCapability.Layer = Layer;
|
|
404
409
|
})(WmtsCapability || (WmtsCapability = {}));
|
|
405
410
|
/** @internal */
|
|
406
411
|
export class WmtsCapabilities {
|
|
407
|
-
constructor(
|
|
408
|
-
var _a
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
412
|
+
constructor(xmlDoc) {
|
|
413
|
+
var _a;
|
|
414
|
+
const capabilities = xmlDoc.getElementsByTagName("Capabilities");
|
|
415
|
+
if (capabilities.length !== 0) {
|
|
416
|
+
const capability = capabilities[0];
|
|
417
|
+
this.version = (_a = capability.getAttribute("version")) !== null && _a !== void 0 ? _a : undefined;
|
|
418
|
+
// Service Identification
|
|
419
|
+
const serviceIdentification = capability.getElementsByTagName(OwsConstants.SERVICEIDENTIFICATION_XMLTAG);
|
|
420
|
+
if (serviceIdentification.length > 0)
|
|
421
|
+
this.serviceIdentification = new WmtsCapability.ServiceIdentification(serviceIdentification[0]);
|
|
422
|
+
// Operations metadata
|
|
423
|
+
const operationsMetadata = capability.getElementsByTagName(OwsConstants.OPERATIONSMETADATA_XMLTAG);
|
|
424
|
+
if (operationsMetadata.length > 0)
|
|
425
|
+
this.operationsMetadata = new WmtsCapability.OperationMetadata(operationsMetadata[0]);
|
|
426
|
+
// Contents
|
|
427
|
+
const content = capability.getElementsByTagName("Contents");
|
|
428
|
+
if (content.length > 0)
|
|
429
|
+
this.contents = new WmtsCapability.Contents(content[0]);
|
|
430
|
+
}
|
|
421
431
|
}
|
|
422
|
-
get json() { return this._json; }
|
|
423
432
|
static createFromXml(xmlCapabilities) {
|
|
424
|
-
const
|
|
425
|
-
const
|
|
426
|
-
return new WmtsCapabilities(
|
|
433
|
+
const parser = new DOMParser();
|
|
434
|
+
const xmlDoc = parser.parseFromString(xmlCapabilities, "text/xml");
|
|
435
|
+
return new WmtsCapabilities(xmlDoc);
|
|
427
436
|
}
|
|
428
437
|
static async create(url, credentials, ignoreCache) {
|
|
429
438
|
if (!ignoreCache) {
|