關於Cesium中的常用坐標系及說明


 Cesium是一個基於JavaScript的開源框架,可用於在瀏覽器中繪制3D的地球,並在其上繪制地圖(支持多種格式的瓦片服務),該框架不需要任何插件支持,但是瀏覽器必須支持WebGL。

       Cesium中常用的坐標系主要有兩種:WGS84坐標系和笛卡爾空間直角坐標系。平時我們常見的某個點的經緯度就是在WGS84坐標系下某個點的坐標,它的坐標原點在橢球的質心;而笛卡爾坐標系主要是用來做空間位置的變化如平移、旋轉和縮放等等,它的坐標原點在橢球的中心。

除此之外,還有不常用的坐標系:1、平面坐標系(Cartesian2);2、笛卡爾空間直角坐標系(Cartesian3);3、Cartesian4(unknown,在應用中幾乎用不到)4、Cartographic(地理坐標系下經緯度的弧度表示),通常情況下通過它和WGS84坐標系之間互轉。

 

下邊主要介紹  “平面坐標系” 和“笛卡爾空間直角坐標系”和“Cartographic”之間的相互轉換關系。

1:Cartesian2-----new Cesium.Cartesian2(x, y)

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

 

2:Cartesian3---- new Cesium.Cartesian3(x, y, z)

I:經緯度坐標(WGS84)→ Cartesian3

Cesium.Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result) → Cartesian3
II:弧度坐標→ Cartesian3

Cesium.Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result) → Cartesian3


3:Cartographic----new Cesium.Cartographic(longitude, latitude, height)    注:經緯度為弧度單位

I:Cartesian3→ Cartographic

Cesium.Cartographic.fromCartesian(cartesian, ellipsoid, result) → Cartographic

II:經緯度坐標(WGS84)→ Cartographic

Cesium.Cartographic.fromDegrees(longitude, latitude, height, result) → 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

 

轉自:http://blog.csdn.net/XLSMN/article/details/76168510


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM