ArcGisMapServerImageryProvider

new Cesium.ArcGisMapServerImageryProvider(options)

This object is normally not instantiated directly, use ArcGisMapServerImageryProvider.fromBasemapType or ArcGisMapServerImageryProvider.fromUrl.
Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are used, if available.
An ArcGIS Access Token is required to authenticate requests to an ArcGIS Image Tile service. To access secure ArcGIS resources, it's required to create an ArcGIS developer account or an ArcGIS online account, then implement an authentication method to obtain an access token.
Name Type Description
options ArcGisMapServerImageryProvider.ConstructorOptions optional Object describing initialization options
Examples:
// Set the default access token for accessing ArcGIS Image Tile service
Cesium.ArcGisMapService.defaultAccessToken = "<ArcGIS Access Token>";

// Add a base layer from a default ArcGIS basemap
const viewer = new Cesium.Viewer("cesiumContainer", {
  baseLayer: Cesium.ImageryLayer.fromProviderAsync(
    Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
      Cesium.ArcGisBaseMapType.SATELLITE
    )
  ),
});
// Create an imagery provider from the url directly
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
  "https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer", {
    token: "<ArcGIS Access Token>"
});
See:

Members

Gets the credit to display when this imagery provider is active. Typically this is used to credit the source of the imagery.
Gets or sets a value indicating whether feature picking is enabled. If true, ArcGisMapServerImageryProvider#pickFeatures will invoke the "identify" operation on the ArcGIS server and return the features included in the response. If false, ArcGisMapServerImageryProvider#pickFeatures will immediately return undefined (indicating no pickable features) without communicating with the server.
Default Value: true
Gets an event that is raised when the imagery provider encounters an asynchronous error. By subscribing to the event, you will be notified of the error and can potentially recover from it. Event listeners are passed an instance of TileProviderError.
Gets a value indicating whether or not the images provided by this imagery provider include an alpha channel. If this property is false, an alpha channel, if present, will be ignored. If this property is true, any images without an alpha channel will be treated as if their alpha is 1.0 everywhere. When this property is false, memory usage and texture upload time are reduced.
Default Value: true
Gets the comma-separated list of layer IDs to show.
Gets the maximum level-of-detail that can be requested.
Gets the minimum level-of-detail that can be requested.
Gets the proxy used by this provider.
Gets the rectangle, in radians, of the imagery provided by this instance.
Gets the tile discard policy. If not undefined, the discard policy is responsible for filtering out "missing" tiles via its shouldDiscardImage function. If this function returns undefined, no tiles are filtered.
Gets the height of each tile, in pixels.
Gets the width of each tile, in pixels.
Gets the tiling scheme used by this provider.
Gets the ArcGIS token used to authenticate with the ArcGis MapServer service.
Gets the URL of the ArcGIS MapServer.
Gets a value indicating whether this imagery provider is using pre-cached tiles from the ArcGIS MapServer.
Default Value: true

Methods

static Cesium.ArcGisMapServerImageryProvider.fromBasemapType(style, options)Promise.<ArcGisMapServerImageryProvider>

Creates an ImageryProvider which provides tiled imagery from an ArcGIS base map.
Name Type Description
style ArcGisBaseMapType The style of the ArcGIS base map imagery. Valid options are ArcGisBaseMapType.SATELLITE, ArcGisBaseMapType.OCEANS, and ArcGisBaseMapType.HILLSHADE.
options ArcGisMapServerImageryProvider.ConstructorOptions optional Object describing initialization options.
Returns:
A promise that resolves to the created ArcGisMapServerImageryProvider.
Examples:
// Set the default access token for accessing ArcGIS Image Tile service
Cesium.ArcGisMapService.defaultAccessToken = "<ArcGIS Access Token>";

// Add a base layer from a default ArcGIS basemap
const provider = await Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
  Cesium.ArcGisBaseMapType.SATELLITE);
// Add a base layer from a default ArcGIS Basemap
const viewer = new Cesium.Viewer("cesiumContainer", {
  baseLayer: Cesium.ImageryLayer.fromProviderAsync(
    Cesium.ArcGisMapServerImageryProvider.fromBasemapType(
      Cesium.ArcGisBaseMapType.HILLSHADE, {
        token: "<ArcGIS Access Token>"
      }
    )
  ),
});

static Cesium.ArcGisMapServerImageryProvider.fromUrl(url, options)Promise.<ArcGisMapServerImageryProvider>

Creates an ImageryProvider which provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are used, if available.
Name Type Description
url Resource | String The URL of the ArcGIS MapServer service.
options ArcGisMapServerImageryProvider.ConstructorOptions optional Object describing initialization options.
Returns:
A promise that resolves to the created ArcGisMapServerImageryProvider.
Throws:
  • RuntimeError : metadata spatial reference specifies an unknown WKID
  • RuntimeError : metadata fullExtent.spatialReference specifies an unknown WKID
Example:
const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
    "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
);
Gets the credits to be displayed when a given tile is displayed.
Name Type Description
x number The tile X coordinate.
y number The tile Y coordinate.
level number The tile level;
Returns:
The credits to be displayed when the tile is displayed.

pickFeatures(x, y, level, longitude, latitude)Promise.<Array.<ImageryLayerFeatureInfo>>|undefined

/** Asynchronously determines what features, if any, are located at a given longitude and latitude within a tile.
Name Type Description
x number The tile X coordinate.
y number The tile Y coordinate.
level number The tile level.
longitude number The longitude at which to pick features.
latitude number The latitude at which to pick features.
Returns:
A promise for the picked features that will resolve when the asynchronous picking completes. The resolved value is an array of ImageryLayerFeatureInfo instances. The array may be empty if no features are found at the given location.

requestImage(x, y, level, request)Promise.<ImageryTypes>|undefined

Requests the image for a given tile.
Name Type Description
x number The tile X coordinate.
y number The tile Y coordinate.
level number The tile level.
request Request optional The request object. Intended for internal use only.
Returns:
A promise for the image that will resolve when the image is available, or undefined if there are too many active requests to the server, and the request should be retried later.

Type Definitions

Cesium.ArcGisMapServerImageryProvider.ConstructorOptions

Initialization options for the ArcGisMapServerImageryProvider constructor
Properties:
Name Type Attributes Default Description
tileDiscardPolicy TileDiscardPolicy <optional>
The policy that determines if a tile is invalid and should be discarded. If this value is not specified, a default DiscardMissingTileImagePolicy is used for tiled map servers, and a NeverTileDiscardPolicy is used for non-tiled map servers. In the former case, we request tile 0,0 at the maximum tile level and check pixels (0,0), (200,20), (20,200), (80,110), and (160, 130). If all of these pixels are transparent, the discard check is disabled and no tiles are discarded. If any of them have a non-transparent color, any tile that has the same values in these pixel locations is discarded. The end result of these defaults should be correct tile discarding for a standard ArcGIS Server. To ensure that no tiles are discarded, construct and pass a NeverTileDiscardPolicy for this parameter.
usePreCachedTilesIfAvailable boolean <optional>
true If true, the server's pre-cached tiles are used if they are available. Exporting Tiles is only supported with deprecated APIs.
layers string <optional>
A comma-separated list of the layers to show, or undefined if all layers should be shown.
enablePickFeatures boolean <optional>
true If true, ArcGisMapServerImageryProvider#pickFeatures will invoke the Identify service on the MapServer and return the features included in the response. If false, ArcGisMapServerImageryProvider#pickFeatures will immediately return undefined (indicating no pickable features) without communicating with the server. Set this property to false if you don't want this provider's features to be pickable. Can be overridden by setting the ArcGisMapServerImageryProvider#enablePickFeatures property on the object.
rectangle Rectangle <optional>
Rectangle.MAX_VALUE The rectangle of the layer. This parameter is ignored when accessing a tiled layer.
tilingScheme TilingScheme <optional>
new GeographicTilingScheme() The tiling scheme to use to divide the world into tiles. This parameter is ignored when accessing a tiled server.
ellipsoid Ellipsoid <optional>
Ellipsoid.default The ellipsoid. If the tilingScheme is specified and used, this parameter is ignored and the tiling scheme's ellipsoid is used instead. If neither parameter is specified, the default ellipsoid is used.
credit Credit | string <optional>
A credit for the data source, which is displayed on the canvas. This parameter is ignored when accessing a tiled server.
tileWidth number <optional>
256 The width of each tile in pixels. This parameter is ignored when accessing a tiled server.
tileHeight number <optional>
256 The height of each tile in pixels. This parameter is ignored when accessing a tiled server.
maximumLevel number <optional>
The maximum tile level to request, or undefined if there is no maximum. This parameter is ignored when accessing a tiled server.
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.