探秘三维地形瓦片服务:流畅展现全球地貌的秘密揭秘

本文主要是介绍探秘三维地形瓦片服务:流畅展现全球地貌的秘密揭秘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

想象一下,如果我们能将全球地形一次性清晰地呈现在我们的电脑屏幕上,那将是怎样的场景?即使拥有比大多数人性能更强悍的电脑,也会忍不住说一句:“卧槽,卡死了”!那么,要在电脑中流畅地展示全球地形,这是一个怎样的挑战呢?然而,随着三维地形瓦片服务的出现,仿佛为我们打开了通往神秘世界的一扇大门,引领我们踏入其中,去探索那些隐藏的奥秘。

图片来源:网络

一、global-geodetic规则解密:揭秘地球'大卸八块'的组织奥秘

首先要明确的一点是,地球表面是个球体,即使地球表面的地形全部显示在电脑上,我们也无法同时看到地球的全貌。而且,随着显示的地球区域范围越大,需要显示的地形精度反而越小,此时显示高精度的地形数据无疑是“高射炮打蚊子”——小题大作。那么该如何做呢?那就不得不提一下——global-geodetic规则。

首先,我们必须明确一点:地球的表面是一个球体,即使将其全部显示在电脑上,我们也无法一览全貌。此外,随着显示范围的扩大,所需地形数据的精度反而会减小。在这种情况下,显示高精度地形数据就好比是“用高射炮打蚊子”——有些大题小做。那么,如何解决这个问题呢?这时候,就不得不提到global-geodetic规则。
global-geodetic规则的实现基于地球的几何特性和数据结构。这个规则的核心原理是将地球表面划分为经度和纬度网格,并运用四叉树数据结构来有序地组织和管理地形数据。

经纬度网格图 来源:百度图片

使用经纬度坐标系来表示地球上的点。基于WGS84大地坐标系,我们将地球表面划分为网格,形成以经度和纬度为坐标轴的网格系统。这种划分方式确保了在不同区域的地形数据分辨率相对均匀,同时也使得地球表面地形的表示得更加精确和一致。

global-geodetic规则原理示意图,来源:百度图片

采用四叉树数据结构来组织地形数据。四叉树是一种递归的数据结构,它将一个区域划分为四个子区域,并在每个子区域中再次应用相同的划分方法。这样一直递归下去,直到达到某个预定义的终止条件。与传统的四叉树不同的是,地球表面的0级瓦片有两个根瓦片,分别是东半球和西半球瓦片。通过构建四叉树地形金字塔,我们能够有效地管理大规模地形数据,并在不同级别上实现地形数据的分辨率适应。这种方法不仅能够支持全球范围的地形表示,还能够提供局部细节的有效支持。

四叉树分割地形示例图,来源:百度图片

采用{x}{y}{z}类型的方式获取地形瓦片数据。在global-geodetic规则中,我们将地球按经纬度投影的方式展开成一个平面坐标系。在这个坐标系中,以经纬度(-180,-90)为原点,沿着经纬度增加的方向,行列号依次递增。因此,地球上的任何一个位置,都可以通过该位置的经纬度坐标和需要显示的地形层级来计算出所在的地形瓦片行列号。根据计算得到的行列号和层级,我们可以以{x}{y}{z}类型的方式获取地形金字塔中相应的地形瓦片数据。例如,对于经纬度范围分别为[90,180]、[-90,0]的区域,可以通过类似于 "http://assets.agi.com/stk-terrain/world/tiles/1/0/0.terrain"的地址获取其1级地形瓦片。

图片来源:网络

二、解密地形数据格式:探索Heightmap和Quantized-Mesh格式的地形瓦片之谜

在了解了global-geodetic规则如何将地球“大卸八块”之后,我们来探讨一下单个地形瓦片数据的构成。目前,基于global-geodetic规则组织的瓦片主要有两种格式:Heightmap格式的地形瓦片和Quantized-Mesh格式的瓦片。

  • Heightmap格式的地形瓦片

Heightmap格式的地形瓦片通过一个65*65像素大小的图块形式来表示一片地形区域。对于每个图块中的单个像素,它记录着一个16Bit大小的高度整数值。然后,通过以下计算规则来得到海拔值:

H = Pixel /5 - 1000

图块是按照每行自西向东、每列自北向南的顺序从左上角顺序排列。相邻瓦片之间有一行或者一列的重合,以确保相邻瓦片之间的高度值逐渐过渡,从而在加载相邻瓦片时不会出现明显的缝隙或断裂,使得地形呈现出更加平滑和连续的视觉效果。

相邻瓦片关系图,来源:术之多

  • Quantized-Mesh格式的地形瓦片

Quantized-Mesh格式的地形瓦片与Heightmap格式有所不同,它采用了特殊编码的三角形网格。在Quantized-Mesh中,每个图块都是一个由三角形组成的网格,其中顶点与图块边缘处的相邻网格重叠。换句话说,这意味着在图块的边缘部分,西部瓦片中最东部的顶点与东部瓦片中最西部的顶点具有相同的经度。这种设计确保了地形瓦片在边缘交界处的平滑过渡,使得加载相邻瓦片时不会出现明显的断裂或不连续。

Quantized-Mesh格式构建的地球网格图 来源:Mapmost For UE

每个瓦片图块主要记录着经特殊编码的用于构建三角形网格的经纬高(u、v、h)值以及构网索引(indices)值。利用以下的计算规则,我们可以将瓦片中压缩记录的u、v、h值还原为真实的经纬高值:

Y=Vmin+(X/32767)*(Vmax-Vmin)

其中,X代表的是经过特殊编码压缩的u、v、h值,而Vmin、Vmax代表的是通过行列号计算得到的该瓦片所对应区域的经纬高度的范围。
加载地形瓦片服务时,通过反算经纬高值和记录的构网索引值,即可线性插值构建单个地形瓦片的三角网。同时,为了避免相邻地形瓦片之间出现裂缝,引入了裙边(skirt)的概念。裙边通过四个(边缘)索引列表保存地形瓦片所有边缘上的顶点和索引值,确保地形瓦片能够无缝衔接,呈现连续且真实的地形表现。这种组织方式是目前应用最广泛的一种三维地形瓦片组织方式。

三、全球地形流畅展现:视锥体剔除技术的奥秘揭秘

就像前面说的一样,我们把地球的地形数据按照global-geodetic规则“大卸八块”,然后用Heightmap或Quantized-Mesh格式存储,构建了地形瓦片金字塔。这样一来,我们就能更好地组织和管理全球地形数据了。但接下来的问题是:怎么样才能让这些地形瓦片生动地展示出来,让我们仿佛置身于真实的地球之上呢?

视锥体剔除示意图 来源:百度图片


就像我们的眼睛无法一眼看到整个世界一样,在电脑中也不需要同时展示地球的所有地形。我们只需呈现我们能够“看到”的那部分地形即可。这就引出了“视锥体剔除”这一概念。所谓的“视锥体”,就是指相机(或观察者)视野范围内的一个椎体区域,通常被定义为一个六面体,由近裁剪平面、远裁剪平面以及四个侧面组成。视锥体决定了相机能够看见的区域。而“视锥体剔除”则是利用视锥体来确定在视野范围内需要显示的地形区域范围,然后计算需要加载和显示的地形瓦片。对于不在视锥体内的地形区域,则不进行显示。通过“视锥体剔除”的方式,我们可以大大减少不必要显示的地形瓦片区域,从而实现在地图应用中流畅显示全球地形的目标。

图片来源:网络

在地图引擎领域,大多数地图开发工具都采用“视锥体剔除”这种原理,以实现高效加载和显示地形数据。而Mapmost For UE作为其中之一,同样运用了这一原理。作为一款基于虚幻引擎打造的数字孪生底座开发工具,Mapmost For UE是专为数字孪生应用场景而设计。不仅具备实时加载和渲染三维地形瓦片、多种影像数据叠加以及多种地理模型数据的能力,还集成了数据治理、地理人工智能计算、时空分析、可视化分析、场景交互、图层管理等多种功能。欢迎小伙伴们前来体验我们的Mapmost产品,共同打造你心目中的数字孪生应用。

mapmost搭建的数字水利平台图,来源:mapmost

参考

https://www.shuzhiduo.com/A/gGdX94rpz4/

https://www.shuzhiduo.com/A/KE5QDYZkJL/

https://www.itbaoku.cn/post/2875325.html


 关注Mapmost,持续更新GIS、三维美术、计算机技术干货

Mapmost是一套以三维地图和时空计算为特色的数字孪生底座平台,包含了空间数据管理工具(Studio)、应用开发工具(SDK)、应用创作工具(Alpha)。平台能力已覆盖城市时空数据的集成、多源数据资源的发布管理,以及数字孪生应用开发工具链,满足企业开发者用户快速搭建数字孪生场景的切实需求,助力实现行业领先。

欢迎进入官网体验使用:Mapmost——让人与机器联合创作成为新常态

这篇关于探秘三维地形瓦片服务:流畅展现全球地貌的秘密揭秘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

hdu1240、hdu1253(三维搜索题)

1、从后往前输入,(x,y,z); 2、从下往上输入,(y , z, x); 3、从左往右输入,(z,x,y); hdu1240代码如下: #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#inc

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

hdu4826(三维DP)

这是一个百度之星的资格赛第四题 题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1004&cid=500 题意:从左上角的点到右上角的点,每个点只能走一遍,走的方向有三个:向上,向下,向右,求最大值。 咋一看像搜索题,先暴搜,TLE,然后剪枝,还是TLE.然后我就改方法,用DP来做,这题和普通dp相比,多个个向上

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

三国地理揭秘:为何北伐之路如此艰难,为何诸葛亮无法攻克陇右小城?

俗话说:天时不如地利,不是随便说说,诸葛亮六出祁山,连关中陇右的几座小城都攻不下来,行军山高路险,无法携带和建造攻城器械,是最难的,所以在汉中,无论从哪一方进攻,防守方都是一夫当关,万夫莫开;再加上千里运粮,根本不需要打,司马懿只需要坚守城池拼消耗就能不战而屈人之兵。 另一边,洛阳的虎牢关,一旦突破,洛阳就无险可守,这样的进军路线,才是顺势而为的用兵之道。 读历史的时候我们常常看到某一方势

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。