还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。
一,Cesium中3D数据加载方式
Cesium 是一个用于创建3D地球和地图的JavaScript库,支持加载和展示多种类型的3D数据及模型。要在Cesium中加载3D数据或模型,你可以使用以下几种方式:
1. 加载3D Tiles
3D Tiles 是一种开放标准,专为流式传输和渲染大规模3D地理空间数据设计,如建筑物、树木、点云等。
- 步骤:
- 首先,确保你有3D Tiles格式的数据(.json, .b3dm, .pnts等)。
- 使用
Cesium3DTileset
类来加载你的3D Tiles数据集:var tileset = new Cesium.Cesium3DTileset({ url: 'path/to/your/tileset.json' }); viewer.scene.primitives.add(tileset);
2. 加载glTF模型
glTF (GL Transmission Format)是一种针对OpenGL应用和WebGL的3D模型文件格式,被Cesium原生支持。
- 步骤:
- 准备好你的.glb或.gltf模型文件。
- 使用
Model.fromGltf
方法加载模型:var modelEntity = viewer.entities.add({ position : Cesium.Cartesian3.fromDegrees(-75.1641667, 39.9522222), model : { uri : 'path/to/your/model.glb' } }); viewer.trackedEntity = modelEntity;
3. 加载其他类型的数据
对于其他类型的3D数据,比如KML、GeoJSON等,你可以根据数据的特点选择合适的方法加载到Cesium中。
- 对于 KML 数据,可以使用
KmlDataSource.load
方法。 - GeoJSON 数据可以通过
GeoJsonDataSource.load
方法加载。
在加载任何类型的数据之前,请确保它们的位置信息与Cesium中的坐标系统相匹配,否则可能需要进行坐标转换。
二,Cesium加载3D数据示例(含源代码)
01.vue+cesium:加载的 OSM 建筑物
https://dajianshi.blog.csdn.net/article/details/145897852
02.vue+cesium:加载500架飞机,随机位置、随机角度
https://dajianshi.blog.csdn.net/article/details/145831947
03.vue+cesium:飞机根据经纬度高度数据,沿着轨迹飞行
https://dajianshi.blog.csdn.net/article/details/145884863
04.vue+cesium:加载gltf文件,显示小车
https://dajianshi.blog.csdn.net/article/details/145678985
05.vue+cesium:使用Cesium3DTileset加载3D瓦片数据
https://dajianshi.blog.csdn.net/article/details/145729075
06.vue+cesium: 利用Cesium3DTileStyle,根据条件个性化3D瓦片样式
https://dajianshi.blog.csdn.net/article/details/145732978
07.vue+cesium: 点击获取3D瓦片实体的属性信息
https://dajianshi.blog.csdn.net/article/details/145732899
三、Cesium 入门教程 -系列文章列表
- Cesium 入门教程(一):应该如何学习Cesium
- Cesium 入门教程(二):界面的基础配置
- Cesium 入门教程(三):加载不同的地图底图
- Cesium 入门教程(四):利用entity显示图形
- Cesium 入门教程(五):利用Primitive生成图形
- Cesium 入门教程(六):不同的材质设置
- Cesium 入门教程(七):加载、导出2D文件数据
- Cesium 入门教程(八):加载3D瓦片及模型
- Cesium 入门教程(九):通过鼠标绘制图形
- Cesium 入门教程(十):利用shader、后处理重构图形
- Cesium 入门教程(十一):camera相机功能展示
- Cesium 入门教程(十二):时间动画实例
- Cesium 入门教程(十三):粒子系统实例
- Cesium 入门教程(十四):鼠标键盘交互
- Cesium 入门教程(十五):插件与扩展