倾斜摄影数据OSGB进入到ArcGIS平台相关问题小结
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zglybl/article/details/75252288
随着倾斜摄影技术的发展,大家在工作中经常接触到各种类型的倾斜摄影模型,比如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中无法显示模型。
详情参见:
如何将OSGB数据转换为multipatch - TanaVega_GIS - CSDN博客
点击打开链接
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
原文:https://blog.csdn.net/zglybl/article/details/75252288
版权声明:本文为博主原创文章,转载请附上博文链接!
倾斜摄影数据OSGB进入到ArcGIS平台相关问题小结的更多相关文章
- 如何通过倾斜摄影数据手动配置s3c索引文件?
如何通过倾斜摄影数据手动配置s3c索引文件? 大家知道,倾斜摄影数据最常见的是OSGB格式,并且是由一个一个的Tile分级文件夹构成的Data文件夹.结构一般如下图所示: 那么,如何才能把模型的各个瓦 ...
- AdMaster技术副总裁谈Hadoop、营销数据、Python和挖掘平台
http://www.infoq.com/cn/news/2014/09/admaster-hadoop 卢亿雷是现任AdMaster技术副总裁,曾在联想研究院.百度基础架构部.Carbonite C ...
- Python基础:获取平台相关信息
Windows 10家庭中文版,Python 3.6.4, 本文介绍了使用os.platform.sys三个模块获取Python程序的运行平台相关的信息. os模块:提供 各种各样的操作系统接口 os ...
- Cesium加载三维倾斜摄影数据
具体技术来源自论文 基于Cesium的倾斜摄影三维模型Web加载与应用研究. 技术架构图 应用实例 利用一个实际实例来详细说明如何利用Cesium加载倾斜摄影数据,并进行可视化和交互操作. 首先,利用 ...
- HTML5应用 + Cordova = 平台相关的混合应用
Jerry之前的一篇文章 SAP Fiori应用的三种部署方式 曾经提到SAP Fiori应用的三种部署方式: On Premise环境下以ABAP BSP应用作为Fiori应用部署和运行的载体 部署 ...
- (转)GIS理论知识(三)之ArcGIS平台、SuperMap超图平台和开源平台
3.1.ArcGIS平台 ArcGIS为美国ESRI公司研发的产品,为用户提供一个可伸缩的,全面的GIS平台.ArcObjects包含了许多的可编程组件,从细粒度的对象(例如单个的几何对象)到粗粒度的 ...
- OSG加载倾斜摄影数据
目录 1. 概述 2. 实例 2.1. 代码 2.2. 解析 3. 结果 1. 概述 ContextCapture(Smart3D)生成的倾斜摄影模型数据一般都形如如下组织结构: 在Data目录下包含 ...
- Cesium加载倾斜摄影数据
(1)倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式, 数据目录必须有一个 “Data” 目录的总入口, “Data” 目录同级放置一个 metadata.xml 文件用来记录模型的位 ...
- 【老孟Flutter】Flutter 中与平台相关的生命周期
老孟导读:关于生命周期的文章共有2篇,一篇(此篇)是介绍 Flutter 中Stateful 组件的生命周期. 第二篇是 Flutter 中与平台相关的生命周期, 博客地址:http://laomen ...
随机推荐
- mariadb-主主
互为主从:两个节点各自都要开启binlog和relay log: 这样可能会产生以下问题: 1.数据不一致: 2.自动增长id:(能不用最好不用) 定义一个节点使用奇数id auto_incremen ...
- BZOJ2527 [Poi2011]Meteors 整体二分 树状数组
原文链接http://www.cnblogs.com/zhouzhendong/p/8686460.html 题目传送门 - BZOJ2527 题意 有$n$个国家. 太空里有$m$个太空站排成一个圆 ...
- maven pom.xml(公司版)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- SSM整合——完全版
1, 2, 3, 4,项目建立好后: 覆盖pom.xml,地址在:https://blog.csdn.net/mark_lirenhe/article/details/80875266 alt+F5= ...
- 分享一段奇葩的DBMS_JOB书写经历
declare JOB_ILEARN_ONLINE number :=1; begin dbms_job.submit(JOB_ILEARN_ONLINE,'clear_product;',sysda ...
- 解决UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position
最近用Python写了些爬虫,在爬取一个gb2312的页面时,抛出异常: UnicodeEncodeError: 'ascii' codec can't encode characters in po ...
- 一、利用Python编写飞机大战游戏-面向对象设计思想
相信大家看到过网上很多关于飞机大战的项目,但是对其中的模块方法,以及使用和游戏工作原理都不了解,看的也是一脸懵逼,根本看不下去.下面我做个详细讲解,在做此游戏需要用到pygame模块,所以这一章先进行 ...
- 比较对象--"=="与"equal"的区别
String stra=new String("你好"); String strb=new String("你好"); String strc=stra; bo ...
- Linux学习之查看系统资源命令总结(二十二)
Linux系统之查看系统资源总结 . 转载:http://lxbins.blog.51cto.com/1089997/283663 top命令:监控系统 top 主要参数 d:指定更新的间隔,以秒计算 ...
- git命令详解( 七 )
此为git命令详解的第七篇 这章我们可以来逐渐揭开 git push.fetch 和 pull 的神秘面纱了.我们会逐个介绍这几个命令,它们在理念上是非常相似的. git push的参数 git ...