Cesium从入门到入坟(三)
"Cesium从入门到入坟"这个表达虽然有些夸张,但确实反映出了学习Cesium这一复杂而强大的3D地图和地球可视化库的挑战性和深度。Cesium是一个开源的JavaScript库,用于在Web浏览器中创建3D地球和2D地图的交互式应用程序。它广泛应用于气象、地理信息系统(GIS)、航空航天、游戏开发等领域。以下是一个从基础到进阶的学习路径,帮助你从Cesium的入门者成长为专家。
3D模型在线预览提供多种低代码平台3D模型在线预览解决方案,实现了将多种3D模型格式无缝集成到低代码业务表单中。这意味着用户可以在不离开低代码平台的情况下,直接查看和操作3D模型,极大地提升了数据可视化的效果和用户交互体验。
Cesium的坐标体系
通过上面的示例我们可以得知Cesium具有真实地理坐标的三维球体,但是用户是通过二维屏幕与Cesium进行操作的,假设我们需要将一个三维模型绘制到三维球体上,我们就需要再地理坐标和屏幕坐标之间做转换,而这就需要涉及到Cesium的坐标体系。
Cesium主要有5种坐标系:
- WGS84经纬度坐标系
- WGS84弧度坐标系
- 笛卡尔空间直角坐标系
- 平面坐标系
- 4D笛卡尔坐标系
他们的基础概念大家感兴趣的可以百度查阅一下,我也说不太清楚,问我他们的区别我也只能用 恰特鸡屁踢 敷衍你,下面我们演示一下怎么将WGS84左边西转换为笛卡尔空间直角坐标系:
我们可以通过经纬度进行转换,当然我们还有其他的方式,比如Cesium.Cartesian3.fromDegreesArray(coordinates),这里的coordinates格式为不带高度的数组。
Cesium加载地图和地形
加载地图
我们使用ArcGis地图服务来加载新地图,Cesium也给其提供了相关的加载方法:
效果如下:
我们再来看一下之前的地球效果来对比对比:
可以明显看出来ArcGisMapServer提供的地图更加的清晰和立体。
当然我们还可以加载一些特定场景的地图,比如夜晚的地球,官网上直接给出了示例代码:
效果如下:
加载地形
我们回到刚刚的ArcGis地图,我们进入到地球内部查看一些山脉,会发现从俯视角度来看山脉是有轮廓的,但是当我们旋转相机后会发现,实际上地球表面是平的,并没有显示出地形,效果如下:
这时候我们就需要加载出地形数据了
效果如下:
可以看到原先的平面通过加载了地形数据,已经有了山势起伏,河流湖泊。
Cesium从入门到入坟 - 索引