Class: I3SDataProvider

I3SDataProvider

new I3SDataProvider(options)

I3SDataProvider是支持I3S的主要公共类。目前支持的I3S版本为1.6和1.7/1.8(OGC I3S 1.2)。I3SFeature和I3SNode类实现了I3S实体的对象模型,并具有公共接口 这个对象通常不会直接实例化,而是使用I3SDataProvider.fromUrl

Name Type Description
options I3SDataProvider.ConstructorOptions

描述初始化选项的对象。

See:
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}`);
}

Members

readonly adjustMaterialAlphaModeboolean

确定是否根据颜色顶点属性调整材质的 alpha 模式。

readonly applySymbologyboolean

确定是否对图层解析和应用 I3S 符号。

readonly calculateNormalsboolean

确定是否为不带法线的 I3S 几何体生成平面法线。

readonly dataobject

获取该对象的 I3S 数据。

readonly extentRectangle

获取该 I3S 涵盖的范围。

readonly geoidTiledTerrainProviderArcGISTiledElevationTerrainProvider

参考 GEOID 服务的地形提供者,用于正射与椭球的转换。

readonly layersArray.<I3SLayer>

获取图层集合。

readonly namestring

获取此数据集的可读名称。

readonly resourceResource

用于获取 I3S 数据集的资源。

showboolean

确定是否显示数据集。

readonly showFeaturesboolean

确定是否显示特征。

readonly sublayersArray.<I3SSublayer>

获取建筑物子图层集合。

Methods

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

创建 I3SDataProvider。目前支持的 I3S 版本有 1.6 和 1.7/1.8(OGC I3S 1.2)。

Name Type Description
url string | Resource

I3S 数据集的 url,应返回一个 I3S 场景对象。

options I3SDataProvider.ConstructorOptions

描述初始化选项的对象。

Returns:
Type Description
Promise.<I3SDataProvider>
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}`);
}

destroy()

销毁该对象所持有的 WebGL 资源。销毁对象可以确定性地释放 WebGL 资源,而不是依赖垃圾回收器来销毁该对象。

一旦对象被销毁,就不应再使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。因此,请按照示例中的方法将返回值(undefined)赋值给对象。

See:
Throws:

该对象已被销毁,即 destroy() 被调用。

Type
DeveloperError

filterByAttributes(filters){Promise.<void>}

根据特定属性名称和值筛选场景中的绘制元素。

Name Type Default Description
filters Array.<I3SNode.AttributeFilter> [] 可选

属性筛选器集合。

Returns:
Type Description
Promise.<void> 应用筛选器时解决的Promise。

getAttributeNames(){Array.<string>}

返回所有可用属性的名称集合。

Returns:
Type Description
Array.<string> 属性名称的集合。

getAttributeValues(name){Array.<string>}

返回指定名称属性的值集合。

Name Type Description
name string

属性名称。

Returns:
Type Description
Array.<string> 属性值集合。

isDestroyed(){boolean}

如果该对象已被销毁,则返回 true;否则返回 false。

如果该对象已被销毁,则不应使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。

See:
Returns:
Type Description
boolean 如果该对象已被销毁,则为 true;否则为 false。

Type Definitions

ConstructorOptionsObject

I3SDataProvider构造函数的初始化选项。

Properties:
Name Type Default Description
name string 可选

I3S数据集的名称。

show boolean true 可选

确定数据集是否可见。

geoidTiledTerrainProvider ArcGISTiledElevationTerrainProvider | Promise.<ArcGISTiledElevationTerrainProvider> 可选

描述地球重力模型的瓦片高程提供者。如果定义了该提供者,则几何体将根据提供的偏移量进行位移,将I3S数据集定位到正确位置。

cesium3dTilesetOptions Cesium3DTileset.ConstructorOptions 可选

包含传递给内部创建的Cesium3DTileset的选项的对象。参见Cesium3DTileset 除了url和show属性之外的所有选项都可以使用,这两个属性的值会被I3SDataProvider中的值覆盖。

showFeatures boolean false 可选

确定是否显示要素。

adjustMaterialAlphaMode boolean false 可选

根据顶点颜色的透明度调整材质的alpha模式的选项。当为true时,对于具有任何颜色顶点属性中的透明度的几何体,将会将材质的alpha模式(如果未定义)设置为BLEND。

applySymbology boolean false 可选

确定是否解析并应用I3S符号化样式到图层。

calculateNormals boolean false 可选

确定是否为没有法线的I3S几何体生成平面法线。

Examples
// Increase LOD by reducing SSE
const cesium3dTilesetOptions = {
  maximumScreenSpaceError: 1,
};
const i3sOptions = {
  cesium3dTilesetOptions: cesium3dTilesetOptions,
};
// Set a custom outline color to replace the color defined in I3S symbology
const cesium3dTilesetOptions = {
  outlineColor: Cesium.Color.BLUE,
};
const i3sOptions = {
  cesium3dTilesetOptions: cesium3dTilesetOptions,
  applySymbology: true,
};