在ArcGIS Pro中OSGB数据转换及发布服务流程
随着倾斜摄影技术的发展,大家在工作中经常接触到各种类型的倾斜摄影模型,比如OSGB、dae、obj、slpk(Esri)等。
Esri采用的spk i3s标准(Indexed 3D Scene),是Esri推出的开放标准。I3S标准作为开放的标准已经得到了市面上主流的倾斜摄影测量建模软件的支持,如Bentley的 ContextCapture(国内简称为Smart 3D)、Pix4D、Vricon,这些软件均支持基于I3S标准的数据格式SLPK的导出,生成的SLPK格式的模型可通过ArcGIS Pro上传到Portal上并发布成三维服务。
如果您希望将生成的三维模型用于ArcGIS产品线,建议在倾斜摄影建模软件导出时直接选择Esri I3S标准的数据格式SLPK,这样可以直接加载至pro中发布服务,避免格式转换。下图是ContextCapture软件中在输出结果中选择输出slpk。
您也可以选择使用Drone2Map forArcGIS,基于无人机影像快速生成倾斜摄影测量建模成果,并能导出成基于I3S标准的数据格式SLPK,导出的SLPK格式的数据可通过Drone2Mapfor ArcGIS直接上传到Portal for ArcGIS上并发布成三维服务。
如果是SLPK,那么就万事大吉了。但在实际中,有些用户拿到的是OSGB格式。
目前,ArcMap和ArcGIS Pro不能直接打开OSGB的数据,需要使用数据互操作模块将OSGB转换为multipatch,之后发布服务。接下来,以contextcapture软件生成的OSGB,介绍处理流程:
软件:ArcGIS Pro1.4
1)明确OSGB的坐标,否则转换后会出现模型偏移等问题。
OSGB数据的坐标存在哪里,还得从OSGB数据生产源说起。使用contextcapture软件生成的osgb模型的坐标原点是模型的中心,即0,0,模型中其余的点是相对于0,0记录的;模型中心对应的实际坐标存储在medata.xml(在contextcapture生成osgb的时候,需要定义投影坐标系)。
2)使用Data interoperability,将OSGB转换为multipatch。
在转换时,注意reader和writer中参数的设置,主要是指定坐标系,否则pro中无法显示模型。
3)在ArcGIS Pro中,使用工具merge(Data Management toolbox --General ),或ArcScene中3D编辑工具条下的union,将osgb中最高级别进行合并(OSGB数据类似于金字塔结构,最高级别模型最精细),合并为一个multipatch。
4)在ArcGIS Pro中,选中模型,使用move to工具将模型移动到模型中心实际所在位置(从metadata.xml中获取,注意选择absolute)。
转移后,坐标范围没有更新,需要使用工具Recalculate Feature ClassExtent工具重新计算。
计算完后,加载模型,模型已处于正确的地理位置,但你会发现,此时模型是悬浮在空中。
5)可以使用move工具,移动z值将其调整至地面,或者右键图层选择on the ground,下图为模型和底图完全贴合。
模型在场景中正常显示后,就可以发布服务了:
两种方式,第一种步骤较为简单,适合小数据量;第二种多了一个打包的过程:
第一种:直接将多面体加载到场景中,右键场景图层,点击share as web layer,然后根据参考文档进行操作即可发布场景服务。
在portal中添加发布的场景即可。
第二种:
1)使用“创建场景图层包”工具,将多面体要素图层生成场景图层包 (.slpk);
工具位置:数据管理工具箱 -> 打包工具集->创建场景图层包
2)如果输出场景包小于 1 GB,则可在浏览器中直接将其上传至 ArcGIS Online 或 Portal for ArcGIS。如果大于 1 GB,请使用“共享包”工具将其上传至 ArcGIS Online 或 Portal for ArcGIS 10.3.1 或更高版本。工具位置:数据管理工具箱 -> 打包工具集 ->共享包
3)上传场景图层包后打开项目详细页面,将其发布为服务。
注意:OSGB现有的解决方案不是最优的方案,但它解决了数据入库的问题。未来,Esri北京研发中心正在研究多种格式与I3S互转的问题,如能实现OSGB转换为I3S或许是一个更好的解决方案。如果模型中有水体,可能会出现水体模糊的情况。
---------------------
作者:TanaVega_GIS
来源:CSDN
版权归原作者所有,如有侵权请告知删除
- END -