首页 / 浏览问题 / 三维GIS / 问题详情
关于X Y 转换为经纬度,再转笛卡尔
152EXP 2019年07月10日

我从二维平面得到了 中心点坐标 即,现在我需要将它转换成经纬度的 比如,再用该经纬度通过Cesium.Cartographic.fromDegrees 得到我想要的。但实际上我用scene.camera._projection.unproject方法传入参数是new Cesium.Cartesian3(x,y,z),得出来的点就是弧度的,再用Cesium.Math.toDegrees转成角度不行,偏差太大了

1个回答

你用scene.camera._projection.unproject方法转换出来的坐标应该是4.xxxx和2.xxxx左右吧?

如果是这个就是对的,因为webgl是只支持wgs84坐标的,虽然看上去跟本身正确的坐标相差很多

这个是超图对平面场景做了特殊的计算处理,是以0°线那里为基准做了计算
545EXP 2019年07月10日

您好,感谢您的耐心解答,但是这边做转换的时候,是这样子的

你的场景是wgs84的坐标还是平面的坐标?
var latitude = Cesium.Math.toDegrees(wgs84.latitude);
 var longitude = Cesium.Math.toDegrees(wgs84.longitude);

这个就是转后的。上面截图 有显示结果,但是和 经纬度相差有点大,不是我想要的。
应该是你的椭球体要重新设置下

new Cesium.WebMercatorProjection(ellipsoid)
...