Cesium基础理论
Cesium中的坐标系以及坐标转换
Cesium中常用的坐标
Cesium中坐标转换
经纬度坐标转换成世界坐标
两种方式将经纬度转换成世界坐标
1. 直接转换 var cartesian3 = Cesium.Cartesian3.fromDegrees(lng, lat, height); 2. 借助ellipsoid对象,先转换成弧度再进行转换 var cartographic = Cesium.Cartographic.fromDegrees(lng, lat, height); // 单位: 度 var cartesian3 = ellipsoid.cartographicToCartesian(cartographic);
将世界坐标转换成经纬度坐标
- 笛卡尔空间直角坐标系转换成地理坐标(弧度制)
// Method01: var cartographic = Cesium.Cartographic.fromCartesian(cartesian3); // Method02: var cartographic = ellipsoid.cartesianToCartographic(cartesian3);
- 地理坐标(弧度制)转换为经纬度坐标
var lat = Cesium.Math.toDegrees(cartographic.latitiude); var lng = Cesium.Math.toDegrees(cartographic.longitude); var height = cartographic.height;
- 弧度和经纬度互相转换
// 经纬度转为弧度 Cesium.Math.toRadians(degrees -> lag, lat, height); // 弧度转为经纬度 Cesium.Math.toDegrees(radians)
- 屏幕坐标和世界坐标互相转换
// 二维屏幕坐标转换为三维笛卡尔空间直角坐标系 var cartesian3 = scene.globe.pick( viewer.camera.getPickRay(windowPosition), scene ) // 三维笛卡尔空间直角坐标系转为二维屏幕坐标,结果是Cartesian2对象,取出x,y即屏幕坐标 windowPosition = Cesium.SceneTransforms.wgs84ToWindowCoordinates(scene,cartesian3);
坐标转换工具
Cesium加载影像数据
影像图层类
-
ImageryLayerCollection
ImageryLayer类对象的容器,可以装入多个ImageryLayer或ImageryProvider类对象 -
ImageryLayer类
Cesium中的影像图层,相当于皮毛、衣服,将数据源包裹在内,相关属性:透明度、亮度等 -
ImageryProvider类
抽象类、子类封装了加载各种影像图层的方法
各类影像服务的加载
Cesium加载地形数据(地形图层全局只有一个)
设置
材质的理解
Material类
Material Property类
为什么primitive性能好?
Cesium常用事件
Cesium根据事件的类型、用途,将事件应用分成三大类:
鼠标事件 - 要素拾取
鼠标事件 - Entity选择
鼠标事件 - 流程
相机事件 - 通过鼠标控制
相机事件 - 通过键盘控制
场景渲染事件
Cesium相机控制
相机控制
Viewer类
Camera类
相机参数
-
heading: 头部上下旋转
-
pitch: 身体左右旋转
-
roll: 尾部左右旋转
学而不思则罔,思而不学则殆!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!