@cesium/engine 23.0.1 → 25.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{chunk-ZEMJQKHD.js → chunk-35H3UBIO.js} +13 -12
- package/Build/Workers/{chunk-PQTSXJBJ.js → chunk-3LSD7OOA.js} +16 -16
- package/Build/Workers/{chunk-PUO7BYDY.js → chunk-3RFFPH4M.js} +1 -1
- package/Build/Workers/{chunk-PBECJOWF.js → chunk-3TKLDHV3.js} +2 -2
- package/Build/Workers/{chunk-TMCTZ5E3.js → chunk-3VDDRF2E.js} +14 -14
- package/Build/Workers/{chunk-FKU77FNM.js → chunk-3XY3MVPG.js} +4 -4
- package/Build/Workers/{chunk-2OBWHTIC.js → chunk-4GF4MVPY.js} +7 -7
- package/Build/Workers/{chunk-JUKGMJX7.js → chunk-4MTRQFJP.js} +3 -2
- package/Build/Workers/{chunk-66OWUDO7.js → chunk-4QQXGTCE.js} +8 -8
- package/Build/Workers/{chunk-ALTCIHRH.js → chunk-4XXHJI6Y.js} +17 -17
- package/Build/Workers/{chunk-K7UTK4OM.js → chunk-5T6QQAJW.js} +3 -2
- package/Build/Workers/{chunk-IJ3SUMK3.js → chunk-6SDGQI27.js} +3 -2
- package/Build/Workers/{chunk-FXSRA5UG.js → chunk-77RL3MBD.js} +6 -5
- package/Build/Workers/{chunk-G6MJ3ZW3.js → chunk-7LSFAEWF.js} +12 -11
- package/Build/Workers/{chunk-C6HHBKT5.js → chunk-A7A433MD.js} +5 -5
- package/Build/Workers/{chunk-PGZ3B6CB.js → chunk-A7ZBMVFS.js} +14 -14
- package/Build/Workers/{chunk-OZYB3AOR.js → chunk-ACFFCHHZ.js} +11 -11
- package/Build/Workers/{chunk-DNMASBMH.js → chunk-AEAVLYPS.js} +2 -2
- package/Build/Workers/{chunk-VPWYHFQA.js → chunk-AWFZHD2B.js} +4 -4
- package/Build/Workers/{chunk-TFPG3ZKW.js → chunk-BTX2NL3P.js} +59 -46
- package/Build/Workers/{chunk-TNXOPEIG.js → chunk-BVAIWR7O.js} +12 -12
- package/Build/Workers/chunk-CKQP3DSS.js +973 -0
- package/Build/Workers/{chunk-N6HRZLS6.js → chunk-CZ23Y3RM.js} +2 -2
- package/Build/Workers/{chunk-EIC3VAOZ.js → chunk-DFEI5MAV.js} +7 -7
- package/Build/Workers/{chunk-BTP3634E.js → chunk-DH26SNAB.js} +4 -1
- package/Build/Workers/{chunk-TXYQNXNW.js → chunk-DYT5NR6P.js} +3 -3
- package/Build/Workers/{chunk-O67UP5YO.js → chunk-EZARA5FJ.js} +13 -13
- package/Build/Workers/{chunk-YSJRB2UZ.js → chunk-FIBS5S7R.js} +2 -2
- package/Build/Workers/{chunk-2M7DKGLW.js → chunk-FVLVVOBQ.js} +10 -10
- package/Build/Workers/{chunk-B2VA6IEL.js → chunk-GL7DNVUS.js} +5 -5
- package/Build/Workers/{chunk-77DJBHMI.js → chunk-GPIGURCG.js} +59 -32
- package/Build/Workers/{chunk-QPXGGVHC.js → chunk-H2A4USJR.js} +10 -10
- package/Build/Workers/chunk-HSVQATK2.js +147 -0
- package/Build/Workers/{chunk-HXEPZWJN.js → chunk-HVMG6AG4.js} +11 -10
- package/Build/Workers/{chunk-H3TVRJLY.js → chunk-I3A6DXYZ.js} +4 -4
- package/Build/Workers/{chunk-UEWYSOFD.js → chunk-ITD2IN7N.js} +2 -2
- package/Build/Workers/{chunk-CYOPNGPX.js → chunk-J3OFS2RD.js} +12 -12
- package/Build/Workers/{chunk-RZX6LOG6.js → chunk-J647NNZW.js} +6 -6
- package/Build/Workers/{chunk-GLCPE2BJ.js → chunk-J7KQEKPK.js} +13 -13
- package/Build/Workers/{chunk-XPMXRJDD.js → chunk-K6NFIRFB.js} +5 -5
- package/Build/Workers/{chunk-CID5SY7L.js → chunk-LH5SF3XV.js} +7 -6
- package/Build/Workers/{chunk-UOQB7XQI.js → chunk-ND3NTTOF.js} +713 -435
- package/Build/Workers/chunk-QO2CGXMP.js +2342 -0
- package/Build/Workers/chunk-QSDY4NS7.js +1287 -0
- package/Build/Workers/chunk-QXNQQYPV.js +3201 -0
- package/Build/Workers/{chunk-CJ7ZDY77.js → chunk-ST2UWDUU.js} +5 -5
- package/Build/Workers/{chunk-YDR5LX5Z.js → chunk-TA777BGS.js} +3 -2
- package/Build/Workers/{chunk-U4SWB6TI.js → chunk-TAI4HLII.js} +4 -4
- package/Build/Workers/{chunk-VX774SWE.js → chunk-URUCCIPS.js} +6 -6
- package/Build/Workers/{chunk-MNSNOONX.js → chunk-VQKLRBIK.js} +7 -7
- package/Build/Workers/{chunk-CVAAIRNP.js → chunk-WC57YYBN.js} +2 -2
- package/Build/Workers/{chunk-QNABVTTP.js → chunk-WN6P5UDH.js} +12 -12
- package/Build/Workers/{chunk-CNLXMOPM.js → chunk-WNN5D4W3.js} +12 -11
- package/Build/Workers/{chunk-4JJQRZYL.js → chunk-WTQGE7Q6.js} +17 -17
- package/Build/Workers/{chunk-FCJQO4NC.js → chunk-WUBKZFF6.js} +2213 -1349
- package/Build/Workers/{chunk-3UQ2YMPP.js → chunk-ZAPOS52G.js} +12 -10
- package/Build/Workers/{chunk-LHFC4R7Z.js → chunk-ZCCIIBZT.js} +6 -6
- package/Build/Workers/combineGeometry.js +24 -24
- package/Build/Workers/createBoxGeometry.js +18 -18
- package/Build/Workers/createBoxOutlineGeometry.js +16 -16
- package/Build/Workers/createCircleGeometry.js +26 -26
- package/Build/Workers/createCircleOutlineGeometry.js +19 -19
- package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
- package/Build/Workers/createCorridorGeometry.js +29 -29
- package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
- package/Build/Workers/createCylinderGeometry.js +20 -20
- package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
- package/Build/Workers/createEllipseGeometry.js +26 -26
- package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
- package/Build/Workers/createEllipsoidGeometry.js +19 -19
- package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
- package/Build/Workers/createFrustumGeometry.js +18 -18
- package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
- package/Build/Workers/createGeometry.js +24 -24
- package/Build/Workers/createGroundPolylineGeometry.js +175 -118
- package/Build/Workers/createPlaneGeometry.js +16 -16
- package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
- package/Build/Workers/createPolygonGeometry.js +32 -32
- package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
- package/Build/Workers/createPolylineGeometry.js +25 -25
- package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
- package/Build/Workers/createRectangleGeometry.js +27 -27
- package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
- package/Build/Workers/createSimplePolylineGeometry.js +23 -23
- package/Build/Workers/createSphereGeometry.js +19 -19
- package/Build/Workers/createSphereOutlineGeometry.js +18 -18
- package/Build/Workers/createTaskProcessorWorker.js +3 -3
- package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
- package/Build/Workers/createVectorTileGeometries.js +24 -24
- package/Build/Workers/createVectorTilePoints.js +13 -13
- package/Build/Workers/createVectorTilePolygons.js +22 -22
- package/Build/Workers/createVectorTilePolylines.js +14 -14
- package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
- package/Build/Workers/createVerticesFromHeightmap.js +24 -23
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
- package/Build/Workers/createWallGeometry.js +25 -25
- package/Build/Workers/createWallOutlineGeometry.js +24 -24
- package/Build/Workers/decodeDraco.js +10 -10
- package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
- package/Build/Workers/decodeI3S.js +12 -12
- package/Build/Workers/gaussianSplatSorter.js +4 -4
- package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
- package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
- package/Build/Workers/transcodeKTX2.js +12 -9
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
- package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
- package/Source/Core/ArcType.js +6 -1
- package/Source/Core/ArticulationStageType.js +5 -1
- package/Source/Core/AssociativeArray.js +100 -94
- package/Source/Core/BoundingSphere.js +1296 -1300
- package/Source/Core/Cartesian2.js +7 -5
- package/Source/Core/Cartesian3.js +9 -8
- package/Source/Core/Cartesian4.js +8 -6
- package/Source/Core/Cartographic.js +257 -249
- package/Source/Core/ClockRange.js +6 -1
- package/Source/Core/ClockStep.js +6 -1
- package/Source/Core/Color.js +846 -835
- package/Source/Core/ComponentDatatype.js +4 -1
- package/Source/Core/CornerType.js +6 -1
- package/Source/Core/Credit.js +121 -124
- package/Source/Core/DeveloperError.js +2 -1
- package/Source/Core/Ellipsoid.js +637 -660
- package/Source/Core/ExtrapolationType.js +6 -1
- package/Source/Core/GeocodeType.js +6 -1
- package/Source/Core/GeographicProjection.js +74 -74
- package/Source/Core/GeographicTilingScheme.js +179 -198
- package/Source/Core/GeometryOffsetAttribute.js +7 -1
- package/Source/Core/GeometryType.js +7 -1
- package/Source/Core/HeightmapEncoding.js +6 -1
- package/Source/Core/ITwinPlatform.js +1 -0
- package/Source/Core/Iau2006XysData.js +24 -13
- package/Source/Core/IndexDatatype.js +3 -1
- package/Source/Core/InterpolationType.js +5 -1
- package/Source/Core/Intersect.js +6 -1
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocodeProviderType.js +5 -1
- package/Source/Core/JulianDate.js +850 -848
- package/Source/Core/KeyboardEventModifier.js +6 -1
- package/Source/Core/MapProjection.js +39 -44
- package/Source/Core/Matrix2.js +906 -893
- package/Source/Core/Matrix3.js +1643 -1575
- package/Source/Core/Matrix4.js +2903 -2872
- package/Source/Core/PixelFormat.js +3 -1
- package/Source/Core/PrimitiveType.js +11 -1
- package/Source/Core/Ray.js +62 -60
- package/Source/Core/Rectangle.js +913 -904
- package/Source/Core/ReferenceFrame.js +6 -1
- package/Source/Core/RequestScheduler.js +8 -3
- package/Source/Core/RequestState.js +6 -1
- package/Source/Core/RequestType.js +6 -1
- package/Source/Core/S2Cell.js +2 -2
- package/Source/Core/ScreenSpaceEventType.js +6 -1
- package/Source/Core/TerrainMesh.js +10 -1
- package/Source/Core/TerrainPicker.js +1 -0
- package/Source/Core/TerrainQuantization.js +6 -1
- package/Source/Core/TilingScheme.js +100 -98
- package/Source/Core/TimeConstants.js +6 -1
- package/Source/Core/TimeStandard.js +6 -1
- package/Source/Core/TrackingReferenceFrame.js +6 -1
- package/Source/Core/Visibility.js +6 -1
- package/Source/Core/VulkanConstants.js +6 -1
- package/Source/Core/WallGeometry.js +1 -1
- package/Source/Core/WallOutlineGeometry.js +1 -1
- package/Source/Core/WebGLConstants.js +6 -1
- package/Source/Core/WebMercatorProjection.js +108 -109
- package/Source/Core/WebMercatorTilingScheme.js +246 -242
- package/Source/Core/WindingOrder.js +3 -1
- package/Source/Core/assert.js +27 -0
- package/Source/Core/globalTypes.js +4 -0
- package/Source/DataSources/CzmlDataSource.js +9 -0
- package/Source/DataSources/PathGraphics.js +13 -0
- package/Source/DataSources/PathVisualizer.js +330 -18
- package/Source/DataSources/StaticGeometryColorBatch.js +7 -2
- package/Source/DataSources/StaticGeometryPerMaterialBatch.js +7 -2
- package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +4 -1
- package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +4 -1
- package/Source/DataSources/StripeOrientation.js +6 -1
- package/Source/Renderer/BufferUsage.js +20 -9
- package/Source/Renderer/Context.js +2 -29
- package/Source/Renderer/DrawCommand.js +435 -403
- package/Source/Renderer/MipmapHint.js +5 -1
- package/Source/Renderer/Pass.js +7 -1
- package/Source/Renderer/PickId.js +44 -0
- package/Source/Renderer/PixelDatatype.js +3 -1
- package/Source/Renderer/RenderState.js +2 -2
- package/Source/Renderer/RenderbufferFormat.js +5 -1
- package/Source/Renderer/ShaderDestination.js +4 -1
- package/Source/Renderer/TextureMagnificationFilter.js +3 -1
- package/Source/Renderer/TextureMinificationFilter.js +3 -1
- package/Source/Renderer/TextureWrap.js +5 -1
- package/Source/Renderer/VertexArray.js +80 -0
- package/Source/Scene/AlphaMode.js +5 -1
- package/Source/Scene/ArcGisBaseMapType.js +6 -1
- package/Source/Scene/ArcGisMapService.js +1 -1
- package/Source/Scene/AttributeType.js +3 -1
- package/Source/Scene/Axis.js +3 -1
- package/Source/Scene/BillboardCollection.js +65 -364
- package/Source/Scene/BingMapsStyle.js +6 -1
- package/Source/Scene/BlendEquation.js +6 -1
- package/Source/Scene/BlendFunction.js +6 -1
- package/Source/Scene/BlendOption.js +6 -1
- package/Source/Scene/BlendingState.js +6 -1
- package/Source/Scene/BufferLoader.js +0 -2
- package/Source/Scene/BufferPoint.js +148 -0
- package/Source/Scene/BufferPointCollection.js +138 -0
- package/Source/Scene/BufferPointMaterial.js +95 -0
- package/Source/Scene/BufferPolygon.js +516 -0
- package/Source/Scene/BufferPolygonCollection.js +370 -0
- package/Source/Scene/BufferPolygonMaterial.js +41 -0
- package/Source/Scene/BufferPolyline.js +185 -0
- package/Source/Scene/BufferPolylineCollection.js +138 -0
- package/Source/Scene/BufferPolylineMaterial.js +93 -0
- package/Source/Scene/BufferPrimitive.js +347 -0
- package/Source/Scene/BufferPrimitiveCollection.js +818 -0
- package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
- package/Source/Scene/CameraEventType.js +6 -1
- package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
- package/Source/Scene/Cesium3DTileContent.js +5 -1
- package/Source/Scene/Cesium3DTileContentFactory.js +9 -0
- package/Source/Scene/Cesium3DTileContentState.js +6 -1
- package/Source/Scene/Cesium3DTileContentType.js +3 -1
- package/Source/Scene/Cesium3DTileFeature.js +289 -306
- package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
- package/Source/Scene/Cesium3DTilePass.js +5 -1
- package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
- package/Source/Scene/Cesium3DTileRefine.js +6 -1
- package/Source/Scene/Cesium3DTileStyle.js +22 -0
- package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
- package/Source/Scene/Cesium3DTileset.js +2 -1
- package/Source/Scene/ClassificationType.js +3 -1
- package/Source/Scene/ClippingPolygonCollection.js +270 -101
- package/Source/Scene/CloudType.js +3 -1
- package/Source/Scene/ColorBlendMode.js +4 -1
- package/Source/Scene/CubeMapPanorama.js +4 -4
- package/Source/Scene/CullFace.js +6 -1
- package/Source/Scene/DepthFunction.js +6 -1
- package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
- package/Source/Scene/EquirectangularPanorama.js +1 -0
- package/Source/Scene/ExpressionNodeType.js +6 -1
- package/Source/Scene/GaussianSplat3DTileContent.js +40 -46
- package/Source/Scene/GaussianSplatPrimitive.js +413 -70
- package/Source/Scene/GetFeatureInfoFormat.js +3 -3
- package/Source/Scene/GltfBufferViewLoader.js +0 -2
- package/Source/Scene/GltfDracoLoader.js +0 -2
- package/Source/Scene/GltfImageLoader.js +0 -3
- package/Source/Scene/GltfIndexBufferLoader.js +0 -4
- package/Source/Scene/GltfJsonLoader.js +0 -2
- package/Source/Scene/GltfLoader.js +215 -39
- package/Source/Scene/GltfLoaderUtil.js +14 -0
- package/Source/Scene/GltfSpzLoader.js +109 -2
- package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
- package/Source/Scene/GltfTextureLoader.js +0 -2
- package/Source/Scene/GltfVertexBufferLoader.js +0 -4
- package/Source/Scene/HeightReference.js +5 -1
- package/Source/Scene/HorizontalOrigin.js +6 -1
- package/Source/Scene/ITwinData.js +1 -0
- package/Source/Scene/ImageryProvider.js +1 -1
- package/Source/Scene/ImageryState.js +6 -1
- package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
- package/Source/Scene/InstanceAttributeSemantic.js +3 -1
- package/Source/Scene/IonWorldImageryStyle.js +6 -1
- package/Source/Scene/JobType.js +6 -1
- package/Source/Scene/Label.js +32 -0
- package/Source/Scene/LabelCollection.js +14 -13
- package/Source/Scene/LabelStyle.js +6 -1
- package/Source/Scene/MapMode2D.js +6 -1
- package/Source/Scene/Material.js +2 -0
- package/Source/Scene/Megatexture.js +1 -0
- package/Source/Scene/MetadataClassProperty.js +24 -10
- package/Source/Scene/MetadataComponentType.js +118 -24
- package/Source/Scene/MetadataSchemaLoader.js +0 -2
- package/Source/Scene/MetadataSemantic.js +6 -2
- package/Source/Scene/MetadataType.js +3 -1
- package/Source/Scene/Model/B3dmLoader.js +0 -3
- package/Source/Scene/Model/CustomShaderMode.js +3 -1
- package/Source/Scene/Model/CustomShaderPipelineStage.js +3 -1
- package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
- package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +735 -264
- package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
- package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
- package/Source/Scene/Model/GeoJsonLoader.js +0 -2
- package/Source/Scene/Model/I3dmLoader.js +0 -3
- package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
- package/Source/Scene/Model/LightingModel.js +5 -1
- package/Source/Scene/Model/MaterialPipelineStage.js +331 -3
- package/Source/Scene/Model/MetadataPipelineStage.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +6 -0
- package/Source/Scene/Model/ModelReader.js +475 -4
- package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
- package/Source/Scene/Model/ModelType.js +3 -1
- package/Source/Scene/Model/ModelUtility.js +3 -1
- package/Source/Scene/Model/PntsLoader.js +4 -3
- package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
- package/Source/Scene/Model/UniformType.js +5 -1
- package/Source/Scene/Model/VaryingType.js +5 -1
- package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +375 -0
- package/Source/Scene/Model/pickModel.js +94 -299
- package/Source/Scene/ModelAnimationLoop.js +6 -1
- package/Source/Scene/ModelAnimationState.js +6 -1
- package/Source/Scene/ModelComponents.js +1639 -1542
- package/Source/Scene/PickedMetadataInfo.js +1 -0
- package/Source/Scene/PrimitiveState.js +7 -1
- package/Source/Scene/QuadtreeOccluders.js +20 -15
- package/Source/Scene/QuadtreeTile.js +547 -541
- package/Source/Scene/QuadtreeTileLoadState.js +6 -1
- package/Source/Scene/QuadtreeTileProvider.js +159 -175
- package/Source/Scene/ResourceLoader.js +0 -1
- package/Source/Scene/ResourceLoaderState.js +7 -1
- package/Source/Scene/SceneMode.js +4 -1
- package/Source/Scene/ScreenSpaceCameraController.js +13 -0
- package/Source/Scene/ShadowMode.js +3 -1
- package/Source/Scene/SkyBox.js +17 -8
- package/Source/Scene/SplitDirection.js +6 -1
- package/Source/Scene/StencilFunction.js +6 -1
- package/Source/Scene/StencilOperation.js +6 -1
- package/Source/Scene/TerrainState.js +7 -1
- package/Source/Scene/TileBoundingRegion.js +1 -1
- package/Source/Scene/TileBoundingS2Cell.js +1 -1
- package/Source/Scene/TileBoundingSphere.js +1 -1
- package/Source/Scene/TileState.js +7 -1
- package/Source/Scene/Tonemapper.js +5 -1
- package/Source/Scene/TweenCollection.js +7 -0
- package/Source/Scene/VectorGltf3DTileContent.js +403 -0
- package/Source/Scene/VertexAttributeSemantic.js +17 -1
- package/Source/Scene/VerticalOrigin.js +6 -1
- package/Source/Scene/VoxelBoxShape.js +12 -6
- package/Source/Scene/VoxelContent.js +2 -0
- package/Source/Scene/VoxelCylinderShape.js +39 -38
- package/Source/Scene/VoxelEllipsoidShape.js +46 -96
- package/Source/Scene/VoxelMetadataOrder.js +6 -1
- package/Source/Scene/VoxelProvider.js +1 -0
- package/Source/Scene/VoxelShapeType.js +3 -1
- package/Source/Scene/WebMapServiceImageryProvider.js +2 -2
- package/Source/Scene/WebMapTileServiceImageryProvider.js +366 -131
- package/Source/Scene/parseStructuralMetadata.js +97 -37
- package/Source/Scene/renderBufferPointCollection.js +285 -0
- package/Source/Scene/renderBufferPolygonCollection.js +339 -0
- package/Source/Scene/renderBufferPolylineCollection.js +478 -0
- package/Source/Shaders/BillboardCollectionFS.glsl +2 -77
- package/Source/Shaders/BillboardCollectionFS.js +2 -77
- package/Source/Shaders/BillboardCollectionVS.glsl +2 -60
- package/Source/Shaders/BillboardCollectionVS.js +2 -60
- package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
- package/Source/Shaders/BufferPointMaterialFS.js +29 -0
- package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
- package/Source/Shaders/BufferPointMaterialVS.js +50 -0
- package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
- package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
- package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
- package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
- package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
- package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
- package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
- package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
- package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
- package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
- package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
- package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
- package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
- package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +34 -48
- package/Source/Shaders/Model/EdgeVisibilityStageFS.js +34 -49
- package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
- package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
- package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
- package/Source/Shaders/Model/MaterialStageFS.js +46 -20
- package/Source/Shaders/Model/ModelFS.glsl +15 -0
- package/Source/Shaders/Model/ModelFS.js +15 -0
- package/Source/Shaders/Model/ModelVS.glsl +8 -0
- package/Source/Shaders/Model/ModelVS.js +8 -0
- package/Source/Shaders/PolygonSignedDistanceFS.glsl +64 -33
- package/Source/Shaders/PolygonSignedDistanceFS.js +64 -33
- package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +9 -2
- package/Source/Shaders/PrimitiveGaussianSplatVS.js +9 -2
- package/Source/Shaders/Voxels/VoxelFS.glsl +1 -1
- package/Source/Shaders/Voxels/VoxelFS.js +1 -1
- package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
- package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
- package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
- package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
- package/Source/Widget/CesiumWidget.js +11 -4
- package/Source/Workers/decodeDraco.js +3 -0
- package/Source/Workers/decodeI3S.js +5 -2
- package/index.d.ts +1332 -402
- package/index.js +111 -81
- package/package.json +3 -3
- package/Build/Workers/chunk-54O3AGOA.js +0 -642
- package/Build/Workers/chunk-6U5QMZU3.js +0 -940
- package/Build/Workers/chunk-HNDE73JK.js +0 -1829
- package/Build/Workers/chunk-PAFMAR7A.js +0 -2357
- package/Build/Workers/chunk-S53HSRT6.js +0 -114
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import combine from "../Core/combine.js";
|
|
2
|
-
import Credit from "../Core/Credit.js";
|
|
3
2
|
import Frozen from "../Core/Frozen.js";
|
|
4
3
|
import defined from "../Core/defined.js";
|
|
5
4
|
import DeveloperError from "../Core/DeveloperError.js";
|
|
6
5
|
import Event from "../Core/Event.js";
|
|
7
6
|
import Resource from "../Core/Resource.js";
|
|
8
7
|
import WebMercatorTilingScheme from "../Core/WebMercatorTilingScheme.js";
|
|
9
|
-
import ImageryProvider from "./ImageryProvider.js";
|
|
10
8
|
import TimeDynamicImagery from "./TimeDynamicImagery.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
service: "WMTS",
|
|
14
|
-
version: "1.0.0",
|
|
15
|
-
request: "GetTile",
|
|
16
|
-
});
|
|
9
|
+
import UrlTemplateImageryProvider from "./UrlTemplateImageryProvider.js";
|
|
10
|
+
import GetFeatureInfoFormat from "./GetFeatureInfoFormat.js";
|
|
17
11
|
|
|
18
12
|
/**
|
|
19
13
|
* @typedef {object} WebMapTileServiceImageryProvider.ConstructorOptions
|
|
@@ -25,21 +19,32 @@ const defaultParameters = Object.freeze({
|
|
|
25
19
|
* @property {string} layer The layer name for WMTS requests.
|
|
26
20
|
* @property {string} style The style name for WMTS requests.
|
|
27
21
|
* @property {string} tileMatrixSetID The identifier of the TileMatrixSet to use for WMTS requests.
|
|
28
|
-
* @property {
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
22
|
+
* @property {boolean} [enablePickFeatures] If true, {@link WebMapTileServiceImageryProvider#pickFeatures} will invoke
|
|
23
|
+
* the GetFeatureInfo operation on the WMTS server and return the features included in the response. If false,
|
|
24
|
+
* {@link WebMapTileServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable features)
|
|
25
|
+
* without communicating with the server. Set this property to false if you know your WMTS server does not support
|
|
26
|
+
* GetFeatureInfo or if you don't want this provider's features to be pickable.
|
|
27
|
+
* Defaults to true for KVP encoding. For RESTful encoding, defaults to true only when
|
|
28
|
+
* {@link WebMapTileServiceImageryProvider.ConstructorOptions#getFeatureInfoUrl} is specified, and false otherwise.
|
|
29
|
+
* @property {object} [getFeatureInfoParameters] Additional parameters to include in GetFeatureInfo requests. Keys are lowercased internally.
|
|
30
|
+
* @property {Resource|string} [getFeatureInfoUrl] The GetFeatureInfo URL of the WMTS service. If not specified, the value of <code>url</code> is used.
|
|
31
|
+
* @property {GetFeatureInfoFormat[]} [getFeatureInfoFormats=WebMapTileServiceImageryProvider.DefaultGetFeatureInfoFormats] The formats
|
|
32
|
+
* in which to try WMTS GetFeatureInfo requests.
|
|
33
|
+
* @property {Rectangle} [rectangle=Rectangle.MAX_VALUE] The rectangle covered by the layer.
|
|
34
|
+
* @property {TilingScheme} [tilingScheme] The tiling scheme corresponding to the organization of the tiles in the TileMatrixSet.
|
|
35
|
+
* @property {Ellipsoid} [ellipsoid] The ellipsoid. If not specified, the WGS84 ellipsoid is used.
|
|
32
36
|
* @property {number} [tileWidth=256] The tile width in pixels.
|
|
33
37
|
* @property {number} [tileHeight=256] The tile height in pixels.
|
|
34
|
-
* @property {TilingScheme} [tilingScheme] The tiling scheme corresponding to the organization of the tiles in the TileMatrixSet.
|
|
35
|
-
* @property {Rectangle} [rectangle=Rectangle.MAX_VALUE] The rectangle covered by the layer.
|
|
36
38
|
* @property {number} [minimumLevel=0] The minimum level-of-detail supported by the imagery provider.
|
|
37
39
|
* @property {number} [maximumLevel] The maximum level-of-detail supported by the imagery provider, or undefined if there is no limit.
|
|
38
|
-
* @property {
|
|
40
|
+
* @property {Array} [tileMatrixLabels] A list of identifiers in the TileMatrix to use for WMTS requests, one per TileMatrix level.
|
|
39
41
|
* @property {Credit|string} [credit] A credit for the data source, which is displayed on the canvas.
|
|
40
42
|
* @property {string|string[]} [subdomains='abc'] The subdomains to use for the <code>{s}</code> placeholder in the URL template.
|
|
41
43
|
* If this parameter is a single string, each character in the string is a subdomain. If it is
|
|
42
44
|
* an array, each element in the array is a subdomain.
|
|
45
|
+
* @property {Clock} [clock] A Clock instance that is used when determining the value for the time dimension. Required when `times` is specified.
|
|
46
|
+
* @property {TimeIntervalCollection} [times] TimeIntervalCollection with its <code>data</code> property being an object containing time dynamic dimension and their values.
|
|
47
|
+
* @property {object} [dimensions] A object containing static dimensions and their values.
|
|
43
48
|
*/
|
|
44
49
|
|
|
45
50
|
/**
|
|
@@ -81,28 +86,88 @@ const defaultParameters = Object.freeze({
|
|
|
81
86
|
* viewer.imageryLayers.addImageryProvider(shadedRelief2);
|
|
82
87
|
*
|
|
83
88
|
* @example
|
|
84
|
-
* // Example 3
|
|
89
|
+
* // Example 3: NASA time dynamic snowpack data (RESTful)
|
|
90
|
+
* // Define time intervals for the layer based on the capabilities XML
|
|
85
91
|
* const times = Cesium.TimeIntervalCollection.fromIso8601({
|
|
86
|
-
* iso8601: '
|
|
87
|
-
* dataCallback: function
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
+
* iso8601: '2025-01-01/2025-09-01/P5D', // Use the valid interval(s) from the Dimension section
|
|
93
|
+
* dataCallback: function(interval, index) {
|
|
94
|
+
* // Return an object with the Time variable used in the URL template
|
|
95
|
+
* return {
|
|
96
|
+
* Time: Cesium.JulianDate.toIso8601(interval.start, 0)
|
|
97
|
+
* };
|
|
98
|
+
* }
|
|
92
99
|
* });
|
|
100
|
+
|
|
101
|
+
* // Get the internal clock, set desired start, stop, and multiplier
|
|
102
|
+
* const clock = viewer.clock;
|
|
103
|
+
* clock.startTime = Cesium.JulianDate.fromIso8601('2025-01-01');
|
|
104
|
+
* clock.currentTime = Cesium.JulianDate.fromIso8601('2025-01-01');
|
|
105
|
+
* clock.stopTime = Cesium.JulianDate.fromIso8601('2025-09-01');
|
|
106
|
+
* clock.clockRange = Cesium.ClockRange.LOOP_STOP;
|
|
107
|
+
* clock.multiplier = 1; // 1 day per second
|
|
108
|
+
* clock.clockStep = Cesium.ClockStep.SYSTEM_CLOCK_MULTIPLIER;
|
|
109
|
+
*
|
|
110
|
+
* viewer.timeline.zoomTo(clock.startTime, clock.stopTime);
|
|
111
|
+
*
|
|
93
112
|
* const weather = new Cesium.WebMapTileServiceImageryProvider({
|
|
94
|
-
* url
|
|
95
|
-
* layer
|
|
96
|
-
* style
|
|
97
|
-
* tileMatrixSetID
|
|
98
|
-
*
|
|
99
|
-
* format : 'image/png',
|
|
113
|
+
* url: 'https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/AMSRU2_Snow_Water_Equivalent_5Day/default/{Time}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png',
|
|
114
|
+
* layer: 'AMSRU2_Snow_Water_Equivalent_5Day',
|
|
115
|
+
* style: 'default',
|
|
116
|
+
* tileMatrixSetID: 'GoogleMapsCompatible_Level6',
|
|
117
|
+
* format: 'image/png',
|
|
100
118
|
* clock: clock,
|
|
101
119
|
* times: times,
|
|
102
|
-
* credit
|
|
120
|
+
* credit: new Cesium.Credit('NASA Global Imagery Browse Services for EOSDIS')
|
|
103
121
|
* });
|
|
104
122
|
* viewer.imageryLayers.addImageryProvider(weather);
|
|
105
123
|
*
|
|
124
|
+
* @example
|
|
125
|
+
* // Example 4. Digital Earth AfricA waterbodies with GetFeatureInfo support (RESTful)
|
|
126
|
+
* const waterbodies = new Cesium.WebMapTileServiceImageryProvider({
|
|
127
|
+
* url: "https://geoserver.digitalearth.africa/geoserver/gwc/service/wmts/rest/{layer}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format={format}",
|
|
128
|
+
* layer: "waterbodies:DEAfrica_Waterbodies",
|
|
129
|
+
* style: "waterbodies:waterbodies_v0_0_4",
|
|
130
|
+
* tileMatrixSetID: "EPSG:3857",
|
|
131
|
+
* tileMatrixLabels: [
|
|
132
|
+
* "EPSG:3857:0",
|
|
133
|
+
* "EPSG:3857:1",
|
|
134
|
+
* "EPSG:3857:2",
|
|
135
|
+
* "EPSG:3857:3",
|
|
136
|
+
* "EPSG:3857:4",
|
|
137
|
+
* "EPSG:3857:5",
|
|
138
|
+
* "EPSG:3857:6",
|
|
139
|
+
* "EPSG:3857:7",
|
|
140
|
+
* "EPSG:3857:8",
|
|
141
|
+
* "EPSG:3857:9",
|
|
142
|
+
* "EPSG:3857:10",
|
|
143
|
+
* "EPSG:3857:11",
|
|
144
|
+
* "EPSG:3857:12",
|
|
145
|
+
* "EPSG:3857:13",
|
|
146
|
+
* "EPSG:3857:14",
|
|
147
|
+
* "EPSG:3857:15",
|
|
148
|
+
* "EPSG:3857:16",
|
|
149
|
+
* "EPSG:3857:17",
|
|
150
|
+
* "EPSG:3857:18",
|
|
151
|
+
* "EPSG:3857:19",
|
|
152
|
+
* "EPSG:3857:20",
|
|
153
|
+
* "EPSG:3857:21",
|
|
154
|
+
* "EPSG:3857:22",
|
|
155
|
+
* "EPSG:3857:23",
|
|
156
|
+
* "EPSG:3857:24",
|
|
157
|
+
* "EPSG:3857:25",
|
|
158
|
+
* "EPSG:3857:26",
|
|
159
|
+
* "EPSG:3857:27",
|
|
160
|
+
* "EPSG:3857:28",
|
|
161
|
+
* "EPSG:3857:29",
|
|
162
|
+
* "EPSG:3857:30",
|
|
163
|
+
* ],
|
|
164
|
+
* format: "image/png",
|
|
165
|
+
* enablePickFeatures: true,
|
|
166
|
+
* getFeatureInfoUrl: "https://geoserver.digitalearth.africa/geoserver/gwc/service/wmts/rest/{layer}/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}/{j}/{i}?format={format}",
|
|
167
|
+
* });
|
|
168
|
+
*
|
|
169
|
+
* viewer.imageryLayers.addImageryProvider(waterbodies);
|
|
170
|
+
*
|
|
106
171
|
* @see ArcGisMapServerImageryProvider
|
|
107
172
|
* @see BingMapsImageryProvider
|
|
108
173
|
* @see GoogleEarthEnterpriseMapsProvider
|
|
@@ -146,49 +211,90 @@ function WebMapTileServiceImageryProvider(options) {
|
|
|
146
211
|
this._defaultMinificationFilter = undefined;
|
|
147
212
|
this._defaultMagnificationFilter = undefined;
|
|
148
213
|
|
|
214
|
+
this._getFeatureInfoUrl = options.getFeatureInfoUrl ?? options.url;
|
|
215
|
+
|
|
149
216
|
const resource = Resource.createIfNeeded(options.url);
|
|
217
|
+
const pickFeatureResource = Resource.createIfNeeded(this._getFeatureInfoUrl);
|
|
150
218
|
|
|
151
219
|
const style = options.style;
|
|
152
220
|
const tileMatrixSetID = options.tileMatrixSetID;
|
|
153
221
|
const url = resource.url;
|
|
222
|
+
const format = options.format ?? "image/jpeg";
|
|
154
223
|
|
|
155
224
|
const bracketMatch = url.match(/{/g);
|
|
156
225
|
if (
|
|
157
226
|
!defined(bracketMatch) ||
|
|
158
227
|
(bracketMatch.length === 1 && /{s}/.test(url))
|
|
159
228
|
) {
|
|
160
|
-
resource.setQueryParameters(
|
|
229
|
+
resource.setQueryParameters(
|
|
230
|
+
WebMapTileServiceImageryProvider.DefaultParameters,
|
|
231
|
+
true,
|
|
232
|
+
);
|
|
161
233
|
this._useKvp = true;
|
|
162
234
|
} else {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
resource.setTemplateValues(templateValues);
|
|
235
|
+
resource.setTemplateValues(
|
|
236
|
+
WebMapTileServiceImageryProvider.DefaultParameters,
|
|
237
|
+
true,
|
|
238
|
+
);
|
|
170
239
|
this._useKvp = false;
|
|
171
240
|
}
|
|
172
241
|
|
|
173
|
-
this.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
this._format = options.format ?? "image/jpeg";
|
|
179
|
-
this._tileDiscardPolicy = options.tileDiscardPolicy;
|
|
242
|
+
if (this._useKvp) {
|
|
243
|
+
pickFeatureResource.setQueryParameters(
|
|
244
|
+
WebMapTileServiceImageryProvider.GetFeatureInfoDefaultParameters,
|
|
245
|
+
true,
|
|
246
|
+
);
|
|
180
247
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
248
|
+
if (defined(options.getFeatureInfoParameters)) {
|
|
249
|
+
pickFeatureResource.setQueryParameters(
|
|
250
|
+
objectToLowercase(options.getFeatureInfoParameters),
|
|
251
|
+
);
|
|
252
|
+
}
|
|
186
253
|
|
|
187
|
-
|
|
188
|
-
|
|
254
|
+
const pickFeatureParams = {
|
|
255
|
+
infoformat: "{format}",
|
|
256
|
+
i: "{i}",
|
|
257
|
+
j: "{j}",
|
|
258
|
+
};
|
|
259
|
+
pickFeatureResource.setQueryParameters(pickFeatureParams, true);
|
|
260
|
+
} else {
|
|
261
|
+
pickFeatureResource.setTemplateValues(
|
|
262
|
+
WebMapTileServiceImageryProvider.GetFeatureInfoDefaultParameters,
|
|
263
|
+
true,
|
|
264
|
+
);
|
|
189
265
|
|
|
190
|
-
|
|
266
|
+
if (defined(options.getFeatureInfoParameters)) {
|
|
267
|
+
pickFeatureResource.setTemplateValues(
|
|
268
|
+
objectToLowercase(options.getFeatureInfoParameters),
|
|
269
|
+
);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
this._resource = resource;
|
|
274
|
+
this._tileMatrixLabels = options.tileMatrixLabels;
|
|
275
|
+
this._format = format;
|
|
191
276
|
this._dimensions = options.dimensions;
|
|
277
|
+
this._tilematrixset = tileMatrixSetID;
|
|
278
|
+
|
|
279
|
+
const parameters = {};
|
|
280
|
+
parameters.tilematrix = "{TileMatrix}";
|
|
281
|
+
parameters.layer = options.layer;
|
|
282
|
+
parameters.style = style;
|
|
283
|
+
parameters.tilerow = "{TileRow}";
|
|
284
|
+
parameters.tilecol = "{TileCol}";
|
|
285
|
+
parameters.tilematrixset = tileMatrixSetID;
|
|
286
|
+
|
|
287
|
+
if (this._useKvp) {
|
|
288
|
+
resource.setQueryParameters(parameters, true);
|
|
289
|
+
resource.setQueryParameters({ format: format }, true);
|
|
290
|
+
pickFeatureResource.setQueryParameters({ format: format }, true);
|
|
291
|
+
pickFeatureResource.setQueryParameters(parameters, true);
|
|
292
|
+
} else {
|
|
293
|
+
parameters.Style = style;
|
|
294
|
+
resource.setTemplateValues(parameters);
|
|
295
|
+
resource.setTemplateValues({ format: format });
|
|
296
|
+
pickFeatureResource.setTemplateValues(parameters);
|
|
297
|
+
}
|
|
192
298
|
|
|
193
299
|
const that = this;
|
|
194
300
|
this._reload = undefined;
|
|
@@ -209,79 +315,57 @@ function WebMapTileServiceImageryProvider(options) {
|
|
|
209
315
|
|
|
210
316
|
this._errorEvent = new Event();
|
|
211
317
|
|
|
212
|
-
|
|
213
|
-
this.
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
318
|
+
// Let UrlTemplateImageryProvider do the actual URL building.
|
|
319
|
+
this._tileProvider = new UrlTemplateImageryProvider({
|
|
320
|
+
url: resource,
|
|
321
|
+
pickFeaturesUrl: pickFeatureResource,
|
|
322
|
+
tilingScheme:
|
|
323
|
+
options.tilingScheme ??
|
|
324
|
+
new WebMercatorTilingScheme({ ellipsoid: options.ellipsoid }),
|
|
325
|
+
rectangle: options.rectangle,
|
|
326
|
+
tileWidth: options.tileWidth,
|
|
327
|
+
tileHeight: options.tileHeight,
|
|
328
|
+
minimumLevel: options.minimumLevel,
|
|
329
|
+
maximumLevel: options.maximumLevel,
|
|
330
|
+
subdomains: options.subdomains,
|
|
331
|
+
tileDiscardPolicy: options.tileDiscardPolicy,
|
|
332
|
+
credit: options.credit,
|
|
333
|
+
getFeatureInfoFormats:
|
|
334
|
+
options.getFeatureInfoFormats ??
|
|
335
|
+
WebMapTileServiceImageryProvider.DefaultGetFeatureInfoFormats,
|
|
336
|
+
enablePickFeatures:
|
|
337
|
+
options.enablePickFeatures ??
|
|
338
|
+
(this._useKvp || defined(options.getFeatureInfoUrl)),
|
|
339
|
+
customTags: createCustomTags(this),
|
|
340
|
+
});
|
|
223
341
|
}
|
|
224
342
|
|
|
225
343
|
function requestImage(imageryProvider, col, row, level, request, interval) {
|
|
226
|
-
const
|
|
227
|
-
const tileMatrix = defined(labels) ? labels[level] : level.toString();
|
|
228
|
-
const subdomains = imageryProvider._subdomains;
|
|
229
|
-
const staticDimensions = imageryProvider._dimensions;
|
|
230
|
-
const dynamicIntervalData = defined(interval) ? interval.data : undefined;
|
|
231
|
-
|
|
232
|
-
let resource;
|
|
233
|
-
let templateValues;
|
|
234
|
-
if (!imageryProvider._useKvp) {
|
|
235
|
-
templateValues = {
|
|
236
|
-
TileMatrix: tileMatrix,
|
|
237
|
-
TileRow: row.toString(),
|
|
238
|
-
TileCol: col.toString(),
|
|
239
|
-
s: subdomains[(col + row + level) % subdomains.length],
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
resource = imageryProvider._resource.getDerivedResource({
|
|
243
|
-
request: request,
|
|
244
|
-
});
|
|
245
|
-
resource.setTemplateValues(templateValues);
|
|
344
|
+
const tileProvider = imageryProvider._tileProvider;
|
|
246
345
|
|
|
247
|
-
|
|
248
|
-
resource.setTemplateValues(staticDimensions);
|
|
249
|
-
}
|
|
346
|
+
applyDimensions(imageryProvider, tileProvider._resource, interval);
|
|
250
347
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
} else {
|
|
255
|
-
// build KVP request
|
|
256
|
-
let query = {};
|
|
257
|
-
query.tilematrix = tileMatrix;
|
|
258
|
-
query.layer = imageryProvider._layer;
|
|
259
|
-
query.style = imageryProvider._style;
|
|
260
|
-
query.tilerow = row;
|
|
261
|
-
query.tilecol = col;
|
|
262
|
-
query.tilematrixset = imageryProvider._tileMatrixSetID;
|
|
263
|
-
query.format = imageryProvider._format;
|
|
264
|
-
|
|
265
|
-
if (defined(staticDimensions)) {
|
|
266
|
-
query = combine(query, staticDimensions);
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
if (defined(dynamicIntervalData)) {
|
|
270
|
-
query = combine(query, dynamicIntervalData);
|
|
271
|
-
}
|
|
348
|
+
return tileProvider.requestImage(col, row, level, request);
|
|
349
|
+
}
|
|
272
350
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
351
|
+
function pickFeatures(
|
|
352
|
+
imageryProvider,
|
|
353
|
+
x,
|
|
354
|
+
y,
|
|
355
|
+
level,
|
|
356
|
+
longitude,
|
|
357
|
+
latitude,
|
|
358
|
+
interval,
|
|
359
|
+
) {
|
|
360
|
+
const tileProvider = imageryProvider._tileProvider;
|
|
276
361
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
362
|
+
applyDimensions(
|
|
363
|
+
imageryProvider,
|
|
364
|
+
tileProvider._pickFeaturesResource,
|
|
365
|
+
interval,
|
|
366
|
+
);
|
|
283
367
|
|
|
284
|
-
return
|
|
368
|
+
return tileProvider.pickFeatures(x, y, level, longitude, latitude);
|
|
285
369
|
}
|
|
286
370
|
|
|
287
371
|
Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
@@ -317,7 +401,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
317
401
|
*/
|
|
318
402
|
tileWidth: {
|
|
319
403
|
get: function () {
|
|
320
|
-
return this.
|
|
404
|
+
return this._tileProvider.tileWidth;
|
|
321
405
|
},
|
|
322
406
|
},
|
|
323
407
|
|
|
@@ -329,7 +413,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
329
413
|
*/
|
|
330
414
|
tileHeight: {
|
|
331
415
|
get: function () {
|
|
332
|
-
return this.
|
|
416
|
+
return this._tileProvider.tileHeight;
|
|
333
417
|
},
|
|
334
418
|
},
|
|
335
419
|
|
|
@@ -341,7 +425,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
341
425
|
*/
|
|
342
426
|
maximumLevel: {
|
|
343
427
|
get: function () {
|
|
344
|
-
return this.
|
|
428
|
+
return this._tileProvider.maximumLevel;
|
|
345
429
|
},
|
|
346
430
|
},
|
|
347
431
|
|
|
@@ -353,7 +437,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
353
437
|
*/
|
|
354
438
|
minimumLevel: {
|
|
355
439
|
get: function () {
|
|
356
|
-
return this.
|
|
440
|
+
return this._tileProvider.minimumLevel;
|
|
357
441
|
},
|
|
358
442
|
},
|
|
359
443
|
|
|
@@ -365,7 +449,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
365
449
|
*/
|
|
366
450
|
tilingScheme: {
|
|
367
451
|
get: function () {
|
|
368
|
-
return this.
|
|
452
|
+
return this._tileProvider.tilingScheme;
|
|
369
453
|
},
|
|
370
454
|
},
|
|
371
455
|
|
|
@@ -377,7 +461,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
377
461
|
*/
|
|
378
462
|
rectangle: {
|
|
379
463
|
get: function () {
|
|
380
|
-
return this.
|
|
464
|
+
return this._tileProvider.rectangle;
|
|
381
465
|
},
|
|
382
466
|
},
|
|
383
467
|
|
|
@@ -391,7 +475,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
391
475
|
*/
|
|
392
476
|
tileDiscardPolicy: {
|
|
393
477
|
get: function () {
|
|
394
|
-
return this.
|
|
478
|
+
return this._tileProvider.tileDiscardPolicy;
|
|
395
479
|
},
|
|
396
480
|
},
|
|
397
481
|
|
|
@@ -405,7 +489,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
405
489
|
*/
|
|
406
490
|
errorEvent: {
|
|
407
491
|
get: function () {
|
|
408
|
-
return this.
|
|
492
|
+
return this._tileProvider.errorEvent;
|
|
409
493
|
},
|
|
410
494
|
},
|
|
411
495
|
|
|
@@ -430,7 +514,7 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
430
514
|
*/
|
|
431
515
|
credit: {
|
|
432
516
|
get: function () {
|
|
433
|
-
return this.
|
|
517
|
+
return this._tileProvider.credit;
|
|
434
518
|
},
|
|
435
519
|
},
|
|
436
520
|
|
|
@@ -449,6 +533,27 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
449
533
|
return true;
|
|
450
534
|
},
|
|
451
535
|
},
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Gets or sets a value indicating whether feature picking is enabled. If true, {@link WebMapTileServiceImageryProvider#pickFeatures} will
|
|
539
|
+
* invoke the <code>GetFeatureInfo</code> service on the WMTS server and attempt to interpret the features included in the response. If false,
|
|
540
|
+
* {@link WebMapTileServiceImageryProvider#pickFeatures} will immediately return undefined (indicating no pickable
|
|
541
|
+
* features) without communicating with the server. Set this property to false if you know your data
|
|
542
|
+
* source does not support picking features or if you don't want this provider's features to be pickable.
|
|
543
|
+
* Defaults to true for KVP encoding. For RESTful encoding, defaults to true only when
|
|
544
|
+
* {@link WebMapTileServiceImageryProvider.ConstructorOptions#getFeatureInfoUrl} is specified, and false otherwise.
|
|
545
|
+
* @memberof WebMapTileServiceImageryProvider.prototype
|
|
546
|
+
* @type {boolean}
|
|
547
|
+
*/
|
|
548
|
+
enablePickFeatures: {
|
|
549
|
+
get: function () {
|
|
550
|
+
return this._tileProvider.enablePickFeatures;
|
|
551
|
+
},
|
|
552
|
+
set: function (enablePickFeatures) {
|
|
553
|
+
this._tileProvider.enablePickFeatures = enablePickFeatures;
|
|
554
|
+
},
|
|
555
|
+
},
|
|
556
|
+
|
|
452
557
|
/**
|
|
453
558
|
* Gets or sets a clock that is used to get keep the time used for time dynamic parameters.
|
|
454
559
|
* @memberof WebMapTileServiceImageryProvider.prototype
|
|
@@ -495,6 +600,18 @@ Object.defineProperties(WebMapTileServiceImageryProvider.prototype, {
|
|
|
495
600
|
}
|
|
496
601
|
},
|
|
497
602
|
},
|
|
603
|
+
|
|
604
|
+
/**
|
|
605
|
+
* Gets the getFeatureInfo URL of the WMTS server.
|
|
606
|
+
* @memberof WebMapTileServiceImageryProvider.prototype
|
|
607
|
+
* @type {Resource|string}
|
|
608
|
+
* @readonly
|
|
609
|
+
*/
|
|
610
|
+
getFeatureInfoUrl: {
|
|
611
|
+
get: function () {
|
|
612
|
+
return this._getFeatureInfoUrl;
|
|
613
|
+
},
|
|
614
|
+
},
|
|
498
615
|
});
|
|
499
616
|
|
|
500
617
|
/**
|
|
@@ -510,7 +627,7 @@ WebMapTileServiceImageryProvider.prototype.getTileCredits = function (
|
|
|
510
627
|
y,
|
|
511
628
|
level,
|
|
512
629
|
) {
|
|
513
|
-
return
|
|
630
|
+
return this._tileProvider.getTileCredits(x, y, level);
|
|
514
631
|
};
|
|
515
632
|
|
|
516
633
|
/**
|
|
@@ -553,15 +670,17 @@ WebMapTileServiceImageryProvider.prototype.requestImage = function (
|
|
|
553
670
|
};
|
|
554
671
|
|
|
555
672
|
/**
|
|
556
|
-
*
|
|
557
|
-
*
|
|
673
|
+
* Asynchronously determines what features, if any, are located at a given longitude and latitude within
|
|
674
|
+
* a tile.
|
|
558
675
|
*
|
|
559
676
|
* @param {number} x The tile X coordinate.
|
|
560
677
|
* @param {number} y The tile Y coordinate.
|
|
561
678
|
* @param {number} level The tile level.
|
|
562
679
|
* @param {number} longitude The longitude at which to pick features.
|
|
563
680
|
* @param {number} latitude The latitude at which to pick features.
|
|
564
|
-
* @return {undefined}
|
|
681
|
+
* @return {Promise<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
|
|
682
|
+
* picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
|
|
683
|
+
* instances. The array may be empty if no features are found at the given location.
|
|
565
684
|
*/
|
|
566
685
|
WebMapTileServiceImageryProvider.prototype.pickFeatures = function (
|
|
567
686
|
x,
|
|
@@ -570,6 +689,122 @@ WebMapTileServiceImageryProvider.prototype.pickFeatures = function (
|
|
|
570
689
|
longitude,
|
|
571
690
|
latitude,
|
|
572
691
|
) {
|
|
573
|
-
|
|
692
|
+
const timeDynamicImagery = this._timeDynamicImagery;
|
|
693
|
+
const currentInterval = defined(timeDynamicImagery)
|
|
694
|
+
? timeDynamicImagery.currentInterval
|
|
695
|
+
: undefined;
|
|
696
|
+
|
|
697
|
+
return pickFeatures(this, x, y, level, longitude, latitude, currentInterval);
|
|
574
698
|
};
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* The default parameters to include in the WMTS URL to obtain images. The values are as follows:
|
|
702
|
+
* service=WMTS
|
|
703
|
+
* version=1.0.0
|
|
704
|
+
* request=GetTile
|
|
705
|
+
*
|
|
706
|
+
* @constant
|
|
707
|
+
* @type {object}
|
|
708
|
+
*/
|
|
709
|
+
WebMapTileServiceImageryProvider.DefaultParameters = Object.freeze({
|
|
710
|
+
service: "WMTS",
|
|
711
|
+
version: "1.0.0",
|
|
712
|
+
request: "GetTile",
|
|
713
|
+
});
|
|
714
|
+
|
|
715
|
+
/**
|
|
716
|
+
* The default parameters to include in the WMTS URL to get feature information. The values are as follows:
|
|
717
|
+
* service=WMTS
|
|
718
|
+
* version=1.0.0
|
|
719
|
+
* request=GetFeatureInfo
|
|
720
|
+
*
|
|
721
|
+
* @constant
|
|
722
|
+
* @type {object}
|
|
723
|
+
*/
|
|
724
|
+
WebMapTileServiceImageryProvider.GetFeatureInfoDefaultParameters =
|
|
725
|
+
Object.freeze({
|
|
726
|
+
service: "WMTS",
|
|
727
|
+
version: "1.0.0",
|
|
728
|
+
request: "GetFeatureInfo",
|
|
729
|
+
});
|
|
730
|
+
|
|
731
|
+
WebMapTileServiceImageryProvider.DefaultGetFeatureInfoFormats = Object.freeze([
|
|
732
|
+
Object.freeze(new GetFeatureInfoFormat("json", "application/json")),
|
|
733
|
+
Object.freeze(new GetFeatureInfoFormat("xml", "text/xml")),
|
|
734
|
+
Object.freeze(new GetFeatureInfoFormat("text", "text/html")),
|
|
735
|
+
]);
|
|
736
|
+
|
|
737
|
+
function applyDimensions(imageryProvider, resource, interval) {
|
|
738
|
+
const staticDimensions = imageryProvider._dimensions;
|
|
739
|
+
const dynamicIntervalData = defined(interval) ? interval.data : undefined;
|
|
740
|
+
|
|
741
|
+
if (!imageryProvider._useKvp) {
|
|
742
|
+
if (defined(staticDimensions)) {
|
|
743
|
+
resource.setTemplateValues(staticDimensions);
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
if (defined(dynamicIntervalData)) {
|
|
747
|
+
resource.setTemplateValues(dynamicIntervalData);
|
|
748
|
+
}
|
|
749
|
+
} else {
|
|
750
|
+
// build KVP request
|
|
751
|
+
let query = {};
|
|
752
|
+
|
|
753
|
+
if (defined(staticDimensions)) {
|
|
754
|
+
query = combine(query, staticDimensions);
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
if (defined(dynamicIntervalData)) {
|
|
758
|
+
query = combine(query, dynamicIntervalData);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
resource.setQueryParameters(query);
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
function createCustomTags(imageryProvider) {
|
|
766
|
+
function getTileMatrix(level) {
|
|
767
|
+
const labels = imageryProvider._tileMatrixLabels;
|
|
768
|
+
return defined(labels) ? labels[level] : level.toString();
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
// We provide both uppercase and lowercase to make it more convenient for users when creating URL templates.
|
|
772
|
+
return {
|
|
773
|
+
TileMatrix: function (provider, x, y, level) {
|
|
774
|
+
return getTileMatrix(level);
|
|
775
|
+
},
|
|
776
|
+
tilematrix: function (provider, x, y, level) {
|
|
777
|
+
return getTileMatrix(level);
|
|
778
|
+
},
|
|
779
|
+
TileRow: function (provider, x, y) {
|
|
780
|
+
return y.toString();
|
|
781
|
+
},
|
|
782
|
+
tilerow: function (provider, x, y) {
|
|
783
|
+
return y.toString();
|
|
784
|
+
},
|
|
785
|
+
TileCol: function (provider, x, y) {
|
|
786
|
+
return x.toString();
|
|
787
|
+
},
|
|
788
|
+
tilecol: function (provider, x, y) {
|
|
789
|
+
return x.toString();
|
|
790
|
+
},
|
|
791
|
+
TileMatrixSet: function (provider) {
|
|
792
|
+
return imageryProvider._tilematrixset;
|
|
793
|
+
},
|
|
794
|
+
tilematrixset: function (provider) {
|
|
795
|
+
return imageryProvider._tilematrixset;
|
|
796
|
+
},
|
|
797
|
+
};
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
function objectToLowercase(obj) {
|
|
801
|
+
const result = {};
|
|
802
|
+
for (const key in obj) {
|
|
803
|
+
if (obj.hasOwnProperty(key)) {
|
|
804
|
+
result[key.toLowerCase()] = obj[key];
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
return result;
|
|
808
|
+
}
|
|
809
|
+
|
|
575
810
|
export default WebMapTileServiceImageryProvider;
|