重大更新!800GB谷歌倾斜摄影最新OSGB数据免费大放送

news2024/11/17 0:10:00

自3月20日谷歌倾斜摄影OSGB转换工具V0.1版本发布以来,期间更新了V0.2、V1.0、V1.1、V1.2共4个版本,目前V1.2版本功能已经比较完善和稳定,实现了的当初产品规划的绝大部分功能。基于此,我将之前免费分享的数据重新下载和生成,提供给大家使用。下面我先对谷歌倾斜摄影工具OSGB的研发背景、技术路线版本更新等进行了详细说明和总结,然后再进行免费数据分享,具体见下文。

一、研发背景

在WebGL没兴起之前,OSGEarth是国内GIS公司使用最广泛的C端三维数字地球产品,而且牢牢占据着三维GIS平台的龙头老大位置,和今天Cesium在Web端三维数字地球地位一样。后来随着WebGL的兴起,CesiumJS应运而生,Cesium基于JavaScript和WebGL技术,旨在在现代Web浏览器中提供高性能的3D地球和地图渲染。不可否认,目前Cesium在Web端的统治地位,无人撼动,很多国内公司拥抱WebGIS,也选择了CesiumJS,因为它和OSG一样,有一个最大的优势:开源。
OSGB和3DTiles数据的比较,实际上也是OSG和Cesium的对比,虽然现在Cesium风生水起,但是OsgEarth使用仍比较广泛,因为C端OsgEarth在数据加载和渲染性能上,比WebGL的Cesium高不少,这个优势,目前Cesium无可替代。
在某些领域方向,对三维显示性能要求较高,Web端还无法满足性能要求,比如数字沙盘、虚拟现实,OSGB还是首选。目前OSGB开源数据很少,大家常见的是大雁塔OSGB样例数据,样例数据范围小,远远无法满足项目和产品演示要求。基于此,我将谷歌倾斜摄影数据转换成OSGB格式,为广大用户提供免费好用的OSGB数据,解决全球级OSGB格式倾斜摄影数据来源问题,这是开发谷歌倾斜摄影OSGB转换工具的研发背景。

二、技术路线选择

目前将谷歌倾斜摄摄影转成OSGB数据,常用的有以下几条路线:

1.将谷歌倾斜摄影数据转换为obj、fbx等格式,然后使用商业或开源工具,比如商业OSGBLab或者开源工具,能够将obj、fbx中间文件转换生成OSGB格式。这条技术路线具体如下:访问谷歌地球Web端官网,浏览到指定位置。通过RenderDoc软件,截取当前帧,保存当前帧信息;使用Blender软件打开保存的当前帧信息,转成fbx、obj格式的模型文件。这条技术路线全程需要人工参与,通过谷歌地球官网,浏览到指定位置,使数据级别尽可能高,然后通过RenderDoc截取当前帧,最后人工使用Blender打开,并保存成模型文件,然后使用工具转成OSGB文件。可以说流程相当复杂不说,全程都需要人工参与。
这条路线对于小范围数据生产没有问题,但是对于大场景数据,就无能为力了。谷歌全球倾斜摄影数据约400TB,受限于硬件性能,不可能一次性全下载下来生成obj/fbx格式,然后再切割生成OSGB;只能按块进行生成后,再进行拼接,这个过程全程需要人工参与,生产效率低,而且还存在分块数据拼接等由于数据精度导致的裂缝等问题。
2.使用转换工具,将3DTiles格式数据转换成OSGB,很可惜,目前市面上没有一款工具,能够将3DTiles格式完整转换成OSGB格式。
3.我在分析并预研了前面两种技术路线,在进行大规模OSGB数据生产的前提下,这两种技术路线走不通,无法满足数据生产需要,那直接将谷歌数据转换成OSGB格式是否可能呢,我经过探索,解决了这个问题,谷歌倾斜摄影数据能够直接转换成OSGB格式。

三、具体技术方案介绍

谷歌倾斜摄影数据OSGB转换工具,同谷歌倾斜摄影3DTiles数据生成方案一样,都是将谷歌倾斜摄影原始数据,直接转换成对应的格式,一步到位,OSGB瓦片生成方案如下:
在这里插入图片描述
通过解析谷歌原始数据,逐瓦片生成OSGB文件,并进行目录与文件格式组织,从而生成满足实际应用需要的OSGB数据。

四、版本更新介绍

下面分别对转换工具各版本进行详细说明:

1.V0.1版本

V0.1版本将谷歌倾斜摄影能够转成OSGB数据,数据目录与3DTiles数据格式相同,并且能够在大势智慧等软件中加载显示,但是会有瓦片缺失的问题,层级越高,缺失的瓦片就越多。
请添加图片描述

2.V0.2版本

V0.2版本在数据生产数据、显示效率等方面进行了大幅优化,具体如下:生产速度大幅提升,V0.2版本增加了多线程生产,生产效率大大提高提高了至少7倍。显示效率大幅提高,V0.1版本在构建LOD上,使用了比较基础的LOD构建,主要在于打通OSGB生产流程,在显示效率上并未做优化。V0.2版本大幅优化了LOD构建机制,极大减少当前视景范围内OSGB瓦片调度数量,进而大幅提高数据加载速度和显示效率。同时修复了瓦片缺失的问题。数据压缩20%,V0.1版中OSGB瓦片是未简化的,图片是原始Jpg数据,而在V0.2版本中,图片压缩设置为70,数据量减少了20%,但是可视化效果并未有肉眼可见下降。
请添加图片描述

3.V1.0版本

支持ContextCapture目录结构格式生成。之前生成的格式与3dtiles瓦片格式保存一致,能够基于osgViewer进行正常加载和显示,在目前ContextCapture是当前倾斜摄影生产标杆的情况下,其生成的目录组织结构成为了用户使用的默认方式,很多osgb转obj/fbx/3dtiles等格式的开源工具或商业软件,都是此生产的osgb成果数据进行处理,很多读者都有共同的使用转换需求,基于此,这次正式版除了能够生成3dtiles目录格式外,还能生成ContextCapture OSGB成果数据目录格式。
效果优化提升。谷歌倾斜摄影OSGB转换工具中RangeMode采用的是DISTANCE_FROM_EYE_POINT模式,并非大家常用的PIXEL_SIZE_ON_SCREEN,采用此模式,根据相机到瓦片中心点的距离进行瓦片切换,而不是按照瓦片所占的屏幕像素大小切换,这样会更合理,同时和3dtiles保持一致,也和谷歌官方倾斜摄影保持一致,在效果和性能上保持三者一致性。同时在这次更新中,去除了纹理摩尔纹效果,在效果表达上更加清晰,纹理摩尔纹是由纹理贴图过采样形成的摩尔纹闪烁,对三维实景影响比较大,使用多重纹理,根据相机距离加载不同层级的纹理图片,解决纹理过采样的问题。

生产效率再度提升。这次在数据生产效率上进行了优化,V0.2版生产235平方公里的台北倾斜摄影数据,耗费了约3个小时,在这次版本中,生产效率进一步提高,耗费约2.5小时处理完成,生产效率提升约20%。

增加成果数据质检流程。之前版本中,数据是没有进行质检的,受限于按范围采集规则,会导致存在部分节点子节点丢失的情况,但是当前节点又记录了子节点PagedLOD信息,虽然在浏览上没有太大影响,但是使用osgViewer会频繁有警告信息,更重要的是使用这份osgb数据转成obj/fbx/3dtiles会导致失败,因此增加质检校验环节,保证数据更加符合标准,增强数据结构健壮性,兼容市场主流OSGB转换处理工具。

4.V1.1版本

支持Cesiumlab等软件将OSGB数据转成3DTiles格式数据。很多读者使用OSGB数据,并非是直接加载到OsgEarth上做可视化用,而是通过顶层合并,将多份数据合并根节点,再转成3dtiles,这样能加快数据显示。大家使用的Cesiumlab或其他OSGB处理软件,基本上都是参考Cesium3DTilesConverter或3DTiles这两款开源的转换工具。
V1.0支持了OSGB的Mipmap模式,虽然解决了摩尔纹显示问题,但是引出了新的问题,当相机高度比较低的时候,瓦片接缝现象比较明显,严重影响数据显示效果,因此把纹理模式还是采用LINEAR模式,解决瓦片接缝的问题

5.V1.2版本。

V1.2版本解决了OSGB数据偏移问题,这也是转换工具V0.2发布以来一直未解决的难点。目前通过obj、fbx等三维模型数据转换OSGB格式,都会存在坐标偏移问题,这个问题在OSGB数据生产很常见。OSGB数据以米为单位,而且精度很高,谷歌倾斜摄影数据分辨率能达到5cm,相比目前卫星影像0.3米高分辨率还要高6倍。如何将高分辨率OSGB数据完美、精准匹配叠加在OSGEarth等三维GIS平台上,使用WGS84或者3857等常用投影或地理坐标系,误差较大,具体表现是OSGB数据与卫星影像数据不匹配,看下面效果图:
请添加图片描述
上图OSGB数据是采用Web Mercator(3857)进行生产的,导出DOM数据叠加卫星影像底图进行对比可以看出:OSGB数据中道路和房屋等和卫星影像底图数据没有匹配上,偏差在20米左右,无法满足实际使用要求。但是在V1.2版本中,彻底解决了数据偏移问题,解决这个问题,并非偏移原点坐标就能解决,而是在数据生产时,对数据进行逐顶点处理转换,再进行优化合并。经过正确处理后的效果如下图所示:
请添加图片描述

五、免费数据分享

本次免费数据,我基于V1.2版本,将香港、澳门、日本那霸等地方的数据进行了重新生成,为了满足大家对数据的使用需要,也重新下载了原始数据,保证每一层级的区域范围都一样,增强大家对数据的使用体验。下面免费数据,具体领取方式大家可以私信联系我或者在评论区留言,我会及时将领取方式发给大家。

1.香港

香港数据新增了屯门等地区的倾斜摄影数据,目前倾斜摄影覆盖面积预计有700平方公里,数据大小489GB,数据大小见下图:
请添加图片描述

2. 澳门

澳门地区有39GB,见下图:
请添加图片描述
请添加图片描述

3.那霸

日本那霸地区目前数据大小有244GB大小。
请添加图片描述
请添加图片描述

4.台湾桃园市政府

这份样例数据相信大家经常见到。
请添加图片描述

5.台北101大厦

最早使用的样例数据,效果无需多言。
请添加图片描述

五、结语

总结下来,谷歌倾斜摄影OSGB转换工具的功能有主要几点:

1.支撑大势智慧等软件显示浏览和处理生成的OSGB数据。
2.支持OSGBLab和CesiumLab等商业工具软件或者3dtiles等开源工具将OSGB数据转成 3DTiles格式。
3.能够在OSGEarth等工具上加载OSGB数据显示,并且能够精准匹配坐标。
4.能够一次批量生产86.5万平方公里的谷歌全球倾斜摄影数据。

基于V1.2版本,我也对台湾台北市、桃园市以及台中市数据进行了重新下载与生产,与之前不同的是,这次数据每一层区域范围都一样大,有需要的读者可以私信联系。最后希望大家在数据使用的过程中,对发现的问题能够及时反馈,我将及时解决并进行数据升级,努力为大家提供更加优秀的数据使用体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MyBatis框架学习笔记(二):原生API 的调用 和 注解的使用

1 MyBatis原生API 1.1 原生API 快速入门需求 在笔记一案例的基础上将增删改查,使用 MyBatis 原生的 API 完成,就是直接通过SqlSession 接口的方法来完成 1.2 原生API 快速入门-代码实现 创建 src\test\java\com\hspedu\mapper\MyBatisNativeTest.jav…

BUG: npm error `electron_mirror` is not a valid npm option

npm error electron_mirror is not a valid npm option 环境 windows 11 node v20.15.0 npm v10.7.0详情 在运行 npm run mirror 命令时出现错误。这是一个设置镜像的命令。 我是没事干了,运行这个命令,这个命令在我这里根本就是运行不了。这个命令一…

完美解决AttributeError: ‘DataFrame‘ object has no attribute ‘ix‘的正确解决方法,亲测有效!!!

完美解决AttributeError: ‘DataFrame’ object has no attribute ix’的正确解决方法,亲测有效!!! 亲测有效 完美解决AttributeError: DataFrame object has no attribute ix的正确解决方法,亲测有效!&…

服务器数据恢复—同品牌不同系列服务器raid5阵列数据恢复方案分析

RAID5磁盘阵列数据恢复案例一: 服务器数据恢复环境: 一台某品牌LH6000系列服务器,通过NetRaid阵列卡将4块硬盘组建为一组RAID5磁盘阵列。操作系统都为Window server,数据库是SQLServer。 服务器故障: LH6000系列服务器…

并发编程工具集——StampedLock-比ReadWriteLock更快的锁(上篇)(十八)

StampedLock 支持的三种锁模式 写锁、悲观读锁和乐观读 StampedLock与ReadWriteLock的异同 ReadWriteLock支持两种:读锁、写锁相同点:其中,写锁、悲观读锁的语义和 ReadWriteLock 的写锁、读锁的语义非常类似,允许多个线程同时获取…

tessy 单元测试:小白入门指导手册

目录 1,创建单元测试工程目录 2,导入单元测试源文件 一:创建测试文件夹(最好和代码目录一一对应,方便查找) 二:选择测试环境 三:添加源文件 四:分析源文件 3,编写单元测试用例 一:设置函数参数的传输方向 二:添加单元测试用例 三:编辑单元测试用例数据 …

MATLAB中d2c函数用法

目录 语法 说明 示例 将离散时间传递函数转换为连续时间 将识别出的离散时间传递函数转换为连续时间 在将已识别的离散时间传递函数模型转换为连续时间模型后,重新生成协方差信息 d2c函数的功能是将模型从离散时间转换为连续时间。 语法 sysc d2c(sysd) sy…

atcoder 357 F Two Sequence Queries (线段树板子)

题目: 分析: 线段树 代码: // Problem: F - Two Sequence Queries // Contest: AtCoder - SuntoryProgrammingContest2024(AtCoder Beginner Contest 357) // URL: https://atcoder.jp/contests/abc357/tasks/abc357_…

【最新鸿蒙应用开发】——Navigation路由管理

Navigation路由 1.引言 一多开发的项目适合使用Navigation进行统一的页面路由管理。Navigation还提供统一的标题栏、工具栏、菜单栏,并且自带导航返回功能。另外,Navigation还支持一些Router不支持的功能,比如:自带的路由拦截功…

运行时异常与一般异常的异同

运行时异常与一般异常的异同 1、运行时异常(Runtime Exception)1.1 特点 2、 一般异常(Checked Exception)2.1 特点 3、异同点总结3.1 相同点3.2 不同点 4、总结 💖The Begin💖点点关注,收藏不迷…

Transformer构架的优劣及常见问题

Transformer构架的优劣 优点 长距离依赖关系建模:通过自注意力机制,Transformer能够有效捕捉长距离依赖关系,适用于处理长序列和涉及远距离语义关系的任务。并行计算能力:多头注意力机制的并行计算特性极大提高了训练和推理效率…

卫星系统三种编码模式数字、模拟电视的区别

卫星系统三种编码模式 CCM----固定编码模式 ACM----自适应编码模式 VCM----可变编码调制模式 DTV——Digital TV (即输入数字信号)中文意思是数字电视,是指将活动图像、声音和数据,通过数字技术进行压缩、编码、传输、存储,实时…

图形学各种二维基础变换,原来线性代数还能这么用,太牛了

缩放变换 均匀缩放 若想将一个图形缩小0.5倍 若x乘上缩放值s等于x撇,y同理,则 x ′ s x y ′ s y \begin{aligned} & x^{\prime}s x \\ & y^{\prime}s y \end{aligned} ​x′sxy′sy​,这样就表示了x缩小了s倍,y也是…

UML中用例和用例图的概念

用例 用例模型的基本组成部分有用例、参与者(或角色)和系统。用例用于描述系统的功能,也就是从用户的角度来说,系统具体应包含哪些功能,从而帮助分析人员理解系统的行为。它是对系统功能的宏观的、整体的描述。一个完…

挑战杯 opencv python 深度学习垃圾图像分类系统

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 opencv python 深度学习垃圾分类系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 这是一个较为新颖的竞…

ubuntu 分区情况

ubuntu系统安装与分区指南 - Philbert - 博客园 (cnblogs.com)https://www.cnblogs.com/liangxuran/p/14872811.html 详解安装Ubuntu Linux系统时硬盘分区最合理的方法-腾讯云开发者社区-腾讯云 (tencent.com)https://cloud.tencent.com/developer/article/1711884

VScode免密链接ubuntu

Ubuntu 下载: sudo apt-get install openssh-serverps -e | grep sshd参考IP : ifconfig VScode配置 重新尝试连接,输入的密码是虚拟机用户密码 免密链接 Windows生成公钥 1、打开CMD 2、输入命令ssh-keygen 3、连续回车确认即可生成 …

矩阵式键盘最小需要多少个IO驱动

1. 概述 矩阵式键盘由于有其占用硬件资源少的优点有着极其广泛的应用,如PC键盘、电话按键、家用电器等等这类产品.矩阵键盘的基本原理如下所示(仅是原理示例,实际实现上还会为每个按键加上防倒流的二极管解决“鬼影”问题)&#x…

B端全局导航:左侧还是顶部?不是随随便便,有依据在。

一、什么是全局导航 B端系统的全局导航是指在B端系统中的主要导航菜单,它通常位于系统的顶部或左侧,提供了系统中各个模块和功能的入口。全局导航菜单可以帮助用户快速找到和访问系统中的各个功能模块,提高系统的可用性和用户体验。 全局导航…

【python】PyQt5可视化开发,鼠标键盘实现联动界面交互逻辑与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…