CN116993881A - 一种3d地图渲染方法及系统 - Google Patents

一种3d地图渲染方法及系统 Download PDF

Info

Publication number
CN116993881A
CN116993881A CN202310944343.2A CN202310944343A CN116993881A CN 116993881 A CN116993881 A CN 116993881A CN 202310944343 A CN202310944343 A CN 202310944343A CN 116993881 A CN116993881 A CN 116993881A
Authority
CN
China
Prior art keywords
data blocks
data
rendering
map
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310944343.2A
Other languages
English (en)
Inventor
蔡隐
李凡平
王堃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Yisa Data Technology Co Ltd
ISSA Technology Co Ltd
Original Assignee
Qingdao Yisa Data Technology Co Ltd
ISSA Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Yisa Data Technology Co Ltd, ISSA Technology Co Ltd filed Critical Qingdao Yisa Data Technology Co Ltd
Priority to CN202310944343.2A priority Critical patent/CN116993881A/zh
Publication of CN116993881A publication Critical patent/CN116993881A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提出了一种3D地图渲染方法及系统,涉及图片渲染技术领域,具体方案包括:对2D点位形式的地理数据进行数据块的分割;基于分布式,将数据块分配到不同的服务器上进行处理和存储;根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载;对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图;本发明基于分布式,将地理数据分割为数据块,并分配到不同的服务器上压缩和存储,并适配性加载和渲染当前视野范围内的数据块,减少加载和渲染的数据量,最终改善3D地图渲染的实时性和用户体验。

Description

一种3D地图渲染方法及系统
技术领域
本发明属于图片渲染技术领域,尤其涉及一种3D地图渲染方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
WebGL是一种基于Web标准的3D图形渲染技术,且主要占用的是GPU资源,其产生主要是为了在Web浏览器中实现高性能、交互性和逼真性的3D图形渲染,提供一种能够在Web上进行高性能图形渲染的解决方案。
但是,WebGL类似于目前的大部分3D地图渲染技术,都是基于客户端/服务器模式,客户端向服务器端请求地图数据,服务器端响应请求并返回数据,客户端再将数据进行渲染,服务器需要处理大量的地图数据请求,服务器压力较大,会导致系统性能下降、响应时间变慢等问题。
因此,大规模数据的处理和加载形成的渲染瓶颈,影响3D地图渲染的实时性和用户体验。
发明内容
为克服上述现有技术的不足,本发明提供了一种3D地图渲染方法及系统,基于分布式,将地理数据分割为数据块,并分配到不同的服务器上压缩和存储,并适配性加载和渲染当前视野范围内的数据块,减少加载和渲染的数据量,最终改善3D地图渲染的实时性和用户体验。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
本发明第一方面提供了一种3D地图渲染方法。
一种3D地图渲染方法,包括:
对2D点位形式的地理数据进行数据块的分割;
基于分布式,将数据块分配到不同的服务器上进行处理和存储;
根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载;
对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图。
进一步的,所述数据块的分割,采用基于空间划分的网格或层次化划分的方式进行。
进一步的,所述基于分布式,是使用Apache Hadoop或Apache Spark分布式计算框架实现。
进一步的,所述处理,是采用基于索引的数据压缩或矢量化压缩方法,对分配的数据块进行压缩,减少数据的体积和加载时间。
进一步的,所述存储,是将处理后的数据块,以GeoJSON或TopoJSON的形式存储。
进一步的,所述适配性加载,还包括预加载相邻区域的数据,使用级别渐进式加载。
进一步的,所述对转换后的数据块进行渲染,还包括设置交互操作和添加可视化元素。
本发明第二方面提供了一种3D地图渲染系统。
一种3D地图渲染系统,包括分割模块、分布式模块、加载模块和渲染模块:
分割模块,被配置为:对2D点位形式的地理数据进行数据块的分割;
分布式模块,被配置为:基于分布式,将数据块分配到不同的服务器上进行处理和存储;
加载模块,被配置为:根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载;
渲染模块,被配置为:对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图。
本发明第三方面提供了计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的一种3D地图渲染方法中的步骤。
本发明第四方面提供了电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的一种3D地图渲染方法中的步骤。
以上一个或多个技术方案存在以下有益效果:
针对大规模数据的处理和加载形成的渲染瓶颈,本发明基于分布式,将分割的地理数据块分配到不同的服务器上压缩和存储,并适配性加载和渲染当前视野范围内的数据块,减少加载和渲染的数据量,最终改善3D地图渲染的实时性和用户体验。
本发明可以展示更加真实的地理空间关系,如地球表面的地形、建筑物的高度等,提供沉浸式的视觉体验,增强数据的可视化效果。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为第一个实施例的方法流程图。
图2为第一个实施例虚拟城市的3D地图渲染流程图。
图3为第二个实施例的系统结构图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
在一个或多个实施方式中,公开了一种3D地图渲染方法,如图1所示,包括如下步骤:
步骤S1:对2D点位形式的地理数据进行数据块的分割。
对于2D点位形式的地理数据,其获取方式包括:
(1)注册百度地图开发者账号:访问百度地图开放平台(http://lbsyun.baidu.com/)并注册一个开发者账号。
(2)创建应用并获取API密钥:在百度地图开放平台上创建一个应用,然后获取应用的API密钥。API密钥是用于访问地图API的身份凭证。
(3)使用地理编码API:百度地图提供了地理编码API,可以将地址转换为经纬度坐标。通过调用地理编码API,可以将2D点位形式的地理数据转换为经纬度坐标。
(4)使用逆地理编码API:百度地图还提供了逆地理编码API,可以将经纬度坐标转换为地址。通过调用逆地理编码API,可以获取地理数据点位对应的地址信息。
基于空间划分的网格、层次化划分等方法,对地理数据进行数据块的分割,以适应不同类型的地理数据。
空间划分的网格是将空间分割成多个网格单元,每个网格单元都有一定的大小和形状以及一定的属性;空间网格划分的方法有很多,其中最常用的是等距网格划分和等角网格划分;其优点是:
将地理区域划分为规则的网格单元;该方法适用于大部分类型的地理数据,特别是均匀分布的数据;可以根据数据的密度和范围来选择合适的网格大小;对于稀疏的数据,可以使用较大的网格单元,而对于密集的数据,可以使用较小的网格单元。
层次化划分是一种将地理数据按照不同的层次进行划分的方法;它基于地理实体的层次结构或空间分层关系,将地理区域逐步划分为多个层次的数据块;在层次化划分中,地理区域被分解为多个较小的区域,每个区域可以表示不同的行政区划、地理范围或其他自定义的层次结构;这种划分方法通常是递归的,即将整个区域划分为更小的子区域,而子区域又可以进一步划分为更小的区域,直到达到所需的层次;其优点是:
将地理区域逐步划分为多个层次的数据块;该方法适用于具有层次结构的地理数据,例如行政区划数据、地形数据等;可以根据不同的层次进行划分,例如国家级、省级、市级等;这样可以通过选择不同的层次来获取特定级别的地理数据。
这里的不同类型包括:
矢量数据:矢量数据以点、线和面的形式表示地理要素;适应方法包括使用拓扑关系进行空间查询、分析和处理,如缓冲区分析、叠加分析等;使用矢量数据操作的方法,如空间索引、矢量化、空间分割等。
栅格数据:栅格数据以网格或像素的形式表示地理信息;适应方法包括使用栅格分析方法,如栅格代数运算、栅格统计分析、栅格重分类等;利用栅格数据的空间索引结构进行快速查询和分析。
地形和地貌数据:地形和地貌数据描述了地球表面的形状、高程和地貌特征;适应方法包括数字高程模型(DEM)的处理和分析,如坡度计算、流域提取等;利用地形分析方法进行地貌特征提取,如地形剖面分析、地形指数计算等。
根据不同类型的地理数据的特征和表达方式,可以选择相应的划分方法来处理和分析数据。
步骤S2:基于分布式,将数据块分配到不同的服务器上进行处理和存储。
为了缓解大规模数据处理和加载的压力,采用分布式+压缩的方式,对数据块进行并行处理和分布式存储,具体为:
首先,将数据块分配给不同的服务器上,使用Apache Hadoop或Apache Spark分布式计算框架实现。
其次,在服务器上对分配的数据块进行压缩处理,减少数据的体积和加载时间,降低网络传输的负担,并加快数据的加载和渲染速度。
最后,将压缩后的数据块,以GeoJSON或TopoJSON的形式存储在服务器上,组成分布式存储。
步骤S3:根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载。
为了进一步减少数据加载和渲染的数据量,只适配性加载用户当前视野范围对应的数据块,具体的,通过分析用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,避免不必要的计算和渲染,提高渲染效率;随着用户视野的变化,动态更新加载和渲染的数据块,实现实时、高效的地图体验,具体步骤为:
(1)获取用户的视角信息:通过用户输入(如鼠标、触摸)获取用户的视角信息;这包括用户的观察方向、视角倾斜角度和视野范围。
(2)根据用户的位置信息,选择最近的服务器或数据源来获取所需的数据块;这可以通过网络连接的质量和延迟来确定,选择距离用户最近且具备足够带宽和处理能力的服务器。
为了更好的加载和渲染效果,还可以根据用户需求和场景进行定制,如预加载相邻区域的数据、使用级别渐进式加载等,以提高地图加载效率。可以结合用户行为分析和预测算法,提前加载可能的视野范围内的数据,以实现更加智能和高效的加载和渲染策略。
预加载相邻区域的数据是在确定用户当前视野范围的基础上,计算出一个相邻区域的边界框或多边形;这个相邻区域可以是用户当前视野的周围一定范围,以确保用户在切换视野时能够快速加载相邻区域的数据;发送异步请求到服务器,获取相邻区域的数据块。可以使用地理数据的索引或网格划分技术,只获取相邻区域内的数据块,而不是整个地图范围的数据;缓存加载的相邻区域数据块,以便在用户切换视野时能够快速访问。
使用级别渐进式加载是根据地图的缩放级别,确定当前需要加载的数据块的级别;这可以根据用户的缩放操作或设备的传感器数据来确定;开始时,加载较低级别的数据块,以提供快速的地图预览;可以使用金字塔技术,根据不同级别的数据块进行存储和管理;随着用户的缩放操作,逐渐加载更高级别的数据块,以展示更详细的地理信息。可以根据用户的操作速度和数据加载速度做出适当的调整,确保加载的数据块能够及时响应用户的需求。
用户行为分析是收集和分析用户的行为数据,包括地图浏览的历史记录、缩放操作、视野切换频率等;这可以通过跟踪用户的交互行为、记录日志或使用机器学习算法来实现;根据用户的行为数据,了解用户的偏好和习惯,以及可能的视野范围和加载需求;例如,用户在特定区域浏览的频率、视野切换的速度等。
预测算法是基于用户行为数据,开发预测算法来预测用户的下一个视野范围。
步骤S4:对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图。
之前步骤中的数据都是2D点位数据,要渲染成3D地图,需先对其进行2D点位到3D地理坐标的转换,运用echarts-g l库提供的echarts-g l.geo3,将2D点位的经纬度坐标转换为3D地理坐标。
基于3D地理坐标,利用硬件加速和优化算法进行渲染,具体的,利用现代图形处理单元(GPU)的并行计算能力,加速地图渲染过程,通过充分利用GPU的计算能力,并采用如空间索引结构、渲染管线优化等算法和渲染技术,提高渲染效率和速度;同时,针对不同类型的地理数据,采用适当的算法和优化策略,进一步提高渲染性能。
还可以使用其他图形处理技术或硬件加速方案,以实现更高效的图形渲染和计算。可以采用Vulkan、Metal等图像处理技术,用于与GPU(图形处理单元)进行交互,在计算机上进行图形渲染和计算任务。
为了更好地说明方案,以一个场景为例,提供更为具体的实施例,进行案例性说明。
假设有一个虚拟城市,其中包含多个道路和交叉口,每个交叉口都有不同的交通流量,想要使用map3D组件来可视化这些交通流量的情况,具体流程如图2所示:
首先,需要准备城市的地理数据和交通流量数据;地理数据包括城市的道路网络和交叉口的坐标信息,可以使用GeoJSON格式或其他支持的地理数据格式进行表示;交通流量数据可以是每个交叉口的车辆数量或流量指数等信息。
然后,在echarts中创建一个3D地图的实例,设置地图的初始视角、缩放级别、背景颜色等属性和坐标系。
之后,通过上述步骤S1-S4对“城市的地理数据和交通流量数据”进行分割、分布式存储、适配性加载和渲染。
在步骤S4的渲染中,在交互方面,增加旋转、倾斜、缩放等交互操作,使用户可以从不同的角度观察地图的地理信息;还可以设置鼠标悬停交互,当鼠标悬停在某个交叉口上时,显示该交叉口的详细信息,例如交通流量值和所在位置。同时,可以在地图上添加各种可视化元素,如气泡图、线图、3D模型等,以展示更多的空间数据和关联关系。
此外,还可以添加其他的可视化元素,例如道路线、箭头等,以更好地表示交通流量的方向和流动路径。
最后,根据需要进行样式调整,例如设置图例、坐标轴、标签等,以及添加动画效果来展示交通流量的变化。
总结来说,通过采用3D地图,可以将城市的交通流量情况以直观、生动的三维效果展示出来,帮助用户更好地理解和分析交通数据,为城市交通规划和管理提供参考依据;具体的方案可以根据实际需求和数据特点进行调整和扩展。
实施例二
在一个或多个实施例中,公开了一种3D地图渲染系统,如图3所示,包括分割模块、分布式模块、加载模块和渲染模块:
分割模块,被配置为:对2D点位形式的地理数据进行数据块的分割;
分布式模块,被配置为:基于分布式,将数据块分配到不同的服务器上进行处理和存储;
加载模块,被配置为:根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载;
渲染模块,被配置为:对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图。
实施例三
本实施例的目的是提供计算机可读存储介质。
计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例一所述的一种3D地图渲染方法中的步骤。
实施例四
本实施例的目的是提供电子设备。
电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本公开实施例一所述的一种3D地图渲染方法中的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种3D地图渲染方法,其特征在于,包括:
对2D点位形式的地理数据进行数据块的分割;
基于分布式,将数据块分配到不同的服务器上进行处理和存储;
根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载;
对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图。
2.如权利要求1所述的一种3D地图渲染方法,其特征在于,所述数据块的分割,采用基于空间划分的网格或层次化划分的方式进行。
3.如权利要求1所述的一种3D地图渲染方法,其特征在于,所述基于分布式,是使用Apache Hadoop或Apache Spark分布式计算框架实现。
4.如权利要求1所述的一种3D地图渲染方法,其特征在于,所述处理,是采用基于索引的数据压缩或矢量化压缩方法,对分配的数据块进行压缩,减少数据的体积和加载时间。
5.如权利要求1所述的一种3D地图渲染方法,其特征在于,所述存储,是将处理后的数据块,以GeoJSON或TopoJSON的形式存储。
6.如权利要求1所述的一种3D地图渲染方法,其特征在于,所述适配性加载,还包括预加载相邻区域的数据,使用级别渐进式加载。
7.如权利要求1所述的一种3D地图渲染方法,其特征在于,所述对转换后的数据块进行渲染,还包括设置交互操作和添加可视化元素。
8.一种3D地图渲染系统,其特征在于,包括分割模块、分布式模块、加载模块和渲染模块:
分割模块,被配置为:对2D点位形式的地理数据进行数据块的分割;
分布式模块,被配置为:基于分布式,将数据块分配到不同的服务器上进行处理和存储;
加载模块,被配置为:根据用户的视角和位置信息,从不同的服务器上获取用户当前视野范围内的数据块,进行适配性加载;
渲染模块,被配置为:对加载的全部数据块进行2D点位到3D地理坐标的转换,对转换后的数据块进行渲染,得到3D地图。
9.一种电子设备,其特征是,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时,执行上述权利要求1-7任一项所述的方法。
10.一种存储介质,其特征是,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行权利要求1-7任一项所述方法的指令。
CN202310944343.2A 2023-07-28 2023-07-28 一种3d地图渲染方法及系统 Pending CN116993881A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310944343.2A CN116993881A (zh) 2023-07-28 2023-07-28 一种3d地图渲染方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310944343.2A CN116993881A (zh) 2023-07-28 2023-07-28 一种3d地图渲染方法及系统

Publications (1)

Publication Number Publication Date
CN116993881A true CN116993881A (zh) 2023-11-03

Family

ID=88525996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310944343.2A Pending CN116993881A (zh) 2023-07-28 2023-07-28 一种3d地图渲染方法及系统

Country Status (1)

Country Link
CN (1) CN116993881A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118193665A (zh) * 2024-05-17 2024-06-14 浙江数维科技有限公司 一种格网元数据的图形聚合方法与系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118193665A (zh) * 2024-05-17 2024-06-14 浙江数维科技有限公司 一种格网元数据的图形聚合方法与系统

Similar Documents

Publication Publication Date Title
CN112256897B (zh) 一种三维场景下矢量瓦片加载方法
CN110738721B (zh) 基于视频几何分析的三维场景渲染加速方法及系统
CN110070613B (zh) 基于模型压缩和异步加载的大型三维场景网页展示方法
US9024947B2 (en) Rendering and navigating photographic panoramas with depth information in a geographic information system
CN106898047B (zh) 倾斜模型和多元模型动态融合的自适应网络可视化方法
CN111932668B (zh) 一种城市景观模型三维可视化方法、系统、介质和电子设备
CN105261066B (zh) 一种三维地理信息系统实时绘制多线程分配与控制方法
CN110599891B (zh) 一种电网设备地图渲染方法
US20140152664A1 (en) Method of rendering a terrain stored in a massive database
Davis et al. Real-time visualization of scalably large collections of heterogeneous objects
CN103309943A (zh) 一种三维地理信息平台及其地形数据处理方法
CN101408990B (zh) 一种城市建筑模型的渐进压缩和传输方法
US12094057B2 (en) Method for scheduling and displaying three-dimensional annotations
CN116993881A (zh) 一种3d地图渲染方法及系统
CN114297206A (zh) 精细化高效动态瓦片地图服务发布方法、介质及电子设备
US9679349B2 (en) Method for visualizing three-dimensional data
CN113495933A (zh) 一种矢量瓦片显示方法及系统
CN112906125A (zh) 铁路固定设施bim模型轻量化加载方法
CN117237503B (zh) 一种地理要素数据加速渲染及装置
Zhang et al. Visualization of large spatial data in networking environments
CN113495935A (zh) 一种基于不规则三角化网格剖分的地形切片方法和系统
KR101293770B1 (ko) 자료 표출 시스템 및 자료 표출 방법
Zhang et al. Effective solutions to a global 3D visual system in networking environments
Cheng et al. A quantitative scale-setting approach for building multi-scale spatial databases
Wang et al. 3D Scene Management Method Combined with Scene Graphs.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination