之前做过一个相对于模型左下角坐标为基点的一个项目,后端给的数据是{x:'120',y:'30'}单位为(米)的坐标,
米转换成经纬度之后发现一个正方形的电子围栏,变成了一个斜的不规则正方形,然后又来回的转换之后发现
Cesium的每次转换都是有点偏差的,没办法只能用三角函数转换成坐标来实现了。
PS:三角函数转换后性能上有些卡顿,需要优化,慎重转换(如果大佬有更好的办法,不吝赐教,谢谢)。
Cesium.Cartographic.fromCartesian(item)//弧度转换
Cesium.MathtoDegrees(carto.longitude).toFixed(5) //弧度转换经纬度
Cesium.Cartographic.fromDegrees(lng,lat,0)//经纬度转换世界坐标
经度longtitude 相同纬度之间-经度距离111*cosa km a是纬度对应的弧度纬度
latitude相同经度之间一纬度距离约111km
Math.cos(60*Math.PI/180)
//原点经纬度
var origin = 120,30
//电子围栏平面坐标
var point1 = 0,0
var point2 = 500,0
var point3 = 500,500
var point4 = 0,500
//经纬度
var point1 = 120,30 //120是经度,30是纬度
var point2 = 120 + 0.5/(Math.cos(30*Math.Pl/180)*111),30
var point3 = 120 + 0.5/(Math.cos((30+0.5/111)*Math.Pl/180)*111),30+0.5/111
var point4 = 120,30 + 0.5/111