I3SDataProvider

new Cesium.I3SDataProvider(options)

An I3SDataProvider is the main public class for I3S support. The url option should return a scene object. Currently supported I3S versions are 1.6 and 1.7/1.8 (OGC I3S 1.2). I3SFeature and I3SNode classes implement the Object Model for I3S entities, with public interfaces.
This object is normally not instantiated directly, use I3SDataProvider.fromUrl.
Name Type Description
options I3SDataProvider.ConstructorOptions An object describing initialization options
Examples:
try {
  const i3sData = await I3SDataProvider.fromUrl(
    "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/Frankfurt2017_vi3s_18/SceneServer/layers/0"
  );
  viewer.scene.primitives.add(i3sData);
} catch (error) {
  console.log(`There was an error creating the I3S Data Provider: ${error}`);
}
try {
  const geoidService = await Cesium.ArcGISTiledElevationTerrainProvider.fromUrl(
    "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/EGM2008/ImageServer"
  );
  const i3sData = await I3SDataProvider.fromUrl(
    "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/Frankfurt2017_vi3s_18/SceneServer/layers/0", {
      geoidTiledTerrainProvider: geoidService
  });
  viewer.scene.primitives.add(i3sData);
} catch (error) {
  console.log(`There was an error creating the I3S Data Provider: ${error}`);
}
See:

Members

Gets the I3S data for this object.
Gets the extent covered by this I3S.
The terrain provider referencing the GEOID service to be used for orthometric to ellipsoidal conversion.
Gets the collection of layers.
Gets a human-readable name for this dataset.
The resource used to fetch the I3S dataset.
Determines if the dataset will be shown.
Gets or sets debugging and tracing of I3S fetches.

Methods

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

Creates an I3SDataProvider. Currently supported I3S versions are 1.6 and 1.7/1.8 (OGC I3S 1.2).
Name Type Description
url string | Resource The url of the I3S dataset, which should return an I3S scene object
options I3SDataProvider.ConstructorOptions An object describing initialization options
Returns:
Examples:
try {
  const i3sData = await I3SDataProvider.fromUrl(
    "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/Frankfurt2017_vi3s_18/SceneServer/layers/0"
  );
  viewer.scene.primitives.add(i3sData);
} catch (error) {
  console.log(`There was an error creating the I3S Data Provider: ${error}`);
}
try {
  const geoidService = await Cesium.ArcGISTiledElevationTerrainProvider.fromUrl(
    "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/EGM2008/ImageServer"
  );
  const i3sData = await I3SDataProvider.fromUrl(
    "https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/Frankfurt2017_vi3s_18/SceneServer/layers/0", {
      geoidTiledTerrainProvider: geoidService
  });
  viewer.scene.primitives.add(i3sData);
} catch (error) {
  console.log(`There was an error creating the I3S Data Provider: ${error}`);
}
Destroys the WebGL resources held by this object. Destroying an object allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this object.

Once an object is destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception. Therefore, assign the return value (undefined) to the object as done in the example.

Throws:
  • DeveloperError : This object was destroyed, i.e., destroy() was called.
See:

isDestroyed()boolean

Returns true if this object was destroyed; otherwise, false.

If this object was destroyed, it should not be used; calling any function other than isDestroyed will result in a DeveloperError exception.

Returns:
true if this object was destroyed; otherwise, false.
See:

Type Definitions

Cesium.I3SDataProvider.ConstructorOptions

Initialization options for the I3SDataProvider constructor
Properties:
Name Type Attributes Default Description
name string <optional>
The name of the I3S dataset.
show boolean <optional>
true Determines if the dataset will be shown.
geoidTiledTerrainProvider ArcGISTiledElevationTerrainProvider | Promise.<ArcGISTiledElevationTerrainProvider> <optional>
Tiled elevation provider describing an Earth Gravitational Model. If defined, geometry will be shifted based on the offsets given by this provider. Required to position I3S data sets with gravity-related height at the correct location.
traceFetches boolean <optional>
false Debug option. When true, log a message whenever an I3S tile is fetched.
cesium3dTilesetOptions Cesium3DTileset.ConstructorOptions <optional>
Object containing options to pass to an internally created Cesium3DTileset. See Cesium3DTileset for list of valid properties. All options can be used with the exception of url and show which are overridden by values from I3SDataProvider.
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.