CN116149561A - 一种瓦片数据传输方法、装置、电子设备和存储介质 - Google Patents
一种瓦片数据传输方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116149561A CN116149561A CN202310148495.1A CN202310148495A CN116149561A CN 116149561 A CN116149561 A CN 116149561A CN 202310148495 A CN202310148495 A CN 202310148495A CN 116149561 A CN116149561 A CN 116149561A
- Authority
- CN
- China
- Prior art keywords
- tile
- data
- target
- level
- tile data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003672 processing method Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006399 behavior Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Remote Sensing (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种瓦片数据传输方法、装置、电子设备和存储介质,涉及地理信息技术的领域。所述方法应用于服务器端,服务器端和客户端通讯连接,方法包括:接收客户端传输的目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;根据瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,其中,目标存储位置为目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括目标瓦片数据以及关联瓦片数据的数据块,基于所述目标存储位置获取目标瓦片数据,向客户端传输所述目标瓦片数据。通过对目标数据块的一次IO读写,可获得多个瓦片数据,这能降低客户端进行在线地图数据浏览时的IO读写次数,缩短客户端进行在线地图数据浏览时的等待时间。
Description
技术领域
本申请涉及地理信息技术的领域,具体涉及一种瓦片数据传输方法、装置、电子设备和存储介质。
背景技术
目前,在线地图数据浏览方法大多是客户端将需要显示的地理范围发送给服务器端,通过服务器端查询需要显示的地理范围的数据,并返回给客户端进行浏览查看。
由于服务器IO操作和网络传输较为耗时,且客户端浏览的地理范围存在随机性和不确定性,当浏览数据较大时,在数据从服务端的数据库返回到客户端的过程中,会出现客户端等待时间过长的情况。
发明内容
本申请实施例的目的在于提供一种瓦片数据传输方法、装置、电子设备和存储介质,用于解决客户端进行在线地图数据浏览时的等待时间过长的问题。
第一方面,本公开实施例提供了一种瓦片数据传输方法,应用于服务器端,所述服务器端和客户端通讯连接,所述方法包括:
接收所述客户端传输的查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,其中,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级;
基于所述目标存储位置获取所述目标瓦片数据;
响应于所述查询请求,向所述客户端传输所述目标瓦片数据。
在一个实施例中,所述根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,包括:
基于所述瓦片层级参数、所述瓦片列参数和所述瓦片行参数,利用预设的索引公式确定所述目标存储位置。
在一个实施例中,所述索引公式如下所示:
d=(4^Z-1)/3+X*Z*Z+Y;
式中,所述X为所述瓦片行参数,所述Y为所述瓦片列参数,所述Z为所述瓦片层级参数,所述d为所述目标存储位置。
在一个实施例中,所述接收所述客户端传输的查询请求之前,所述方法还包括:
获取多个瓦片数据以及每一所述瓦片数据的瓦片位置数据,所述瓦片位置参数包括层级参数、列参数和行参数;
基于至少两个层级区间和每一所述瓦片数据的瓦片位置数据对所述多个瓦片数据进行分组,得到至少两个瓦片数据集合,所述至少两个层级区间和所述至少两个瓦片数据集合一一对应,所述瓦片数据集合中的任一瓦片数据的层级参数所指示的瓦片层级位于对应的层级区间内;
对所述至少两个瓦片数据集合中的每一瓦片数据集合分别进行数据块整合,得到每一瓦片数据集合对应的至少一个数据块,所述数据块包括第四瓦片数据和第五瓦片数据,所述第四瓦片数据指示的地理区域和所述第五瓦片数据指示的地理区域相同,所述第四瓦片数据所在的瓦片层级和所述第五瓦片数据所在的瓦片层级不同,所述至少一个数据块包括所述目标数据块。
在一个实施例中,所述第一瓦片数据存储于所述目标数据块中的第一存储位置,所述第二瓦片数据存储于所述目标数据块中的第二存储位置,且在所述目标数据块中:所述第一存储位置位于所述目标存储位置之前,所述第二存储位置位于所述目标存储位置之后。
第二方面,本公开实施例提供了一种瓦片数据传输方法,应用于客户端,所述客户端和服务器端通讯连接,所述方法包括:
向所述服务器端发送查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
接收所述服务器端响应于所述查询请求而传输的所述目标瓦片数据,其中,所述目标瓦片数据为所述服务器端基于目标存储位置获取的瓦片数据,所述目标存储位置为所述服务器端根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
第三方面,本公开实施例还提供一种瓦片数据传输装置,应用于服务器端,所述服务器端和客户端通讯连接,所述装置包括:
第一接收模块,用于接收所述客户端传输的查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
位置确定模块,用于根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,其中,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级;
数据获取模块,用于基于所述目标存储位置获取所述目标瓦片数据;
传输模块,用于响应于所述查询请求,向所述客户端传输所述目标瓦片数据。
第四方面,本公开实施例还提供一种瓦片数据传输装置,应用于客户端,所述客户端和服务器端通讯连接,所述装置包括:
第一发送模块,用于向所述服务器端发送查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
第二接收模块,用于接收所述服务器端响应于所述查询请求而传输的所述目标瓦片数据,其中,所述目标瓦片数据为所述服务器端基于目标存储位置获取的瓦片数据,所述目标存储位置为所述服务器端根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
第五方面,本公开实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述的瓦片数据传输方法的步骤,或者,实现第二方面所述的瓦片数据传输方法的步骤。
第六方面,本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的瓦片数据传输方法的步骤,或者,实现第二方面所述的瓦片数据传输方法的步骤。
在本公开实施例中,基于查询请求中包括的目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数,确定目标数据块中的目标存储位置,并基于所述目标存储位置获取目标瓦片数据,这其中,目标数据块除了存储有所述目标瓦片数据外,还存储有关联瓦片数据,通过对目标数据块的一次IO读写,可获得多个瓦片数据,这能降低客户端进行在线地图数据浏览时的IO读写次数,提高在线地图数据浏览时的瓦片数据IO读写效率,缩短客户端进行在线地图数据浏览时的等待时间。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种瓦片数据传输方法的流程图;
图2是本公开实施例提供的一种数据块的示意图;
图3是本公开实施例提供的另一种瓦片数据传输方法的流程图;
图4是本公开实施例提供的一种基于瓦片数据的快速浏览更新方法的示意图;
图5是本公开实施例提供的一种瓦片数据传输装置的结构示意图;
图6是本公开实施例提供的另一种瓦片数据传输装置的结构示意图;
图7是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开实施例提供一种瓦片数据传输方法,参见图1,图1是本公开实施例提供的一种瓦片数据传输方法的流程图,所述方法应用于服务器端,所述服务器端和客户端通讯连接,如图1所示,所述方法包括以下步骤:
步骤101、接收所述客户端传输的查询请求。
其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数。
服务器内存储有目标地图的不同层级的瓦片数据组,其中,目标地图可以为全球地图、亚洲地图等;目标地图的不同层级对应不同的地图比例尺,目标地图的层级数越大,对应的地图比例尺越小。
对于相邻的两个层级的瓦片数据组来说,后一层级的瓦片数据组所包括瓦片数据总数目为前一层级的瓦片数据组所包括瓦片数据总数目的4倍;举例来说,若第0层级的瓦片数据组所包括瓦片数据总数目为1,则第1层级的瓦片数据组所包括瓦片数据总数目为4。
对于任一瓦片数据来说,该瓦片数据的层级参数指示该瓦片数据所处的瓦片层级,该瓦片数据的行参数和列参数则分别指示该瓦片数据在对应瓦片层级内的行号和列号。
示例性的,客户端在线浏览地图时,可以向服务器端发送查询请求,所述查询请求中携带有指示客户端期望浏览的地理数据以及客户端当前所选择的地图比例尺;通过预设的第一映射程序对上述地理数据进行映射,可获得前述瓦片列参数和瓦片行参数;通过预设的第二映射程度对客户端当前所选择的地图比例尺进行映射,可获得前述瓦片层级参数。
需要说明的是,上述地理数据可以为具体的经纬度坐标,也可以为经纬度坐标区间,本公开对此不作限定。
步骤102、根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置。
其中,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
对于服务器端来说,其对单个瓦片数据进行IO读写操作的系统开销和其对单个数据库进行IO读写操作的系统开销相近,在本公开中,利用数据块对多个瓦片数据进行存储,使得服务器端在连续读写多个瓦片数据的过程中,仅需对少量的数据块进行IO读写操作,这能极大降低服务器端在连续读写多个瓦片数据时的系统开销。
举例来说,若服务器端需连续读写4个瓦片数据,则在数据块对上述4个瓦片数据进行存储后,服务器端通过对该数据块进行1次IO读写操作,即可完成对上述4个瓦片数据的读写处理,相较于对上述4个瓦片数据均进行1次IO读写操作的方式(即需进行4次IO读写操作),利用数据块对多个瓦片数据进行存储的方式,能显著降低服务器端在瓦片数据读写过程中的系统开销。
需要指出的是,目标瓦片数据可以理解为基于前述第一瓦片数据分裂得到的瓦片数据,第二瓦片数据可以理解为基于前述目标瓦片数据分裂得到的瓦片数据,第三瓦片数据可以理解为与目标瓦片数据的行列差在预设范围内的瓦片数据;举例来说,若目标瓦片数据为第3层级1行1列的瓦片数据,则第一瓦片数据可以为第0/1/2层级1行1列的瓦片数据,第二瓦片数据可以为第4/5层级1行1列(或者1行2列、2行1列、2行2列)的瓦片数据,第三瓦片数据可以为第3层级1行2列(或者2行1列、2行2列)的瓦片数据。
如上,通过限定目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,以便利服务器端对目标瓦片数据对应的关联瓦片数据的查找,进一步降低服务器端在连续读写多个瓦片数据时的系统开销。
步骤103、基于所述目标存储位置获取所述目标瓦片数据。
步骤104、响应于所述查询请求,向所述客户端传输所述目标瓦片数据。
在本公开中,基于查询请求中包括的目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数,确定目标数据块中的目标存储位置,并基于所述目标存储位置获取目标瓦片数据,这其中,目标数据块除了存储有所述目标瓦片数据外,还存储有关联瓦片数据,通过对目标数据块的一次IO读写,可获得多个瓦片数据,这能降低客户端进行在线地图数据浏览时的IO读写次数,提高在线地图数据浏览时的瓦片数据IO读写效率,缩短客户端进行在线地图数据浏览时的等待时间。
在一个实施例中,所述根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,包括:
基于所述瓦片层级参数、所述瓦片列参数和所述瓦片行参数,利用预设的索引公式确定所述目标存储位置。
该实施例中,利用索引公式的设置,对目标瓦片数据的瓦片层级参数、所述瓦片列参数和所述瓦片行参数进行转换,以获得目标瓦片数据在目标数据库中的索引文件流数据,也即获得前述目标存储位置。
需要说明的是,在本公开中,目标瓦片数据的数量为至少1个,在目标瓦片数据的数量大于或等于2时,所述瓦片列参数和所述瓦片行参数可以理解为列号区间和行号区间。
进一步的,所述索引公式如下所示:
d=(4^Z-1)/3+X*Z*Z+Y;
式中,所述X为所述瓦片行参数,所述Y为所述瓦片列参数,所述Z为所述瓦片层级参数,所述d为所述目标存储位置。
在一个实施例中,所述接收所述客户端传输的查询请求之前,所述方法还包括:
获取多个瓦片数据以及每一所述瓦片数据的瓦片位置数据,所述瓦片位置数据包括层级参数、列参数和行参数;
基于至少两个层级区间和每一所述瓦片数据的瓦片位置数据对所述多个瓦片数据进行分组,得到至少两个瓦片数据集合,所述至少两个层级区间和所述至少两个瓦片数据集合一一对应,所述瓦片数据集合中的任一瓦片数据的层级参数所指示的瓦片层级位于对应的层级区间内;
对所述至少两个瓦片数据集合中的每一瓦片数据集合分别进行数据块整合,得到每一瓦片数据集合对应的至少一个数据块,所述数据块包括第四瓦片数据和第五瓦片数据,所述第四瓦片数据指示的地理区域和所述第五瓦片数据指示的地理区域相同,所述第四瓦片数据所在的瓦片层级和所述第五瓦片数据所在的瓦片层级不同,所述至少一个数据块包括所述目标数据块。
该实施例中,通过分组以及数据块整合的操作,以完成对多个瓦片数据的规范化存储,进一步缩短客户端进行在线地图浏览时的等待时间,其中,至少两个层级区间的设置,可用于适配客户端在线浏览地图时的缩放动作,客户端的一次缩放动作即对应一个层级区间。
示例性的,至少两个层级区间的获取可以为:
获取客户端在历史时期内的若干个次地图浏览操作的缩放行为数据;
对若干个缩放行为数据进行聚合,得到至少一个行为类簇;
将至少一个行为类簇中包括元素数目最多的行为类簇确定为目标行为类簇;
对目标行为类簇包括的多个缩放行为数据进行均值处理,得到所述至少两个层级区间。
在一个实施例中,所述第一瓦片数据存储于所述目标数据块中的第一存储位置,所述第二瓦片数据存储于所述目标数据块中的第二存储位置,且在所述目标数据块中:所述第一存储位置位于所述目标存储位置之前,所述第二存储位置位于所述目标存储位置之后。
该实施例中,在限定目标数据块中包括目标瓦片数据以及关联瓦片数据的前提下,通过进一步限定目标瓦片数据和关联瓦片数据在目标数据块中的存储位置的次序,提升目标瓦片数据的索引效率,令客户端浏览在线地图的等待时间进一步缩短。
举例来说,若设定多个瓦片数据的瓦片层级为0-22级,第0层级的瓦片数据的个数为1;则可以将多个瓦片数据分类为3个瓦片数据集合,其分别为对应0-4层级的第一瓦片数据集合,对应5-10层级的第二瓦片数据集合,以及对应11-22层级的第三瓦片数据集合;
其中,第一瓦片数据集合对应一个数据块,第二瓦片数据集合对应4^5个数据块,第三瓦片数据集合对应4^11个数据块;第一瓦片数据集合所对应的数据块对应第0层级的瓦片数据,第二瓦片数据集合所对应的4^5个数据块与第5层级的4^5个瓦片数据一一对应,第三瓦片数据集合所对应的4^11个数据块与第11层级的4^11个瓦片数据一一对应。
对于任一数据块来说,其内存储的多个瓦片数据采用首尾拼接的方式进行组织,在组织过程中,瓦片数据的层级越高,则瓦片数据的拼接次序越后,示例性的,图2示出了一个数据块包括的多个瓦片数据的示意图。
本公开实施例提供还一种瓦片数据传输方法,参见图3,图3是本公开实施例提供的一种瓦片数据传输方法的流程图,所述方法应用于客户端,所述客户端和服务器端通讯连接,如图3所示,所述方法包括以下步骤:
步骤301、向所述服务器端发送查询请求。
其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数。
步骤302、接收所述服务器端响应于所述查询请求而传输的所述目标瓦片数据。
其中,所述目标瓦片数据为所述服务器端基于目标存储位置获取的瓦片数据,所述目标存储位置为所述服务器端根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
在一个实施例中,所述第一瓦片数据存储于所述目标数据块中的第一存储位置,所述第二瓦片数据存储于所述目标数据块中的第二存储位置,且在所述目标数据块中:所述第一存储位置位于所述目标存储位置之前,所述第二存储位置位于所述目标存储位置之后。
本实施例作为与图1所示的实施例对应的客户端的实施方式,其具体的实施方式可以参见图2所示的实施例的相关说明,为避免重复说明,本实施例不再赘述。
本实施例中,基于查询请求中包括的目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数,确定目标数据块中的目标存储位置,并基于所述目标存储位置获取目标瓦片数据,这其中,目标数据块除了存储有所述目标瓦片数据外,还存储有关联瓦片数据,通过对目标数据块的一次IO读写,可获得多个瓦片数据,这能降低客户端进行在线地图数据浏览时的IO读写次数,提高在线地图数据浏览时的瓦片数据IO读写效率,缩短客户端进行在线地图数据浏览时的等待时间。
为方便理解,示例说明如下:
如图4所示,本公开还提供一种基于瓦片数据的快速浏览更新方法,所述方法包括如下步骤:
401、卫星影像切片。
以Web墨卡托投影地图的左上角作为瓦片坐标系起点,往左方向为X轴,X轴与北纬85.05°重合且方向向左;往下方向为Y轴,Y轴与东经180°重合且方向向下。
可以设定瓦片坐标最小等级为0级,此时瓦片地图的第0级是一个像素为256*256的瓦片。
在某一瓦片层级下,瓦片坐标的X轴和Y轴各有2^zoom个瓦片。切片后的瓦片文件存储在同一大目录下,每个缩放层级是一个目录,每列是一个子目录,并且该列中的每个瓦片是一个文件,每个瓦片文件路径名为缩放层级+列号+行号。
402、瓦片数据分层。
按照上述切片方式,当地图浏览到zoom级时,瓦片数据量达到4^zoom个,在数据浏览和显示时,会频繁读取瓦片数据,为了避免IO过高造成显示卡顿,可以将原有的瓦片数据分为3个数据层,第一个数据层为标准的0-4级瓦片数据、第二个数据层为标准的5-10级数据,第三个数据层为标准的11-22级数据。
403、瓦片数据分块。
为提高索引效率,将每一个数据层的最顶层瓦片数据个数作为数据块数。即第一层数据对应4^0个数据块,第二层数据对应4^5个数据块,第三层数据对应4^11个数据块。
404、瓦片数据组织。
对每一数据块包括的多个瓦片数据,按瓦片数据的层级进行排列和拼接,以完成数据块中多个瓦片数据的组织动作。
405、瓦片数据读取。
在客户端传输查询请求的情况下,解析查询请求得到其携带的瓦片层级参数、瓦片列参数和瓦片行参数,然后通过前述索引公式读取目标瓦片数据的目标存储位置。
406、瓦片数据显示。
将目标存储位置的目标瓦片数据传输回客户端,以使客户端对所述目标瓦片数据进行渲染显示。
参见图5,图5是本公开实施例提供的一种瓦片数据传输装置500,应用于服务器端,所述服务器端和客户端通讯连接,如图5所示,所述装置500包括:
第一接收模块501,用于接收所述客户端传输的查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
位置确定模块502,用于根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,其中,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级;
数据获取模块503,用于基于所述目标存储位置获取所述目标瓦片数据;
传输模块504,用于响应于所述查询请求,向所述客户端传输所述目标瓦片数据。
在一个实施例中,位置确定模块502具体用于:
基于所述瓦片层级参数、所述瓦片列参数和所述瓦片行参数,利用预设的索引公式确定所述目标存储位置。
其中,所述索引公式如下所示:
d=(4^Z-1)/3+X*Z*Z+Y;
式中,所述X为所述瓦片行参数,所述Y为所述瓦片列参数,所述Z为所述瓦片层级参数,所述d为所述目标存储位置。
在一个实施例中,所述装置500还包括:
参数获取模块,用于获取多个瓦片数据以及每一所述瓦片数据的瓦片位置数据,所述瓦片位置数据包括层级参数、列参数和行参数;
分组模块,用于基于至少两个层级区间和每一所述瓦片数据的瓦片位置数据对所述多个瓦片数据进行分组,得到至少两个瓦片数据集合,所述至少两个层级区间和所述至少两个瓦片数据集合一一对应,所述瓦片数据集合中的任一瓦片数据的层级参数所指示的瓦片层级位于对应的层级区间内;
整合模块,用于对所述至少两个瓦片数据集合中的每一瓦片数据集合分别进行数据块整合,得到每一瓦片数据集合对应的至少一个数据块,所述数据块包括第四瓦片数据和第五瓦片数据,所述第四瓦片数据指示的地理区域和所述第五瓦片数据指示的地理区域相同,所述第四瓦片数据所在的瓦片层级和所述第五瓦片数据所在的瓦片层级不同,所述至少一个数据块包括所述目标数据块。
在一个实施例中,所述第一瓦片数据存储于所述目标数据块中的第一存储位置,所述第二瓦片数据存储于所述目标数据块中的第二存储位置,且在所述目标数据块中:所述第一存储位置位于所述目标存储位置之前,所述第二存储位置位于所述目标存储位置之后。
本公开实施例提供的瓦片数据传输装置200能够实现图1所示方法实施例中的各个过程,为避免重复,这里不再赘述。
参见图6,图6是本公开实施例提供的一种瓦片数据传输装置600,应用于客户端,所述客户端和服务器端通讯连接,如图6所示,所述装置600包括:
第一发送模块601,用于向所述服务器端发送查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
第二接收模块602,用于接收所述服务器端响应于所述查询请求而传输的所述目标瓦片数据,其中,所述目标瓦片数据为所述服务器端基于目标存储位置获取的瓦片数据,所述目标存储位置为所述服务器端根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
在一个实施例中,所述第一瓦片数据存储于所述目标数据块中的第一存储位置,所述第二瓦片数据存储于所述目标数据块中的第二存储位置,且在所述目标数据块中:所述第一存储位置位于所述目标存储位置之前,所述第二存储位置位于所述目标存储位置之后。
本公开实施例提供的瓦片数据传输装置600能够实现图3所示方法实施例中的各个过程,为避免重复,这里不再赘述。
请参见图7,图7是本公开实施例提供的一种电子设备的结构示意图,如图7所示,电子设备包括:可以包括处理器701、存储器702及存储在存储器702上并可在处理器701上运行的程序7021。
程序7021被处理器701执行时可实现图1或图3对应的方法实施例中的任意步骤及达到相同的有益效果,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。
本公开实施例还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
以上所述是本公开实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (10)
1.一种瓦片数据传输方法,其特征在于,应用于服务器端,所述服务器端和客户端通讯连接,所述方法包括:
接收所述客户端传输的查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,其中,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级;
基于所述目标存储位置获取所述目标瓦片数据;
响应于所述查询请求,向所述客户端传输所述目标瓦片数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,包括:
基于所述瓦片层级参数、所述瓦片列参数和所述瓦片行参数,利用预设的索引公式确定所述目标存储位置。
3.根据权利要求2所述的方法,其特征在于,所述索引公式如下所示:
d=(4^Z-1)/3+X*Z*Z+Y;
式中,所述X为所述瓦片行参数,所述Y为所述瓦片列参数,所述Z为所述瓦片层级参数,所述d为所述目标存储位置。
4.根据权利要求1所述的方法,其特征在于,所述接收所述客户端传输的查询请求之前,所述方法还包括:
获取多个瓦片数据以及每一所述瓦片数据的瓦片位置数据,所述瓦片位置数据包括层级参数、列参数和行参数;
基于至少两个层级区间和每一所述瓦片数据的瓦片位置数据对所述多个瓦片数据进行分组,得到至少两个瓦片数据集合,所述至少两个层级区间和所述至少两个瓦片数据集合一一对应,所述瓦片数据集合中的任一瓦片数据的层级参数所指示的瓦片层级位于对应的层级区间内;
对所述至少两个瓦片数据集合中的每一瓦片数据集合分别进行数据块整合,得到每一瓦片数据集合对应的至少一个数据块,所述数据块包括第四瓦片数据和第五瓦片数据,所述第四瓦片数据指示的地理区域和所述第五瓦片数据指示的地理区域相同,所述第四瓦片数据所在的瓦片层级和所述第五瓦片数据所在的瓦片层级不同,所述至少一个数据块包括所述目标数据块。
5.根据权利要求1所述的方法,其特征在于,所述第一瓦片数据存储于所述目标数据块中的第一存储位置,所述第二瓦片数据存储于所述目标数据块中的第二存储位置,且在所述目标数据块中:所述第一存储位置位于所述目标存储位置之前,所述第二存储位置位于所述目标存储位置之后。
6.一种瓦片数据传输方法,其特征在于,应用于客户端,所述客户端和服务器端通讯连接,所述方法包括:
向所述服务器端发送查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
接收所述服务器端响应于所述查询请求而传输的所述目标瓦片数据,其中,所述目标瓦片数据为所述服务器端基于目标存储位置获取的瓦片数据,所述目标存储位置为所述服务器端根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
7.一种瓦片数据传输装置,其特征在于,应用于服务器端,所述服务器端和客户端通讯连接,所述装置包括:
第一接收模块,用于接收所述客户端传输的查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
位置确定模块,用于根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定目标存储位置,其中,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级;
数据获取模块,用于基于所述目标存储位置获取所述目标瓦片数据;
传输模块,用于响应于所述查询请求,向所述客户端传输所述目标瓦片数据。
8.一种瓦片数据传输装置,其特征在于,应用于客户端,所述客户端和服务器端通讯连接,所述装置包括:
第一发送模块,用于向所述服务器端发送查询请求,其中,所述查询请求包括目标瓦片数据的瓦片层级参数、瓦片列参数和瓦片行参数;
第二接收模块,用于接收所述服务器端响应于所述查询请求而传输的所述目标瓦片数据,其中,所述目标瓦片数据为所述服务器端基于目标存储位置获取的瓦片数据,所述目标存储位置为所述服务器端根据所述瓦片层级参数、瓦片列参数和瓦片行参数确定,所述目标存储位置为所述目标瓦片数据在目标数据块中的存储位置,所述目标数据块为包括所述目标瓦片数据以及关联瓦片数据的数据块,所述关联瓦片数据包括以下至少一项:所在瓦片层级低于目标层级的第一瓦片数据、所在的瓦片层级高于所述目标层级的第二瓦片数据、以及所在瓦片层级等于所述目标层级的第三瓦片数据,所述目标层级为所述目标瓦片数据所在的瓦片层级。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的瓦片数据传输方法的步骤,或者,实现如权利要求6中所述的瓦片数据传输方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的瓦片数据传输方法的步骤,或者,实现如权利要求6中所述的瓦片数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148495.1A CN116149561B (zh) | 2023-02-22 | 2023-02-22 | 一种瓦片数据传输方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148495.1A CN116149561B (zh) | 2023-02-22 | 2023-02-22 | 一种瓦片数据传输方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116149561A true CN116149561A (zh) | 2023-05-23 |
CN116149561B CN116149561B (zh) | 2024-03-12 |
Family
ID=86350431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310148495.1A Active CN116149561B (zh) | 2023-02-22 | 2023-02-22 | 一种瓦片数据传输方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149561B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874517A (zh) * | 2017-03-15 | 2017-06-20 | 广州城市信息研究所有限公司 | 矢量地图服务的处理方法和装置 |
US20170345342A1 (en) * | 2016-05-25 | 2017-11-30 | Electronics And Telecommunications Research Institute | Tile map service device and method |
CN109408657A (zh) * | 2018-11-13 | 2019-03-01 | 国家基础地理信息中心 | 一种超大规模空间数据快速制图方法及系统 |
CN109977192A (zh) * | 2019-04-02 | 2019-07-05 | 山东大学 | 无人机瓦片地图快速加载方法、系统、设备及存储介质 |
CN113568995A (zh) * | 2021-05-11 | 2021-10-29 | 数简科技(苏州)有限公司 | 基于检索条件的动态瓦片地图制作方法及瓦片地图系统 |
CN114416796A (zh) * | 2022-01-19 | 2022-04-29 | 北京世纪高通科技有限公司 | 一种瓦片生成方法、装置、设备及存储介质 |
-
2023
- 2023-02-22 CN CN202310148495.1A patent/CN116149561B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170345342A1 (en) * | 2016-05-25 | 2017-11-30 | Electronics And Telecommunications Research Institute | Tile map service device and method |
CN106874517A (zh) * | 2017-03-15 | 2017-06-20 | 广州城市信息研究所有限公司 | 矢量地图服务的处理方法和装置 |
CN109408657A (zh) * | 2018-11-13 | 2019-03-01 | 国家基础地理信息中心 | 一种超大规模空间数据快速制图方法及系统 |
CN109977192A (zh) * | 2019-04-02 | 2019-07-05 | 山东大学 | 无人机瓦片地图快速加载方法、系统、设备及存储介质 |
CN113568995A (zh) * | 2021-05-11 | 2021-10-29 | 数简科技(苏州)有限公司 | 基于检索条件的动态瓦片地图制作方法及瓦片地图系统 |
CN114416796A (zh) * | 2022-01-19 | 2022-04-29 | 北京世纪高通科技有限公司 | 一种瓦片生成方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116149561B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2958033A1 (en) | Tile-based distribution of searchable geospatial data to client devices | |
CN101339486B (zh) | 用于提供画面文件的方法和设备 | |
CN110399441B (zh) | 一种海量点数据聚合渲染方法、装置、设备及存储介质 | |
US20130054647A1 (en) | Information processing apparatus, information processing method, and program | |
CN103927933B (zh) | 一种海量移动目标渲染的方法及装置 | |
US8566325B1 (en) | Building search by contents | |
KR101841180B1 (ko) | 장소 기반 이미지 체계화 | |
CN110442813B (zh) | 一种基于ar的旅游纪念信息处理系统及方法 | |
US20200141753A1 (en) | Method and apparatus for generating information | |
CN103884345A (zh) | 兴趣点信息采集方法、显示方法、装置及系统 | |
CN102819530A (zh) | 电子地图的显示方法及装置 | |
CN110887499B (zh) | 一种地图中道路数据和兴趣点数据的处理方法及终端 | |
CN111177289A (zh) | 众源网络数据空间相关信息提取校验方法与系统 | |
CN113722518A (zh) | 基于遥感影像元数据的存储方法、检索方法、设备及介质 | |
CN104063421A (zh) | 海量交通遥感数据检索方法和装置 | |
CN103093040A (zh) | 网络地图影像的工程化应用方法 | |
CN116149561B (zh) | 一种瓦片数据传输方法、装置、电子设备和存储介质 | |
CN113050856A (zh) | 交互方法、交互装置、存储介质和电子设备 | |
CN111930875A (zh) | 一种环境数据的查询方法、装置、设备及介质 | |
CN105260389A (zh) | 一种无人机侦察图像数据管理及可视化显示方法 | |
CN112035590B (zh) | 电子噪音地图显示方法、装置、计算机设备和存储介质 | |
CN114743395A (zh) | 一种信号灯检测方法、装置、设备及介质 | |
CN113656399A (zh) | 用于航道空间信息数据的剖分和数据提取方法、系统及介质 | |
KR100563086B1 (ko) | 정적 지도의 동적 디스플레이 방법 | |
CN114996600B (zh) | 一种多时相影像管理数据库数据写入、读取方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |