I3SDataProvider是支持I3S的主要公共类。目前支持的I3S版本为1.6和1.7/1.8(OGC I3S 1.2)。I3SFeature和I3SNode类实现了I3S实体的对象模型,并具有公共接口
这个对象通常不会直接实例化,而是使用
I3SDataProvider.fromUrl
Name | Type | Description |
---|---|---|
options |
I3SDataProvider.ConstructorOptions | An object describing initialization options |
- I3SDataProvider.fromUrl
- ArcGISTiledElevationTerrainProvider
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
-
确定是否根据颜色顶点属性调整材质的 alpha 模式。
-
确定是否对图层解析和应用 I3S 符号。
-
确定是否为不带法线的 I3S 几何体生成平面法线。
-
获取该对象的 I3S 数据。
-
readonlyextent : Rectangle
-
获取该 I3S 涵盖的范围。
-
参考 GEOID 服务的地形提供者,用于正射与椭球的转换。
-
readonlylayers : Array.<I3SLayer>
-
获取图层集合。
-
获取此数据集的可读名称。
-
readonlyresource : Resource
-
用于获取 I3S 数据集的资源。
-
确定是否显示数据集。
-
确定是否显示特征。
-
readonlysublayers : Array.<I3SSublayer>
-
获取建筑物子图层集合。
Methods
-
staticSuperMap3D.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:
-
DeveloperError : 该对象已被销毁,即 destroy() 被调用。
-
-
根据特定属性名称和值筛选场景中的绘制元素。
Name Type Default Description filters
Array.<I3SNode.AttributeFilter> []
optional 属性筛选器集合。 Returns:
应用筛选器时解决的Promise。 -
Returns the collection of names for all available attributes
Returns:
The collection of attribute names -
返回指定名称属性的值集合。
Name Type Description name
string 属性名称。 Returns:
属性值集合。 -
如果该对象已被销毁,则返回 true;否则返回 false。
如果该对象已被销毁,则不应使用;调用 isDestroyed 以外的任何函数都将导致
DeveloperError
异常。Returns:
如果该对象已被销毁,则为 true;否则为 false。
Type Definitions
-
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
除了url和show属性之外的所有选项都可以使用,这两个属性的值会被I3SDataProvider中的值覆盖。showFeatures
boolean <optional>
false 确定是否显示要素。 adjustMaterialAlphaMode
boolean <optional>
false 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, };