ArcGIS发布倾斜

经过为期两周的努力,踩了无数个坑,终于走出一条路,此刻我的心情是欣喜的,在程序批处理的等待过程中,本人开始整理整个过程,写成文档,希望能够帮助到更多像我一样在发布mesh数据中苦苦挣扎和彷徨的人。

本文讲述如何使用ArcGISPro发布无人机倾斜航拍生成的三维场景并在ArcGISPortal中浏览。

网上有几篇文章介绍步骤,这也是本人进行这项工作的主要指导思路:
文章入口

总体来讲,理论上有两条路径实现发布osgb数据(mesh倾斜数据导出主要格式)
A. 通过smart3d将osgb导出成slpk格式,然后共享包,最后在arcgisportal中发布;
B. 通过fme将osgb直接转成多面体,然后直接在arcgispro中发布图层。

第一种方法的优点是操作简单,缺点是不能在arcgis中编辑,第二种方法反之。

本人先使用第一种方法,但是在最后一步发布过程中卡壳了,网页一直显示发布毫无进展,虽然尝试其他方法修正,仍无果,只好选择第二种方法,实验证明,第二种方法虽然步骤复杂,但可以走得通。

工具准备:

  • FME WorkBench
  • ArcGISPro
  • ArcGISDesktop
  • ArcGISPortal

总体步骤:

  1. OSGB转Multipatch
  2. 合并
  3. 中心点移动
  4. Web图层共享

详细步骤:
使用FME WorkBench将OSGB转为Multipatch
前文提到的网上介绍文章中此处是用的ArcGIS扩展模块DataInterop,这个扩展模块本人安装了DataInteropForArcGISDesktop,但是就是无法转成功,提示操作失败,所以只好使用完整版FME WorkBench。

  1. 打开FME WorkBench,在首页点击Generate:
    在这里插入图片描述
  2. 在弹出的界面中配置,注意,WorkBench是一个格式转换工具,其中Reader代表读入数据,Writer代表输出(写入)数据,此处我们需要将osgb转成arcgis数据,所以reader的format选择OpenSceneGraph OSGB/OSGT,writer的format选择Esri Geodatabase(File Geodb),Reader的Dataset可以点击后面的下拉按钮进行批量导入,在批量导入的画面中将osgb后面的subfolders打勾,而osgt后面的subfolders不打勾:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 有数据在工程界面显示所有的处理列表,确认无误后点击运行:有数据在工程界面显示所有的处理列表,确认无误后点击运行在这里插入图片描述
    在这里插入图片描述
  4. 软件弹出确认位置的窗口,点击确定以后等待系统处理完毕即可
    在这里插入图片描述

合并

  1. 打开ArcgisPro的分析工具箱,点击数据管理工具-常规-合并,我们选择最底层tile(最精细化的一层,实际可以按照需求选择不同的层级)把不同地区的tile合并。此处因为数据量大,所以可能等待很长时间,也许造成pro崩溃,本人是将整个场景按照tile最外层的文件夹合并不同的图层,分成Tile001、Tile002…,这样可以确保pro不会运行到一般自动关闭,根据实际情况取舍。

中心点移动
移动目标是osgb文件对应的metadata.xml中显示的中心点位置:
在这里插入图片描述
在这里插入图片描述
有两种方案,一个是在ArcMap中开启编辑功能,选中所有要素,选择moveto,在弹出的目标位置中填写x、y,分别是metadata中SRSOrigin节点以逗号分隔的第一个和第二个数字,填写完毕后点击回车,然后save edit,stopedit,最后需要在arcgisPro中重新定义要素范围,工具位置:数据管理工具-要素类-重新计算要素类范围:
在这里插入图片描述
这种方法的缺点是数据量大时操作很慢而且很容易导致系统崩溃卡死,所以当数据量大时建议采用坐标转换的方式。
具体流程:Project-DefineProject
参见:
https://blog.csdn.net/zglybl/article/details/73294714
中第二种方法:使用“project”工具实现平移
比如原始坐标系为WGS_1984_UTM_Zone_51N,偏移260230,3486765,则在第一步Project时需要使用自定义坐标系,新建WGS_1984_UTM_Zone_51N副本,然后将其False_Easting改为原来基础上加260230,即500000+260230=760230,False_Northing改为原来基础上加3486765,即0+3486765=3486765,然后将project结果defineProject,输出坐标系使用原来的WGS_1984_UTM_Zone_51N,这样即可实现坐标的偏移。

为了方便批量处理,本人将Merge、偏移部分写了msbuilder工具,供大家参考(建议合并还是放在arcgispro中处理,效率比在批处理中更高些)。
https://download.csdn.net/download/wqy248/10691301
流程如下图所示:
在这里插入图片描述

Web图层共享

  1. 确保server上安装了DataStore,安装完配置的时候全选中三种类型:切片缓存、关系、时空:
    在这里插入图片描述
  2. 打开arcgispro,将之前经过处理的数据全部加载进来,可以看到所有的mesh数据,然后全部选中右击选择共享为web图层(如果数据量过大不能全部都显示,可以部分设为不可见或者全部设为不可见同样也能发布):
    在这里插入图片描述
  3. 在弹出的画面中填写名称、摘要、标签,发布组,然后点击分析,没有问题后点击发布,等待发布和缓存都结束以后便可以在portal中查看到发布的数据了(如果弹出的画面中显示无法发布,需要确认datastore是否安装、配置完成)
  4. 发布完成后,在portal我的内容中打开SceneLayer即可看到发布的场景图层:
    在这里插入图片描述
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值