首页 > 其他分享 >Cesium 中坐标相互转换

Cesium 中坐标相互转换

时间:2023-11-25 19:11:37浏览次数:25  
标签:coordCartographic const Cartographic 坐标 Cesium 转换 Math toDegrees

Cesium 中坐标相互转换

经纬度 degree <-> 弧度 radian

radians -> degrees

const coordWGS84Lon = Cesium.Math.toDegrees(coordCartographic.longitude);
const coordWGS84Lat = Cesium.Math.toDegrees(coordCartographic.latitude);

degrees -> radians

const coordCartographicLon = Cesium.Math.toRadians(coordWGS84Lon);
const coordCartographicLat = Cesium.Math.toRadians(coordWGS84Lat);

Cartographic <-> GCS(WGS84)

Cartographic -> GCS(WGS84)

const coordWGS84Lon = Cesium.Math.toDegrees(coordCartographic.longitude);
const coordWGS84Lat = Cesium.Math.toDegrees(coordCartographic.latitude);
const coordWGS84Height = coordCartographic.height;

return [coordWGS84Lon, coordWGS84Lat, coordWGS84Height];

GCS(WGS84) -> Cartographic

const coordCartographic = Cesium.Cartographic.fromDegrees(coordWGS84Lon, coordWGS84Lat, coordWGS84Height, resultCartographic);

Cartesian3 <-> Cartographic

Cartesian3 -> Cartographic

const coordCartographic = Cesium.Cartographic.fromCartesian(coordCartesian3);
const coordCartographic = Cesium.Ellipsoid.WGS84.cartesianToCartographic(coordCartesian3);

Cartographic -> Cartesian3

const coordCartesian3 = Cesium.Cartographic.toCartesian(coordCartographic);

Cartesian3 <-> GCS(WGS84)

Cartesian3 -> GCS(WGS84)

需要通过 Cartographic 做过渡
Cartesian3 -> Cartographic -> WGS84

通过 Cesium.Cartographic.fromCartesian

const coordCartographic = Cesium.Cartographic.fromCartesian(coordCartesian3);

const coordWGS84Lon = Cesium.Math.toDegrees(coordCartographic.longitude);
const coordWGS84Lat = Cesium.Math.toDegrees(coordCartographic.latitude);
const coordWGS84Height = coordCartographic.height;

return [coordWGS84Lon, coordWGS84Lat, coordWGS84Height];

通过 Cesium.Ellipsoid.WGS84.cartesianToCartographic

单个坐标转换

const coordCartographic = Cesium.Ellipsoid.WGS84.cartesianToCartographic(coordCartesian3);

const coordWGS84Lon = Cesium.Math.toDegrees(coordCartographic.longitude);
const coordWGS84Lat = Cesium.Math.toDegrees(coordCartographic.latitude);
const coordWGS84Height = coordCartographic.height;

return [coordWGS84Lon, coordWGS84Lat, coordWGS84Height];

多个坐标转换

const coordCartographicArray = Cesium.Ellipsoid.WGS84.cartesianArrayToCartographicArray(coordCartesian3Array);

const coordWGS84Array = new Array(coordCartographicArray.length)
coordCartographicArray.forEach((coordCartographic, index) => {
	const coordWGS84Lon = Cesium.Math.toDegrees(coordCartographic.longitude);
	const coordWGS84Lat = Cesium.Math.toDegrees(coordCartographic.latitude);
	const coordWGS84Height = coordCartographic.height;
	coordWGS84Array[index] = [coordWGS84Lon, coordWGS84Lat, coordWGS84Height];
})

return coordWGS84Array;

GCS(WGS84) -> Cartesian3

需要通过 Cartographic 做过渡
WGS84 -> Cartographic -> Cartesian3

const coordCartographic = Cesium.Cartographic.fromDegrees(coordWGS84Lon, coordWGS84Lat, coordWGS84Height);

const coordCartesian3 = Cesium.Cartographic.toCartesian(coordCartographic);

return coordCartesian3;

标签:coordCartographic,const,Cartographic,坐标,Cesium,转换,Math,toDegrees
From: https://www.cnblogs.com/zheyi420/p/17855911.html

相关文章

  • 笔记·数据类型与类型转换
    笔记·数据类型与类型转换数据类型Number(数字)python中的数字分为以下四种类型int(整数):python中的int对应C语言中的长整型float(浮点数):小数bool(布尔类型):int的子类型,其中False==0True==1complex(复数):由实数部分与虚数部分构成,可表示为complex(a,b),其中a代表实部,b代表虚部......
  • 网络地址转换(NAT)
    网络地址转换(NAT)1.概念私网就是可以重复使用相同的IP地址。NAT就是实现内部网络的主机访问外部网络,缓解了IPv4地址短缺,让外网无法直接与使用私有地址的内网进行通信,提升了内网的安全性私有地址:A类:10.0.0.0~10.255.255.255B类:172.16.0.0~172.31.255.255C类:192.168.0.0~......
  • JSON 格式的字符串转换回数组
    要将JSON格式的字符串转换回数组,你可以使用JavaScript的JSON.parse方法。这个方法可以将一个JSON字符串解析成JavaScript对象或数组。对于你的字符串,可以这样操作:假设你有一个JSON字符串str,其内容如下:'[{"goodsCode":"ABC1","qty":12.22},{"goodsCode":"ABC2","q......
  • MySQL将'20231124'转换为'yyyy/MM/dd'格式
    可以使用STR_TO_DATE函数将一个字符串转换为日期,并使用DATE_FORMAT函数将日期格式化为指定的格式SELECTDATE_FORMAT(STR_TO_DATE('20231124','%Y%m%d'),'%Y/%m/%d');解释一下上述语句的步骤:STR_TO_DATE('20231124','%Y%m%d')将字符串"20231124"转换为日期......
  • Excel导入sql语句模板,解决转换时间戳问题
    EXCEL导入MySQL生成sql语句解决时间戳问题生成普通sql语句解决时间戳问题这里使用’"&TEXT(E1,“yyyy-mm-ddhh:mm:ss”)&"’解决excel表中时间戳问题的生成使用str_to_date(’"&TEXT(E1,“yyyy-mm-ddhh:mm:ss”)&"’,’%Y-%m-%d%T’))解决插入mysql中的问题="insertintoxx......
  • javaString字符串转换成加减乘除
    字符串不用分割直接进行加减乘除的操作每天一个无用小技巧!try{ScriptEnginejavascript=newScriptEngineManager().getEngineByName("JavaScript");Stringstring="1*3-6+8/2";//这里是强制转换成数据类型Doubledouble=(Double)javascript.eval(string);......
  • Oracle 隐式数据类型转换的坑
    在执行sql时遇到了一个转换类型的错误 ORA-01722:invalidnumber...LEFTJOINAONB.BUSINESSID=A.ID...原因是在进行隐式数据类型转换时,BUSINESSID字段是VARCHAR2类型,其中有些业务数据包含了非数字字符,导致转换报错可以使用下面的sql查哪些数据的字段包含了非数......
  • 深度学习中实现PyTorch和NumPy之间的数据转换知多少?
    在深度学习中,PyTorch和NumPy是两个常用的工具,用于处理和转换数据。PyTorch是一个基于Python的科学计算库,用于构建神经网络和深度学习模型。NumPy是一个用于科学计算的Python库,提供了一个强大的多维数组对象和用于处理这些数组的函数。在深度学习中,通常需要将数据从NumPy数组转换......
  • 【Python&GIS】基于Python面矢量转换线矢量
    ​        今天有些不一样,发这篇文章并不是项目需要。单纯的想到有这个功能没使用Python实现,所以就去研究了一下,第一时间就和大家分享。如何使用Python的osgeo库实现面矢量数据与线矢量数据的互相转换。一、导入所需库importosfromosgeoimportogr二、面转线......
  • Java时间截和日期格式相互转换的方法。
    1.将时间戳转换为日期格式: 2.将日期格式转换为时间戳: ......