supermap WebGL 3D与原生Cesium加载3DTiles问题

1.supermap提供无插件的三维地图开发包,即supermap WebGL 3D,是基于Cesium定制开发的,当前对应的原生Cesium版本为1.40、1.54。而最新的Cesium已经更新到1.61。

2.原生Cesium加载3DTiles时,性能在不断优化,当加载的范围较大时,会出现崩溃现象,而supermap WebGL 3D定制后,加载速度明显优于原生Cesium,这点为supermap三维能力点赞。

3.由于解决倾斜摄影数据较多,以前处理OSGB转换b3dm格式的3Dtiles切片服务,用原生Cesium加载都是OK的,现在切换到supermap WebGL 3D上面,加载的倾斜模型找不到北了,为supermap技术才了解,加载Cesium 原生3DTiles切片,查阅开发包示例代码 3D Tiles Photogrammetry.html,需要设置如下:

var obj = [6378137.0, 6378137.0, 6356752.3142451793];

 Cesium.Ellipsoid.WGS84 = Cesium.freezeObject(new Cesium.Ellipsoid(obj[0], obj[1], obj[2]));

var viewer = new Cesium.Viewer('cesiumContainer');

即重新定义WGS84球体参数,obj[0], obj[1]与obj[2]数值不一样,即将WGS84定义为椭球体,然后才正常加载。

如果定义 obj=[6378137.0, 6378137.0, 6378137.0];才是圆球体。

通过上述得知,obj=[6378137.0, 6378137.0, 6378137.0];使用的是圆球体,Cesium原生为椭圆体。

4.新的问题又出现了,设置Cesium.Ellipsoid.WGS84为正球体,supermap WebGL 3D加载iserver发布的三维服务,模型位置又飘了,连之前绘图工具都无法正常使用,所以简单定义为正球体的解决办法,还是不妥当。

5.回归到原点,既然是原生3Dtiles切片服务飘

你可能感兴趣的:(Web3D,WebGIS,web)