I3SDataProvider

new Cesium.I3SDataProvider(options)

I3SDataProvider 是支持 I3S 的主要公共类。url 选项 应返回场景对象。目前支持的 I3S 版本是 1.6 和 1.7/1.8(OGC I3S 1.2)。I3SFeature 和 I3SNode 类实现了 I3S 实体的对象模型,并提供公共接口。
此对象通常不直接实例化,使用 I3SDataProvider.fromUrl
Name Type Description
options I3SDataProvider.ConstructorOptions 描述初始化选项的对象
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

readonly adjustMaterialAlphaMode : boolean

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

readonly applySymbology : boolean

确定 I3S 符号学是否会被解析并应用于图层。

readonly calculateNormals : boolean

确定是否为没有法线的 I3S 几何体生成平面法线。
获取此对象的 I3S 数据。
获取此 I3S 覆盖的范围。
引用 GEOID 服务用于正交高度到椭球高度转换的地形提供者。
获取图层集合。
获取此数据集的人类可读名称。
用于获取 I3S 数据集的资源。
确定数据集是否会被显示。

readonly showFeatures : boolean

确定特征是否会被显示。
获取建筑子图层集合。

Methods

static Cesium.I3SDataProvider.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:
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}`);
}
销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁此对象。

一旦对象被销毁,就不应再使用它;调用除 isDestroyed 之外的任何函数 将导致 DeveloperError 异常。因此,将返回值(undefined)分配给对象,如示例中所示。

Throws:
See:

filterByAttributes(filters)Promise.<void>

对场景绘制的元素进行过滤,筛选特定的属性名称和值
Name Type Default Description
filters Array.<I3SNode.AttributeFilter> [] optional 属性过滤器集合
Returns:
应用过滤器时解析的 Promise

getAttributeNames()Array.<string>

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

getAttributeValues(name)Array.<string>

返回具有给定名称的属性的值集合
Name Type Description
name string 属性名称
Returns:
属性值的集合

isDestroyed()boolean

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

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

Returns:
true 如果此对象已被销毁;否则返回 false
See:

Type Definitions

Cesium.I3SDataProvider.ConstructorOptions

I3SDataProvider 构造函数的初始化选项
Properties:
Name Type Attributes Default Description
name string <optional>
I3S 数据集的名称。
show boolean <optional>
true 确定数据集是否显示。
geoidTiledTerrainProvider ArcGISTiledElevationTerrainProvider | Promise.<ArcGISTiledElevationTerrainProvider> <optional>
描述地球重力模型的平铺高程提供者。如果定义,几何体将根据此提供者给出的偏移量进行移动。用于将与重力相关的高度的 I3S 数据集定位在正确的位置。
cesium3dTilesetOptions Cesium3DTileset.ConstructorOptions <optional>
包含传递给内部创建的 Cesium3DTileset 的选项的对象。有关有效属性列表,请参见 Cesium3DTileset。除 urlshow 被 I3SDataProvider 的值覆盖外,所有选项均可使用。
showFeatures boolean <optional>
false 确定是否显示特征。
adjustMaterialAlphaMode boolean <optional>
false 根据顶点颜色的透明度调整材质的 alpha 模式的选项。当 true 时,材质的 alpha 模式(如果未定义)将设置为 BLEND,以适应颜色顶点属性中任何透明度的几何体。
applySymbology boolean <optional>
false 确定是否解析并应用 I3S 符号学以用于图层。
calculateNormals boolean <optional>
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,
};
需要帮助?获得答案的最快方法是来自社区和团队 Cesium Forum.