关于Cesium中的常用坐标系及说明
2017-07-27 08:47
197 查看
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
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
new Cesium.Cartesian3(x, y, z)
相关文章推荐
- 关于Cesium中的常用坐标系及说明
- 关于Cesium中的常用坐标系及说明
- 关于常用 软件授权 Licence说明
- 关于C++中常用的对DEBUG_NEW、THIS_FILE重定义的说明
- 关于两个常用网络命令原理和一点说明
- 关于常用 软件授权 Licence说明
- 常用坐标系和投影分析,GIS的核心基础-地球坐标系与投影方式的理解(关于北京54,西安80,WGS84;高斯,兰勃特,墨卡托投影)
- 关于C语言中一些常用函数的说明
- 关于C++一些常用函数的说明(scanf,fabs,abs)
- 关于常用序号的几点说明(数字序号顺序)
- 关于format函数及数据类型的常用替换说明
- 基于proteus的51单片机仿真实例八、关于proteus常用操作的补充说明
- 关于C语言中一些常用函数的说明
- FME 坐标系使用(二)----关于Beijing54坐标系和Xian80坐标系说明的补充
- 关于蔡勒公式的程序实现的几点说明
- 多种企业常用网管软件介绍及配置说明(带视频)
- 地图常用坐标系
- 关于Java基础的说明
- 关于android Activity生命周期的说明
- 关于SQL Server存储过程的说明(基础)