倾斜摄影自动化建模成果的数据组织和单体化

2024-05-10 08:08

本文主要是介绍倾斜摄影自动化建模成果的数据组织和单体化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来源:超图软件 2015-04-23 13:43:37

  倾斜摄影三维建模及应用是近年来测绘 领域关注的热点,产业链上下游的企业为此都在积极探索,以推动该项技术的健康发展和落地应用。然而,什么样的技术才是真正符合用户实际应用需求的?在这 里,我们要和大家讲解倾斜摄影应用的两个重要话题——倾斜摄影自动化建模成果(后文简称“倾斜模型”)的数据组织和单体化。

  数据组织:要LOD 更要便捷和安全

  倾斜模型的一个突出的特点就是数据量庞大,这是因其技术机制、高精度、对地表全覆盖的真实影像所决定的。那么,如何承载海量的倾斜模型数据、保 证快速加载和流畅渲染?这是倾斜摄影技术顺利实现应用的第一大“拦路虎”,必须拿下。是直接读取OSGB格式的倾斜摄影模型海量数据,还是需要导入和处理 数据格式后读取?这是一个关键问题。

  解决这个问题之前,我们先明确下LOD(Level of Detail)这个概念。LOD是GIS平台提高性能的一个重要法宝,即对同一个数据从清晰到模糊有多份。当屏幕视角距离某个地物近时,软件自动调用最清 晰层的数据;当屏幕视角远离该地物时,则自动切换为模糊层的数据。由于人眼本来就无法看清远处的数据,因此这样做并不影响视觉效果。例如影像金字塔、地图 分比例尺切图等,都采用此方式。

  对于手工建模的模型,一般是通过三维GIS平台自行计算出多层LOD,并处理其远近距离的切换关系。而对于倾斜模型,由于其技术原理是先计算稠 密点云、经过简化后再构建TIN,因此在数据生产的过程中,就能通过不同的简化比例来得到数据LOD,而不再需要GIS平台来进行计算。并且数据生产过程 中计算出来的LOD效果也是最佳的。也正因为如此,无论是街景工厂还是Smart3D,其生产出来的倾斜模型都是自带多级LOD的,一般至少带有5-6 层,多则10层以上。

  数据本身自带LOD,从技术原理上就决定了其看似庞大,其实完全可以做到非常高的调度和渲染性能(只要不破换原始自带的LOD)。这也是为什么我们使用数据厂家自带的Viewer就可以获得很好的加载和浏览性能。

  分析到这里,相信大家就会明白:采用直接读取倾斜模型原始OSGB格式相比采用导入的方式更好。为什么这么说呢?一方面,导入过程费时费力,处 理海量倾斜模型数据往往需要数周。更重要的是,在数据导入过程中,为了和平台内部格式保持一致,往往会破换原始数据的LOD,自行再构建LOD。这样构建 的LOD,无论是效果还是性能,都远逊于原始LOD,导致性能不佳。

  此外,在格式选择上,倾斜摄影建模软件有内部私有格式(如Smart3D的s3c),另外还可输出为OSGB和DAE两种外部格式。其 中,DAE格式由于是文本格式,直接读取效率太低,因此被排除在外。而OSGB格式是开源的OSG库所自带的二进制格式,直接读取效率高,且格式公开,有 免费的开源库可直接使用,并且适合作为后续网络发布与三维服务共享的模型传输格式,因此成为最佳选择。

  那么,有人可能会问:OSGB作为公开格式,若直接使用,如何解决网络发布后的数据安全问题?对于这个问题,其实并不难解决:在服务端,我们虽 然是直接读取OSGB文件,但在网络发布缓存到客户端的模型,已经是通过服务端加密,并在客户端压缩打包为一个内部的大文件,如下图所示。因此,直接读取 OSGB格式绝对不存在数据泄露等安全问题。


图 1服务端的OSGB文件


图 2客户端缓存后的大文件

  解答完上述问题,可能还有人会问:一大堆OSGB的小文件,拷贝和管理都很麻烦。如何解决?针对这个问题,超图软件正在研发采用分布式数据库来存储和管理osgb文件,便于海量OSGB文件的存储、拷贝、管理和服务发布。

  值得注意的是,即便我们采用数据库来进行存储和管理,也是直接把每个OSGB小文件放到数据库中,而不是导入OSGB格式——我们坚决不破破坏数据原有的LOD,也坚决捍卫OSGB格式的开放性。彼时,数据的安全性则可以通过数据库本身的安全体系来予以保证。

  单体化:切割还是矢量化?

  提到单体化,可能很多人说起来都是眼泪。基于倾斜影像,若做人工干预的建模,自然就不存在单体化的问题,生成的模型本来就是单体的。而自动化建 模的成果,由于其生成机理,得到的模型是一个连续的TIN加贴图,并没有根据建筑物划分为一个个可以单独选中的对象。而我们都知道,在GIS管理和应用 中,若倾斜模型不能进行对象的单独选中和查询,就只能和影像一样作为底图浏览,无法进一步深入应用。单体化成为第二大“拦路虎”,我们必须闯关成功。

  如何实现单体化才是最好的?

  很多技术人员脑海中冒出的第一个直观的想法一定是:对倾斜模型进行切割呀,这样切割之后的模型就和人工建模成果一个样了。

  不过很遗憾地说,这种想法貌似很完美,但其实是一条“死胡同”。只要切割一下数据,做一个小小的实验,就会一目了然了。当看到效果的一刹那,大家一定会心凉半截。


图 3 倾斜模型切割后的边缘效果

  如上图,这样的边缘效果肯定不是用户所想要的。更重要的是,切割之后,两个主要后续用途都没法实现:

  一是替换人工精细建模的模型。看到这样的锯齿边缘,真不知道人工建模的人员如何才能把锯齿边缘接上去。难以想象建模人员的抓狂。

  第二个用途是隐藏某种类型的地物。这样露出一个锯齿状的空洞,你说评审专家是让项目不过啊,不过啊还是不过啊?

  为什么会有锯齿呢?是切割的技术不够高?完全不是。根源在于倾斜模型数据本身其实就是三角面片加纹理,切割算法无非是根据建筑底面来决定哪些三 角面片保留,哪些三角面片被抛弃;边缘的锯齿其实也就是留下来靠边的三角面片而已。说到底是倾斜模型自动化生成算法所决定了的,和GIS平台真没什么关 系。

  第二个问题是,这样的切割后,也抛弃了数据自带LOD的优点,导致GIS平台只能按照普通模型的方法来构建LOD。倾斜模型数据量庞大,想想这性能表现也是醉了。

  切割之后存在的第三个问题是:切割必须事先输入对应地物的矢量底面数据。经过漫长的等待,切割出来之后,若发生任何一点变动,对不起,数据还得再返工切一遍。因此,其灵活性几乎为零。

  现在,让我们换一个思路来看待倾斜模型:它事实上就是带有TIN作为高程背景的影像。在二维GIS中,有谁见过根据矢量底面来把影像数据切割为 建筑物影像图层、道路影像图层、绿植影像图层的吗?正确的思路是:我们在影像数据上进行矢量化,从而可以在影像+矢量的图层上选中建筑物、道路等地物。若 一定需要把影像上的某种类型地物隐藏,也是通过叠加这种地物的矢量图进行显示过滤。

  把GIS的科学原理搞清楚了,我们回过头来再看待如何进行倾斜模型的单体化,就胸中有丘壑了。只要试一下就知道,通过叠加的矢量底面,在渲染层面实现单体化,效果ganggang的:被选中的地物像是被高透膜紧密包裹,底部边缘笔直。



图 4 矢量化后的倾斜模型单体化边缘效果

  采用矢量化的方式,在保证效果、不破坏原始数据及LOD的同时,最大的好处还在于它打通了基于三维的倾斜模型和基于二维的矢量面之间的关键“关 卡”,实现三维和二维GIS的完美一体化。基于此,GIS的一系列功能(如图查属性、属性插图、缓存区分析与查询、专题图制作等等)都可轻松实现。至此, 对于倾斜模型的应用,用户可以不用再纠结于选择哪个GIS平台,而是要充分发挥应用的广阔想象力。

  它带来的价值还体现在动态性和灵活性的大大提升。由于叠加的矢量面只需要一个简单的图层设置就可以起作用,这也就意味着:在应用过程中,可以随 时更换需要叠加的矢量面。当用户增加数据类型后,不用再大费周章的把数据重新切割一遍,而是点两下鼠标,就可快速搞定。想一想,这是多么惬意的一件事。

  当然,当前支撑倾斜摄影应用的GIS技术还不是很完美,想用户之所想,实现基于倾斜模型的更多能力、追求更优化的性能和效果,永远是我们GIS人共同的追求。在这个技术变革“加速度”的时代,快速响应、快速迭代、快速研发成为关键。

这篇关于倾斜摄影自动化建模成果的数据组织和单体化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975907

相关文章

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

如何使用Ansible实现CI/CD流水线的自动化

如何使用Ansible实现CI/CD流水线的自动化 持续集成(CI)和持续交付(CD)是现代软件开发过程中的核心实践,它们帮助团队更快地交付高质量的软件。Ansible,作为一个强大的自动化工具,可以在CI/CD流水线中发挥关键作用。本文将详细介绍如何使用Ansible实现CI/CD流水线的自动化,包括设计流水线的结构、配置管理、自动化测试、部署、以及集成Ansible与CI/CD工具(如Jen

OCC开发_变高箱梁全桥建模

概述     上一篇文章《OCC开发_箱梁梁体建模》中详细介绍了箱梁梁体建模的过程。但是,对于实际桥梁,截面可能存在高度、腹板厚度、顶底板厚度变化,全桥的结构中心线存在平曲线和竖曲线。针对实际情况,通过一个截面拉伸来实现全桥建模显然不可能。因此,针对变高箱梁,本文新的思路来实现全桥建模。 思路 上一篇文章通过一个截面拉伸生成几何体的方式行不通,我们可以通过不同面来形成棱柱的方式实现。具体步骤

BIRT 报表的自动化测试

来源:http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-birttest/如何为 BIRT 报表编写自动化测试用例 BIRT 是一项很受欢迎的报表制作工具,但目前对其的测试还是以人工测试为主。本文介绍了如何对 BIRT 报表进行自动化测试,以及在实际项目中的一些测试实践,从而提高了测试的效率和准确性 -------

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)

1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear["Global`*"]f0[x_, a_, b_, c_, d_] := (a*x - b)*(d - c*x);(*(b c+a d)/(2 a c)*)Maximize[{f0[x, a, b,

2024年高教社杯数学建模国赛最后一步——结果检验-事关最终奖项

2024年国赛已经来到了最后一天,有必要去给大家讲解一下,我们不需要过多的去关注模型的结果,因为模型的结果的分值设定项最多不到20分。但是如果大家真的非常关注的话,那有必要给大家讲解一下论文结果相关的问题。很多的论文,上至国赛优秀论文下至不获奖的论文并不是所有的论文都可以进行完整的复现求解,大部分数模论文都为存在一个灰色地带。         白色地带即认为所有的代码均可运行、公开

自动化表格处理的革命:智能文档系统技术解析

在当今数据驱动的商业环境中,表格数据的自动化处理成为了企业提高效率、降低成本的关键。企业智能文档系统在智能表格识别方面展现出卓越的性能,通过精准识别和处理各种通用表格,显著提升了企业文档管理的智能化水平。本文将深入探讨该系统在表格识别方面的关键技术和应用优势,以及如何通过行业定制化服务满足不同行业的需求。 1. 通用表格识别 智能文档系统通过先进的OCR技术和表格结构识别算法,能够精准