CN117827996A - 一种瓦片影像地图的处理方法、装置及设备 - Google Patents

一种瓦片影像地图的处理方法、装置及设备 Download PDF

Info

Publication number
CN117827996A
CN117827996A CN202311831022.8A CN202311831022A CN117827996A CN 117827996 A CN117827996 A CN 117827996A CN 202311831022 A CN202311831022 A CN 202311831022A CN 117827996 A CN117827996 A CN 117827996A
Authority
CN
China
Prior art keywords
tile
target
range
map
information
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
CN202311831022.8A
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.)
Everything Mirror Beijing Computer System Co ltd
Original Assignee
Everything Mirror Beijing Computer System 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 Everything Mirror Beijing Computer System Co ltd filed Critical Everything Mirror Beijing Computer System Co ltd
Priority to CN202311831022.8A priority Critical patent/CN117827996A/zh
Publication of CN117827996A publication Critical patent/CN117827996A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本公开提供一种瓦片影像地图的处理方法、装置及设备,涉及计算机技术领域;解决瓦片影像地图加载过程中无法进行动态调度地图层级的问题;方法包括:获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。本公开的方案实现了在三维场景中瓦片影像地图的动态加载、渲染和调度。

Description

一种瓦片影像地图的处理方法、装置及设备
技术领域
本公开涉及计算机技术领域,具体涉及一种瓦片影像地图的处理方法、装置及设备。
背景技术
在三维场景中,传统加载瓦片影像地图的方式是通过手动将影像图片导入三维引擎编辑器,生成纹理资产,然后再手动进行位置拼接。传统手动导入和拼接的方式,一是比较繁琐,瓦片数量越大,消耗的人工成本越大;二是人工拼接很容易产生位置误差,需要开发相应的工具进行校准;三是瓦片地图服务一般需要根据视角变化进行动态调度层级,手工导入只能放入指定层级,无法动态调度。
发明内容
本公开提供一种瓦片影像地图的处理方法、装置及设备,解决了现有瓦片影像地图的加载过程中无法根据视角变化进行动态调度地图层级的问题。
为解决上述技术问题,本公开的技术方案如下:
第一方面,本公开的实施例提供一种瓦片影像地图的处理方法,包括:
获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;
根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;
根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;
通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;
对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。
可选的,根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围,包括:
根据当前三维场景的变换视角,获取变换视角的渲染窗口的多个预设点射线与待处理瓦片影像地图平面的多个初始交点坐标;
根据多个初始交点坐标,获取初始坐标范围;
将初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
可选的,将初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围,包括:
将初始坐标范围和预设范围进行比对,获取比对结果;
基于预设范围和比对结果,对初始坐标范围进行校正处理,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
可选的,根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据,包括:
根据预设分割参数,对二维地理范围进行分割处理,获取多个分割区域;
对每个分割区域分别进行预处理,确定每个分割区域的地图层级;
基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围;
根据目标瓦片的范围,获取目标瓦片请求数据。
可选的,对每个分割区域分别进行预处理,确定每个分割区域的地图层级,包括:
基于预设的分辨率,获取分割区域的比例尺;
将比例尺与不同地图层级的分辨率进行比对,确定每个分割区域的地图层级。
可选的,基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围,包括:
基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的行列号;
根据目标瓦片的行列号,确定目标瓦片的范围。
可选的,对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图,包括:
将目标地理信息转换为三维场景的几何坐标信息;
根据几何坐标信息,获取动态网格渲染组件;
根据目标瓦片图像信息,获取纹理信息;
对动态网格渲染组件和纹理信息进行渲染处理,生成目标瓦片影像地图。
第二方面,本公开的实施例还提供一种瓦片影像地图的处理装置,包括:
第一获取模块,用于获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;
第一处理模块,用于根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;
第二处理模块,用于根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;
第三处理模块,用于通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;
第四处理模块,用于对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。
可选的,第一处理模块包括:
第一处理子模块,用于根据当前三维场景的变换视角,获取变换视角的渲染窗口的多个预设点射线与待处理瓦片影像地图平面的多个初始交点坐标;
第二处理子模块,用于根据多个初始交点坐标,获取初始坐标范围;
第三处理子模块,用于将初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
可选的,第三处理子模块具体用于将初始坐标范围和预设范围进行比对,获取比对结果;基于预设范围和比对结果,对初始坐标范围进行校正处理,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
可选的,第二处理模块包括:
第四处理子模块,用于根据预设分割参数,对二维地理范围进行分割处理,获取多个分割区域;
第五处理子模块,用于对每个分割区域分别进行预处理,确定每个分割区域的地图层级;
第六处理子模块,用于基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围;
第七处理子模块,用于根据目标瓦片的范围,获取目标瓦片请求数据。
可选的,第五处理子模块具体用于基于预设的分辨率,获取分割区域的比例尺;将比例尺与不同地图层级的分辨率进行比对,确定每个分割区域的地图层级。
可选的,第六处理子模块具体用于基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的行列号;根据目标瓦片的行列号,确定目标瓦片的范围。
可选的,第四处理模块包括:
第八处理子模块,用于将目标地理信息转换为三维场景的几何坐标信息;
第九处理子模块,用于根据几何坐标信息,获取动态网格渲染组件;
第十一处理子模块,用于根据目标瓦片图像信息,获取纹理信息;
第十二处理子模块,用于对动态网格渲染组件和纹理信息进行渲染处理,生成目标瓦片影像地图。
第三方面,本公开的实施例还提供一种计算设备,包括:处理器、存储有计算机程序的存储器,计算机程序被处理器运行时,执行如第一方面的方法的步骤。
第四方面,本公开的实施例还提供一种计算机可读存储介质,包括:存储指令,当指令在计算机上运行时,使得计算机执行如第一方面的方法的步骤。
本公开的上述方案至少包括以下有益效果:
本公开的瓦片影像地图的处理方法通过获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。实现了在三维场景中瓦片影像地图的动态加载、渲染和调度。
附图说明
图1是本公开的瓦片影像地图的处理方法的流程示意图;
图2是本公开的瓦片影像地图的处理方法中二维地理范围的确定流程图;
图3是本公开的瓦片影像地图的处理方法中目标瓦片请求数据的获取流程示意图;
图4是本公开的瓦片影像地图的处理方法中生成目标瓦片影像地图的流程示意图;
图5是本公开的瓦片影像地图的处理方法的具体流程示意图;
图6是本公开的瓦片影像地图的处理装置的模块框示意图;
图7是本公开的实施例提供的计算设备的结构示意图;
图8是实现本公开的实施例提供的计算设备的硬件结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本公开的实施例提出一种瓦片影像地图的处理方法,包括:
步骤11,获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;
步骤12,根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;
步骤13,根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;
步骤14,通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;
步骤15,对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。
本实施例中,瓦片影像地图的处理方法应用于三维场景下瓦片影像地图的动态加载,使用时需要与地图服务配合使用;首次与地图服务建立联系时,需要请求和存储瓦片影像地图的基本元数据,如地图的分辨率、坐标参考系统、地理范围、瓦片维度和层级结构等,这些均可通过一个API(应用程序编程接口)调用实现,地图服务会返回一个或多个瓦片地图集合的描述;其中,获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式,可通过使用服务请求的方式来获取;不同的瓦片影像地图服务都有标准的请求协议,根据协议,首先请求瓦片影像地图的基础信息,包括基础地理信息和瓦片组织形式;基础地理信息包含地图地理范围、地理坐标系、地理图层等,瓦片组织形式包含瓦片切割算法、瓦片分层系数、瓦片范围限制、瓦片层级限制等;获取后将信息存入预设的数据结构用于后续生成地图数据请求(目标瓦片请求数据);
该实施例中,当前三维场景的变换视角是通过改变虚拟摄像机的参数对视角进行变换获取的;在三维图形渲染中,虚拟摄像机的位置、方向、视野等可以通过软件编程来调整,以模拟现实世界中摄像机的移动和转动,这种方式可以在不改变物理设备位置的情况下,改变用户在三维场景中的观察视角(变换视角);具体的变换视角为3D场景中的一个矩形区域,这个区域定义了最终显示在屏幕上的场景部分,变换视角不直接对应于物理显示屏的大小,而是指虚拟3D世界中相机的视窗,这个视窗决定了用户能够看到的3D世界的部分,因此根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围,这一步骤指的是根据当前变换视角的位置和朝向,计算它在地图上对应的二维地理范围,这允许地图服务提供相应区域的瓦片数据,以确保渲染的是用户当前可以看到的地图部分。
该实施例中,瓦片影像地图的处理方法通过确定三维场景中用户变换视角的位置、朝向和视角,来确定用户当前所看到的场景部分;通过将变换视角的三维坐标转换为二维地图坐标,然后利用转换得到的二维地图坐标,确定地图上对应的地理边界框(BoundingBox),即确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;通过根据二维地理范围计算出需要加载的瓦片(目标瓦片),并生成请求(目标瓦片请求数据);通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;对目标地理信息和目标图像信息进行渲染处理,获取变换视角下的目标瓦片影像地图;通过这样的方式,当用户在三维场景中改变视角时,本实例的瓦片影像地图的处理方法能够动态地计算出新的地理覆盖范围,请求相应的瓦片数据,并更新渲染信息,以实时显示最新的地图数据(目标瓦片影像地图);这种灵活性对于实时交互式应用,是非常重要的;解决了现有瓦片影像地图的加载过程中存在工序繁琐需要消耗的人工成本,以及无法根据视角变化进行动态调度地图层级的问题。实现了在三维场景中对瓦片影像地图的动态加载、渲染和调度,从而呈现出多种开放格式的二维瓦片影像地图,同时提高了对瓦片影像地图的动态加载速度和准确度。
如图2所示,本公开的一个可选的实施例中,步骤12可以包括:
步骤121,根据当前三维场景的变换视角,获取变换视角的渲染窗口的多个预设点射线与待处理瓦片影像地图平面的多个初始交点坐标;
步骤122,根据多个初始交点坐标,获取初始坐标范围;
步骤123,将初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
本实施例中,预设点射线为变换视角的视口(渲染窗口)的四个角点向地图平面投射的射线;预设点可根据需求进行设置,可将渲染窗口的四个角为预设点(例如左上角、右上角、左下角、右下角);当用户改变视角时(例如,通过拖动鼠标旋转视图),程序计算每个预设点向地图平面投射射线的交点,具体可以通过三维图形API(应用程序编程接口)中的射线投射函数来完成,如OpenGL(开放式图形库)或DirectX(多媒体编程接口);初始坐标范围为预设点射线与待处理瓦片影像地图平面相交形成的矩形区域;该矩形区域代表了在当前视角和缩放级别下,用户视口能够“看到”的地图上的地理范围,该矩形区域是动态计算得到的,矩形区域会随着用户视角的改变(如平移、缩放、旋转)而改变;预设范围是指软件设计者或用户设定的地图显示范围的限制,即软件或服务允许用户看到的最大地图区域,预设范围确保了即使初始坐标范围很大,实际请求和渲染的地图数据仍然在一个合理和允许的范围内;即初始坐标范围是用户当前可以看到的地图区域,而预设范围是软件或服务允许用户看到的最大地图区域,一般包括:最大经纬度范围:例如,经度从-180到180度,纬度从-85到85度(一些地图投影的限制范围);在一些应用中,可能只对特定的国家或地区有兴趣,因此预设范围可以设置为这些区域的边界;当用户视角发生变化时,初始坐标范围需要与预设范围进行比对,以确保加载的地图瓦片是有效的,如果初始范围超出了预设范围,程序会自动调整,只请求和渲染预设范围内的瓦片,这个过程确保了应用的性能和用户体验,避免了加载无效或不必要的数据。
以一款虚拟地球软件,用户可以在三维空间中浏览全球任意地点,用户当前关注的是观看某市区的详细街道图为例对步骤121和步骤121进行具体说明:首先用户在软件中将视角缩放到某市区,软件界面(变换视角的渲染窗口)的四个角点(预设点)代表当前变换视角下的视窗边界;软件通过这四个角点向下投射射线(预设点射线),这些射线与地球表面(在这里简化为一个二维平面)相交,即与待处理瓦片影像地图平面相交;交点的地理坐标被计算出来,这四个点围成的区域就是初始坐标范围。
本公开的一个可选的实施例中,步骤123可以包括:
将初始坐标范围和预设范围进行比对,获取比对结果;
基于预设范围和比对结果,对初始坐标范围进行校正处理,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
本实施例中,当用户将视角倾斜到一个较大角度时,初始计算的范围会变得很大,包含了更多的地面区域,当初始坐标范围超出预设范围时,软件需要对初始坐标范围进行限制(基于预设范围和比对结果,对初始坐标范围进行校正处理,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围),获取在预设范围内的二维地理范围,从而确保只加载和渲染预设范围内的数据,避免请求不必要或不存在的数据;首先需要对初始坐标范围进行校验,确保它不会超出这个预定义的预设范围。具体的,如果初始坐标范围的一部分超出了预设范围,则将调整初始范围以使初始范围在预设范围内的区域,这个校验过程确保了即将请求的瓦片数据是存在的,并且属于地图服务可以提供的区域,避免了无效请求,并优化了资源的使用,最终获得了一个调整后的二维地理范围,这个范围是当前用户视角下,既在用户可视区域内,又在地图服务能够提供数据范围内的地理区域;这样,可以在用户改变视角后,快速确定哪些瓦片是需要被加载和渲染的,从而实时更新三维场景中显示的地图数据。
如图3所示,本公开的一个可选的实施例中,步骤13可以包括:
步骤131,根据预设分割参数,对二维地理范围进行分割处理,获取多个分割区域;
步骤132,对每个分割区域分别进行预处理,确定每个分割区域的地图层级;
步骤133,基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围;
步骤134,根据目标瓦片的范围,获取目标瓦片请求数据。
本实施例中,预设分割参数可根据区域的大小和用户期望的细节级别来设置,该设置涉及到决定每个区域最合适的地图层级(Zoom Level);当用户将视角倾斜到一个较大角度查看地球时,初始计算的范围可能会变得很大,包含了更多的地面区域;此时,将这个大范围分割成多个小块,这样可以为每个小块选择一个合适的瓦片层级,以获得足够的细节而不过分加载数据;基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围;基于目标瓦片的范围,通过地图服务协议,获取目标瓦片请求数据;通过这个过程,程序获得了每个区域对应的最优地图层级,确保在渲染时能够提供足够的细节,同时又不会加载不必要的数据量。
步骤13具体包括:首先,确定要请求的瓦片的具体范围即二维地理范围,将视口覆盖的二维地理范围转换为地图瓦片的行列编号,每个瓦片通常有一个唯一的标识符,如行列编号,这些编号与地图的缩放层级有关;根据瓦片地图服务的API或协议,通过需要请求的瓦片的层级和编号,生成一个或多个HTTP(超文本传输协议)请求URL(统一资源定位符);例如,请求URL为`http://tileserver.com/zoom/x/y.png`,其中`zoom`是缩放层级,`x`和`y`是瓦片的行列编号,然后,通过网络发送这些HTTP请求给地图服务服务器,地图服务服务器响应这些请求,并将包含地理信息和图像数据的瓦片发送回来,这些瓦片数据可以是图像文件(如PNG或JPEG),也可以是包含其他类型的地理数据;接收到瓦片数据后,对其进行处理,可包括解码图像,解析地理信息,并将数据存储在适当的数据结构中以供后续步骤使用;步骤134的设计,确保了只有用户需要查看的地图区域才会被请求和下载,这样可以优化性能和响应速度;此外,这一步通常还会涉及到缓存策略,以减少重复请求相同瓦片的需要,并提高整体渲染效率。
本公开的一个可选的实施例中,步骤123可以包括:
基于预设的分辨率,获取分割区域的比例尺;
将比例尺与不同地图层级的分辨率进行比对,确定分割区域的地图层级。
本实施例中,对于每个分割出的小块区域(分割区域),通过预设的分辨率计算出一个适当的比例尺。然后,根据比例尺确定应该请求哪一层级的瓦片,层级越高,瓦片展示的地图细节越多,但同时也意味着需要加载更多的数据,通过上述计算过程,能够在用户改变视角时,动态地计算并加载适当的地图瓦片,以确保在不同的观看角度和缩放级别下,用户都能获得清晰且高效的地图浏览体验。具体为,根据预设分割参数,对二维地理范围进行分割处理,获取多个分割区域,对于每个分割后的区域,进行预处理,确定每个分割区域的地图层级,地图层级的确定是基于预设的分辨率或者用户交互操作(如用户滚动鼠标滚轮进行的缩放),来计算每个区域的比例尺,与不同层级的分辨率相匹配,来选择最佳层级,即将比例尺与不同地图层级的分辨率进行比对,确定分割区域的地图层级。
本公开的一个可选的实施例中,步骤133可以包括:
基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的行列号;
根据目标瓦片的行列号,确定目标瓦片的范围。
本实施例中,一旦每个区域的地图层级确定,则可利用基础地理信息和瓦片组织形式来确定具体的目标瓦片请求范围,基础地理信息提供了地图的整体参数,如瓦片尺寸和坐标参考系统,而瓦片组织形式定义了瓦片的索引方式,如它们是如何被分层和编码的;根据确定的层级和二维地理范围,计算出需要加载的目标瓦片的行列号,这涉及到将地理坐标转换成瓦片服务的索引体系,以确定哪些瓦片覆盖了当前视角下的区域;通过这个过程,确定了一个目标瓦片范围列表,这个列表是所有需要被请求的瓦片的索引集合;然后程序生成请求这些瓦片的具体网络调用(如HTTP GET请求),以便从地图服务中检索数据。
如图4所示,本公开的一个可选的实施例中,步骤15可以包括:
步骤151,将目标地理信息转换为三维场景的几何坐标信息;
步骤152,根据几何坐标信息,获取动态网格渲染组件;
步骤153,根据目标瓦片图像信息,获取纹理信息;
步骤154,对动态网格渲染组件和纹理信息进行渲染处理,生成目标瓦片影像地图。
本实施例中,步骤15是将获取到的瓦片数据可视化在3D场景中的过程,以下是这一过程的具体实现步骤:
首先进行瓦片地理信息转换(目标地理信息转换):每个瓦片包含的地理信息,如经纬度范围,需要将目标地理信息转换成三维空间中的坐标信息,这涉及到地理坐标(经纬度)到场景的本地坐标系的转换,在转换过程中,会考虑到地球的曲率和所选的地图投影方式,以确保瓦片在3D空间中正确对齐;进行动态网格生成(获取动态网格渲染组件):一旦得到瓦片在三维空间中的位置,接下来就要生成网格(Mesh),网格是由多个三角形组成的,用于定义3D物体的形状,瓦片地理信息转换得到的坐标定义了这些三角形的顶点位置,从而形成了覆盖瓦片地理范围的3D网格;进行纹理信息生成:瓦片的图像信息被用作纹理,纹理是贴在网格上的图案,给三维物体着色和细节;图像信息被处理成纹理格式,然后映射到对应的3D网格上,这个映射过程要考虑到图像与网格顶点坐标之间的对应关系;最后对动态网格渲染组件和纹理信息进行渲染处理,获取目标瓦片影像地图,即自定义渲染管线:将生成的网格和纹理信息传递给渲染引擎,在这一步中,会应用多种渲染技术,如光照、阴影、反射等,以提高场景的真实感;渲染管线是一系列的处理步骤,用于将3D场景转换成最终的图像,这通常包括顶点处理、光照计算、像素着色等步骤,在自定义渲染管线中,可以根据应用的需要调整这些步骤,以达到期望的视觉效果;通过这个过程,软件能够将从地图服务下载的二维瓦片数据转换成3D环境中的视觉内容,从而用户可以在三维空间中浏览地图,就像在现实世界中观察地形一样,这种渲染技术广泛应用于地理信息系统(GIS)、虚拟现实(VR)等领域。
如图5所示,本公开的瓦片影像地图的处理方法以一个具体的实施例来对本公开瓦片影像地图的处理方法进行举例说明,以及有一款3D城市规划软件,需要将实时的地图数据渲染到3D场景中,供城市规划师进行建筑规划和地形分析为例:
城市规划师需要在软件中查看某市的某个区域的详细地图;该软件使用的是一个标准的在线地图瓦片服务,如OpenStreetMap(开放街道地图);
1.基础信息获取:首先会向OpenStreetMap发送一个服务请求,获取三维场景下待处理瓦片影像地图的基础信息,包括基础地理信息和瓦片组织形式,基础地理信息包括:地图地理范围、地理坐标系、图层信息等;瓦片组织形式包括瓦片切割算法、瓦片分层系数、瓦片范围限制、瓦片层级限制等,获取到的信息被存储在数据结构中,形成图层信息数据结构和瓦片信息数据结构供后续使用;其中,图层信息数据结构如下:
struct FTileMatrix//瓦片层级信息
{
FString TileMatrixId;
double ScaleDenominator=-1;
double Resolution=-1;
FIntPoint TileSize=FIntPoint(InX:256,InY:256);
FIntPoint MatrixSize=FIntPoint(InX:1,InY:1);
int Level=-1;
};
struct FTileMatrixLimits//某一层级瓦片的范围
{
int MinTileRow;
int MaxTileRow;
int MinTileCol;
int MaxTileCol;
};
struct FTileMatrixSet//图层信息
{
FString TileMatrixSetId;
FString SupportedCRS;
TArray<FTileMatrix>TileMatrixArray;
TMap<FString,FTileMatrixLimits>TileMatrixLimitsMap;
};
其中,FileMatrix:为存储瓦片地图的基础信息,如瓦片矩阵的ID、缩放比例尺、分辨率、瓦片尺寸、矩阵尺寸和层级。FileMatrixLimits:定义了瓦片矩阵的边界,如瓦片行列的最小和最大值,这可能与限制视口所覆盖区域的瓦片请求有关。FileMatrixSet:表示一组瓦片矩阵,包含了瓦片矩阵集合的ID、支持的坐标参考系统,以及瓦片矩阵的数组和限制。
瓦片信息数据结构如下:
struct FServiceGeoTile//瓦片信息
{
FString LayerId;
FString MatrixSetId;
FString MatrixId;
FIntPoint TileId=FIntPoint(InX:256,InY:256);
FIntPoint TileSize=FIntPoint(InX:256,InY:256);
FGeoBoundingBox BoundingBox;
TArray<uint8>RawImageData;
};
其中,FServiceGeoTile:这个结构体包含了瓦片的层ID(标识)、矩阵集合ID、矩阵ID、瓦片ID和尺寸,以及地理范围(边界框)和原始图像数据,这个结构体可用于存储和传输单个瓦片的所有必要信息,以便渲染;
图层信息数据结构和瓦片信息数据结构这些代码片段定义了处理、存储和渲染瓦片地图所需的数据结构,FileMatrix和相关结构体涉及到瓦片地图服务请求的组织和管理,而FServiceGeoTile结构体则直接关联到从服务请求得到的瓦片数据,包括地理信息和图像信息,以及这些数据在渲染瓦片地图时的使用;
2.动态计算二维地理范围:当城市规划师缩放到某市的某个区域,动态计算当前视口覆盖的二维地理范围;这通过将视口(变换视角的渲染窗口)的四个角点转换成地理坐标来完成,并限制在OpenStreetMap服务支持的范围内(预设范围);
获取请求地图数据(获取目标瓦片请求数据、目标地理信息以及目标图像信息):根据计算出的二维地理范围,确定需要请求的瓦片的层级和行列编号,根据OpenStreetMap的瓦片请求格式构造HTTP请求URL,例如:https://tile.openstreetmap.org/{z}/{x}/{y}.png;发送HTTP请求并接收返回的瓦片图像文件;
3.渲染瓦片地图:将接收到的瓦片图像转换成纹理,并将瓦片的地理信息转换为3D坐标,使用这些信息,软件在3D场景中创建网格,并应用纹理,渲染出地图。在这个过程中,城市规划师可能会改变视角,查看不同的区域或调整缩放级别,则需要重复动态计算二维地理范围步骤和渲染瓦片地图步骤,以确保3D场景中的地图数据是最新的,即获取变换视角下的目标瓦片影像地图为最近地图。这种实施方式使得城市规划师能够在三维场景下以高效率查看到最新的地图数据,并且可以根据需要查看不同层级的细节,这对于城市规划和分析来说是非常重要的。
本公开的瓦片影像地图的处理方法通过动态计算三维场景中地理覆盖范围的方式,自定义渲染信息数据结构以及相应的自定义渲染管线的设计,实现了在三维场景中动态呈现多种开放格式的二维瓦片影像地图。
如图6所示,本公开的实施例还提供一种瓦片影像地图的处理装置60,包括:
第一获取模块61,用于获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;
第一处理模块62,用于根据当前三维场景的变换视角,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围;
第二处理模块63,用于根据基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;
第三处理模块64,用于通过目标瓦片请求数据,获取与目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;
第四处理模块65,用于对目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。
可选的,第一处理模块62包括:
第一处理子模块,用于根据当前三维场景的变换视角,获取变换视角的渲染窗口的多个预设点射线与待处理瓦片影像地图平面的多个初始交点坐标;
第二处理子模块,用于根据多个初始交点坐标,获取初始坐标范围;
第三处理子模块,用于将初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
可选的,第三处理子模块具体用于将初始坐标范围和预设范围进行比对,获取比对结果;基于预设范围和比对结果,对初始坐标范围进行校正处理,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
可选的,第二处理模块63包括:
第四处理子模块,用于根据预设分割参数,对二维地理范围进行分割处理,获取多个分割区域;
第五处理子模块,用于对每个分割区域分别进行预处理,确定每个分割区域的地图层级;
第六处理子模块,用于基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围;
第七处理子模块,用于根据目标瓦片的范围,获取目标瓦片请求数据。
可选的,第五处理子模块具体用于基于预设的分辨率,获取分割区域的比例尺;将比例尺与不同地图层级的分辨率进行比对,确定分割区域的地图层级。
可选的,第六处理子模块具体用于基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的行列号;根据目标瓦片的行列号,确定目标瓦片的范围。
可选的,第四处理模块65包括:
第八处理子模块,用于将目标地理信息转换为三维场景的几何坐标信息;
第九处理子模块,用于根据几何坐标信息,获取动态网格渲染组件;
第十一处理子模块,用于根据目标瓦片图像信息,获取纹理信息;
第十二处理子模块,用于对动态网格渲染组件和纹理信息进行渲染处理,生成目标瓦片影像地图。
需要说明的是,该装置是与上述方法对应的装置,上述方法中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图7所示,本公开实施例还提供一种计算设备700,包括处理器701,存储器702,存储在存储器702上并可在处理器701上运行的程序或指令,该程序或指令被处理器701执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。需要说明的是,本公开实施例中的计算设备包括上述的移动电子设备和非移动电子设备。
图8为实现本公开实施例的一种计算设备的硬件结构示意图。
该计算设备800包括但不限于:射频单元801、网络模块802、音频输出单元803、输入单元804、传感器805、显示单元806、用户输入单元807、接口单元808、存储器809、以及处理器810等部件。
本领域技术人员可以理解,计算设备800还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器810逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图8中示出的计算设备结构并不构成对计算设备的限定,计算设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本公开实施例中,输入单元804可以包括图形处理器(GraphicsProcessing Unit,GPU)8041和麦克风8042,图形处理器8041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像设备)获得的静态图片或视频的图像数据进行处理。显示单元806可包括显示面板8061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板8061。用户输入单元807包括触控面板8071以及其他输入设备8072。触控面板8071,也称为触摸屏。触控面板8071可包括触摸检测装置和触摸控制器两个部分。其他输入设备8072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。存储器809可用于存储软件程序以及各种数据,包括但不限于应用程序和操作系统。处理器810可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器810中。
本公开实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当指令在计算机上运行时,使得计算机执行上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的计算设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。
本公开实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本公开实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本公开实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
上面结合附图对本公开的实施例进行了描述,但是本公开并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本公开的启示下,在不脱离本公开宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本公开的保护之内。

Claims (10)

1.一种瓦片影像地图的处理方法,其特征在于,包括:
获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;
根据当前三维场景的变换视角,确定所述变换视角覆盖在待处理瓦片影像地图上的二维地理范围;
根据所述基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;
通过所述目标瓦片请求数据,获取与所述目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;
对所述目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。
2.根据权利要求1所述的瓦片影像地图的处理方法,其特征在于,根据当前三维场景的变换视角,确定所述变换视角覆盖在待处理瓦片影像地图上的二维地理范围,包括:
根据当前三维场景的变换视角,获取所述变换视角的渲染窗口的多个预设点射线与待处理瓦片影像地图平面的多个初始交点坐标;
根据多个所述初始交点坐标,获取初始坐标范围;
将所述初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
3.根据权利要求2所述的瓦片影像地图的处理方法,其特征在于,将所述初始坐标范围和预设范围进行比对,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围,包括:
将所述初始坐标范围和预设范围进行比对,获取比对结果;
基于预设范围和比对结果,对所述初始坐标范围进行校正处理,确定变换视角覆盖在待处理瓦片影像地图上的二维地理范围。
4.根据权利要求1所述的瓦片影像地图的处理方法,其特征在于,根据所述基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据,包括:
根据预设分割参数,对所述二维地理范围进行分割处理,获取多个分割区域;
对每个分割区域分别进行预处理,确定每个分割区域的地图层级;
基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围;
根据目标瓦片的范围,获取目标瓦片请求数据。
5.根据权利要求4所述的瓦片影像地图的处理方法,其特征在于,对每个分割区域分别进行预处理,确定每个分割区域的地图层级,包括:
基于预设的分辨率,获取分割区域的比例尺;
将所述比例尺与不同地图层级的分辨率进行比对,确定每个分割区域的地图层级。
6.根据权利要求4所述的瓦片影像地图的处理方法,其特征在于,基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的范围,包括:
基于基础地理信息和瓦片组织形式,根据二维地理范围和每个分割区域的地图层级,确定目标瓦片的行列号;
根据所述目标瓦片的行列号,确定目标瓦片的范围。
7.根据权利要求1所述的瓦片影像地图的处理方法,其特征在于,对所述目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图,包括:
将所述目标地理信息转换为三维场景的几何坐标信息;
根据几何坐标信息,获取动态网格渲染组件;
根据目标瓦片图像信息,获取纹理信息;
对动态网格渲染组件和纹理信息进行渲染处理,生成目标瓦片影像地图。
8.一种瓦片影像地图的处理装置,其特征在于,包括:
第一获取模块,用于获取三维场景下待处理瓦片影像地图的基础地理信息和瓦片组织形式;
第一处理模块,用于根据当前三维场景的变换视角,确定所述变换视角覆盖在待处理瓦片影像地图上的二维地理范围;
第二处理模块,用于根据所述基础地理信息、瓦片组织形式以及二维地理范围,获取变换视角所对应的目标瓦片请求数据;
第三处理模块,用于通过所述目标瓦片请求数据,获取与所述目标瓦片请求数据所对应的目标瓦片的目标地理信息和目标图像信息;
第四处理模块,用于对所述目标地理信息和目标图像信息进行渲染处理,生成变换视角下的目标瓦片影像地图。
9.一种计算设备,其特征在于,包括:处理器、存储有计算机程序的存储器,所述计算机程序被处理器运行时,执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,包括:存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7任一项所述的方法。
CN202311831022.8A 2023-12-28 2023-12-28 一种瓦片影像地图的处理方法、装置及设备 Pending CN117827996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311831022.8A CN117827996A (zh) 2023-12-28 2023-12-28 一种瓦片影像地图的处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311831022.8A CN117827996A (zh) 2023-12-28 2023-12-28 一种瓦片影像地图的处理方法、装置及设备

Publications (1)

Publication Number Publication Date
CN117827996A true CN117827996A (zh) 2024-04-05

Family

ID=90516931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311831022.8A Pending CN117827996A (zh) 2023-12-28 2023-12-28 一种瓦片影像地图的处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN117827996A (zh)

Similar Documents

Publication Publication Date Title
CN110807835B (zh) 一种建筑物bim模型和实景三维模型的融合方法
US9542770B1 (en) Automatic method for photo texturing geolocated 3D models from geolocated imagery
US9024947B2 (en) Rendering and navigating photographic panoramas with depth information in a geographic information system
US8368695B2 (en) Transforming offline maps into interactive online maps
JP2010504560A (ja) デジタル地図上にグラフィック・オブジェクトを表示する方法およびシステム
CN109086286B (zh) 一种彩色地形图生产与发布方法
US7098915B2 (en) System and method for determining line-of-sight volume for a specified point
WO2010013854A1 (en) Three dimensional geographical information client apparatus, server apparatus and three dimensional geographical information system having the same
US8675013B1 (en) Rendering spherical space primitives in a cartesian coordinate system
US10733777B2 (en) Annotation generation for an image network
CN115409957A (zh) 基于虚幻引擎的地图构建方法、电子设备和存储介质
CN113393554A (zh) 地图生成方法和地图生成装置
CN114996374B (zh) 在线数据可视化实现方法、系统、设备及介质
CN114820967B (zh) 一种分层影像数据实时绘制方法及系统
CN115859414A (zh) 一种全球尺度地理信息底图跨坐标系使用方法
CN117827996A (zh) 一种瓦片影像地图的处理方法、装置及设备
CN112364118B (zh) 城市污水周边环境模型的处理系统及方法
CN115409962A (zh) 虚幻引擎内构建坐标系统的方法、电子设备和存储介质
CN115409960A (zh) 基于虚幻引擎的模型构建方法、电子设备和存储介质
US20150143301A1 (en) Evaluating Three-Dimensional Geographical Environments Using A Divided Bounding Area
Liu et al. Fusing multiscale charts into 3D ENC systems based on underwater topography and remote sensing image
Bangay et al. Opportunities with Slippy Maps for Terrain Visualization in Virtual and Augmented Reality
CN117934675A (zh) 虚拟场景的雾效处理方法、装置、设备、介质和程序产品
Tao et al. Dynamic Display Method Of The Ancient Murals Based On 3D VR Technology
Deren et al. On three-dimensional visualization of geospatial information: graphics based or imagery based?

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