Ion 是一个在线服务平台,可用于使用 CesiumJS 构建 3D 场景、拍照和共享场景、访问地图图层和其他数据集以及进行分析、处理和可视化。
使用 Ion,您可以:
此章节将介绍如何使用 CesiumJS 和 Ion 构建 3D 场景、访问图层数据和进行分析和可视化。
在 CesiumJS 中使用 Ion,您需要设置您的访问令牌和服务地址。
// 设置 Cesium 地图引擎
Cesium.Ion.defaultAccessToken = 'your_access_token';
Cesium.Ion.defaultServer = Cesium.IonResource.IonServer.DEFAULT_URL;
然后,您就可以使用 Ion 中提供的高质量卫星图像和精细地形来创建您的场景。
// 创建三维场景
var viewer = new Cesium.Viewer('cesiumContainer', {
terrainProvider: Cesium.createWorldTerrain(),
imageryProvider: Cesium.createWorldImagery()
});
使用 Ion,您可以访问来自各种来源的数据,包括地图图层、模型和其他数据集。可使用 IonResource
接收瓦片和模型数据。在以下示例中,我们将获取来自 Sentinel 2 卫星的高分辨率图像集合。
// 获取 Sentinel-2 影像集
var imageryCollection = new Cesium.IonImageryProvider({
assetId: 3954
});
viewer.imageryLayers.addImageryProvider(imageryCollection);
除了访问数据库,Ion 还包括一组数据处理和分析工具,可提取和可视化 GIS、遥感和其他数据的洞察力。
例如,以下代码将加载一组 GeoJSON 数据,并使用 Turf.js 进行分析和计算。
// 从编辑器中加载 GeoJSON 文件
var dataSourcePromise = Cesium.GeoJsonDataSource.load('path/to/file.geojson');
// 让每个 feature 站起来
dataSourcePromise.then(function(dataSource) {
viewer.dataSources.add(dataSource);
var entities = dataSource.entities.values;
for (var i = 0; i < entities.length; i++) {
var entity = entities[i];
entity.polygon.height = 0;
}
// 计算多边形面积
var area = turf.area(dataSource.entities);
console.log(area);
});
Ion 提供了许多功能,例如卫星图像和地形、地图图层和数据,以及数据处理和分析工具,可帮助您以数据驱动的方式创建、修订和共享 3D 场景。在 CesiumJS 中使用 Ion,您可以将这些功能集成到您的工作流程中,以提高生产力并改善决策制定。