坐标系
笛卡尔坐标系(世界坐标系)
- 笛卡尔空间坐标系常用来做一些空间位置变换如平移旋转缩放等等
- 笛卡尔空间坐标的原点就是椭球的中心,最终绘制时要用到计算机图形学的内容,所以设立笛卡尔坐标系
地理坐标系
- 经纬度表示:Cesuim中没有具体的经纬度对象,要得到经纬度首先需要计算为弧度,再进行转换
- 弧度表示:
Cartographic
- 坐标系转换:点击查看https://blog.csdn.net/qq_34149805/article/details/78393540
事件
- 事件类型:
ScreenSpaceEventType
主要是几种鼠标事件 - 事件处理:
ScreenSpaceEventHandler
先创建事件对象,再进行事件操作
var handler1 = new Cesium.ScreenSpaceEventHandler(element) //参数可选填
var handler2 = viewer.screenSpaceEventHandler;
获取屏幕点击(流程)
-
捕捉屏幕点击
var ray = viewer.scene.camera.getPickRay(movement.endPosition);
从相机出发出的穿过屏幕点击点的一条射线
相机就是人眼观察的位置(该位置实际是固定),始终是垂直再看???
-
转为笛卡尔坐标
position = viewer.scene.globe.pick(ray, viewer.scene);
射线和地球球面的交点
-
转为地理坐标(弧度)
笛卡尔转为地理坐标后就有点位的高度了
var cartographic = Cesium.Ellipsoid.WGS84.cartesianToCartographic(position);
var height = cartographic.height;
var cartographic = Cesium.Cartographic.fromCartesian(position);
var height = viewer.scene.globe.getHeight(cartographic);
-
转为经纬度
var lon = Cesium.Math.toDegrees(cartographic.longitude);
var lat = Cesium.Math.toDegrees(cartographic.latitude);
绘制实体
- 确定要绘制什么类型的实体,然后判断该类实体需要什么格式的数据
- 画折线
- 画多边形
- x