Cesium坐标系及转换

如题所述

第1个回答  2022-06-19

Cesium 中常用坐标有两种,分别为 WGS84地理坐标系 笛卡尔空间坐标系 ,笛卡尔空间坐标系也叫做世界坐标系。

我们使用经度来表示一个点时,使用的就是 WGS84地理坐标系 ,它是为 GPS 全球定位系统使用而建立的坐标系统,它是以地球质心为原点,其经纬度范围分别为 [-180,180] 和 [-90,90] 。

笛卡尔空间坐标的原点就是椭球的中心,在计算机上进行绘图时,是将经纬度转换成笛卡尔坐标来进行绘图,我们在 Cesium 中使用的3D笛卡尔坐标类为 Cartesian3 ,传递 x , y , z 进行初始化,如

平面坐标系就是平面直角坐标系,就是我们在平面图中使用的坐标 ,就一个 x 和 y ,使用 Cartesian2 进行初始化,我们使用的屏幕坐标就是平面坐标系统,鼠标在地图上点击位置时,返回的就是一个 Cartesian2 对象,可以通过 x 和 y 来获取对应的屏幕坐标。

使用 ScreenSpaceEventHandler 点击屏幕,获取到鼠标点击处的位置,从场景的深度缓冲区中拾取相应的位置将其转换成世界坐标。

使用 SceneTransforms 中的 wgs84ToWindowCoordinates 方法可以很方便的将世界坐标转换成屏幕坐标,如下所示:

首先将世界坐标转换成弧度地理坐标,再使用 toDegrees 来将弧度转成经纬度。

相似回答