CN101459901B - Vector map data transmission method based on multi-level slicing - Google Patents

Vector map data transmission method based on multi-level slicing Download PDF

Info

Publication number
CN101459901B
CN101459901B CN2008102374884A CN200810237488A CN101459901B CN 101459901 B CN101459901 B CN 101459901B CN 2008102374884 A CN2008102374884 A CN 2008102374884A CN 200810237488 A CN200810237488 A CN 200810237488A CN 101459901 B CN101459901 B CN 101459901B
Authority
CN
China
Prior art keywords
level
slice
slices
map
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.)
Expired - Fee Related
Application number
CN2008102374884A
Other languages
Chinese (zh)
Other versions
CN101459901A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN2008102374884A priority Critical patent/CN101459901B/en
Publication of CN101459901A publication Critical patent/CN101459901A/en
Application granted granted Critical
Publication of CN101459901B publication Critical patent/CN101459901B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Instructional Devices (AREA)

Abstract

本发明公开了一种基于多级切片方式的矢量地图数据传输方法,其步骤为:(1)对地图进行L(L=1,2,...,m)级4等分,得到L级正方形区域,接着把与该正方形区域相交的、权重级别为L或配对级别的要素归入称之为“多级切片”的数据集。(2)从服务器端到移动终端的地图数据传输以多级切片作为基本单元。(3)移动终端接收到多级切片后,先集成切片及其祖先切片的各级别要素,接着将切片拼接成移动终端目标区域的完整地图。(4)移动终端一侧缓存多级切片。每次更新首先从本地缓存检索多级切片,若不在本地则向服务器索取。本发明的优点在于移动终端一侧能高比例地重用缓存在本地的地图数据,因而有效减少地图数据传输的通信量。

Figure 200810237488

The invention discloses a vector map data transmission method based on a multi-level slicing method, the steps of which are as follows: (1) performing L (L=1, 2, ..., m) level 4 equal divisions on the map to obtain L level A square area, and then classify the features that intersect the square area and have a weight level of L or a pairing level into a data set called a "multi-level slice". (2) The map data transmission from the server to the mobile terminal takes multi-level slices as the basic unit. (3) After the mobile terminal receives the multi-level slices, it first integrates the elements of each level of the slices and their ancestor slices, and then stitches the slices into a complete map of the target area of the mobile terminal. (4) The mobile terminal caches multi-level slices. Each update first retrieves multi-level tiles from the local cache, or asks the server if it is not local. The advantage of the present invention is that the mobile terminal side can reuse the local cached map data in a high proportion, thus effectively reducing the traffic of map data transmission.

Figure 200810237488

Description

基于多级切片方式的矢量地图数据传输方法 Vector map data transmission method based on multi-level slicing

技术领域technical field

本发明主要涉及到地理信息系统领域,特指一种基于多级切片方式的矢量地图数据传输方法。The invention mainly relates to the field of geographic information systems, in particular to a vector map data transmission method based on multi-level slicing.

背景技术Background technique

随着无线通信技术的快速发展,位置服务(Location-based Service,LBS)有望成为杀手级应用。LBS应用系统由服务器、移动终端和连接两者的无线通信网络组成。移动终端存在屏幕小、电源持续供电时间短、存储资源偏少、CPU计算能力低等特性。无线通信网络存在信道不稳定,带宽偏低等问题。With the rapid development of wireless communication technology, Location-based Service (LBS) is expected to become a killer application. The LBS application system consists of a server, a mobile terminal and a wireless communication network connecting the two. Mobile terminals have the characteristics of small screen, short continuous power supply time, less storage resources, and low CPU computing power. There are problems such as channel instability and low bandwidth in wireless communication networks.

LBS应用系统中在线传输地图数据能够向用户提供实时的、满足个性需求的、内容丰富的信息,而且移动终端本地没有预存的地图集,不需要用户更新维护。然而,在线传输地图数据面临以下问题。第一,无线通信比较耗电,而移动终端的电源持续供电时间短。第二,地图数据量大,而无线网络有时信道不稳定、带宽偏低。The online transmission of map data in the LBS application system can provide users with real-time information that meets individual needs and is rich in content, and there is no pre-stored map set in the mobile terminal, which does not require user update and maintenance. However, online transmission of map data faces the following problems. First, wireless communication consumes more power, and the power supply of the mobile terminal lasts for a short time. Second, the amount of map data is large, and the wireless network sometimes has unstable channels and low bandwidth.

相比于栅格地图,矢量地图的数据量更少。矢量地图是地图要素组成的集合。在线传输以地图要素作为基本单元,存在以下问题:第一,每次移动终端一侧进入新的目标区域,必须向服务器发送数据请求。即使本地缓存备有新目标区域的全部数据,由于无法判断这一点,所以需要重新获取数据。这增加了不必要的连接次数和通信量。第二,送到移动终端的要素包含了全部的细节,而在小比例尺地图上部分细节不被使用。这增加了数据通信量。第三,把不需要的细节从要素的数据体内剥离出来,需要执行大计算量的地图自动综合操作。Compared to raster maps, vector maps contain less data. A vector map is a collection of map elements. The online transmission uses map elements as the basic unit, and there are the following problems: First, every time the mobile terminal enters a new target area, it must send a data request to the server. Even if the local cache has all the data for the new target area, it is impossible to determine this, so the data needs to be retrieved. This increases unnecessary connection times and traffic. Second, the elements sent to the mobile terminal contain all the details, while some details are not used on the small-scale map. This increases data traffic. Third, stripping out unnecessary details from the data body of the elements requires a computationally intensive map automatic synthesis operation.

发明内容Contents of the invention

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,提供一种能够大大提高矢量地图数据的传输效率、提高移动终端一侧缓存和重用数据的能力、从而减少移动终端与服务器之间数据通信量的基于多级切片方式的矢量地图数据传输方法。The technical problem to be solved by the present invention is: aiming at the technical problems existing in the prior art, provide a method that can greatly improve the transmission efficiency of vector map data, improve the ability of the mobile terminal to cache and reuse data, thereby reducing the number of mobile terminals and servers. A vector map data transmission method based on a multi-level slicing method for data communication between people.

为解决上述技术问题,本发明提出的解决方案为:一种基于多级切片方式的矢量地图数据传输方法,其特征在于:首先对矢量地图数据进行多级切片,从服务器端到移动终端的地图数据传输以多级切片作为基本单元,移动终端接收到多级切片后的矢量地图后将切片拼接成完整地图。In order to solve the above-mentioned technical problems, the solution proposed by the present invention is: a vector map data transmission method based on multi-level slicing, which is characterized in that: firstly, multi-level slicing is performed on the vector map data, and the map from the server end to the mobile terminal Data transmission uses multi-level slices as the basic unit, and the mobile terminal will stitch the slices into a complete map after receiving the multi-level sliced vector map.

多级切片的生成和拼接步骤为:The generation and stitching steps of multi-level slices are:

A.多级切片的生成:A. Generation of multi-level slices:

(1)切片:将全幅地图纵横切割等分成4块,得到第1级切片;接着把每一个1级多级切片又等分成4块,得到第2级切片,即共42=16块......,依次类推,直至生成第m级切片,对于每一次切分,被切者称为父切片,所得到的4块切片称为子切片;(1) Slicing: Divide the full map vertically and horizontally into 4 equal slices to obtain the first-level slices; then divide each first-level multi-level slice into four equal slices to obtain the second-level slices, that is, a total of 4 2 =16 slices. ..., and so on, until the m-th slice is generated, for each split, the cut is called the parent slice, and the resulting 4 slices are called sub-slices;

(2)分级:将地图比例尺按照大小依次划分成n个级别,其中1级至n级比例尺依次变小,将地图要素按权重大小依次分成n个级别,其中n级要素是出现在n级比例尺地图中却没有出现在n-1级比例尺地图中的要素,为比例尺级别和多级切片级别之间建立对应关系,把与某级切片相交的某级要素归为一组,称这一分组为L级切片,并称这组要素属于该切片;同时,定义某级切片的兄长切片,S级兄长切片指的是与L级切片对应区域相交的S级要素组成的集合,其中S=1,2,...,L-1;S级父切片指的是L级切片的级别等于S的祖先切片或父切片,S级兄长切片是S级父切片的一部分;(2) Grading: Divide the map scale into n levels according to the size, in which the scales from level 1 to level n become smaller in turn, divide the map elements into n levels according to the weight, and the n level elements appear on the n level scale The elements in the map that do not appear in the n-1 level scale map establish a correspondence between the scale level and the multi-level slice level, and group the elements of a certain level that intersect with a certain level of slice into a group, which is called this grouping. L-level slice, and say that this group of elements belongs to the slice; at the same time, define the brother slice of a certain level slice, and the S-level brother slice refers to the set of S-level elements that intersect with the corresponding area of the L-level slice, where S=1, 2,...,L-1; the S-level parent slice refers to the ancestor slice or parent slice whose level is equal to the S-level slice, and the S-level sibling slice is a part of the S-level parent slice;

(3)增量:要素的增量是在两个比例尺级别之间,同一要素的细节数据的差值,当增量相比于要素的数据总量超过设定的比例下限时,设置增量;(3) Increment: The increment of an element is the difference between the detail data of the same element between two scale levels. When the increment exceeds the lower limit of the set ratio compared to the total data of the element, set the increment ;

B.由多级切片合成完整地图的步骤:B. Steps for synthesizing a complete map from multi-level slices:

(1)多级切片检索:合成L级比例尺下区域A的地图所要用到的是与区域A相交的L级切片组成的集合,记为QSet;(1) Multi-level slice retrieval: what is needed to synthesize the map of area A under L-level scale is a set composed of L-level slices intersecting with area A, which is recorded as QSet;

(2)数据集成:对于QSet内的每一个L级切片,数据集成是沿着切片的兄长关系向上追溯,除了各级切片所属的要素的汇总,这一过程还包括同一要素的增量的合并;(2) Data integration: For each L-level slice in the QSet, data integration is traced upwards along the sibling relationship of the slice. In addition to the summary of the elements belonging to the slices at all levels, this process also includes the incremental merging of the same element ;

(3)切片拼接:上一步得到了每一个与目标区域A相交的L级切片的数据汇总,接下来就是把这些L级切片的数据汇总依据空间邻近关系拼接,最终得到完整的地图。(3) Slice splicing: In the previous step, the data summary of each L-level slice that intersects with the target area A is obtained. The next step is to combine the data summary of these L-level slices according to the spatial proximity relationship, and finally obtain a complete map.

地图数据传输过程为:The map data transmission process is:

1)计算得出所有与区域A相交的L级切片,下面把这一集合记为QSet;1) Calculate all the L-level slices that intersect with the area A, and this set is denoted as QSet below;

2)对于QSet中的每一个L级切片Q,执行以下步骤:2) For each L-level slice Q in QSet, perform the following steps:

A.地图应用执行“缓存检索操作”,检索切片Q是否在本地缓存;如果切片Q已在本地,转步骤F;否则,执行“提取已有要素记录操作”,得到切片Q的“终端已有要素记录”;A. The map application executes the "cache retrieval operation" to check whether the slice Q is cached locally; if the slice Q is already in the local cache, go to step F; otherwise, execute the "extract existing feature record operation" to obtain the slice Q's "terminal existing Element Record";

B.地图应用向服务器请求切片Q的数据,请求信息包含切片的编号QID和终端已有要素记录;B. The map application requests the data of the slice Q from the server, and the request information includes the number QID of the slice and the record of the existing elements of the terminal;

C.服务器收到请求后,首先根据编号QID推算出多级切片的区域和级别L,接着地图数据服务部件检索地图数据库得到多级切片及其兄长切片,然后据终端已有要素记录,在检索到的切片中执行“去除终端已有要素操作”,最后把多级切片及其兄长切片发送给移动终端;C. After the server receives the request, it first calculates the area and level L of the multi-level slice according to the serial number QID, and then the map data service component retrieves the map database to obtain the multi-level slice and its sibling slices, and then according to the existing element records of the terminal, in the retrieval Execute the "remove terminal existing element operation" in the slice, and finally send the multi-level slice and its brother slice to the mobile terminal;

D.地图应用接收数据,也就是多级切片及其兄长切片的集合;D. The map application receives data, which is a collection of multi-level slices and their sibling slices;

E.执行“多级切片插入操作”把多级切片Q及其兄长切片存入本地缓存;E. Execute the "multi-level slice insertion operation" to store the multi-level slice Q and its brother slices into the local cache;

F.执行“数据集成操作”,生成切片Q的完整地图数据集;F. Execute "data integration operation" to generate a complete map dataset of slice Q;

3)把QSet中的所有L级切片按空间关系拼接在一起,得到L级比例尺下区域A的完整地图。3) All the L-level slices in the QSet are spliced together according to the spatial relationship to obtain a complete map of the region A under the L-level scale.

所述移动终端一侧的本地缓存由地图要素集、要素散列表和多级切片索引表组成;所述地图要素集由缓存中的各个要素组成,每一个要素在要素散列表拥有一表项,其内包含三个域,即要素ID,引用计数,指向要素存储位置的指针,引用计数记录引用该要素的多级切片的数目;所述要素散列表按照要素ID进行散列排序,每一个在本地的多级切片Q在多级切片索引表树拥有一个表项,其内包含:(a)多级切片编号;(b)兄长链首指针,指向兄长切片链表;(c)指向要素引用表的指针;(d)最近使用标记;所述多级切片索引表内,各表项按多级切片编号依次排序。The local cache on the mobile terminal side is composed of a map element set, an element hash table and a multi-level slice index table; the map element set is composed of various elements in the cache, and each element has an entry in the element hash table, It contains three domains, namely feature ID, reference count, pointer to the storage location of the feature, and the reference count records the number of multi-level slices referencing the feature; the feature hash table is sorted according to the feature ID, each in The local multi-level slice Q has an entry in the multi-level slice index table tree, which contains: (a) multi-level slice number; (b) elder brother chain head pointer, pointing to elder brother slice linked list; (c) pointing to element reference table (d) recently used mark; in the multi-level slice index table, each table item is sorted according to the multi-level slice number.

与现有技术相比,本发明的优点就在于:Compared with the prior art, the present invention has the advantages of:

1、使用过程中,移动终端一侧能高比例地重用缓存在移动终端本地的地图数据,因而有效减少地图数据传输的通信量。第一,地图发生平移时,持续出现在屏幕内的区域(由切片组成)的数据将被重用。第二,缩小地图时,前面出现的大比例尺地图所使用的数据的一部分将被后面出现的小比例尺地图重用。数据重用比例最高可达1/4。第三,放大地图时,前面出现的小比例尺地图的部分数据将被后面出现的大比例尺地图重用。后者甚至只需要向服务器请求L+1级比例尺下目标区域的地图数据,1~L级比例尺的数据已缓存在本地。1. During use, the mobile terminal side can reuse the map data cached locally in the mobile terminal at a high rate, thus effectively reducing the communication traffic of map data transmission. First, when the map is panned, the data for the area (composed of tiles) that persists on the screen is reused. Second, when the map is zoomed out, part of the data used by the large-scale map that appeared earlier will be reused by the smaller-scale map that appears later. The data reuse ratio can reach up to 1/4. Third, when the map is zoomed in, part of the data of the small-scale map that appeared earlier will be reused by the large-scale map that appears later. The latter even only needs to request the server for the map data of the target area under the L+1 scale, and the data of the 1-L scale has been cached locally.

2、地图要素按正方形的区块(即切片)分组,但没有把要素硬性切割成多个部分。传输方法不会重复传输与多个区块同时相交的要素,有利于减少地图数据传输的通信量。2. The map elements are grouped by square blocks (ie, slices), but the elements are not rigidly divided into multiple parts. The transfer method does not repeatedly transfer features that intersect with multiple tiles at the same time, which helps reduce the traffic of map data transfer.

3、把多级切片用作缓存单元有利于减少移动终端和服务器之间的通信连接次数与数据通信量。理由有二。第一,每当进入新的区域(假定为L级比例尺下区域A)时,通过判别本地缓存中的L级切片拼接在一起是否能够覆盖区域A,它能够得出需要的全部数据是否已在本地缓存中这一结论。如果恰好被覆盖,则不需要连接服务器更新数据。第二,可以只把要素的部分细节而不是全部细节传输到移动终端一侧;3. Using multi-level slices as cache units is beneficial to reduce the number of communication connections and data communication volume between the mobile terminal and the server. There are two reasons. First, whenever entering a new area (assumed to be the area A under the L-level scale), it can determine whether all the required data is already in This conclusion is cached locally. If it happens to be overwritten, there is no need to connect to the server to update the data. Second, only part of the details of the elements can be transmitted to the side of the mobile terminal instead of all the details;

4、多级切片提高了移动终端一侧重用地图数据的机会,有利于减少数据通信量。。基于多级切片对地图要素进行分组,不仅维持了空间上的邻近关系,而且兼顾了权重。在地图显示中,同样权重的要素要么一起出现,要么都不出现。这样,多级切片一起使用的概率最高,高于仅仅依据空间邻近关系生成的分组;4. The multi-level slicing improves the chance of reusing map data on the mobile terminal side, which is beneficial to reduce data communication traffic. . Grouping map elements based on multi-level slices not only maintains spatial proximity but also takes weight into account. In the map display, features with the same weight either appear together or not at all. In this way, multi-level slices have the highest probability of being used together, which is higher than the grouping generated only based on spatial proximity;

5、本发明的方法能有效减少地图数据传输规模和移动终端一侧的地图处理计算规模,这种方法与传统方法有着明显不同,其每个切片包含的数据内容更加准确、丰富;一方面数据类型不同,本发明的多级切片是所针对的是矢量型地图数据,另一方面,多级切片包含的是同一权重的要素。5. The method of the present invention can effectively reduce the map data transmission scale and the map processing calculation scale on the mobile terminal side. This method is obviously different from the traditional method, and the data content contained in each slice is more accurate and rich; on the one hand, the data The types are different. The multi-level slices of the present invention are aimed at vector map data. On the other hand, the multi-level slices contain elements with the same weight.

附图说明Description of drawings

图1是本发明对矢量地图数据进行多级切分的示意图。Fig. 1 is a schematic diagram of multi-level segmentation of vector map data according to the present invention.

图2是本发明地图数据传输过程的流程示意图;Fig. 2 is a schematic flow chart of the map data transmission process of the present invention;

图3-1是本发明中移动终端本地缓存的整体结构示意图;Figure 3-1 is a schematic diagram of the overall structure of the mobile terminal local cache in the present invention;

图3-2是本发明中多级切片索引表项的结构示意图;Figure 3-2 is a schematic structural diagram of a multi-level slice index entry in the present invention;

图3-3是本发明中要素散列表项的结构示意图;Fig. 3-3 is the structural representation of element hash table entry in the present invention;

图4-1是本发明中多级切片插入操作的流程示意图;Figure 4-1 is a schematic flow chart of the multi-level slice insertion operation in the present invention;

图4-2是作为核心步骤的切片要素入库操作流程示意图;Figure 4-2 is a schematic diagram of the operation process of slicing elements into the warehouse as the core step;

图4-3是兄长切片要素入库的流程示意图;Figure 4-3 is a schematic diagram of the storage process of brother slice elements;

图5是本发明中提取已有要素记录操作的流程示意图;Fig. 5 is a schematic flow chart of the operation of extracting existing element records in the present invention;

图6是应用本发明方法的系统构成示意图。Fig. 6 is a schematic diagram of the system structure applying the method of the present invention.

具体实施方式Detailed ways

以下将结合附图和具体实例对本发明做进一步详细说明。The present invention will be described in further detail below in conjunction with the accompanying drawings and specific examples.

(1)从服务器端到移动终端的地图数据传输以多级切片作为基本单元。多级切片有两方面含义,一方面是地图中的一块正方形区域,另一方面是与该区域相交的、权重相同的地图要素/增量组成的集合。多级切片的生成步骤如下:(1) The map data transmission from the server to the mobile terminal takes multi-level slices as the basic unit. Multi-level tiles have two meanings. One is a square area in the map, and the other is a set of map elements/increments of the same weight that intersect with the area. The steps to generate multi-level slices are as follows:

1)切片。首先把全幅地图纵横切割等分成4块,得到第1级切片;接着把每一个1级多级切片又等分成4块,得到第2级切片(一共42=16块);......,依次类推,直至生成第m级切片。对于每一次切分,被切者称为父切片,所得到的4块切片称为子切片。1) slice. First, divide the full map vertically and horizontally into 4 equal slices to obtain the first level slice; then divide each level 1 multilevel slice into 4 equal slices to obtain the second level slice (a total of 4 2 =16 blocks);.... . . , and so on, until the m-th slice is generated. For each split, the cut is called the parent slice, and the resulting four slices are called sub-slices.

多级切片采用以下方法进行编号。首先,4块1级切片沿着左上、右上、右下、左下的顺序依次编号为1,2,3,4;接着,每一个1级切片等分而成的2级切片沿着同样的顺序编号为1,2,3,4;,其父切片的编号后跟本级的编号即得2级切片的编号;......,依次类推,可得出其余各级切片的编号,如图1所示。Multi-level slices are numbered using the following method. First, the four first-level slices are numbered 1, 2, 3, and 4 in the order of upper left, upper right, lower right, and lower left; then, each level-1 slice is equally divided into second-level slices in the same order The numbers are 1, 2, 3, 4; the number of the parent slice followed by the number of the current level is the number of the second-level slice; ..., and so on, the numbers of the other levels of slices can be obtained, such as Figure 1 shows.

2)分级。首先,把地图比例尺划分成n个级别(其中,1级比例尺最高,2级次之,......,n级最低)。相应地,地图要素按权重大小也分成n个级别。1级要素是出现于1级比例尺地图中的要素。2级要素是出现在2级比例尺地图中却没有出现在1级比例尺地图中的要素,......,n级要素是出现在n级比例尺地图中却没有出现在n-1级比例尺地图中的要素。接着,为比例尺级别和多级切片级别之间建立对应关系。实际应用中,必有m≥n,也就是说1级比例尺地图上有4m-n+1个m-n+1级切片。为叙述方便,文中假定m=n,这不影响方案的基本原理叙述。这样,1级比例尺与1级切片对应,2级比例尺与2级切片对应,......,n级比例尺与n级切片对应。最后,把与L级切片相交的L级要素归为一组,称这一分组为L级切片,并称这组要素属于该切片。文中也把L级切片所属要素的数据集合称作L级切片。2) Grading. First, divide the scale of the map into n levels (among them, the scale of level 1 is the highest, level 2 is the second, ..., level n is the lowest). Correspondingly, the map elements are also divided into n levels according to the weight. Level 1 features are features that appear on level 1 scale maps. A level 2 feature is a feature that appears in a level 2 scale map but does not appear in a level 1 scale map, ..., n level features appear in a level n scale map but do not appear in a level n-1 scale Features in the map. Next, establish a correspondence between the scale level and the multi-level slice level. In practical applications, there must be m≥n, that is to say, there are 4 m-n+1 slices of m-n+1 level on a level-1 scale map. For the convenience of description, it is assumed that m=n in this paper, which does not affect the description of the basic principle of the scheme. In this way, the level 1 scale corresponds to the level 1 slice, the level 2 scale corresponds to the level 2 slice, ..., the n level scale corresponds to the n level slice. Finally, the L-level elements that intersect with the L-level slice are grouped together, and this group is called an L-level slice, and this group of elements belongs to this slice. In this paper, the data set of the element to which the L-level slice belongs is also called the L-level slice.

另外,定义L级切片的兄长切片。S级(S=1,2,...,L-1)兄长切片指的是与L级切片对应区域相交的S级要素组成的集合。S级父切片指的是L级切片的级别等于S的祖先切片或父切片。S级兄长切片是S级父切片的一部分。S级兄长切片的编号由L级切片的编号加上级别S组成。In addition, define the sibling slice of the L-level slice. The S-level (S=1, 2, . . . , L-1) sibling slice refers to a collection of S-level elements intersecting with the corresponding area of the L-level slice. An S-level parent slice refers to an ancestor or parent slice whose level is equal to that of an L-level slice. S-level sibling slices are part of the S-level parent slice. The number of the S-level sibling slice is composed of the number of the L-level slice plus the level S.

3)增量。地图显示中,大型要素在高级别比例尺中显示的细节少,在低级别比例尺中显示的细节多。要素的增量是在两个比例尺级别L,K之间,同一要素的细节数据的差值。要素的L级权重的增量(称之为L级增量)是相对于在L-1级比例尺下显示该要素所使用的全部数据的增量。无论是否使用增量,在L-1级比例尺下该要素的显示效果不产生可察觉区别。只有当增量相比于要素的数据总量超过设定的比例下限V时,才设置增量。这是为了保证增量带来的好处大于由此在计算上造成的损耗。要素增量既包括所增加的细节数据(一些坐标点),也包括坐标点插入的位置。L级切片的增量由与该切片相交的、权重级别更高的要素的L级增量组成。3) Increment. In the map display, large features show less detail at higher scales and more detail at lower scales. The increment of a feature is the difference of the detail data of the same feature between two scale levels L, K. The increment of the L-level weight of an element (referred to as the L-level increment) is relative to the increment of all the data used to display the element under the L-1 scale. No matter whether the increment is used or not, there is no perceivable difference in the display effect of the element at the L-1 scale. The increment is only set when the increment compared to the total amount of data of the element exceeds the set ratio lower limit V. This is to ensure that the benefits of the increment outweigh the computational losses. The element increment includes not only the added detail data (some coordinate points), but also the position where the coordinate points are inserted. The delta of an L-level slice consists of the L-level deltas of the higher-weighted features that intersect the slice.

(2)地图数据传输过程。移动终端上的地图应用需要L级比例尺下区域A的地图数据集R(A,L)时,通过以下步骤获得数据(见图2):(2) Map data transmission process. When the map application on the mobile terminal needs the map data set R(A, L) of the area A under the L-level scale, the data is obtained through the following steps (see Figure 2):

1)计算得出所有与区域A相交的L级切片,下面把这一集合记为QSet。1) Calculate all L-level slices that intersect with area A, and this set is denoted as QSet below.

2)对于QSet中的每一个L级切片Q,执行以下步骤:2) For each L-level slice Q in QSet, perform the following steps:

A.地图应用执行“缓存检索操作”,检索切片Q是否在本地缓存。如果切片Q已在本地,转步骤F;否则,执行“提取已有要素记录操作”,得到切片Q的“终端已有要素记录”。A. The map application executes a "cache retrieval operation" to retrieve whether tile Q is cached locally. If the slice Q is already in the local, go to step F; otherwise, execute the "extract existing feature record operation" to get the "terminal existing feature record" of the slice Q.

B.地图应用向服务器请求切片Q的数据,请求信息包含切片的编号QID和终端已有要素记录。B. The map application requests the data of the slice Q from the server, and the request information includes the number QID of the slice and the existing feature record of the terminal.

C.服务器收到请求后,首先根据编号QID推算出多级切片的区域和级别L,接着地图数据服务部件检索地图数据库得到多级切片及其兄长切片,然后据终端已有要素记录,在检索到的切片中执行“去除终端已有要素操作”,最后把多级切片及其兄长切片发送给移动终端。C. After the server receives the request, it first calculates the area and level L of the multi-level slice according to the serial number QID, and then the map data service component retrieves the map database to obtain the multi-level slice and its sibling slices, and then according to the existing element records of the terminal, in the retrieval Execute the "operation of removing existing elements of the terminal" in the received slice, and finally send the multi-level slice and its brother slice to the mobile terminal.

D.地图应用接收数据,也就是多级切片及其兄长切片的集合。D. The map application receives data, which is a collection of multi-level slices and their sibling slices.

E.执行“多级切片插入操作”把多级切片Q及其兄长切片存入本地缓存。E. Execute the "multi-level slice insert operation" to store the multi-level slice Q and its sibling slices into the local cache.

F.执行“数据集成操作”,生成切片Q的完整地图数据集。F. Execute the "data integration operation" to generate a complete map dataset of slice Q.

3)把QSet中的所有L级切片按空间关系拼接在一起,得到L级比例尺下区域A的完整地图。3) All the L-level slices in the QSet are spliced together according to the spatial relationship to obtain a complete map of the region A under the L-level scale.

(3)缓存的结构。移动终端一侧的本地缓存由地图要素集、要素散列表和多级切片索引表组成,见图3-1、图3-2、图3-3。地图要素集由缓存中的各个要素组成。每一个要素在要素散列表拥有一表项,其数据结构定义如下:(3) The structure of the cache. The local cache on the mobile terminal side consists of map feature sets, feature hash tables and multi-level slice index tables, see Figure 3-1, Figure 3-2, and Figure 3-3. A map feature set consists of individual features in the cache. Each element has an entry in the element hash table, and its data structure is defined as follows:

struct featureHashEntry  {struct featureHashEntry {

     long featureID;long featureID;

     char refCount;char refCount;

     void*featurePtr;void *featurePtr;

}}

其中,featureID是要素ID,refCount是要素的引用计数,featurePtr是指向要素存储位置的指针。引用计数记录引用该要素的多级切片的数目。散列表按照要素ID进行散列排序。Among them, featureID is the feature ID, refCount is the reference count of the feature, and featurePtr is a pointer to the storage location of the feature. The reference count records the number of multilevel tiles that reference the feature. The hash table is hash sorted by feature ID.

每一个在本地的多级切片Q(不含兄长切片)在多级切片索引表拥有一个表项,其数据结构定义如下:Each local multi-level slice Q (excluding sibling slices) has an entry in the multi-level slice index table, and its data structure is defined as follows:

struct TileIndexEntry{struct TileIndexEntry{

     long tileID;long tileID;

     void*brotherListHead;void *brotherListHead;

     void*featureRefListPtr;void *featureRefListPtr;

     char used;char used;

}}

其中,tileID是多级切片编号;brotherListHead域存放兄长链首指针,用来指向兄长切片链表;featureRefListPtr域存放指向要素引用表的指针;used域是最近使用标记。最近使用标记的用法是:每一次被使用,则增1;每隔一定周期T,清为0。需要淘汰切片时,used域值为0的切片成为候选。Among them, tileID is a multi-level slice number; brotherListHead field stores the head pointer of the brother chain, which is used to point to the brother slice list; featureRefListPtr field stores the pointer to the feature reference table; used field is the most recently used mark. The usage of the recently used flag is: every time it is used, it will be incremented by 1; every certain period T, it will be cleared to 0. When a slice needs to be eliminated, the slice whose used field value is 0 becomes a candidate.

假定切片Q的级别为L,则兄长切片链表一共有L-1个结点,从头到尾依次对应1,2,...,L-1级兄长切片。每一个结点包含要素引用表。要素引用表由指向要素散列表项的指针组成。这些表项指向的要素是L级切片Q或兄长切片所属的要素。Assuming that the level of slice Q is L, the linked list of sibling slices has a total of L-1 nodes, corresponding to 1, 2, ..., L-1 sibling slices in sequence from the beginning to the end. Each node contains feature reference table. The feature reference table consists of pointers to feature hash table entries. The elements pointed to by these entries are the elements to which the L-level slice Q or the sibling slice belongs.

多级切片索引表内,各表项按多级切片编号依次排序。输入多级切片的编号,检索排序表能快速判别多级切片是否已在本地,而利用要素引用表和兄长切片链表能立即取得该多级切片及其兄长切片所属的要素的数据。In the multi-level slice index table, each table item is sorted according to the multi-level slice number. Enter the serial number of the multi-level slice, search the sorting table to quickly determine whether the multi-level slice is already in the local, and use the element reference table and sibling slice linked list to immediately obtain the data of the multi-level slice and the element to which the sibling slice belongs.

(4)缓存检索操作。输入切片的编号QNo,检索切片的步骤是:(4) Cache retrieval operation. Enter the number QNo of the slice, and the steps to retrieve the slice are:

1)在多级切片索引表内采用折半查找法查找编号QNo。如果没有找到,则返回不存在该切片的结论,检索结束。1) In the multi-level slice index table, use the binary search method to find the number QNo. If not found, return the conclusion that the slice does not exist, and the search ends.

2)从查找到的表项内取得要素引用表和兄长切片链首指针。由前者可得到切片所属的要素(含增量)。由后者可得到各兄长切片所属的要素。2) Obtain the element reference table and the head pointer of the brother slice chain from the found table item. From the former, the elements (including increments) to which the slice belongs can be obtained. From the latter, the element to which each sibling slice belongs can be obtained.

3)对切片及其兄长切片执行“数据集成操作”即可得到L级切片的完整地图数据。3) Execute "data integration operation" on the slice and its brother slice to get the complete map data of the L-level slice.

(5)多级切片插入操作。每一次接收到多级切片(及其兄长切片)后,执行插入操作。多级切片和兄长切片可根据各自编号进行识别。插入操作步骤如下(见图4-1、图4-2、图4-3):(5) Multi-level slice insertion operation. Each time a multi-level slice (and its sibling slice) is received, the insert operation is performed. Multilevel slices and sibling slices can be identified by their respective numbers. Insert operation steps are as follows (see Figure 4-1, Figure 4-2, Figure 4-3):

1)在多级切片索引表中按序插入一表项QEntry。1) Insert a table item QEntry in order in the multi-level slice index table.

2)分配要素引用表,由QEntry的要素引用表指针指向它。2) Allocate an element reference table, pointed to by the element reference table pointer of QEntry.

3)执行切片的要素入库操作。步骤包括:3) Execute the operation of warehousing elements of slices. Steps include:

A.分配要素引用表,表项数目与切片的要素数目相等。A. Allocate element reference table, the number of entries is equal to the number of elements in the slice.

B.对于切片的每一个要素,B. For each element of the slice,

如果要素内容只包含要素ID(意味着要素数据已在缓存内),则执行以下步骤:If the feature content only contains the feature ID (meaning the feature data is already in the cache), perform the following steps:

a)以要素ID作为输入,在要素散列表内检索要素散列表项。a) With the feature ID as input, retrieve the feature hash table entry in the feature hash table.

b)散列表项内的引用计数增1。b) The reference count in the hash table entry is incremented by 1.

c)用要素引用表项指向要素散列表项。c) Use the element reference table item to point to the element hash table item.

否则(要素内容包含完整的要素数据),执行以下步骤:Otherwise (feature content contains complete feature data), perform the following steps:

a)把要素存入地图数据缓存。a) Store the features in the map data cache.

b)申请一个要素散列表项,并用该表项指向要素的存储位置。b) Apply for an element hash table entry, and use this entry to point to the storage location of the element.

c)散列表项的引用计数置为1。c) The reference count of the hash table entry is set to 1.

d)用要素引用表项指向要素散列表项。d) Use the element reference table item to point to the element hash table item.

4)对于兄长切片,沿级别从高到低的次序,执行以下步骤:4) For elder slices, perform the following steps in descending order of levels:

A.分配兄长结点,内含要素引用表。A. Allocate sibling nodes, which contain element reference tables.

B.执行切片的要素入库操作,过程同步骤3所述。B. Execute the operation of warehousing the elements of the slice, the process is the same as that described in step 3.

C.把兄长结点加入兄长链表的尾部。C. Add the sibling node to the tail of the sibling list.

6)缓存的淘汰操作。缓存采用LRU策略淘汰多级切片。多级切片索引表项的最近使用标记这一个域用来记录最近使用过的多级切片。经过周期时间T后,未被标记为最近使用过的多级切片将被淘汰。淘汰对于L级切片Q的步骤如下:6) Cache elimination operation. The cache adopts the LRU strategy to eliminate multi-level slices. The recently used flag of the multi-level slice index entry is used to record the most recently used multi-level slice. After the cycle time T, the multi-level slices that have not been marked as recently used will be eliminated. The steps to eliminate the L-level slice Q are as follows:

1)对于切片Q的要素引用表的每一个表项,把它指向的要素散列表项内的引用计数减1。如果减到0,则释放散列表项和其指向的要素存储空间。释放要素引用表。1) For each entry in the element reference table of slice Q, decrement the reference count in the element hash table item it points to by 1. If decremented to 0, the hash table entry and the feature storage it points to are freed. Release the feature reference table.

2)对于兄长链表的每一个结点,执行与步骤1相同的动作。2) For each node of the sibling list, perform the same action as step 1.

3)在多级切片索引表内删除切片Q对应的表项。3) Delete the entry corresponding to the slice Q in the multi-level slice index table.

(7)提取已有要素记录操作。移动终端向服务器请求切片Q的数据时,将执行“提取已有要素记录操作”,得出在本地可供重用的要素,服务器据此不再传输这些要素的数据。提取已有要素记录操作步骤如下(见图5):(7) Extract the existing element record operation. When the mobile terminal requests the data of the slice Q from the server, it will perform the "extract existing element record operation" to obtain the elements that can be reused locally, and the server will no longer transmit the data of these elements. The operation steps of extracting existing element records are as follows (see Figure 5):

1)在本地缓存内检索切片Q的祖先切片。检索从L-1级开始,逐级向上直至遇到祖先切片(级别记为Smin)或检索完毕(令Smin=0)。1) Retrieve the ancestor slices of slice Q in the local cache. The search starts from level L-1, and goes up step by step until the ancestor slice is encountered (the level is recorded as S min ) or the search is completed (let S min =0).

2)在本地缓存内检索切片Q的四个子切片,得出已在本地的集合LocalChildSet。2) Retrieve the four sub-slices of the slice Q in the local cache to obtain the local set LocalChildSet.

3)在本地缓存内检索与多级切片Q相邻的L级切片(一共8块),得出已在本地的集合LocalNebSet。3) Retrieve the L-level slices (a total of 8 blocks) adjacent to the multi-level slice Q in the local cache, and obtain the local set LocalNebSet.

4)生成终端已有数据记录的内容,包括已有父切片的级别Smin、已在终端的子切片的编号和已在终端的相邻切片的编号。4) Generate the content of the existing data record of the terminal, including the level S min of the existing parent slice, the number of the sub-slice already in the terminal, and the number of the adjacent slice already in the terminal.

(8)去除终端已有要素操作。服务器向移动终端返回切片Q的数据前,根据终端已有要素记录去除终端已有要素。去除的实际动作是留下要素ID,丢弃其他部分。去除终端已有要素操作步骤如下:(8) Remove the existing element operation of the terminal. Before returning the data of the slice Q to the mobile terminal, the server removes the existing elements of the terminal according to the existing element records of the terminal. The actual action of removal is to leave the feature ID and discard other parts. The operation steps to remove the existing elements of the terminal are as follows:

1)根据已有父切片级别Smin,去除切片Q的1~Smin级兄长切片所属的要素。1) According to the existing parent slice level S min , remove the elements belonging to the 1-S min sibling slices of the slice Q.

2)根据已在终端的子切片的编号,对于切片Q及其兄长切片,其内要素与已在本地子切片相交的话,该要素被去除。2) According to the number of the sub-slice already in the terminal, for the slice Q and its brother slice, if the element in it intersects with the local sub-slice, the element is removed.

3)根据已在终端的相邻切片的编号,去除同时与切片Q和相邻切片相交的要素。3) According to the numbers of adjacent slices already at the terminal, remove elements that intersect with slice Q and adjacent slices at the same time.

(9)数据集成操作。对于QSet内的每一个L级切片Q,数据集成是既有要素的汇总又有增量的合并。具体步骤如下:(9) Data integration operation. For each L-level slice Q in QSet, data integration is both a summary of elements and an incremental merging. Specific steps are as follows:

1)把切片Q加入到链表TList中。令G=切片Q。1) Add the slice Q to the linked list TList. Let G = slice Q.

2)如果切片G不是1级,则把G的兄长切片加入到切片链表TList的头部。2) If the slice G is not level 1, add the brother slice of G to the head of the slice linked list TList.

3)令G=G的上级切片,转步骤2,直至G的级别到达1级。3) Let G=G's superior slice, go to step 2 until the level of G reaches level 1.

4)从头到尾遍历切片链表TList,对于每一个切片,把其所属的要素汇总到集成结果中,把所属的增量合并到相应的要素中。4) Traverse the slice linked list TList from the beginning to the end, and for each slice, summarize its elements into the integration result, and merge the increment into the corresponding elements.

(10)传输多级切片的系统。应用本发明的系统由服务器和移动终端组成,两者之间通过通信网络连接在一起,如图6所示。服务器的构成成分有地图数据服务部件和矢量地图数据库。它的主要功能之一是向移动终端发送多级切片(含兄长切片)。多级切片可以预先存储在数据库内也可以动态生成。(10) A system for transmitting multi-level slices. The system applying the present invention is composed of a server and a mobile terminal, and the two are connected together through a communication network, as shown in FIG. 6 . The components of the server include map data service components and vector map database. One of its main functions is to send multi-level slices (including elder slices) to mobile terminals. Multi-level slices can be pre-stored in the database or dynamically generated.

移动终端一侧包含地图应用、缓存管理器和多级切片缓存集。缓存管理器管理和维护多级切片缓存集,供地图应用检索和读取多级切片。所有接收自服务器的多级切片都将存入多级切片缓存集。The side of the mobile terminal includes a map application, a cache manager and a multi-level tile cache set. The Cache Manager manages and maintains a set of multi-level tile caches for map applications to retrieve and read multi-level tiles. All multilevel tiles received from the server will be stored in the multilevel tile cache set.

移动终端每次发起针对多级切片的地图数据请求,将附带终端已有要素记录表。服务器收到请求后,地图数据服务部件检索地图数据库,得到所要求的切片及其兄长切片,而后根据终端已有要素记录表去除已在终端的要素,最后把这些切片发送给移动终端。Each time a mobile terminal initiates a map data request for multi-level slices, it will be accompanied by a record list of existing elements of the terminal. After the server receives the request, the map data service part retrieves the map database, obtains the required slice and its brother slice, then removes the elements already in the terminal according to the existing element record table of the terminal, and finally sends these slices to the mobile terminal.

Claims (3)

1.一种基于多级切片方式的矢量地图数据传输方法,其特征在于:首先对矢量地图数据进行多级切片,从服务器端到移动终端的地图数据传输以多级切片作为基本单元,移动终端接收到多级切片后,先集成切片及其祖先切片的各级别要素,接着将切片拼接成目标区域的完整地图;1. A vector map data transmission method based on multi-level slicing, characterized in that: first the vector map data is multi-level sliced, and the map data transmission from the server end to the mobile terminal takes the multi-level slice as the basic unit, and the mobile terminal After receiving multi-level slices, first integrate the elements of each level of the slice and its ancestor slices, and then stitch the slices into a complete map of the target area; 所述多级切片的生成和拼接步骤为:The steps of generating and splicing the multi-level slices are: A.多级切片的生成:A. Generation of multi-level slices: (1)切片:将全幅地图纵横切割等分成4块,得到第1级切片;接着把每一个1级多级切片又等分成4块,得到第2级切片,即共42=16块......,依次类推,直至生成第m级切片,对于每一次切分,被切者称为父切片,所得到的4块切片称为子切片,所述父切片的父切片以及父子关系链上更高级别的父切片称为子切片的祖先切片;(1) Slicing: Divide the full map vertically and horizontally into 4 equal slices to obtain the first-level slices; then divide each first-level multi-level slice into four equal slices to obtain the second-level slices, that is, a total of 4 2 =16 slices. ..., and so on, until the m-th slice is generated. For each slice, the sliced is called the parent slice, and the four slices obtained are called the child slices. The parent slice and the parent and child of the parent slice The higher-level parent slice on the relationship chain is called the ancestor slice of the child slice; (2)分级:将地图比例尺按照大小依次划分成n个级别,其中1级至n级比例尺依次变小,将地图要素按权重大小依次分成n个级别,其中n级要素是出现在n级比例尺地图中却没有出现在n-1级比例尺地图中的要素,为比例尺级别和多级切片级别之间建立对应关系,把与某级切片相交的某级要素归为一组,称这一分组为L级切片,并称这组要素属于该切片;同时,定义某级切片的兄长切片,S级兄长切片指的是与L级切片对应区域相交的S级要素组成的集合,其中S=1,2,...,L-1;S级父切片指的是L级切片的级别等于S的祖先切片或父切片,S级兄长切片是S级父切片的一部分;(2) Grading: Divide the map scale into n levels according to the size, in which the scales from level 1 to level n become smaller in turn, divide the map elements into n levels according to the weight, and the n level elements appear on the n level scale The elements in the map that do not appear in the n-1 level scale map establish a correspondence between the scale level and the multi-level slice level, and group the elements of a certain level that intersect with a certain level of slice into a group, which is called this grouping. L-level slice, and say that this group of elements belongs to the slice; at the same time, define the brother slice of a certain level slice, and the S-level brother slice refers to the set of S-level elements that intersect with the corresponding area of the L-level slice, where S=1, 2,...,L-1; the S-level parent slice refers to the ancestor slice or parent slice whose level is equal to the S-level slice, and the S-level sibling slice is a part of the S-level parent slice; (3)增量:要素的增量是在两个比例尺级别之间,同一要素的细节数据的差值,所述要素增量既包括所增加的细节数据,也包括坐标点插入的位置,当增量相比于要素的数据总量超过设定的比例下限时,设置增量;(3) Increment: The increment of an element is the difference between the detail data of the same element between two scale levels. The element increment includes both the added detail data and the position where the coordinate point is inserted. When When the total amount of data of the increment compared to the element exceeds the lower limit of the set ratio, set the increment; B.由多级切片合成完整地图的步骤:B. Steps for synthesizing a complete map from multi-level slices: (1)多级切片检索:合成L级比例尺下区域A的地图所要用到的是与区域A相交的L级切片组成的集合,记为QSet;(1) Multi-level slice retrieval: what is needed to synthesize the map of area A under L-level scale is a set composed of L-level slices intersecting with area A, which is recorded as QSet; (2)数据集成:对于QSet内的每一个L级切片,数据集成是沿着切片的兄长关系向上追溯直至第一级切片,除了各级切片所属的要素的汇总,这一过程还包括同一要素的增量的合并;(2) Data integration: For each L-level slice in the QSet, data integration traces back to the first-level slice along the brother relationship of the slice. In addition to the summary of elements belonging to each level of slice, this process also includes the same element Incremental merging of ; (3)切片拼接:上一步得到了每一个与目标区域A相交的L级切片的数据汇总,接下来就是把这些L级切片的数据汇总依据空间邻近关系拼接,最终得到完整的地图。(3) Slice splicing: In the previous step, the data summary of each L-level slice that intersects with the target area A is obtained. The next step is to combine the data summary of these L-level slices according to the spatial proximity relationship, and finally obtain a complete map. 2.根据权利要求1所述的基于多级切片方式的矢量地图数据传输方法,其特征在于地图数据传输过程为:2. the vector map data transmission method based on the multi-level slicing mode according to claim 1, is characterized in that the map data transmission process is: 1)计算得出所有与区域A相交的L级切片,下面把这一集合记为QSet;1) Calculate all the L-level slices that intersect with the area A, and this set is denoted as QSet below; 2)对于QSet中的每一个L级切片Q,执行以下步骤:2) For each L-level slice Q in QSet, perform the following steps: A.地图应用执行“缓存检索操作”,检索切片Q是否在本地缓存;如果切片Q已在本地,转步骤F;否则,执行“提取已有要素记录操作”,得到切片Q的“终端已有要素记录”;A. The map application executes the "cache retrieval operation" to check whether the slice Q is cached locally; if the slice Q is already in the local cache, go to step F; otherwise, execute the "extract existing feature record operation" to obtain the slice Q's "terminal existing Element Record"; B.地图应用向服务器请求切片Q的数据,请求信息包含切片的编号QID和终端已有要素记录;B. The map application requests the data of the slice Q from the server, and the request information includes the number QID of the slice and the record of the existing elements of the terminal; C.服务器收到请求后,首先根据编号QID推算出多级切片的区域和级别L,接着地图数据服务部件检索地图数据库得到多级切片及其兄长切片,然后据终端已有要素记录,在检索到的切片中执行“去除终端已有要素操作”,最后把多级切片及其兄长切片发送给移动终端;C. After the server receives the request, it first calculates the area and level L of the multi-level slice according to the serial number QID, and then the map data service component retrieves the map database to obtain the multi-level slice and its sibling slices, and then according to the existing element records of the terminal, in the retrieval Execute the "remove terminal existing element operation" in the slice, and finally send the multi-level slice and its brother slice to the mobile terminal; D.地图应用接收数据,也就是多级切片及其兄长切片的集合;D. The map application receives data, which is a collection of multi-level slices and their sibling slices; E.执行“多级切片插入操作”把多级切片Q及其兄长切片存入本地缓存;E. Execute the "multi-level slice insertion operation" to store the multi-level slice Q and its brother slices into the local cache; F.执行“数据集成操作”,生成切片Q的完整地图数据集;F. Execute "data integration operation" to generate a complete map dataset of slice Q; 3)把QSet中的所有L级切片按空间关系拼接在一起,得到L级比例尺下区域A的完整地图。3) All the L-level slices in the QSet are spliced together according to the spatial relationship to obtain a complete map of the region A under the L-level scale. 3.据权利要求1或2所述的基于多级切片方式的矢量地图数据传输方法,其特征在于:所述移动终端一侧的本地缓存由地图要素集、要素散列表和多级切片索引表组成;所述地图要素集由缓存中的各个要素组成,每一个要素在要素散列表拥有一表项,其内包含三个域,即要素ID,引用计数,指向要素存储位置的指针,引用计数记录引用该要素的多级切片的数目;所述要素散列表按照要素ID进行散列排序,每一个在本地的多级切片Q在多级切片索引表树拥有一个表项,其内包含:(a)多级切片编号;(b)兄长链首指针,指向兄长切片链表;(c)指向要素引用表的指针;(d)最近使用标记;所述多级切片索引表内,各表项按多级切片编号依次排序。3. according to claim 1 or 2 described vector map data transmission method based on multi-level slicing mode, it is characterized in that: the local buffer of described mobile terminal side is made up of map feature set, feature hash table and multi-level slicing index table Composition; the map feature set is composed of various elements in the cache, and each element has an entry in the element hash table, which contains three fields, namely element ID, reference count, pointer to the storage location of the element, and reference count Record the number of multi-level slices that refer to the element; the element hash table is hashed and sorted according to the element ID, and each local multi-level slice Q has an entry in the multi-level slice index table tree, which contains: ( a) multi-level slice number; (b) elder brother chain head pointer, pointing to elder brother slice linked list; (c) pointer to element reference table; (d) recently used mark; in the multi-level slice index table, each entry is Multi-level slice numbers are sorted sequentially.
CN2008102374884A 2008-12-30 2008-12-30 Vector map data transmission method based on multi-level slicing Expired - Fee Related CN101459901B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102374884A CN101459901B (en) 2008-12-30 2008-12-30 Vector map data transmission method based on multi-level slicing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102374884A CN101459901B (en) 2008-12-30 2008-12-30 Vector map data transmission method based on multi-level slicing

Publications (2)

Publication Number Publication Date
CN101459901A CN101459901A (en) 2009-06-17
CN101459901B true CN101459901B (en) 2010-09-08

Family

ID=40770468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102374884A Expired - Fee Related CN101459901B (en) 2008-12-30 2008-12-30 Vector map data transmission method based on multi-level slicing

Country Status (1)

Country Link
CN (1) CN101459901B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023836A (en) * 2010-11-26 2011-04-20 北京腾瑞万里科技有限公司 Display method of mobile terminal vector map and mobile terminal
CN102314479A (en) * 2011-07-05 2012-01-11 万达信息股份有限公司 Method for preventing repeated marking of slice map
CN103208225B (en) * 2012-01-12 2015-10-28 中国科学院遥感应用研究所 A kind of tile map method for making and system
CN102981829B (en) * 2012-11-01 2015-10-21 宁波电业局 A kind of graph data exhibiting method based on Outage Management Systems and device
CN103915033A (en) * 2012-12-29 2014-07-09 高德软件有限公司 Method and apparatus for rendering map, and mobile terminal
CN104731885B (en) * 2015-03-11 2018-03-30 中国石油大学(华东) A kind of multi-scale modeling topological relation maintaining method based on Layer semantics
CN105119949B (en) * 2015-06-25 2018-07-31 卡斯柯信号有限公司 Method of data synchronization and system based on multi-stage slicing difference distribution statistics
CN106484693B (en) * 2015-08-25 2019-09-17 普天信息技术有限公司 Map-indication method, picture block storage method and picture display terminal
CN106384371B (en) * 2016-09-20 2020-08-11 国家基础地理信息中心 Map drawing method based on vector tiles
CN107103072A (en) * 2017-04-21 2017-08-29 北京视据科技有限公司 A kind of method and system in mobile terminal display space graph data
CN109981740A (en) * 2019-02-25 2019-07-05 湖北金拓维信息技术有限公司 A kind of distribution image data multi-level buffer method
CN111667573B (en) * 2020-06-07 2023-12-29 广东南方数码科技股份有限公司 Map slice generation method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN101459901A (en) 2009-06-17

Similar Documents

Publication Publication Date Title
CN101459901B (en) Vector map data transmission method based on multi-level slicing
CN110268394B (en) Method, system and machine readable storage medium for storing and manipulating key value data
CN110383261B (en) Stream selection for multi-stream storage
CN101466082A (en) Multilevel sliced sheet processing method for vector map data
US9792349B2 (en) In-database sharded queue
CN109726225B (en) A Storm-based distributed stream data storage and query method
CN116346289B (en) A data processing method for computer network center
CN111737393B (en) Vector data self-adaptive management method and system in web environment
CN103178989A (en) Method and device for calculating visit hotness
CN107590083B (en) Massive remote sensing tile data rapid publishing method based on OWGA memory cache
CN113987002A (en) Data exchange method based on mass data analysis platform
CN111597259B (en) Data storage system, method, device, electronic equipment and storage medium
CN105005567A (en) Interest point query method and system
CN111538859A (en) Method and device for dynamically updating video label and electronic equipment
CN104168174A (en) Method and apparatus for information transmission
CN108173974A (en) A HC Model internal cache data elimination method based on distributed cache Memcached
CN102521360B (en) Raster data transmission method and system
CN114443578B (en) Aggregation object reorganization method and device
CN113010373B (en) Data monitoring method and device, electronic equipment and storage medium
CN101382959A (en) A method, device and system for acquiring multimedia resources
CN107070987B (en) Data acquisition method and system for distributed object storage system
CN207571740U (en) A kind of communication data searching system based on Internet of Things
CN113139002A (en) Hot spot data caching method based on Redis
CN111131197A (en) Filtering strategy management system and method thereof
CN112559574B (en) Data processing method, device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20121230