关于Cesium中的常用座标系及说明

        Cesium是一个基于JavaScript的开源框架,可用于在浏览器中绘制3D的地球,并在其上绘制地图(支持多种格式的瓦片服务),该框架不需要任何插件支持,但是浏览器必须支持WebGL。

       Cesium中常用的座标系主要有两种:WGS84座标系和笛卡尔空间直角座标系。平时我们常见的某个点的经纬度就是在WGS84座标系下某个点的座标,它的座标原点在椭球的质心;而笛卡尔座标系主要是用来做空间位置的变化如平移、旋转和缩放等等,它的座标原点在椭球的中心。

除此之外,还有不常用的座标系:1、平面座标系(Cartesian2);2、笛卡尔空间直角座标系(Cartesian3);3、Cartesian4(unknown,在应用中几乎用不到)4、Cartographic(地理座标系下经纬度的弧度表示),通常情况下通过它和WGS84座标系之间互转。


下边主要介绍 “平面座标系” 和“笛卡尔空间直角座标系”和“Cartographic”之间的相互转换关系

1:Cartesian2-----new Cesium.Cartesian2(xy)

I: Cartesian3→Cartesian2Cesium.Cartesian2.fromCartesian3(cartesian, result)→ Cartesian2


2:Cartesian3---- new Cesium.Cartesian3(xyz)

I:经纬度座标(WGS84)→ Cartesian3

Cesium.Cartesian3.fromDegrees(longitude, latitude, heightellipsoidresult) → Cartesian3
II:弧度座标→ Cartesian3

Cesium.Cartesian3.fromRadians(longitude, latitude, heightellipsoidresult) → Cartesian3


3:Cartographic----new Cesium.Cartographic(longitudelatitudeheight)    注:经纬度为弧度单位

I:Cartesian3→ Cartographic

Cesium.Cartographic.fromCartesian(cartesian, ellipsoidresult) → Cartographic

II:经纬度座标(WGS84)→ Cartographic

Cesium.Cartographic.fromDegrees(longitude, latitude, heightresult) → Cartographic


另外,经纬度座标和弧度座标也可以通过Cesium.Math来转换

Cesium.CesiumMath.toDegrees(radians) → Number

Cesium.CesiumMath.toRadians(degrees) → Number


举例:

I:经纬度座标转为笛卡尔空间直角座标系

var ellipsoid=viewer.scene.globe.ellipsoid;

var cartographic=Cesium.Cartographic.fromDegrees(lng,lat,alt);

var cartesian3=ellipsoid.cartographicToCartesian(cartographic);

var x=cartesian3.x;   var y=cartesian3.y;   var z=cartesian3.z;

II:笛卡尔空间直角座标系转为经纬度座标

var ellipsoid=viewer.scene.globe.ellipsoid;

var cartesian3=new Cesium.cartesian3(x,y,z);

var cartographic=ellipsoid.cartesianToCartographic(cartesian3);

var lat=Cesium.Math.toDegrees(cartograhphic.latitude);

var lng=Cesium.Math.toDegrees(cartograhpinc.longitude);
var alt=cartographic.height;


更多座标系转换请参考:
http://blog.csdn.net/u013929284/article/details/52503295

new Cesium.Cartesian3(xyz)

发布了6 篇原创文章 · 获赞 31 · 访问量 20万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章