cesium米转换经纬度_cesium 常见坐标系及坐标转换(工具篇)

该博客提供了一组Cesium坐标转换工具,包括度与弧度之间的转换、经纬度(度)到世界坐标的转换、世界坐标到经纬度(度)的转换,以及Web墨卡托坐标与经纬度之间的转换。工具适用于基于WGS84椭球体的坐标操作。
摘要由CSDN通过智能技术生成

/*

* @Description: 坐标转换工具,下面的坐标转换默认都是基于WGS84 椭球体

*/

class Degrees {

constructor(longitude, latitude, height = 0) {

this.longitude = longitude;

this.latitude = latitude;

this.height = height;

}

}

Cesium.Degrees = Degrees;//不建议这样直接修改Cesium原始对象

class Tramsform {

/**

* @description: 弧度转度

* @param {Number} value

* @return {Number}

*/

toDegrees(value) {

return Cesium.Math.toDegrees(value)

}

/**

* @description: 度转弧度

*/

toRadians(value) {

return Cesium.Math.toRadians(value)

}

/**

* @description: 经纬度(度)转世界坐标

* @param {Degrees} degrees.longitude 经度 degrees.latitude 纬度 degrees.height高度

* @return {Cartesian3} 世界坐标

*/

degreesToCartesian(degrees) {

return Cesium.Cartesian3.fromDegrees(degrees.longitude, degrees.latitude, degrees.height)

}

/*

* @description: 世界坐标转 经纬度(度)

* @param {Cartesian3} cartesian 世界坐标

* @return {Cartographic}  返回转换之后的经纬度

*/

degreesFromCartesian(cartesian) {

let cartographic = this.cartographicFromCartesian(cartesian);

return this.degreesFromCartographic(cartographic);

}

/*

* @description: 经纬度(度)转经纬度(弧度)

* @param {*} degrees

* @return {*}

*/

degreesToCartographic(degrees) {

degrees.longitude = this.toRadians(degrees.longitude);

degrees.latitude = this.toRadians(degrees.latitude);

return degrees;

}

/**

* @description: 经纬度(弧度)转经纬度(度)

* @param {Cartographic} cartographic

* @return {*} 返回经纬度(度)

*/

degreesFromCartographic(cartographic) {

cartographic.longitude = this.toDegrees(cartographic.longitude);

cartographic.latitude = this.toDegrees(cartographic.latitude);

return cartographic;

}

/**<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值