版权声明:本文为博主原创文章,未经博主允许不得转载。 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平台相关问题小结的更多相关文章

  1. 如何通过倾斜摄影数据手动配置s3c索引文件?

    如何通过倾斜摄影数据手动配置s3c索引文件? 大家知道,倾斜摄影数据最常见的是OSGB格式,并且是由一个一个的Tile分级文件夹构成的Data文件夹.结构一般如下图所示: 那么,如何才能把模型的各个瓦 ...

  2. AdMaster技术副总裁谈Hadoop、营销数据、Python和挖掘平台

    http://www.infoq.com/cn/news/2014/09/admaster-hadoop 卢亿雷是现任AdMaster技术副总裁,曾在联想研究院.百度基础架构部.Carbonite C ...

  3. Python基础:获取平台相关信息

    Windows 10家庭中文版,Python 3.6.4, 本文介绍了使用os.platform.sys三个模块获取Python程序的运行平台相关的信息. os模块:提供 各种各样的操作系统接口 os ...

  4. Cesium加载三维倾斜摄影数据

    具体技术来源自论文 基于Cesium的倾斜摄影三维模型Web加载与应用研究. 技术架构图 应用实例 利用一个实际实例来详细说明如何利用Cesium加载倾斜摄影数据,并进行可视化和交互操作. 首先,利用 ...

  5. HTML5应用 + Cordova = 平台相关的混合应用

    Jerry之前的一篇文章 SAP Fiori应用的三种部署方式 曾经提到SAP Fiori应用的三种部署方式: On Premise环境下以ABAP BSP应用作为Fiori应用部署和运行的载体 部署 ...

  6. (转)GIS理论知识(三)之ArcGIS平台、SuperMap超图平台和开源平台

    3.1.ArcGIS平台 ArcGIS为美国ESRI公司研发的产品,为用户提供一个可伸缩的,全面的GIS平台.ArcObjects包含了许多的可编程组件,从细粒度的对象(例如单个的几何对象)到粗粒度的 ...

  7. OSG加载倾斜摄影数据

    目录 1. 概述 2. 实例 2.1. 代码 2.2. 解析 3. 结果 1. 概述 ContextCapture(Smart3D)生成的倾斜摄影模型数据一般都形如如下组织结构: 在Data目录下包含 ...

  8. Cesium加载倾斜摄影数据

    (1)倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式, 数据目录必须有一个 “Data” 目录的总入口, “Data” 目录同级放置一个 metadata.xml 文件用来记录模型的位 ...

  9. 【老孟Flutter】Flutter 中与平台相关的生命周期

    老孟导读:关于生命周期的文章共有2篇,一篇(此篇)是介绍 Flutter 中Stateful 组件的生命周期. 第二篇是 Flutter 中与平台相关的生命周期, 博客地址:http://laomen ...

随机推荐

  1. eclipse发布后在tomcat下没有文件夹,服务器的Server locations不能修改

    主要是因为Server locations中的deploy路径不正确,要修改这个路径,需要移除服务器中的所有项目,然后点击清空,这时再双击服务器,既可修改这个设置.

  2. [转]Howto: 使用ImageBrush替换PictureMarkerSymbol以加强graphic显示性能

    原文地址:http://support.esrichina-bj.cn/2009/0728/1007.html 文章编号 : 37033 软件: ArcGIS API for Microsoft Si ...

  3. ESP8266进阶篇

    ESP8266进阶篇 20170225(应需要,继续使用此模块!!!) 说一下如何通过内网和外网来控制我的ESP8266的数据模块 1.内网控制:(要求手机直接连接在ESP8266的WIFI上面,使用 ...

  4. Scala-Unit4-Scala数组/集合

    一.Scala数组 1.数组的定义: 方法一:val arr = new Array[String](3) String代表数据的元素类型.3表示数组的长度 方法二:val arr = Array[I ...

  5. SVM:随机产生100个点,建立模型,找出超平面方程——Jaosn niu

    import numpy as np import pylab as pl from sklearn import svm # we create 40 separable points #np.ra ...

  6. Python爬虫:更加优雅的执行JavaScript(PyV8)

    https://www.jianshu.com/p/c534d6eb881a?utm_source=oschina-app

  7. 在cikuapi.com上抓取相关词

    最近用到文本相关性计算,要在开放域语料上操作,找了好久没找到好的方法,后来看到了清华的梁斌老师建的cikuapi,上面能查询一些相关词,自己写代码爬的时候出现中文解码问题,遂到Github上找了下相关 ...

  8. SpringBoot整合Mybatis完整详细版二:注册、登录、拦截器配置

    接着上个章节来,上章节搭建好框架,并且测试也在页面取到数据.接下来实现web端,实现前后端交互,在前台进行注册登录以及后端拦截器配置.实现简单的未登录拦截跳转到登录页面 上一节传送门:SpringBo ...

  9. BZOJ.4540.[HNOI2016]序列(莫队/前缀和/线段树 单调栈 RMQ)

    BZOJ 洛谷 ST表的一二维顺序一定要改过来. 改了就rank1了哈哈哈哈.自带小常数没办法. \(Description\) 给定长为\(n\)的序列\(A_i\).\(q\)次询问,每次给定\( ...

  10. Django——ModuleNotFoundError: No module named 'asgiref.sync'

    Django+channels运行时报错 Unhandled exception in thread started by <function check_errors.<locals&g ...