@cesium/engine 2.1.0 → 2.3.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/{AttributeCompression-8a5a065e.js → AttributeCompression-f9f6c717.js} +1 -1
- package/Build/Workers/{AxisAlignedBoundingBox-a6f9f0e5.js → AxisAlignedBoundingBox-31fadcf0.js} +1 -1
- package/Build/Workers/{BoundingRectangle-b0a68595.js → BoundingRectangle-995f0079.js} +1 -1
- package/Build/Workers/{BoxGeometry-baedd794.js → BoxGeometry-7eb1af60.js} +1 -1
- package/Build/Workers/{Color-f85df1be.js → Color-2dc49658.js} +1 -1
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-30516950.js → CoplanarPolygonGeometryLibrary-d7d972d6.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-5d5d3b3a.js → CorridorGeometryLibrary-1f5ef7b3.js} +1 -1
- package/Build/Workers/{CylinderGeometry-d899ae26.js → CylinderGeometry-23c67a6c.js} +1 -1
- package/Build/Workers/{CylinderGeometryLibrary-135b0858.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
- package/Build/Workers/{EllipseGeometry-a49f8449.js → EllipseGeometry-37014da4.js} +1 -1
- package/Build/Workers/{EllipseGeometryLibrary-cba7edde.js → EllipseGeometryLibrary-92ab6b1e.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-8095c8cb.js → EllipseOutlineGeometry-12b6fef5.js} +1 -1
- package/Build/Workers/{EllipsoidGeodesic-dcff5cbd.js → EllipsoidGeodesic-5b3623dc.js} +1 -1
- package/Build/Workers/{EllipsoidGeometry-ed93f571.js → EllipsoidGeometry-508da15c.js} +1 -1
- package/Build/Workers/{EllipsoidOutlineGeometry-e4854854.js → EllipsoidOutlineGeometry-40d97455.js} +1 -1
- package/Build/Workers/{EllipsoidRhumbLine-b672d507.js → EllipsoidRhumbLine-ef872433.js} +1 -1
- package/Build/Workers/{EllipsoidTangentPlane-7ae1aa9a.js → EllipsoidTangentPlane-46d4d9c2.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-e8bbca36.js → EncodedCartesian3-57415c8a.js} +1 -1
- package/Build/Workers/{FrustumGeometry-b62db3e3.js → FrustumGeometry-38605e69.js} +32 -4
- package/Build/Workers/{GeometryAttribute-780af4fa.js → GeometryAttribute-a466e9c7.js} +1 -1
- package/Build/Workers/{GeometryInstance-3fb607b7.js → GeometryInstance-34d9e21e.js} +1 -1
- package/Build/Workers/{GeometryPipeline-36b61c99.js → GeometryPipeline-dcf79306.js} +1 -1
- package/Build/Workers/{IndexDatatype-b8f3e09d.js → IndexDatatype-2643aa47.js} +1 -1
- package/Build/Workers/{IntersectionTests-e889fcf0.js → IntersectionTests-88c49b2e.js} +1 -1
- package/Build/Workers/{Math-dad82b4d.js → Math-0a2ac845.js} +12 -2
- package/Build/Workers/{Matrix2-1e403d0e.js → Matrix2-e1298525.js} +1 -1
- package/Build/Workers/{Matrix3-fa806b97.js → Matrix3-41c58dde.js} +1 -1
- package/Build/Workers/{OrientedBoundingBox-43478ac8.js → OrientedBoundingBox-2dd47921.js} +5 -3
- package/Build/Workers/{Plane-c27e1ac6.js → Plane-4c3d403b.js} +1 -1
- package/Build/Workers/{PolygonGeometryLibrary-38a98276.js → PolygonGeometryLibrary-59126025.js} +1 -1
- package/Build/Workers/PolygonPipeline-1fe328c0.js +1344 -0
- package/Build/Workers/{PolylinePipeline-30e4cec9.js → PolylinePipeline-896735cc.js} +1 -1
- package/Build/Workers/{PolylineVolumeGeometryLibrary-90551d26.js → PolylineVolumeGeometryLibrary-9c0639f7.js} +1 -1
- package/Build/Workers/{PrimitivePipeline-558d9cb0.js → PrimitivePipeline-fc1a47ff.js} +1 -1
- package/Build/Workers/{RectangleGeometryLibrary-815c68df.js → RectangleGeometryLibrary-a23c9ebe.js} +1 -1
- package/Build/Workers/{TerrainEncoding-341ead52.js → TerrainEncoding-51b8b33b.js} +1 -1
- package/Build/Workers/Transforms-bc45e707.js +14699 -0
- package/Build/Workers/{WallGeometryLibrary-ccf90976.js → WallGeometryLibrary-007e9883.js} +1 -1
- package/Build/Workers/{WebMercatorProjection-76a3fcc0.js → WebMercatorProjection-13ed1a6e.js} +1 -1
- package/Build/Workers/{arrayRemoveDuplicates-fac118a8.js → arrayRemoveDuplicates-d2061e85.js} +1 -1
- package/Build/Workers/cesiumWorkerBootstrapper.js +1 -1
- package/Build/Workers/combineGeometry.js +1 -1
- package/Build/Workers/createBoxGeometry.js +1 -1
- package/Build/Workers/createBoxOutlineGeometry.js +1 -1
- package/Build/Workers/createCircleGeometry.js +1 -1
- package/Build/Workers/createCircleOutlineGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createCorridorGeometry.js +1 -1
- package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
- package/Build/Workers/createCylinderGeometry.js +1 -1
- package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipseGeometry.js +1 -1
- package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipsoidGeometry.js +1 -1
- package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Build/Workers/createFrustumGeometry.js +1 -1
- package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
- package/Build/Workers/createGeometry.js +1 -1
- package/Build/Workers/createGroundPolylineGeometry.js +1 -1
- package/Build/Workers/createPlaneGeometry.js +1 -1
- package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
- package/Build/Workers/createPolygonGeometry.js +1 -1
- package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createPolylineGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/Build/Workers/createRectangleGeometry.js +1 -1
- package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Build/Workers/createSimplePolylineGeometry.js +1 -1
- package/Build/Workers/createSphereGeometry.js +1 -1
- package/Build/Workers/createSphereOutlineGeometry.js +1 -1
- package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
- package/Build/Workers/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePoints.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVectorTilePolylines.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +5 -8
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +10 -15
- package/Build/Workers/createWallGeometry.js +1 -1
- package/Build/Workers/createWallOutlineGeometry.js +1 -1
- package/Build/Workers/decodeDraco.js +1 -1
- package/Build/Workers/decodeI3S.js +1 -1
- package/Build/Workers/package.js +1 -1
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +291 -191
- package/Source/Core/BingMapsGeocoderService.js +19 -1
- package/Source/Core/CartographicGeocoderService.js +15 -0
- package/Source/Core/CesiumTerrainProvider.js +571 -434
- package/Source/Core/Credit.js +1 -1
- package/Source/Core/CustomHeightmapTerrainProvider.js +12 -0
- package/Source/Core/EllipsoidTerrainProvider.js +17 -10
- package/Source/Core/FrustumGeometry.js +4 -3
- package/Source/Core/GeocoderService.js +32 -1
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +86 -34
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +119 -82
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +17 -2
- package/Source/Core/IonResource.js +14 -3
- package/Source/Core/OpenCageGeocoderService.js +18 -1
- package/Source/Core/OrientedBoundingBox.js +4 -2
- package/Source/Core/OrthographicFrustum.js +13 -0
- package/Source/Core/PeliasGeocoderService.js +14 -1
- package/Source/Core/PerspectiveFrustum.js +14 -0
- package/Source/Core/Request.js +3 -2
- package/Source/Core/RequestScheduler.js +10 -5
- package/Source/Core/Resource.js +230 -236
- package/Source/Core/TerrainProvider.js +9 -14
- package/Source/Core/TileProviderError.js +8 -8
- package/Source/Core/VRTheWorldTerrainProvider.js +193 -124
- package/Source/Core/buildModuleUrl.js +4 -3
- package/Source/Core/createWorldTerrain.js +20 -2
- package/Source/Core/createWorldTerrainAsync.js +48 -0
- package/Source/Core/sampleTerrain.js +9 -10
- package/Source/Core/sampleTerrainMostDetailed.js +66 -72
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +37 -26
- package/Source/DataSources/DataSourceDisplay.js +2 -2
- package/Source/DataSources/Entity.js +6 -1
- package/Source/DataSources/EntityCluster.js +126 -128
- package/Source/DataSources/ModelVisualizer.js +104 -34
- package/Source/DataSources/PolygonGraphics.js +1 -1
- package/Source/Renderer/UniformState.js +3 -2
- package/Source/Renderer/demodernizeShader.js +5 -5
- package/Source/Scene/ArcGisBaseMapType.js +12 -0
- package/Source/Scene/ArcGisMapServerImageryProvider.js +694 -376
- package/Source/Scene/ArcGisMapService.js +83 -0
- package/Source/Scene/BingMapsImageryProvider.js +511 -305
- package/Source/Scene/BufferLoader.js +29 -34
- package/Source/Scene/Camera.js +8 -7
- package/Source/Scene/Cesium3DTile.js +392 -254
- package/Source/Scene/Cesium3DTileBatchTable.js +2 -2
- package/Source/Scene/Cesium3DTileContent.js +16 -0
- package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
- package/Source/Scene/Cesium3DTilePass.js +8 -11
- package/Source/Scene/Cesium3DTileStyleEngine.js +1 -1
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +225 -117
- package/Source/Scene/Cesium3DTileset.js +756 -482
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
- package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
- package/Source/Scene/ClassificationPrimitive.js +7 -0
- package/Source/Scene/Composite3DTileContent.js +69 -26
- package/Source/Scene/CreditDisplay.js +132 -20
- package/Source/Scene/DepthPlane.js +1 -1
- package/Source/Scene/Empty3DTileContent.js +31 -1
- package/Source/Scene/Geometry3DTileContent.js +47 -7
- package/Source/Scene/Globe.js +5 -1
- package/Source/Scene/GlobeSurfaceTile.js +2 -1
- package/Source/Scene/GlobeSurfaceTileProvider.js +53 -30
- package/Source/Scene/GltfBufferViewLoader.js +47 -91
- package/Source/Scene/GltfDracoLoader.js +110 -112
- package/Source/Scene/GltfImageLoader.js +71 -78
- package/Source/Scene/GltfIndexBufferLoader.js +108 -121
- package/Source/Scene/GltfJsonLoader.js +87 -74
- package/Source/Scene/GltfLoader.js +381 -300
- package/Source/Scene/GltfStructuralMetadataLoader.js +109 -110
- package/Source/Scene/GltfTextureLoader.js +97 -96
- package/Source/Scene/GltfVertexBufferLoader.js +128 -133
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +353 -225
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +491 -331
- package/Source/Scene/GridImageryProvider.js +267 -104
- package/Source/Scene/GroundPolylinePrimitive.js +12 -1
- package/Source/Scene/GroundPrimitive.js +8 -1
- package/Source/Scene/I3SDataProvider.js +214 -113
- package/Source/Scene/I3SFeature.js +7 -6
- package/Source/Scene/I3SLayer.js +26 -37
- package/Source/Scene/I3SNode.js +59 -66
- package/Source/Scene/Imagery.js +6 -1
- package/Source/Scene/ImageryLayer.js +299 -48
- package/Source/Scene/ImageryLayerCollection.js +26 -0
- package/Source/Scene/ImageryProvider.js +129 -111
- package/Source/Scene/Implicit3DTileContent.js +72 -23
- package/Source/Scene/ImplicitSubtree.js +66 -45
- package/Source/Scene/IonImageryProvider.js +482 -275
- package/Source/Scene/MapboxImageryProvider.js +272 -112
- package/Source/Scene/MapboxStyleImageryProvider.js +270 -111
- package/Source/Scene/MetadataSchemaLoader.js +26 -36
- package/Source/Scene/Model/B3dmLoader.js +42 -46
- package/Source/Scene/Model/GeoJsonLoader.js +8 -32
- package/Source/Scene/Model/I3dmLoader.js +48 -74
- package/Source/Scene/Model/MaterialPipelineStage.js +12 -12
- package/Source/Scene/Model/Model.js +514 -135
- package/Source/Scene/Model/Model3DTileContent.js +83 -31
- package/Source/Scene/Model/ModelAnimationCollection.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +15 -26
- package/Source/Scene/Model/ModelUtility.js +16 -16
- package/Source/Scene/Model/PntsLoader.js +27 -32
- package/Source/Scene/Model/UniformType.js +1 -1
- package/Source/Scene/Multiple3DTileContent.js +134 -115
- package/Source/Scene/Picking.js +3 -2
- package/Source/Scene/PointCloud.js +11 -19
- package/Source/Scene/Primitive.js +20 -0
- package/Source/Scene/QuadtreePrimitive.js +5 -2
- package/Source/Scene/QuadtreeTileProvider.js +4 -8
- package/Source/Scene/ResourceCache.js +47 -105
- package/Source/Scene/ResourceCacheStatistics.js +24 -58
- package/Source/Scene/ResourceLoader.js +5 -17
- package/Source/Scene/ResourceLoaderState.js +12 -4
- package/Source/Scene/Scene.js +65 -0
- package/Source/Scene/SceneTransforms.js +3 -2
- package/Source/Scene/ScreenSpaceCameraController.js +2 -2
- package/Source/Scene/SingleTileImageryProvider.js +382 -209
- package/Source/Scene/Terrain.js +196 -0
- package/Source/Scene/TileCoordinatesImageryProvider.js +267 -104
- package/Source/Scene/TileMapServiceImageryProvider.js +177 -85
- package/Source/Scene/Tileset3DTileContent.js +47 -5
- package/Source/Scene/TimeDynamicPointCloud.js +15 -2
- package/Source/Scene/UrlTemplateImageryProvider.js +343 -215
- package/Source/Scene/Vector3DTileClampedPolylines.js +96 -84
- package/Source/Scene/Vector3DTileContent.js +47 -22
- package/Source/Scene/Vector3DTileGeometry.js +57 -52
- package/Source/Scene/Vector3DTilePoints.js +97 -81
- package/Source/Scene/Vector3DTilePolygons.js +118 -117
- package/Source/Scene/Vector3DTilePolylines.js +86 -82
- package/Source/Scene/Vector3DTilePrimitive.js +0 -1
- package/Source/Scene/VoxelContent.js +61 -63
- package/Source/Scene/VoxelPrimitive.js +39 -91
- package/Source/Scene/VoxelProvider.js +2 -2
- package/Source/Scene/WebMapServiceImageryProvider.js +272 -111
- package/Source/Scene/WebMapTileServiceImageryProvider.js +270 -107
- package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
- package/Source/Scene/createOsmBuildings.js +6 -0
- package/Source/Scene/createOsmBuildingsAsync.js +82 -0
- package/Source/Scene/createWorldImagery.js +14 -5
- package/Source/Scene/createWorldImageryAsync.js +39 -0
- package/Source/Shaders/AtmosphereCommon.glsl +51 -8
- package/Source/Shaders/AtmosphereCommon.js +51 -8
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +1 -1
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +1 -1
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +3 -3
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +3 -3
- package/Source/Widget/CesiumWidget.js +67 -27
- package/index.d.ts +2429 -1475
- package/index.js +324 -315
- package/package.json +4 -4
- package/Build/Workers/PolygonPipeline-d31ff61c.js +0 -1345
- package/Build/Workers/Transforms-9e9df299.js +0 -14714
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import Cartesian2 from "../Core/Cartesian2.js";
|
|
2
2
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
3
3
|
import Cartographic from "../Core/Cartographic.js";
|
|
4
|
+
import Check from "../Core/Check.js";
|
|
4
5
|
import Credit from "../Core/Credit.js";
|
|
5
6
|
import defaultValue from "../Core/defaultValue.js";
|
|
6
7
|
import defined from "../Core/defined.js";
|
|
7
|
-
import
|
|
8
|
+
import deprecationWarning from "../Core/deprecationWarning.js";
|
|
8
9
|
import Event from "../Core/Event.js";
|
|
9
10
|
import GeographicProjection from "../Core/GeographicProjection.js";
|
|
10
11
|
import GeographicTilingScheme from "../Core/GeographicTilingScheme.js";
|
|
@@ -15,17 +16,20 @@ import RuntimeError from "../Core/RuntimeError.js";
|
|
|
15
16
|
import TileProviderError from "../Core/TileProviderError.js";
|
|
16
17
|
import WebMercatorProjection from "../Core/WebMercatorProjection.js";
|
|
17
18
|
import WebMercatorTilingScheme from "../Core/WebMercatorTilingScheme.js";
|
|
19
|
+
import ArcGisMapService from "./ArcGisMapService.js";
|
|
18
20
|
import DiscardMissingTileImagePolicy from "./DiscardMissingTileImagePolicy.js";
|
|
19
21
|
import ImageryLayerFeatureInfo from "./ImageryLayerFeatureInfo.js";
|
|
20
22
|
import ImageryProvider from "./ImageryProvider.js";
|
|
23
|
+
import ArcGisBaseMapType from "./ArcGisBaseMapType.js";
|
|
24
|
+
import DeveloperError from "../Core/DeveloperError.js";
|
|
21
25
|
|
|
22
26
|
/**
|
|
23
27
|
* @typedef {object} ArcGisMapServerImageryProvider.ConstructorOptions
|
|
24
28
|
*
|
|
25
29
|
* Initialization options for the ArcGisMapServerImageryProvider constructor
|
|
26
30
|
*
|
|
27
|
-
* @property {Resource|string} url The URL of the ArcGIS MapServer service.
|
|
28
|
-
* @property {string} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service.
|
|
31
|
+
* @property {Resource|string} [url] The URL of the ArcGIS MapServer service. Deprecated.
|
|
32
|
+
* @property {string} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service. Deprecated.
|
|
29
33
|
* @property {TileDiscardPolicy} [tileDiscardPolicy] The policy that determines if a tile
|
|
30
34
|
* is invalid and should be discarded. If this value is not specified, a default
|
|
31
35
|
* {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
|
|
@@ -38,8 +42,7 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
38
42
|
* that no tiles are discarded, construct and pass a {@link NeverTileDiscardPolicy} for this
|
|
39
43
|
* parameter.
|
|
40
44
|
* @property {boolean} [usePreCachedTilesIfAvailable=true] If true, the server's pre-cached
|
|
41
|
-
* tiles are used if they are available.
|
|
42
|
-
* 'export' service is used.
|
|
45
|
+
* tiles are used if they are available. Exporting Tiles is only supported with deprecated APIs.
|
|
43
46
|
* @property {string} [layers] A comma-separated list of the layers to show, or undefined if all layers should be shown.
|
|
44
47
|
* @property {boolean} [enablePickFeatures=true] If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will invoke
|
|
45
48
|
* the Identify service on the MapServer and return the features included in the response. If false,
|
|
@@ -58,142 +61,278 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
58
61
|
* @property {number} [tileHeight=256] The height of each tile in pixels. This parameter is ignored when accessing a tiled server.
|
|
59
62
|
* @property {number} [maximumLevel] The maximum tile level to request, or undefined if there is no maximum. This parameter is ignored when accessing
|
|
60
63
|
* a tiled server.
|
|
64
|
+
*
|
|
65
|
+
*
|
|
61
66
|
*/
|
|
62
67
|
|
|
63
68
|
/**
|
|
64
|
-
*
|
|
65
|
-
* used, if available.
|
|
69
|
+
* Used to track creation details while fetching initial metadata
|
|
66
70
|
*
|
|
67
|
-
* @alias ArcGisMapServerImageryProvider
|
|
68
71
|
* @constructor
|
|
72
|
+
* @private
|
|
69
73
|
*
|
|
70
|
-
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} options
|
|
71
|
-
*
|
|
72
|
-
* @see BingMapsImageryProvider
|
|
73
|
-
* @see GoogleEarthEnterpriseMapsProvider
|
|
74
|
-
* @see OpenStreetMapImageryProvider
|
|
75
|
-
* @see SingleTileImageryProvider
|
|
76
|
-
* @see TileMapServiceImageryProvider
|
|
77
|
-
* @see WebMapServiceImageryProvider
|
|
78
|
-
* @see WebMapTileServiceImageryProvider
|
|
79
|
-
* @see UrlTemplateImageryProvider
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
* @example
|
|
83
|
-
* const esri = new Cesium.ArcGisMapServerImageryProvider({
|
|
84
|
-
* url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer'
|
|
85
|
-
* });
|
|
86
|
-
*
|
|
87
|
-
* @see {@link https://developers.arcgis.com/rest/|ArcGIS Server REST API}
|
|
88
|
-
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
74
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} options An object describing initialization options
|
|
89
75
|
*/
|
|
90
|
-
function
|
|
91
|
-
|
|
76
|
+
function ImageryProviderBuilder(options) {
|
|
77
|
+
this.useTiles = defaultValue(options.usePreCachedTilesIfAvailable, true);
|
|
92
78
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
79
|
+
const ellipsoid = options.ellipsoid;
|
|
80
|
+
this.tilingScheme = defaultValue(
|
|
81
|
+
options.tilingScheme,
|
|
82
|
+
new GeographicTilingScheme({ ellipsoid: ellipsoid })
|
|
83
|
+
);
|
|
84
|
+
this.rectangle = defaultValue(options.rectangle, this.tilingScheme.rectangle);
|
|
85
|
+
this.ellipsoid = ellipsoid;
|
|
86
|
+
|
|
87
|
+
let credit = options.credit;
|
|
88
|
+
if (typeof credit === "string") {
|
|
89
|
+
credit = new Credit(credit);
|
|
96
90
|
}
|
|
97
|
-
|
|
91
|
+
this.credit = credit;
|
|
92
|
+
this.tileCredits = undefined;
|
|
93
|
+
this.tileDiscardPolicy = options.tileDiscardPolicy;
|
|
98
94
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
* @type {number|undefined}
|
|
104
|
-
* @default undefined
|
|
105
|
-
*/
|
|
106
|
-
this.defaultAlpha = undefined;
|
|
95
|
+
this.tileWidth = defaultValue(options.tileWidth, 256);
|
|
96
|
+
this.tileHeight = defaultValue(options.tileHeight, 256);
|
|
97
|
+
this.maximumLevel = options.maximumLevel;
|
|
98
|
+
}
|
|
107
99
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Complete ArcGisMapServerImageryProvider creation based on builder values.
|
|
102
|
+
*
|
|
103
|
+
* @private
|
|
104
|
+
*
|
|
105
|
+
* @param {ArcGisMapServerImageryProvider} provider
|
|
106
|
+
*/
|
|
107
|
+
ImageryProviderBuilder.prototype.build = function (provider) {
|
|
108
|
+
provider._useTiles = this.useTiles;
|
|
109
|
+
provider._tilingScheme = this.tilingScheme;
|
|
110
|
+
provider._rectangle = this.rectangle;
|
|
111
|
+
provider._credit = this.credit;
|
|
112
|
+
provider._tileCredits = this.tileCredits;
|
|
113
|
+
provider._tileDiscardPolicy = this.tileDiscardPolicy;
|
|
114
|
+
provider._tileWidth = this.tileWidth;
|
|
115
|
+
provider._tileHeight = this.tileHeight;
|
|
116
|
+
provider._maximumLevel = this.maximumLevel;
|
|
117
|
+
|
|
118
|
+
// Install the default tile discard policy if none has been supplied.
|
|
119
|
+
if (this.useTiles && !defined(this.tileDiscardPolicy)) {
|
|
120
|
+
provider._tileDiscardPolicy = new DiscardMissingTileImagePolicy({
|
|
121
|
+
missingImageUrl: buildImageResource(provider, 0, 0, this.maximumLevel)
|
|
122
|
+
.url,
|
|
123
|
+
pixelsToCheck: [
|
|
124
|
+
new Cartesian2(0, 0),
|
|
125
|
+
new Cartesian2(200, 20),
|
|
126
|
+
new Cartesian2(20, 200),
|
|
127
|
+
new Cartesian2(80, 110),
|
|
128
|
+
new Cartesian2(160, 130),
|
|
129
|
+
],
|
|
130
|
+
disableCheckIfAllPixelsAreTransparent: true,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
116
133
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
* 1.0 representing fully opaque.
|
|
120
|
-
*
|
|
121
|
-
* @type {number|undefined}
|
|
122
|
-
* @default undefined
|
|
123
|
-
*/
|
|
124
|
-
this.defaultDayAlpha = undefined;
|
|
134
|
+
provider._ready = true;
|
|
135
|
+
};
|
|
125
136
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this.defaultBrightness = undefined;
|
|
137
|
+
function metadataSuccess(data, imageryProviderBuilder) {
|
|
138
|
+
const tileInfo = data.tileInfo;
|
|
139
|
+
if (!defined(tileInfo)) {
|
|
140
|
+
imageryProviderBuilder.useTiles = false;
|
|
141
|
+
} else {
|
|
142
|
+
imageryProviderBuilder.tileWidth = tileInfo.rows;
|
|
143
|
+
imageryProviderBuilder.tileHeight = tileInfo.cols;
|
|
134
144
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
145
|
+
if (
|
|
146
|
+
tileInfo.spatialReference.wkid === 102100 ||
|
|
147
|
+
tileInfo.spatialReference.wkid === 102113
|
|
148
|
+
) {
|
|
149
|
+
imageryProviderBuilder.tilingScheme = new WebMercatorTilingScheme({
|
|
150
|
+
ellipsoid: imageryProviderBuilder.ellipsoid,
|
|
151
|
+
});
|
|
152
|
+
} else if (data.tileInfo.spatialReference.wkid === 4326) {
|
|
153
|
+
imageryProviderBuilder.tilingScheme = new GeographicTilingScheme({
|
|
154
|
+
ellipsoid: imageryProviderBuilder.ellipsoid,
|
|
155
|
+
});
|
|
156
|
+
} else {
|
|
157
|
+
const message = `Tile spatial reference WKID ${data.tileInfo.spatialReference.wkid} is not supported.`;
|
|
158
|
+
throw new RuntimeError(message);
|
|
159
|
+
}
|
|
160
|
+
imageryProviderBuilder.maximumLevel = data.tileInfo.lods.length - 1;
|
|
143
161
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
162
|
+
if (defined(data.fullExtent)) {
|
|
163
|
+
if (
|
|
164
|
+
defined(data.fullExtent.spatialReference) &&
|
|
165
|
+
defined(data.fullExtent.spatialReference.wkid)
|
|
166
|
+
) {
|
|
167
|
+
if (
|
|
168
|
+
data.fullExtent.spatialReference.wkid === 102100 ||
|
|
169
|
+
data.fullExtent.spatialReference.wkid === 102113
|
|
170
|
+
) {
|
|
171
|
+
const projection = new WebMercatorProjection();
|
|
172
|
+
const extent = data.fullExtent;
|
|
173
|
+
const sw = projection.unproject(
|
|
174
|
+
new Cartesian3(
|
|
175
|
+
Math.max(
|
|
176
|
+
extent.xmin,
|
|
177
|
+
-imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
178
|
+
Math.PI
|
|
179
|
+
),
|
|
180
|
+
Math.max(
|
|
181
|
+
extent.ymin,
|
|
182
|
+
-imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
183
|
+
Math.PI
|
|
184
|
+
),
|
|
185
|
+
0.0
|
|
186
|
+
)
|
|
187
|
+
);
|
|
188
|
+
const ne = projection.unproject(
|
|
189
|
+
new Cartesian3(
|
|
190
|
+
Math.min(
|
|
191
|
+
extent.xmax,
|
|
192
|
+
imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
193
|
+
Math.PI
|
|
194
|
+
),
|
|
195
|
+
Math.min(
|
|
196
|
+
extent.ymax,
|
|
197
|
+
imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
198
|
+
Math.PI
|
|
199
|
+
),
|
|
200
|
+
0.0
|
|
201
|
+
)
|
|
202
|
+
);
|
|
203
|
+
imageryProviderBuilder.rectangle = new Rectangle(
|
|
204
|
+
sw.longitude,
|
|
205
|
+
sw.latitude,
|
|
206
|
+
ne.longitude,
|
|
207
|
+
ne.latitude
|
|
208
|
+
);
|
|
209
|
+
} else if (data.fullExtent.spatialReference.wkid === 4326) {
|
|
210
|
+
imageryProviderBuilder.rectangle = Rectangle.fromDegrees(
|
|
211
|
+
data.fullExtent.xmin,
|
|
212
|
+
data.fullExtent.ymin,
|
|
213
|
+
data.fullExtent.xmax,
|
|
214
|
+
data.fullExtent.ymax
|
|
215
|
+
);
|
|
216
|
+
} else {
|
|
217
|
+
const extentMessage = `fullExtent.spatialReference WKID ${data.fullExtent.spatialReference.wkid} is not supported.`;
|
|
218
|
+
throw new RuntimeError(extentMessage);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
} else {
|
|
222
|
+
imageryProviderBuilder.rectangle =
|
|
223
|
+
imageryProviderBuilder.tilingScheme.rectangle;
|
|
224
|
+
}
|
|
151
225
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
* saturation while greater than 1.0 increases it.
|
|
155
|
-
*
|
|
156
|
-
* @type {number|undefined}
|
|
157
|
-
* @default undefined
|
|
158
|
-
*/
|
|
159
|
-
this.defaultSaturation = undefined;
|
|
226
|
+
imageryProviderBuilder.useTiles = true;
|
|
227
|
+
}
|
|
160
228
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
229
|
+
if (defined(data.copyrightText) && data.copyrightText.length > 0) {
|
|
230
|
+
if (defined(imageryProviderBuilder.credit)) {
|
|
231
|
+
imageryProviderBuilder.tileCredits = [new Credit(data.copyrightText)];
|
|
232
|
+
} else {
|
|
233
|
+
imageryProviderBuilder.credit = new Credit(data.copyrightText);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
168
237
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
*/
|
|
175
|
-
this.defaultMinificationFilter = undefined;
|
|
238
|
+
function metadataFailure(resource, error, provider) {
|
|
239
|
+
let message = `An error occurred while accessing ${resource.url}`;
|
|
240
|
+
if (defined(error) && defined(error.message)) {
|
|
241
|
+
message += `: ${error.message}`;
|
|
242
|
+
}
|
|
176
243
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
244
|
+
// When readyPromise is deprecated, TileProviderError.reportError,
|
|
245
|
+
// and related parameters can be removed
|
|
246
|
+
TileProviderError.reportError(
|
|
247
|
+
undefined,
|
|
248
|
+
provider,
|
|
249
|
+
defined(provider) ? provider._errorEvent : undefined,
|
|
250
|
+
message,
|
|
251
|
+
undefined,
|
|
252
|
+
undefined,
|
|
253
|
+
undefined,
|
|
254
|
+
error
|
|
255
|
+
);
|
|
184
256
|
|
|
185
|
-
|
|
186
|
-
|
|
257
|
+
throw new RuntimeError(message);
|
|
258
|
+
}
|
|
187
259
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
260
|
+
async function requestMetadata(resource, imageryProviderBuilder, provider) {
|
|
261
|
+
const jsonResource = resource.getDerivedResource({
|
|
262
|
+
queryParameters: {
|
|
263
|
+
f: "json",
|
|
264
|
+
},
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
try {
|
|
268
|
+
const data = await jsonResource.fetchJson();
|
|
269
|
+
metadataSuccess(data, imageryProviderBuilder);
|
|
270
|
+
} catch (error) {
|
|
271
|
+
metadataFailure(resource, error, provider);
|
|
192
272
|
}
|
|
273
|
+
}
|
|
193
274
|
|
|
194
|
-
|
|
195
|
-
|
|
275
|
+
/**
|
|
276
|
+
* <div class="notice">
|
|
277
|
+
* This object is normally not instantiated directly, use {@link ArcGisMapServerImageryProvider.fromBasemapType} or {@link ArcGisMapServerImageryProvider.fromUrl}.
|
|
278
|
+
* </div>
|
|
279
|
+
*
|
|
280
|
+
* Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
|
|
281
|
+
* used, if available.
|
|
282
|
+
*
|
|
283
|
+
* <br/>
|
|
284
|
+
*
|
|
285
|
+
* An {@link https://developers.arcgis.com/documentation/mapping-apis-and-services/security| ArcGIS Access Token } is required to authenticate requests to an ArcGIS Image Tile service.
|
|
286
|
+
* To access secure ArcGIS resources, it's required to create an ArcGIS developer
|
|
287
|
+
* account or an ArcGIS online account, then implement an authentication method to obtain an access token.
|
|
288
|
+
*
|
|
289
|
+
* @alias ArcGisMapServerImageryProvider
|
|
290
|
+
* @constructor
|
|
291
|
+
*
|
|
292
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options
|
|
293
|
+
*
|
|
294
|
+
* @see ArcGisMapServerImageryProvider.fromBasemapType
|
|
295
|
+
* @see ArcGisMapServerImageryProvider.fromUrl
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* // Set the default access token for accessing ArcGIS Image Tile service
|
|
299
|
+
* Cesium.ArcGisMapService.defaultAccessToken = "<ArcGIS Access Token>";
|
|
300
|
+
*
|
|
301
|
+
* // Add a base layer from a default ArcGIS basemap
|
|
302
|
+
* const viewer = new Cesium.Viewer("cesiumContainer", {
|
|
303
|
+
* baseLayer: Cesium.ImageryLayer.fromProviderAsync(
|
|
304
|
+
* Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
|
|
305
|
+
* Cesium.ArcGisBaseMapType.SATELLITE
|
|
306
|
+
* )
|
|
307
|
+
* ),
|
|
308
|
+
* });
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* // Create an imagery provider from the url directly
|
|
312
|
+
* const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
|
|
313
|
+
* "https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer", {
|
|
314
|
+
* token: "<ArcGIS Access Token>"
|
|
315
|
+
* });
|
|
316
|
+
*
|
|
317
|
+
* @see {@link https://developers.arcgis.com/rest/|ArcGIS Server REST API}
|
|
318
|
+
* @see {@link https://developers.arcgis.com/documentation/mapping-apis-and-services/security| ArcGIS Access Token }
|
|
319
|
+
|
|
320
|
+
*/
|
|
321
|
+
function ArcGisMapServerImageryProvider(options) {
|
|
322
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
323
|
+
|
|
324
|
+
this._defaultAlpha = undefined;
|
|
325
|
+
this._defaultNightAlpha = undefined;
|
|
326
|
+
this._defaultDayAlpha = undefined;
|
|
327
|
+
this._defaultBrightness = undefined;
|
|
328
|
+
this._defaultContrast = undefined;
|
|
329
|
+
this._defaultHue = undefined;
|
|
330
|
+
this._defaultSaturation = undefined;
|
|
331
|
+
this._defaultGamma = undefined;
|
|
332
|
+
this._defaultMinificationFilter = undefined;
|
|
333
|
+
this._defaultMagnificationFilter = undefined;
|
|
196
334
|
|
|
335
|
+
this._tileDiscardPolicy = options.tileDiscardPolicy;
|
|
197
336
|
this._tileWidth = defaultValue(options.tileWidth, 256);
|
|
198
337
|
this._tileHeight = defaultValue(options.tileHeight, 256);
|
|
199
338
|
this._maximumLevel = options.maximumLevel;
|
|
@@ -207,12 +346,13 @@ function ArcGisMapServerImageryProvider(options) {
|
|
|
207
346
|
this._tilingScheme.rectangle
|
|
208
347
|
);
|
|
209
348
|
this._layers = options.layers;
|
|
349
|
+
this._credit = options.credit;
|
|
350
|
+
this._tileCredits = undefined;
|
|
210
351
|
|
|
211
352
|
let credit = options.credit;
|
|
212
353
|
if (typeof credit === "string") {
|
|
213
354
|
credit = new Credit(credit);
|
|
214
355
|
}
|
|
215
|
-
this._credit = credit;
|
|
216
356
|
|
|
217
357
|
/**
|
|
218
358
|
* Gets or sets a value indicating whether feature picking is enabled. If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will
|
|
@@ -228,175 +368,150 @@ function ArcGisMapServerImageryProvider(options) {
|
|
|
228
368
|
|
|
229
369
|
this._ready = false;
|
|
230
370
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
371
|
+
if (defined(options.url)) {
|
|
372
|
+
deprecationWarning(
|
|
373
|
+
"ArcGisMapServerImageryProvider options.url",
|
|
374
|
+
"options.url was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
|
|
375
|
+
);
|
|
376
|
+
const resource = Resource.createIfNeeded(options.url);
|
|
377
|
+
resource.appendForwardSlash();
|
|
378
|
+
|
|
379
|
+
this._tileDiscardPolicy = options.tileDiscardPolicy;
|
|
234
380
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
381
|
+
if (defined(options.token)) {
|
|
382
|
+
resource.setQueryParameters({
|
|
383
|
+
token: options.token,
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
this._resource = resource;
|
|
388
|
+
const imageryProviderBuilder = new ImageryProviderBuilder(options);
|
|
389
|
+
if (imageryProviderBuilder.useTiles) {
|
|
390
|
+
this._readyPromise = requestMetadata(
|
|
391
|
+
resource,
|
|
392
|
+
imageryProviderBuilder,
|
|
393
|
+
this
|
|
394
|
+
).then(() => {
|
|
395
|
+
imageryProviderBuilder.build(this);
|
|
396
|
+
return true;
|
|
397
|
+
});
|
|
239
398
|
} else {
|
|
240
|
-
|
|
241
|
-
|
|
399
|
+
imageryProviderBuilder.build(this);
|
|
400
|
+
this._readyPromise = Promise.resolve(true);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
242
404
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
405
|
+
/**
|
|
406
|
+
* Creates an {@link ImageryProvider} which provides tiled imagery from an ArcGIS base map.
|
|
407
|
+
* @param {ArcGisBaseMapType} style The style of the ArcGIS base map imagery. Valid options are {@link ArcGisBaseMapType.SATELLITE}, {@link ArcGisBaseMapType.OCEANS}, and {@link ArcGisBaseMapType.HILLSHADE}.
|
|
408
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options.
|
|
409
|
+
* @returns {Promise<ArcGisMapServerImageryProvider>} A promise that resolves to the created ArcGisMapServerImageryProvider.
|
|
410
|
+
*
|
|
411
|
+
* @example
|
|
412
|
+
* // Set the default access token for accessing ArcGIS Image Tile service
|
|
413
|
+
* Cesium.ArcGisMapService.defaultAccessToken = "<ArcGIS Access Token>";
|
|
414
|
+
*
|
|
415
|
+
* // Add a base layer from a default ArcGIS basemap
|
|
416
|
+
* const provider = await Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
|
|
417
|
+
* Cesium.ArcGisBaseMapType.SATELLITE);
|
|
418
|
+
*
|
|
419
|
+
* @example
|
|
420
|
+
* // Add a base layer from a default ArcGIS Basemap
|
|
421
|
+
* const viewer = new Cesium.Viewer("cesiumContainer", {
|
|
422
|
+
* baseLayer: Cesium.ImageryLayer.fromProviderAsync(
|
|
423
|
+
* Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
|
|
424
|
+
* Cesium.ArcGisBaseMapType.HILLSHADE, {
|
|
425
|
+
* token: "<ArcGIS Access Token>"
|
|
426
|
+
* }
|
|
427
|
+
* )
|
|
428
|
+
* ),
|
|
429
|
+
* });
|
|
430
|
+
*/
|
|
431
|
+
|
|
432
|
+
ArcGisMapServerImageryProvider.fromBasemapType = async function (
|
|
433
|
+
style,
|
|
434
|
+
options
|
|
435
|
+
) {
|
|
436
|
+
//>>includeStart('debug', pragmas.debug);
|
|
437
|
+
Check.defined("style", style);
|
|
438
|
+
//>>includeEnd('debug');
|
|
439
|
+
|
|
440
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
441
|
+
let accessToken;
|
|
442
|
+
let server;
|
|
443
|
+
let warningCredit;
|
|
444
|
+
switch (style) {
|
|
445
|
+
case ArcGisBaseMapType.SATELLITE:
|
|
446
|
+
{
|
|
447
|
+
accessToken = defaultValue(
|
|
448
|
+
options.token,
|
|
449
|
+
ArcGisMapService.defaultAccessToken
|
|
450
|
+
);
|
|
451
|
+
server = Resource.createIfNeeded(
|
|
452
|
+
defaultValue(options.url, ArcGisMapService.defaultWorldImageryServer)
|
|
453
|
+
);
|
|
454
|
+
server.appendForwardSlash();
|
|
455
|
+
const defaultTokenCredit = ArcGisMapService.getDefaultTokenCredit(
|
|
456
|
+
accessToken
|
|
264
457
|
);
|
|
265
|
-
if (
|
|
266
|
-
|
|
458
|
+
if (defined(defaultTokenCredit)) {
|
|
459
|
+
warningCredit = Credit.clone(defaultTokenCredit);
|
|
267
460
|
}
|
|
268
|
-
return Promise.reject(new RuntimeError(message));
|
|
269
461
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
)
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
extent.xmin,
|
|
287
|
-
-that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
288
|
-
),
|
|
289
|
-
Math.max(
|
|
290
|
-
extent.ymin,
|
|
291
|
-
-that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
292
|
-
),
|
|
293
|
-
0.0
|
|
294
|
-
)
|
|
295
|
-
);
|
|
296
|
-
const ne = projection.unproject(
|
|
297
|
-
new Cartesian3(
|
|
298
|
-
Math.min(
|
|
299
|
-
extent.xmax,
|
|
300
|
-
that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
301
|
-
),
|
|
302
|
-
Math.min(
|
|
303
|
-
extent.ymax,
|
|
304
|
-
that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
305
|
-
),
|
|
306
|
-
0.0
|
|
307
|
-
)
|
|
308
|
-
);
|
|
309
|
-
that._rectangle = new Rectangle(
|
|
310
|
-
sw.longitude,
|
|
311
|
-
sw.latitude,
|
|
312
|
-
ne.longitude,
|
|
313
|
-
ne.latitude
|
|
314
|
-
);
|
|
315
|
-
} else if (data.fullExtent.spatialReference.wkid === 4326) {
|
|
316
|
-
that._rectangle = Rectangle.fromDegrees(
|
|
317
|
-
data.fullExtent.xmin,
|
|
318
|
-
data.fullExtent.ymin,
|
|
319
|
-
data.fullExtent.xmax,
|
|
320
|
-
data.fullExtent.ymax
|
|
321
|
-
);
|
|
322
|
-
} else {
|
|
323
|
-
const extentMessage = `fullExtent.spatialReference WKID ${data.fullExtent.spatialReference.wkid} is not supported.`;
|
|
324
|
-
metadataError = TileProviderError.reportError(
|
|
325
|
-
metadataError,
|
|
326
|
-
that,
|
|
327
|
-
that._errorEvent,
|
|
328
|
-
extentMessage,
|
|
329
|
-
undefined,
|
|
330
|
-
undefined,
|
|
331
|
-
undefined
|
|
332
|
-
);
|
|
333
|
-
if (metadataError.retry) {
|
|
334
|
-
return requestMetadata();
|
|
335
|
-
}
|
|
336
|
-
return Promise.reject(new RuntimeError(extentMessage));
|
|
337
|
-
}
|
|
462
|
+
break;
|
|
463
|
+
case ArcGisBaseMapType.OCEANS:
|
|
464
|
+
{
|
|
465
|
+
accessToken = defaultValue(
|
|
466
|
+
options.token,
|
|
467
|
+
ArcGisMapService.defaultAccessToken
|
|
468
|
+
);
|
|
469
|
+
server = Resource.createIfNeeded(
|
|
470
|
+
defaultValue(options.url, ArcGisMapService.defaultWorldOceanServer)
|
|
471
|
+
);
|
|
472
|
+
server.appendForwardSlash();
|
|
473
|
+
const defaultTokenCredit = ArcGisMapService.getDefaultTokenCredit(
|
|
474
|
+
accessToken
|
|
475
|
+
);
|
|
476
|
+
if (defined(defaultTokenCredit)) {
|
|
477
|
+
warningCredit = Credit.clone(defaultTokenCredit);
|
|
338
478
|
}
|
|
339
|
-
} else {
|
|
340
|
-
that._rectangle = that._tilingScheme.rectangle;
|
|
341
479
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
480
|
+
break;
|
|
481
|
+
case ArcGisBaseMapType.HILLSHADE:
|
|
482
|
+
{
|
|
483
|
+
accessToken = defaultValue(
|
|
484
|
+
options.token,
|
|
485
|
+
ArcGisMapService.defaultAccessToken
|
|
486
|
+
);
|
|
487
|
+
server = Resource.createIfNeeded(
|
|
488
|
+
defaultValue(
|
|
489
|
+
options.url,
|
|
490
|
+
ArcGisMapService.defaultWorldHillshadeServer
|
|
491
|
+
)
|
|
492
|
+
);
|
|
493
|
+
server.appendForwardSlash();
|
|
494
|
+
const defaultTokenCredit = ArcGisMapService.getDefaultTokenCredit(
|
|
495
|
+
accessToken
|
|
496
|
+
);
|
|
497
|
+
if (defined(defaultTokenCredit)) {
|
|
498
|
+
warningCredit = Credit.clone(defaultTokenCredit);
|
|
499
|
+
}
|
|
357
500
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
that._credit = new Credit(data.copyrightText);
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
that._ready = true;
|
|
367
|
-
TileProviderError.reportSuccess(metadataError);
|
|
368
|
-
return Promise.resolve(true);
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
function metadataFailure(e) {
|
|
372
|
-
const message = `An error occurred while accessing ${that._resource.url}.`;
|
|
373
|
-
metadataError = TileProviderError.reportError(
|
|
374
|
-
metadataError,
|
|
375
|
-
that,
|
|
376
|
-
that._errorEvent,
|
|
377
|
-
message,
|
|
378
|
-
undefined,
|
|
379
|
-
undefined,
|
|
380
|
-
undefined
|
|
381
|
-
);
|
|
382
|
-
return Promise.reject(new RuntimeError(message));
|
|
383
|
-
}
|
|
384
|
-
function requestMetadata() {
|
|
385
|
-
const resource = that._resource.getDerivedResource({
|
|
386
|
-
queryParameters: {
|
|
387
|
-
f: "json",
|
|
388
|
-
},
|
|
389
|
-
});
|
|
390
|
-
return resource.fetchJsonp().then(metadataSuccess).catch(metadataFailure);
|
|
501
|
+
break;
|
|
502
|
+
default:
|
|
503
|
+
//>>includeStart('debug', pragmas.debug);
|
|
504
|
+
throw new DeveloperError(`Unsupported basemap type: ${style}`);
|
|
505
|
+
//>>includeEnd('debug');
|
|
391
506
|
}
|
|
392
507
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
}
|
|
399
|
-
}
|
|
508
|
+
return ArcGisMapServerImageryProvider.fromUrl(server, {
|
|
509
|
+
...options,
|
|
510
|
+
token: accessToken,
|
|
511
|
+
credit: warningCredit,
|
|
512
|
+
usePreCachedTilesIfAvailable: true, // ArcGIS Base Map Service Layers only support Tiled views
|
|
513
|
+
});
|
|
514
|
+
};
|
|
400
515
|
|
|
401
516
|
function buildImageResource(imageryProvider, x, y, level, request) {
|
|
402
517
|
let resource;
|
|
@@ -440,7 +555,6 @@ function buildImageResource(imageryProvider, x, y, level, request) {
|
|
|
440
555
|
queryParameters: query,
|
|
441
556
|
});
|
|
442
557
|
}
|
|
443
|
-
|
|
444
558
|
return resource;
|
|
445
559
|
}
|
|
446
560
|
|
|
@@ -482,127 +596,73 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
482
596
|
},
|
|
483
597
|
|
|
484
598
|
/**
|
|
485
|
-
* Gets the width of each tile, in pixels.
|
|
486
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
599
|
+
* Gets the width of each tile, in pixels.
|
|
487
600
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
488
601
|
* @type {number}
|
|
489
602
|
* @readonly
|
|
490
603
|
*/
|
|
491
604
|
tileWidth: {
|
|
492
605
|
get: function () {
|
|
493
|
-
//>>includeStart('debug', pragmas.debug);
|
|
494
|
-
if (!this._ready) {
|
|
495
|
-
throw new DeveloperError(
|
|
496
|
-
"tileWidth must not be called before the imagery provider is ready."
|
|
497
|
-
);
|
|
498
|
-
}
|
|
499
|
-
//>>includeEnd('debug');
|
|
500
|
-
|
|
501
606
|
return this._tileWidth;
|
|
502
607
|
},
|
|
503
608
|
},
|
|
504
609
|
|
|
505
610
|
/**
|
|
506
|
-
* Gets the height of each tile, in pixels.
|
|
507
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
611
|
+
* Gets the height of each tile, in pixels.
|
|
508
612
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
509
613
|
* @type {number}
|
|
510
614
|
* @readonly
|
|
511
615
|
*/
|
|
512
616
|
tileHeight: {
|
|
513
617
|
get: function () {
|
|
514
|
-
//>>includeStart('debug', pragmas.debug);
|
|
515
|
-
if (!this._ready) {
|
|
516
|
-
throw new DeveloperError(
|
|
517
|
-
"tileHeight must not be called before the imagery provider is ready."
|
|
518
|
-
);
|
|
519
|
-
}
|
|
520
|
-
//>>includeEnd('debug');
|
|
521
|
-
|
|
522
618
|
return this._tileHeight;
|
|
523
619
|
},
|
|
524
620
|
},
|
|
525
621
|
|
|
526
622
|
/**
|
|
527
|
-
* Gets the maximum level-of-detail that can be requested.
|
|
528
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
623
|
+
* Gets the maximum level-of-detail that can be requested.
|
|
529
624
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
530
625
|
* @type {number|undefined}
|
|
531
626
|
* @readonly
|
|
532
627
|
*/
|
|
533
628
|
maximumLevel: {
|
|
534
629
|
get: function () {
|
|
535
|
-
//>>includeStart('debug', pragmas.debug);
|
|
536
|
-
if (!this._ready) {
|
|
537
|
-
throw new DeveloperError(
|
|
538
|
-
"maximumLevel must not be called before the imagery provider is ready."
|
|
539
|
-
);
|
|
540
|
-
}
|
|
541
|
-
//>>includeEnd('debug');
|
|
542
|
-
|
|
543
630
|
return this._maximumLevel;
|
|
544
631
|
},
|
|
545
632
|
},
|
|
546
633
|
|
|
547
634
|
/**
|
|
548
|
-
* Gets the minimum level-of-detail that can be requested.
|
|
549
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
635
|
+
* Gets the minimum level-of-detail that can be requested.
|
|
550
636
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
551
637
|
* @type {number}
|
|
552
638
|
* @readonly
|
|
553
639
|
*/
|
|
554
640
|
minimumLevel: {
|
|
555
641
|
get: function () {
|
|
556
|
-
//>>includeStart('debug', pragmas.debug);
|
|
557
|
-
if (!this._ready) {
|
|
558
|
-
throw new DeveloperError(
|
|
559
|
-
"minimumLevel must not be called before the imagery provider is ready."
|
|
560
|
-
);
|
|
561
|
-
}
|
|
562
|
-
//>>includeEnd('debug');
|
|
563
|
-
|
|
564
642
|
return 0;
|
|
565
643
|
},
|
|
566
644
|
},
|
|
567
645
|
|
|
568
646
|
/**
|
|
569
|
-
* Gets the tiling scheme used by this provider.
|
|
570
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
647
|
+
* Gets the tiling scheme used by this provider.
|
|
571
648
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
572
649
|
* @type {TilingScheme}
|
|
573
650
|
* @readonly
|
|
574
651
|
*/
|
|
575
652
|
tilingScheme: {
|
|
576
653
|
get: function () {
|
|
577
|
-
//>>includeStart('debug', pragmas.debug);
|
|
578
|
-
if (!this._ready) {
|
|
579
|
-
throw new DeveloperError(
|
|
580
|
-
"tilingScheme must not be called before the imagery provider is ready."
|
|
581
|
-
);
|
|
582
|
-
}
|
|
583
|
-
//>>includeEnd('debug');
|
|
584
|
-
|
|
585
654
|
return this._tilingScheme;
|
|
586
655
|
},
|
|
587
656
|
},
|
|
588
657
|
|
|
589
658
|
/**
|
|
590
|
-
* Gets the rectangle, in radians, of the imagery provided by this instance.
|
|
591
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
659
|
+
* Gets the rectangle, in radians, of the imagery provided by this instance.
|
|
592
660
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
593
661
|
* @type {Rectangle}
|
|
594
662
|
* @readonly
|
|
595
663
|
*/
|
|
596
664
|
rectangle: {
|
|
597
665
|
get: function () {
|
|
598
|
-
//>>includeStart('debug', pragmas.debug);
|
|
599
|
-
if (!this._ready) {
|
|
600
|
-
throw new DeveloperError(
|
|
601
|
-
"rectangle must not be called before the imagery provider is ready."
|
|
602
|
-
);
|
|
603
|
-
}
|
|
604
|
-
//>>includeEnd('debug');
|
|
605
|
-
|
|
606
666
|
return this._rectangle;
|
|
607
667
|
},
|
|
608
668
|
},
|
|
@@ -610,22 +670,13 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
610
670
|
/**
|
|
611
671
|
* Gets the tile discard policy. If not undefined, the discard policy is responsible
|
|
612
672
|
* for filtering out "missing" tiles via its shouldDiscardImage function. If this function
|
|
613
|
-
* returns undefined, no tiles are filtered.
|
|
614
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
673
|
+
* returns undefined, no tiles are filtered.
|
|
615
674
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
616
675
|
* @type {TileDiscardPolicy}
|
|
617
676
|
* @readonly
|
|
618
677
|
*/
|
|
619
678
|
tileDiscardPolicy: {
|
|
620
679
|
get: function () {
|
|
621
|
-
//>>includeStart('debug', pragmas.debug);
|
|
622
|
-
if (!this._ready) {
|
|
623
|
-
throw new DeveloperError(
|
|
624
|
-
"tileDiscardPolicy must not be called before the imagery provider is ready."
|
|
625
|
-
);
|
|
626
|
-
}
|
|
627
|
-
//>>includeEnd('debug');
|
|
628
|
-
|
|
629
680
|
return this._tileDiscardPolicy;
|
|
630
681
|
},
|
|
631
682
|
},
|
|
@@ -649,9 +700,14 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
649
700
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
650
701
|
* @type {boolean}
|
|
651
702
|
* @readonly
|
|
703
|
+
* @deprecated
|
|
652
704
|
*/
|
|
653
705
|
ready: {
|
|
654
706
|
get: function () {
|
|
707
|
+
deprecationWarning(
|
|
708
|
+
"ArcGisMapServerImageryProvider.ready",
|
|
709
|
+
"ArcGisMapServerImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
|
|
710
|
+
);
|
|
655
711
|
return this._ready;
|
|
656
712
|
},
|
|
657
713
|
},
|
|
@@ -661,9 +717,14 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
661
717
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
662
718
|
* @type {Promise<boolean>}
|
|
663
719
|
* @readonly
|
|
720
|
+
* @deprecated
|
|
664
721
|
*/
|
|
665
722
|
readyPromise: {
|
|
666
723
|
get: function () {
|
|
724
|
+
deprecationWarning(
|
|
725
|
+
"ArcGisMapServerImageryProvider.readyPromise",
|
|
726
|
+
"ArcGisMapServerImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
|
|
727
|
+
);
|
|
667
728
|
return this._readyPromise;
|
|
668
729
|
},
|
|
669
730
|
},
|
|
@@ -683,9 +744,7 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
683
744
|
|
|
684
745
|
/**
|
|
685
746
|
* Gets a value indicating whether this imagery provider is using pre-cached tiles from the
|
|
686
|
-
* ArcGIS MapServer.
|
|
687
|
-
* will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does
|
|
688
|
-
* not have pre-cached tiles.
|
|
747
|
+
* ArcGIS MapServer.
|
|
689
748
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
690
749
|
*
|
|
691
750
|
* @type {boolean}
|
|
@@ -727,8 +786,289 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
727
786
|
return this._layers;
|
|
728
787
|
},
|
|
729
788
|
},
|
|
789
|
+
|
|
790
|
+
/**
|
|
791
|
+
* The default alpha blending value of this provider, with 0.0 representing fully transparent and
|
|
792
|
+
* 1.0 representing fully opaque.
|
|
793
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
794
|
+
* @type {Number|undefined}
|
|
795
|
+
* @deprecated
|
|
796
|
+
*/
|
|
797
|
+
defaultAlpha: {
|
|
798
|
+
get: function () {
|
|
799
|
+
deprecationWarning(
|
|
800
|
+
"ArcGisMapServerImageryProvider.defaultAlpha",
|
|
801
|
+
"ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
|
|
802
|
+
);
|
|
803
|
+
return this._defaultAlpha;
|
|
804
|
+
},
|
|
805
|
+
set: function (value) {
|
|
806
|
+
deprecationWarning(
|
|
807
|
+
"ArcGisMapServerImageryProvider.defaultAlpha",
|
|
808
|
+
"ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
|
|
809
|
+
);
|
|
810
|
+
this._defaultAlpha = value;
|
|
811
|
+
},
|
|
812
|
+
},
|
|
813
|
+
|
|
814
|
+
/**
|
|
815
|
+
* The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
|
|
816
|
+
* 1.0 representing fully opaque.
|
|
817
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
818
|
+
* @type {Number|undefined}
|
|
819
|
+
* @deprecated
|
|
820
|
+
*/
|
|
821
|
+
defaultNightAlpha: {
|
|
822
|
+
get: function () {
|
|
823
|
+
deprecationWarning(
|
|
824
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha",
|
|
825
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
|
|
826
|
+
);
|
|
827
|
+
return this._defaultNightAlpha;
|
|
828
|
+
},
|
|
829
|
+
set: function (value) {
|
|
830
|
+
deprecationWarning(
|
|
831
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha",
|
|
832
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
|
|
833
|
+
);
|
|
834
|
+
this._defaultNightAlpha = value;
|
|
835
|
+
},
|
|
836
|
+
},
|
|
837
|
+
|
|
838
|
+
/**
|
|
839
|
+
* The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
|
|
840
|
+
* 1.0 representing fully opaque.
|
|
841
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
842
|
+
* @type {Number|undefined}
|
|
843
|
+
* @deprecated
|
|
844
|
+
*/
|
|
845
|
+
defaultDayAlpha: {
|
|
846
|
+
get: function () {
|
|
847
|
+
deprecationWarning(
|
|
848
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha",
|
|
849
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
|
|
850
|
+
);
|
|
851
|
+
return this._defaultDayAlpha;
|
|
852
|
+
},
|
|
853
|
+
set: function (value) {
|
|
854
|
+
deprecationWarning(
|
|
855
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha",
|
|
856
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
|
|
857
|
+
);
|
|
858
|
+
this._defaultDayAlpha = value;
|
|
859
|
+
},
|
|
860
|
+
},
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
|
|
864
|
+
* makes the imagery darker while greater than 1.0 makes it brighter.
|
|
865
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
866
|
+
* @type {Number|undefined}
|
|
867
|
+
* @deprecated
|
|
868
|
+
*/
|
|
869
|
+
defaultBrightness: {
|
|
870
|
+
get: function () {
|
|
871
|
+
deprecationWarning(
|
|
872
|
+
"ArcGisMapServerImageryProvider.defaultBrightness",
|
|
873
|
+
"ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
|
|
874
|
+
);
|
|
875
|
+
return this._defaultBrightness;
|
|
876
|
+
},
|
|
877
|
+
set: function (value) {
|
|
878
|
+
deprecationWarning(
|
|
879
|
+
"ArcGisMapServerImageryProvider.defaultBrightness",
|
|
880
|
+
"ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
|
|
881
|
+
);
|
|
882
|
+
this._defaultBrightness = value;
|
|
883
|
+
},
|
|
884
|
+
},
|
|
885
|
+
|
|
886
|
+
/**
|
|
887
|
+
* The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
|
|
888
|
+
* the contrast while greater than 1.0 increases it.
|
|
889
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
890
|
+
* @type {Number|undefined}
|
|
891
|
+
* @deprecated
|
|
892
|
+
*/
|
|
893
|
+
defaultContrast: {
|
|
894
|
+
get: function () {
|
|
895
|
+
deprecationWarning(
|
|
896
|
+
"ArcGisMapServerImageryProvider.defaultContrast",
|
|
897
|
+
"ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
|
|
898
|
+
);
|
|
899
|
+
return this._defaultContrast;
|
|
900
|
+
},
|
|
901
|
+
set: function (value) {
|
|
902
|
+
deprecationWarning(
|
|
903
|
+
"ArcGisMapServerImageryProvider.defaultContrast",
|
|
904
|
+
"ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
|
|
905
|
+
);
|
|
906
|
+
this._defaultContrast = value;
|
|
907
|
+
},
|
|
908
|
+
},
|
|
909
|
+
|
|
910
|
+
/**
|
|
911
|
+
* The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
|
|
912
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
913
|
+
* @type {Number|undefined}
|
|
914
|
+
* @deprecated
|
|
915
|
+
*/
|
|
916
|
+
defaultHue: {
|
|
917
|
+
get: function () {
|
|
918
|
+
deprecationWarning(
|
|
919
|
+
"ArcGisMapServerImageryProvider.defaultHue",
|
|
920
|
+
"ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
|
|
921
|
+
);
|
|
922
|
+
return this._defaultHue;
|
|
923
|
+
},
|
|
924
|
+
set: function (value) {
|
|
925
|
+
deprecationWarning(
|
|
926
|
+
"ArcGisMapServerImageryProvider.defaultHue",
|
|
927
|
+
"ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
|
|
928
|
+
);
|
|
929
|
+
this._defaultHue = value;
|
|
930
|
+
},
|
|
931
|
+
},
|
|
932
|
+
|
|
933
|
+
/**
|
|
934
|
+
* The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
|
|
935
|
+
* saturation while greater than 1.0 increases it.
|
|
936
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
937
|
+
* @type {Number|undefined}
|
|
938
|
+
* @deprecated
|
|
939
|
+
*/
|
|
940
|
+
defaultSaturation: {
|
|
941
|
+
get: function () {
|
|
942
|
+
deprecationWarning(
|
|
943
|
+
"ArcGisMapServerImageryProvider.defaultSaturation",
|
|
944
|
+
"ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
|
|
945
|
+
);
|
|
946
|
+
return this._defaultSaturation;
|
|
947
|
+
},
|
|
948
|
+
set: function (value) {
|
|
949
|
+
deprecationWarning(
|
|
950
|
+
"ArcGisMapServerImageryProvider.defaultSaturation",
|
|
951
|
+
"ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
|
|
952
|
+
);
|
|
953
|
+
this._defaultSaturation = value;
|
|
954
|
+
},
|
|
955
|
+
},
|
|
956
|
+
|
|
957
|
+
/**
|
|
958
|
+
* The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
|
|
959
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
960
|
+
* @type {Number|undefined}
|
|
961
|
+
* @deprecated
|
|
962
|
+
*/
|
|
963
|
+
defaultGamma: {
|
|
964
|
+
get: function () {
|
|
965
|
+
deprecationWarning(
|
|
966
|
+
"ArcGisMapServerImageryProvider.defaultGamma",
|
|
967
|
+
"ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
|
|
968
|
+
);
|
|
969
|
+
return this._defaultGamma;
|
|
970
|
+
},
|
|
971
|
+
set: function (value) {
|
|
972
|
+
deprecationWarning(
|
|
973
|
+
"ArcGisMapServerImageryProvider.defaultGamma",
|
|
974
|
+
"ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
|
|
975
|
+
);
|
|
976
|
+
this._defaultGamma = value;
|
|
977
|
+
},
|
|
978
|
+
},
|
|
979
|
+
|
|
980
|
+
/**
|
|
981
|
+
* The default texture minification filter to apply to this provider.
|
|
982
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
983
|
+
* @type {TextureMinificationFilter}
|
|
984
|
+
* @deprecated
|
|
985
|
+
*/
|
|
986
|
+
defaultMinificationFilter: {
|
|
987
|
+
get: function () {
|
|
988
|
+
deprecationWarning(
|
|
989
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter",
|
|
990
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
|
|
991
|
+
);
|
|
992
|
+
return this._defaultMinificationFilter;
|
|
993
|
+
},
|
|
994
|
+
set: function (value) {
|
|
995
|
+
deprecationWarning(
|
|
996
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter",
|
|
997
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
|
|
998
|
+
);
|
|
999
|
+
this._defaultMinificationFilter = value;
|
|
1000
|
+
},
|
|
1001
|
+
},
|
|
1002
|
+
|
|
1003
|
+
/**
|
|
1004
|
+
* The default texture magnification filter to apply to this provider.
|
|
1005
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
1006
|
+
* @type {TextureMagnificationFilter}
|
|
1007
|
+
* @deprecated
|
|
1008
|
+
*/
|
|
1009
|
+
defaultMagnificationFilter: {
|
|
1010
|
+
get: function () {
|
|
1011
|
+
deprecationWarning(
|
|
1012
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter",
|
|
1013
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
|
|
1014
|
+
);
|
|
1015
|
+
return this._defaultMagnificationFilter;
|
|
1016
|
+
},
|
|
1017
|
+
set: function (value) {
|
|
1018
|
+
deprecationWarning(
|
|
1019
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter",
|
|
1020
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
|
|
1021
|
+
);
|
|
1022
|
+
this._defaultMagnificationFilter = value;
|
|
1023
|
+
},
|
|
1024
|
+
},
|
|
730
1025
|
});
|
|
731
1026
|
|
|
1027
|
+
/**
|
|
1028
|
+
* Creates an {@link ImageryProvider} which provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
|
|
1029
|
+
* used, if available.
|
|
1030
|
+
*
|
|
1031
|
+
* @param {Resource|String} url The URL of the ArcGIS MapServer service.
|
|
1032
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options.
|
|
1033
|
+
* @returns {Promise<ArcGisMapServerImageryProvider>} A promise that resolves to the created ArcGisMapServerImageryProvider.
|
|
1034
|
+
*
|
|
1035
|
+
* @example
|
|
1036
|
+
* const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
|
|
1037
|
+
* "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
|
|
1038
|
+
* );
|
|
1039
|
+
*
|
|
1040
|
+
* @exception {RuntimeError} metadata spatial reference specifies an unknown WKID
|
|
1041
|
+
* @exception {RuntimeError} metadata fullExtent.spatialReference specifies an unknown WKID
|
|
1042
|
+
*/
|
|
1043
|
+
ArcGisMapServerImageryProvider.fromUrl = async function (url, options) {
|
|
1044
|
+
//>>includeStart('debug', pragmas.debug);
|
|
1045
|
+
Check.defined("url", url);
|
|
1046
|
+
//>>includeEnd('debug');
|
|
1047
|
+
|
|
1048
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
1049
|
+
|
|
1050
|
+
const resource = Resource.createIfNeeded(url);
|
|
1051
|
+
resource.appendForwardSlash();
|
|
1052
|
+
|
|
1053
|
+
if (defined(options.token)) {
|
|
1054
|
+
resource.setQueryParameters({
|
|
1055
|
+
token: options.token,
|
|
1056
|
+
});
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
const provider = new ArcGisMapServerImageryProvider(options);
|
|
1060
|
+
provider._resource = resource;
|
|
1061
|
+
const imageryProviderBuilder = new ImageryProviderBuilder(options);
|
|
1062
|
+
const useTiles = defaultValue(options.usePreCachedTilesIfAvailable, true);
|
|
1063
|
+
if (useTiles) {
|
|
1064
|
+
await requestMetadata(resource, imageryProviderBuilder);
|
|
1065
|
+
}
|
|
1066
|
+
|
|
1067
|
+
imageryProviderBuilder.build(provider);
|
|
1068
|
+
provider._readyPromise = Promise.resolve(true);
|
|
1069
|
+
return provider;
|
|
1070
|
+
};
|
|
1071
|
+
|
|
732
1072
|
/**
|
|
733
1073
|
* Gets the credits to be displayed when a given tile is displayed.
|
|
734
1074
|
*
|
|
@@ -736,20 +1076,17 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
736
1076
|
* @param {number} y The tile Y coordinate.
|
|
737
1077
|
* @param {number} level The tile level;
|
|
738
1078
|
* @returns {Credit[]} The credits to be displayed when the tile is displayed.
|
|
739
|
-
*
|
|
740
|
-
* @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
|
|
741
1079
|
*/
|
|
742
1080
|
ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
|
|
743
1081
|
x,
|
|
744
1082
|
y,
|
|
745
1083
|
level
|
|
746
1084
|
) {
|
|
747
|
-
return
|
|
1085
|
+
return this._tileCredits;
|
|
748
1086
|
};
|
|
749
1087
|
|
|
750
1088
|
/**
|
|
751
|
-
* Requests the image for a given tile.
|
|
752
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
1089
|
+
* Requests the image for a given tile.
|
|
753
1090
|
*
|
|
754
1091
|
* @param {number} x The tile X coordinate.
|
|
755
1092
|
* @param {number} y The tile Y coordinate.
|
|
@@ -757,8 +1094,6 @@ ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
|
|
|
757
1094
|
* @param {Request} [request] The request object. Intended for internal use only.
|
|
758
1095
|
* @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
|
|
759
1096
|
* undefined if there are too many active requests to the server, and the request should be retried later.
|
|
760
|
-
*
|
|
761
|
-
* @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
|
|
762
1097
|
*/
|
|
763
1098
|
ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
764
1099
|
x,
|
|
@@ -766,14 +1101,6 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
|
766
1101
|
level,
|
|
767
1102
|
request
|
|
768
1103
|
) {
|
|
769
|
-
//>>includeStart('debug', pragmas.debug);
|
|
770
|
-
if (!this._ready) {
|
|
771
|
-
throw new DeveloperError(
|
|
772
|
-
"requestImage must not be called before the imagery provider is ready."
|
|
773
|
-
);
|
|
774
|
-
}
|
|
775
|
-
//>>includeEnd('debug');
|
|
776
|
-
|
|
777
1104
|
return ImageryProvider.loadImage(
|
|
778
1105
|
this,
|
|
779
1106
|
buildImageResource(this, x, y, level, request)
|
|
@@ -783,7 +1110,7 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
|
783
1110
|
/**
|
|
784
1111
|
/**
|
|
785
1112
|
* Asynchronously determines what features, if any, are located at a given longitude and latitude within
|
|
786
|
-
* a tile.
|
|
1113
|
+
* a tile.
|
|
787
1114
|
*
|
|
788
1115
|
* @param {number} x The tile X coordinate.
|
|
789
1116
|
* @param {number} y The tile Y coordinate.
|
|
@@ -793,8 +1120,6 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
|
793
1120
|
* @return {Promise<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
|
|
794
1121
|
* picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
|
|
795
1122
|
* instances. The array may be empty if no features are found at the given location.
|
|
796
|
-
*
|
|
797
|
-
* @exception {DeveloperError} <code>pickFeatures</code> must not be called before the imagery provider is ready.
|
|
798
1123
|
*/
|
|
799
1124
|
ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
|
|
800
1125
|
x,
|
|
@@ -803,14 +1128,6 @@ ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
|
|
|
803
1128
|
longitude,
|
|
804
1129
|
latitude
|
|
805
1130
|
) {
|
|
806
|
-
//>>includeStart('debug', pragmas.debug);
|
|
807
|
-
if (!this._ready) {
|
|
808
|
-
throw new DeveloperError(
|
|
809
|
-
"pickFeatures must not be called before the imagery provider is ready."
|
|
810
|
-
);
|
|
811
|
-
}
|
|
812
|
-
//>>includeEnd('debug');
|
|
813
|
-
|
|
814
1131
|
if (!this.enablePickFeatures) {
|
|
815
1132
|
return undefined;
|
|
816
1133
|
}
|
|
@@ -902,4 +1219,5 @@ ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
|
|
|
902
1219
|
return result;
|
|
903
1220
|
});
|
|
904
1221
|
};
|
|
1222
|
+
ArcGisMapServerImageryProvider._metadataCache = {};
|
|
905
1223
|
export default ArcGisMapServerImageryProvider;
|