cesium中的坐标系

cesium中的坐标系

Cesium中常用的坐标:有两种WGS84地理坐标系笛卡尔空间坐标系
1.WGS84地理坐标系:分WGS84经纬度坐标系(没有实际的对象)、 WGS84弧度坐标系(Cartographic)
2.笛卡尔空间坐标系:分平面坐标系(Cartesian2),笛卡尔空间直角坐标系(Cartesian3)、4D笛卡尔坐标系(Cartesian4)

WGS84地理坐标系

  • Cartographic类:new Cesium.Cartographic(longitude, latitude, height),在Cesium中没有实际的对象来描述WGS84坐标,都是以弧度的方式来进行运用的也就是,这里的参数也叫longitude、latitude,就是经度和纬度,计算方法:弧度= π/180×经纬度角度。

笛卡尔空间坐标系

  • Cartesian2类new Cesium.Cartesian2(x, y),平面直角坐标系,经常用来描述屏幕坐标系,比如鼠标在电脑屏幕上的点击位置。

坐标系转换

经纬度和弧度的转换(toRadians转为弧度,toDegrees转为经纬度)
var radians=Cesium.Math.toRadians(degrees);//经纬度转弧度
var degrees=Cesium.Math.toDegrees(radians);//弧度转经纬度
WGS84经纬度坐标和WGS84弧度坐标系(Cartographic)的转换
//方法一:经纬度转弧度
var longitude = Cesium.Math.toRadians(longitude1); //其中 longitude1为角度

var latitude= Cesium.Math.toRadians(latitude1); //其中 latitude1为角度

var cartographic = new Cesium.Cartographic(longitude, latitude, height);

//方法二:经纬度转弧度
var cartographic= Cesium.Cartographic.fromDegrees(longitude, latitude, height);//其中,longitude和latitude为角度

//方法三:弧度转经纬度
var cartographic= Cesium.Cartographic.fromRadians(longitude, latitude, height);//其中,longitude和latitude为弧度
WGS84坐标系和笛卡尔空间直角坐标系(Cartesian3)的转换
以下三种方法均使用角度,从WGS84坐标系转换为笛卡尔空间直角坐标系(由经纬度转变为x,y,z)

var position = Cesium.Cartesian3.fromDegrees(longitude, latitude, height);//其中,高度默认值为0,可以不用填写;longitude和latitude为角度

var positions = Cesium.Cartesian3.fromDegreesArray(coordinates);//其中,coordinates格式为不带高度的数组。例如:[-115.0, 37.0, -107.0, 33.0]

var positions = Cesium.Cartesian3.fromDegreesArrayHeights(coordinates);//coordinates格式为带有高度的数组。例如:[-115.0, 37.0, 100000.0, -107.0, 33.0, 150000.0]

//同理,通过弧度转换,用法相同,具体有Cesium.Cartesian3.fromRadians,Cesium.Cartesian3.fromRadiansArray,Cesium.Cartesian3.fromRadiansArrayHeights等方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值