【问题原因】为了更好的兼容3Dtiles等椭球数据,从11i版本开始,全面支持椭球场景
【解决办法】圆球表示球体的长半轴和短半轴相等,地球是一个标准的球体。椭球表示球体的长半轴大于短半轴,地球是一个微扁的椭球体,更符合真实情况。如果三维数据都是使用iDesktop11i之前的版本处理的,默认是圆球数据,前端加载时也使用默认圆球;如果三维数据是使用iDesktop11i及以后的版本处理的,默认是椭球数据,前端需要将默认圆球改为椭球进行添加。前端将球体变为椭球的代码:var obj = [6378137.0, 6378137.0, 6356752.3142451793];
Cesium.Ellipsoid.WGS84 = Object.freeze(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));
圆球数据和椭球数据添加到同一场景下会有相对偏移,需要重新处理成相同球体数据进行添加