一、倾斜摄影数据简介
倾斜摄影(Oblique photography)是指由一定倾斜角度的航摄相机所获取的影像。倾斜摄影技术是国际摄影测量领域近十几年发展起来的一项高新技术,该技术通过从一个垂直、四个倾斜、五个不同的视角同步采集影像,获取到丰富的建筑物顶面及侧视的高分辨率纹理。它不仅能够真实地反映地物情况,高精度地获取物方纹理信息,还可通过先进的定位、融合、建模等技术,生成真实的三维城市模型。该技术在欧美等发达国家已经广泛应用于应急指挥、国土安全、城市管理、房产税收等行业。
二、倾斜摄影数据格式
对于倾斜摄影数据的处理和生成,目前市面上有两款主流软件:大疆智图、Smart3D(CC)
这两款软件各有千秋,感兴趣的小伙伴可以参考:大疆智图与Smart3D三维建模对比
大疆智图:
Smart3D:
两款软件可产出多种模型格式,分别为OSGB\PLY\B3DM\OBJ\S3MB\I3S\S3C\FBX等。其中OSGB、OBJ、S3MB等格式,SuperMap iDesktop产品可直接对接,考虑到后续方便对倾斜摄影数据进行优化处理,建议采用OSGB格式
最终导出结果:
三、倾斜摄影数据处理
SuperMap iDesktop对接倾斜摄影数据,一个步骤就搞定了! ————生成配置文件
● 通过 “ 三维数据 ”-“ 倾斜摄影 ”-“ 数据管理 ”-“ 生成配置文件 ”,对倾斜摄影数据生成配置文件
● 生成成功后,新建三维球面场景,在 “ 图层管理器 ”-“ 普通图层右键 ”-“ 添加三维切片缓存 ”,选择配置文件(Config),将数据添加进场景展示
至此,倾斜摄影数据就对接成功了
在实际项目上,倾斜摄影不仅仅要在iDesktop中展示,也需要在Web端、移动端、组件端以及桌面端上使用;倾斜摄影原始数据具有文件碎、体量大等特点,为了便于浏览器传输、提高Web端,移动端,组件端以及桌面端的加载效率、提升用户体验,我们需要将数据重新压缩为S3MB格式 ————倾斜入库
● 通过 “ 三维数据 ”-“ 倾斜摄影 ”-“ 数据处理 ”-“ 倾斜入库 ” ,将倾斜摄影数据(OSGB格式)转为S3MB格式,用于发布服务,供Web端、移动端、组件端和桌面端调用
四、可能遇到的报错及解决方案
问题一:metadata.xml(元数据)中没有记录坐标系EPSG,而是一长串参数,该如何设置坐标系
● 问题分析:EPSG只记录了常见坐标系,这种数据属于客户自定义的坐标系,其中一长串数据代表坐标系的参数,可根据这些参数,通过iDesktop构建坐标系
● 解决方案:
○ 参数对应关系如下:
SPHEROID:椭球体
PRIMEM:中央子午线
PROJECTION:投影方式
latitude_of_origin:原点纬线
central_meridian:中央经线
scale_factor:比例因子
false_easting:水平偏移量
false_northing:垂直偏移量
UNIT:单位
○ 打开iDesktop “ 开始 ”-“ 投影设置 ”-“ 新建投影坐标系 ”,根据参数新建坐标系
○ 对倾斜摄影数据生成配置文件,选择上一步新建的坐标系,并设置metadata.xml中记录的插入点坐标值
问题二:生成配置文件后,在球面场景中能看到数据,倾斜入库后,无法在球面场景定位到数据
● 问题分析:倾斜入库参数(中心点坐标单位)设置不正确
● 解决方案:
确认原始OSGB数据坐标系单位,如果是投影坐标系,倾斜入库参数(中心点坐标单位)设置为米,如果是地理坐标系,或者ENU坐标系,倾斜入库参数(中心点坐标单位)设置为度
最终数据要在球面场景展示,需要勾选投影转换,设置目标坐标系为:4326或者4490
问题三:ENU坐标数据生成配置文件和倾斜入库后,均看不到数据
● 问题分析:生成配置文件参数(中心点坐标)z值设置不正确导致数据在地下
● 解决方案:
○用记事本打开metadata.xml,查看插入点坐标以及数据中心点坐标,生成配置文件时,需要输入插入点坐标x、y(注意不要写反了),以及中心点坐标z,如下图:
○ 倾斜入库时,中心点坐标单位设置为度,目标坐标系设置为4326或者4490
问题四:对原始OSGB数据生成配置文件后,在场景中查看数据非常模糊,并且不加载精细层
● 问题分析:配置文件索引到错误的层级
● 解决方案:
查看原始数据根目录下,是否存在除了tile文件夹以外的其它OSGB文件,如果有,请将它移除
问题五:倾斜入库崩溃
● 问题分析:文件中可能存在错误数据,需要具体定位到文件
● 解决方案:
○ 方案一:在SuperMap iDesktop安装目录Bin/SuperMap.xml文件中添加
TRUE入库崩溃时,会在入库输出目录下生成log日志,可将该日志提供给支持中心三维同事,定位具体问题数据
○ 方案二:通过倾斜入库崩溃检查工具排查,链接:https://pan.baidu.com/s/1j2Esl9s67Eo73HvBxASlQg 提取码:6655
问题六:倾斜摄影表面闪烁
● 问题分析:存在重复数据
● 解决方案:
○ 查看Tile文件夹名称,如果发现文件名后带“_1”,或者名称与其它Tile文件夹名称明显不一致的,选中它们,用Ctrl+x剪切,新建一个文件夹保存,(这里将剩下的数据叫做 “数据1” ,被剪切的数据叫做 “数据2”)
○ 将处理得到的两份数据分别生成配置文件,叠加到同一个场景进行叠加对比,如果 “数据1” 没有闪烁也没有缺失数据,那么 “数据1” 就是处理好的数据;如果 “数据1” 出现数据丢失,那么需要根据 “数据1” 丢失数据的范围,对 “数据2” 进行保留区域内裁剪,将裁剪结果与 “数据1” 合并,得到一份完整数据
问题七:浏览数据时出现一闪而过的尖刺
● 问题分析:某些层级存在错误数据
● 解决方案:
○ 使用 “ 三维数据 ”-“ 倾斜摄影 ”-“ 文件选择 ”功能,选中尖刺,右边弹出的面板中 “ 块名字 ” 表示数据所属的Tile文件夹,“ 文件名字 ” 表示当前选中的文件名称, “ 文件名字 ” 中 “L**” 表示该文件的层级,例:L17 表示17层
○ 如果出现尖刺的层级都在16层及以下,16层以上都没有尖刺,那么可以通过对OSGB数据重新指定根节点层级为17层解决;如果尖刺出现在16层以上的层级,不建议按这种方式处理,将问题告知客户,让客户处理原始数据
问题八:被修饰过的倾斜摄影,倾斜入库后纹理变黑,加载速度慢
● 问题分析:倾斜摄影数据纹理贴图利用率不高,贴图分辨率过大
● 检查方法:
1.将osgb文件以模型的方式导入到数据源
2.将数据添加到场景,“ 鼠标选中右键 ”-“ 材质编辑 ”-“ 材质 ”,查看贴图
3.查看模型贴图,出现类似这种有效贴图占整个图片很小一部分的,说明纹理利用率不高,图片利用率在70%及以上符合标准;并且检查贴图纹理,建议不超过10241024,如果存在超过10241024的大纹理,需要使用ps降低分辨率
● 解决方案:
执行倾斜入库功能时,勾选“纹理重映设”
问题九:倾斜摄影设置半透明后,出现白色网格
● 问题分析:在倾斜摄影数据生产过程中,为了块与块之间能更好的融合,每个瓦片会多出一部分重叠数据,这就导致了数据在半透明之后,重叠数据异常明显,类似于白色网格
● 解决方案:
执行倾斜入库功能时,勾选 “ 融合边界 ”
问题十:WebGL加载倾斜摄影数据,纹理颜色不正确
● 问题分析:SuperMap iDesktop对倾斜摄影执行倾斜入库时,“ 纹理压缩格式 ” 选择“WebP”,前端可能出现这种情况,这是由于为了兼容更多的数据,底层对WebP格式做了处理,将材质RGB颜色进行了反转
● 解决方案:
1.WebGL设置代码:layer.RGBTOBGR = true
2.SuperMap 官网下载SuperMap iClient for Cesium最新版本