大规模自制城市模型和webgis对齐一直是一个高频问题。首先复现问题:
一、复现问题
如图cesium加载了一个天津市gltf模型,整体尺寸较大。
拉近地图,在模型中心位置,建筑物和地面影像很好的重叠,并且贴合地面。
当拉到模型边缘位置时,发现建筑物是悬浮的(没有贴合地面)!并且没有和卫星影像重合!
二、哪些软件存在这种问题
在实际使用中,发现blenderGIS、blenderOSM、Cityengine、fme+skecthup 转换的GIS建筑物模型时都存在该问题。距离模型中心点越远,偏移越大。这些软件导出的大尺寸模型,不适合在webgis引擎上使用。
三、如何解决
根据第一性原理,既然建筑模型中心位置可以对齐webgis,大尺寸不行,那我们把模型尺寸做小点不就可以了?进而我们需要解决4个问题
1、要对GIS数据进行自动化分割
2、将分割的小块gis数据转模型,并且有经纬度信息
3、最好还能对模型进行压缩
4、生成的模型可以拼接在webgis上浏览
使用Geobuilding软件自动分割GIS数据转模型
Geobuilding在模型导出位置加入了分块类型,5000米范围内建筑物分块导出。在测试中发现5000米是一个较好的临界值。小于5000米会对齐的更准确,同时分的块也就越多。
软件支持对gltf模型使用draco批量压缩,减少模型体积。
Geobuilding会导出建筑物的gltf模型序列,并有每个模型的经纬度坐标,并给出模型浏览演示文件代码demo.html
演示文件是基于Cesium展示。
由于模型是分块的,所有距离城市边缘的模型也能很好的对齐影像,并且贴合地面。
同时软件还导出了调度加载页面demo3.html,可以在cesium可见视域内动态加载模型和销毁模型,保障了性能。有兴趣的小伙伴可下载使用。
本文导出的模型文件下载 pan.baidu.com/s/1gO2zYx4F...
本文内容视频演示 www.bilibili.com/video/BV1Xm...