一种地理信息矢量数据处理的方法和装置制造方法

文档序号:6523997阅读:283来源:国知局
一种地理信息矢量数据处理的方法和装置制造方法
【专利摘要】本发明公开了一种地理信息矢量数据处理的方法和装置,其中所述方法包括:将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据;将所述矢量图层数据作为存储单元,计算存储单元的外包框范围;将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中;将存储单元中的地理目标数据存储在分布式键值数据库中,本发明实施例提供的地理信息矢量数据处理的方法和装置能够有效提高地理信息矢量数据存储和查询的效率。
【专利说明】一种地理信息矢量数据处理的方法和装置
【技术领域】
[0001]本发明涉及计算机领域,具体涉及计算机数据管理领域,尤其涉及一种地理信息矢量数据处理的方法和装置。
【背景技术】
[0002]地理信息矢量数据一般采用矢量图层进行组织,通常将同一类型并且在同一比例尺下采集的矢量数据用一个图层组织。矢量数据一般通过记录坐标的方式尽可能将地理实体的空间位置表现的准确无误。地理目标可根据几何形状简单分为点、线、面目标,一个地理目标包含属性数据和几何数据等信息。
[0003]现有技术中的地理信息矢量数据处理方式主要采用关系数据库进行存储,一般做法是直接采用关系数据库提供的几何字段类型将地理信息矢量数据统一存储在关系数据库中,或者将几何数据采用二进制(Binary)块(Block)字段方式将地理信息矢量数据统一存储在关系数据库中。采用关系数据库进行地理信息矢量数据存储时,如果一个矢量图层中包含大量的地理目标,利用关系数据库存储时形成的表比较大,在进行矢量数据的存储和查询时,非常费时,并影响效率,不利于系统的查询和维护。

【发明内容】

[0004]有鉴于此,本发明提出一种地理信息矢量数据存储、查询的方法及装置,以提高海量地理信息矢量数据的存储效率和性能。
[0005]在第一方面,本发明实施例提供了一种地理信息矢量数据处理的方法,所述方法包括:
[0006]将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据;
[0007]将所述矢量图层数据作为存储单元,计算存储单元的外包框范围;
[0008]将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中;
[0009]将存储单元中的地理目标数据存储在分布式键值数据库中。
[0010]进一步地,将存储单元中的地理目标数据存储在分布式键值数据库中包括:
[0011]按照所述存储单元的外包框范围进行分块;
[0012]将分块范围内所关联的地理目标数据序列化为数据块,并对每个数据块编码;
[0013]将每个数据块以一个键值对的形式存储在分布式键值数据库中。
[0014]进一步地,将分块范围内所关联的地理目标数据序列化为数据块包括:
[0015]将与分块范围有至少部分重叠的地理目标,作为关联地理目标;
[0016]将关联地理目标数据序列化为数据块。
[0017]进一步地,将所述矢量图层数据作为存储单元包括:[0018]判断所述矢量图层数据的数据量是否超过预设阀值;
[0019]若是,将所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元。
[0020]进一步地,所述方法还包括:
[0021 ] 接收地理目标查询请求,所述地理目标查询请求包括查询范围和查询关键词;
[0022]在关系数据库中查询与所述查询范围至少部分重叠的外包框范围;
[0023]从关系数据库中读取查询到的外包框范围对应的存储单元的索引信息;
[0024]根据所述查询关键词遍历所述索引信息,确定对应的数据块;
[0025]将确定的数据块的地理目标数据从分布式键值数据库中读出至本地;
[0026]根据所述查询范围和查询关键词在本地的地理目标数据中进行查询。
[0027]进一步地,根据所述查询范围和查询关键词在本地的地理目标数据中进行查询包括:
[0028]根据所述查询范围中的矢量图层类别、矢量图层比例尺和/或地理范围边界数据,在本地的地理目标数据中进行匹配查询;
[0029]在匹配的地理目标数据中根据所述查询关键词中地理目标的属性关键词和/或索引关键词进行匹配查询。
[0030]在第二方面,本发明实施例提供了一种地理信息矢量数据处理的装置,所述装置包括:
[0031]转换模块,用于将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据;
[0032]第一计算模块,用于将所述矢量图层数据作为存储单元,计算存储单元的外包框范围;
[0033]第一存储模块,用于将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中;
[0034]第二存储模块,用于将存储单元中的地理目标数据存储在分布式键值数据库中。
[0035]进一步地,所述第二存储模块包括:
[0036]分块单元,用于按照所述存储单元的外包框范围进行分块;
[0037]序列化单元,用于将分块范围内所关联的地理目标数据序列化为数据块,并对每个数据块编码;
[0038]存储单元,用于将每个数据块以一个键值对的形式存储在分布式键值数据库中。
[0039]进一步地,所述序列化单元包括:
[0040]关联子单元,用于将与分块范围有至少部分重叠的地理目标,作为关联地理目标;
[0041]序列化子单元,用于将关联地理目标数据序列化为数据块。
[0042]进一步地,第一计算模块包括:
[0043]判断单元,用于判断所述矢量图层数据的数据量是否超过预设阀值;
[0044]划分单元,用于将数据量超过预设阀值所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元。[0045]进一步地,所述装置还包括:
[0046]接收模块,用于接收地理目标查询请求,所述地理目标查询请求包括查询范围和查询关键词;
[0047]第一查询模块,用于在关系数据库中查询与所述查询范围至少部分重叠的外包框范围;
[0048]第一读取模块,用于从关系数据库中读取查询到的外包框范围对应的存储单元的索引信息;
[0049]遍历模块,用于根据所述查询关键词遍历所述索引信息,确定对应的数据块;
[0050]第二读取模块,用于将确定的数据块的地理目标数据从分布式键值数据库中读出至本地;
[0051]第二查询模块,用于根据所述查询范围和查询关键词在本地的地理目标数据中进行查询。
[0052]进一步地,所述第二查询模块包括:
[0053]匹配单元,用于根据所述查询范围中的矢量图层类别、矢量图层比例尺和/或地理范围边界数据,在本地的地理目标数据中进行匹配查询;
[0054]匹配查询单元,用于在匹配的地理目标数据中根据所述查询关键词中地理目标的属性关键词和/或索引关键词进行匹配查询。
[0055]本发明实施例提供的地理信息矢量数据处理的方法和装置,将矢量图层数据作为存储单元,采用关系数据库存储矢量图层的基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围,将矢量图层的地理目标数据存储在分布式键值数据库中,将地理目标数据按照键值对的形式进行组织、存储和索引,通过采用关系数据库和分布式键值数据库相结合的方式,能够有效减少磁盘的读写次数,提高地理信息矢量数据存储和查询的效率。
【专利附图】

【附图说明】
[0056]下面将通过参照附图详细描述本发明的示例性实施例,使本领域的普通技术人员更清楚本发明的上述及其他特征和优点,附图中:
[0057]图1是根据本发明第一实施例的地理信息矢量数据处理方法的流程图;
[0058]图2是根据本发明第二实施例的地理信息矢量数据处理方法的流程图;
[0059]图3是根据本发明第三实施例的地理信息矢量数据处理方法的流程图;
[0060]图4是根据本发明第四实施例的地理信息矢量数据处理装置的结构图;
[0061]图5是根据本发明第五实施例的地理信息矢量数据处理装置的结构图;
[0062]图6是根据本发明第六实施例的地理信息矢量数据处理装置的结构图。
【具体实施方式】
[0063]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0064]在图1中示出了本发明的第一实施例。[0065]图1是根据本发明第一实施例的地理信息矢量数据处理方法的流程图,如图1所示,该方法可用于对海量地理信息矢量数据进行存储,所述地理信息矢量数据处理方法包括:
[0066]步骤110、将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据。
[0067]所述外部格式的矢量数据包括但不限制于,例如:coverage( coverage是ArcInfoworkstation的原生数据格式,空间信息以二进制文件的形式存储在独立的文件夹中,文件夹名称即为该coverage名称,属性信息和拓扑数据则以表的形式存储)、shapefile(shapefile是ArcView GIS3.x的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,却不能存储拓扑关系,具有简单、快速显示的优点)和mif (mif是Mapinfo用来向外交换数据的一种中间交换文件,当用户在Mapinfo中将一张Mapinfo地图表以mif格式转出来mif文件中后,Mapinfo会同时在用户指定的保存目录下生成*.mif和*.mid两个文件,其中*.mif文件保存了该Mapinfo表的表结构及表中所有空间对象的空间信息,而*.mid文件则按记录顺序保存了每个空间对象的所有属性信息)。在本实施例中,首先将外部格式的矢量数据转换为矢量图层数据,以便进行海量地理信息矢量数据的处理。
[0068]地理信息矢量数据一般采用矢量图层进行组织,一般情况下,将同一类型的并且在同一比例尺下采集的矢量数据用一个图层组织(例如1:50000比例尺下的地貌层、1:1000000比例尺下的公路段层)。一个矢量图层主要包括图层基本信息、图层元数据信息和若干个地理目标数据,地理目标可根据几何形状简单分为点、线、面目标,地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据。
[0069]在本实施例中,所述图层基本信息包括矢量图层的名称和比例尺的信息,所述图层元数据信息是描述矢量图层的数据,用于识别矢量图层、评价矢量图层、实现矢量图层的有效发现、查找、一体化组织和对矢量图层的有效管理,所述地理目标属性信息是指在矢量图层上标记某个或某类地理目标,标记的内容为该地理目标的某个属性,所述地理目标数据的索引信息是为了提高数据库中地理目标数据的搜索效率而对某些字段中的值建立的目录,所述地理目标矢量数据是指通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误。
[0070]步骤120、将所述矢量图层数据作为存储单元,计算存储单元的外包框范围。
[0071]在本实施例中,所述外包框范围常在地理信息系统中用来给出一个存储单元的大致位置,用于地理信息矢量数据的查询。
[0072]所述外包框范围也叫做最小外接矩形、最小边界矩形、最小包含矩形或最小外包矩形。外包框范围是指以二维坐标表示的若干地理目标(例如点、直线、多边形)的最大范围,即以给定的地理目标各顶点中的最大横坐标、最小横坐标、最大纵坐标、最小纵坐标定下边界的矩形,这样的一个矩形包含给定的地理目标,且边与坐标轴平行,例如:一个存储单元中包含三个地理目标a (0,0)、b (I, I)和c (I, 2),则该存储单元的外包框就是三个点的外界矩形,也就是左下角为(0,O)、左上角为(0,2)、右下角为(1,0)和右上角为(1,2)四个点形成的矩形。
[0073]步骤130、将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中。
[0074]采用关系数据库存储图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围的优点是具有灵活的属性查询条件功能,数据能够集中存储,并且能够支持多用户并发访问,同时提供了数据完整性的检查机制和完善的权限控制,另外数据的安全性能也得到保障。
[0075]在本实施例中,矢量数据的存储需要提供对地理目标灵活的属性查询功能同时需要支持快速的空间查询功能,矢量图层在显示时,往往是先获取图层的基本信息和图层元数据等信息,然后根据当前所在视野范围,将几何数据落在当前视野范围的地理目标调度出显示。因此将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中。
[0076]步骤140、将存储单元中的地理目标数据存储在分布式键值数据库中。
[0077]所述分布式键值数据库也叫分布式key-value数据库,数据库一种非关系型数据库,其数据按照键值对的形式进行组织、索引和存储,Key-Value能够有效的减少磁盘读写次数,比关系数据库具有更好的读写性能,具有查询速度快、存放数据量大、支持高并发的特点,在本实施例中,将存储单元中的地理目标数据存储在分布式键值数据库中,便于地理信息矢量数据的存储和查询。
[0078]本实施例提供的矢量数据处理方法,将地理目标数据按照键值对的形式进行组织、存储和索引,通过采用关系数据库和分布式键值数据库相结合的方式,能够有效减少磁盘的读写次数,提高地理信息矢量数据存储和查询的效率。
[0079]在图2中示出了本发明的第二实施例。
[0080]图2是根据本发明第二实施例的地理信息矢量数据处理方法的流程图,如图2所示,该实施例的地理信息矢量数据处理方法以上述实施例为基础,所述地理信息矢量数据处理方法包括:
[0081]步骤210、将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据。
[0082]步骤220、判断所述矢量图层数据的数据量是否超过预设阀值,若是,执行步骤230,将所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元;若否,将所述矢量图层数据作为存储单元,执行步骤240。
[0083]在本实施例中,一个矢量图层数据中包含若干地理目标数据,当所述矢量图层数据的数据量超过预设阈值时,将所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元,以便于存储;当所述矢量图层数据的数据量没有超过预设阈值时,将所述矢量图层数据作为存储单元。
[0084]步骤230、将所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元。
[0085]步骤240、计算存储单元的外包框范围。
[0086]步骤250、将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中。
[0087]步骤260、按照所述存储单元的外包框范围进行分块。[0088]在本实施例中,将存储单元中的地理目标数据按照所述存储单元的外包框范围进行分块,每一块都包含矢量图层数据并且能够被唯一标识,这样处理的好处在于,以便于海量地理信息矢量数据的存储和查询。
[0089]步骤270、将分块范围内所关联的地理目标数据序列化为数据块,并对每个数据块编码。
[0090]在本实施例中,序列化是指将分块范围内所关联的地理目标数据转换为可以存储的过程,地理目标数据可以将当前状态写入到存储区域内。当进行地理信息矢量数据的查询时,可以通过从存储区中反序列化地理目标的数据状态,重新创建该地理目标数据。对每个数据块进行编码有利于地理目标矢量数据的查询。
[0091]在本实施例中,将分块范围内所关联的地理目标数据序列化为数据块具体可包括:
[0092]步骤271、将与分块范围有至少部分重叠的地理目标,作为关联地理目标。
[0093]在本步骤中,当根据存储单元的外包框范围进行分块时,如果存储单元在分块范围有至少部分重叠的地理目标,则将所述有至少部分重叠的地理目标,作为关联地理目标。
[0094]步骤272、将关联地理目标数据序列化为数据块。
[0095]在本步骤中,将关联的地理目标序列化为数据块,以便将关联地理目标数据块存储于分布式键值数据库中。
[0096]步骤280、将每个数据块以一个键值对的形式存储在分布式键值数据库中。
[0097]在本实施例中,将每个数据块以一个键值对的形式存储在分布式键值数据库中,一个数据块对应一个键值对,在调度地理目标时,先根据键值对判断需要从分布式键值数据库中调度的存储单元或数据块,然后一次性将存储单元或数据块从Key-Value数据库中调度出,也就是将周边的地理目标调度出显示,减少数据调度的次数。
[0098]本实施例提供的地理信息矢量数据处理的方法,将具有大量地理目标数据的矢量图层数据分批次进行存储,并将存储单元中的地理目标数据分块处理后序列化为数据块,并将所述数据块存储于分布式键值数据库中,由此,提高了海量地理信息矢量数据的存储效率和性能。
[0099]在图3是示出了本发明的第三实施例。
[0100]图3是根据本发明第三实施例的地理信息矢量数据处理方法的流程图,如图3所示,该方法可用于对海量地理信息的矢量数据进行查询,所述地理信息矢量数据处理方法包括:
[0101]步骤310、接收地理目标查询请求,所述地理目标查询请求包括查询范围和查询关键词。
[0102]步骤320、在关系数据库中查询与所述查询范围至少部分重叠的外包框范围。
[0103]在本步骤中,根据接收到的地理目标查询范围,查询与所述地理目标查询范围具有相交关系的存储单元,即在关系数据库中查询与所述查询范围至少部分重叠的外包框范围。
[0104]步骤330、从关系数据库中读取查询到的外包框范围对应的存储单元的索引信息。
[0105]所述索引信息是在数据库存储矢量数据时,为了更加方便和快速查询或者更新相关的数据信息,根据地理目标的属性或地理目标之间的相互关系,按照一定的顺序对地理目标进行排序的一种数据结构,将存储单元中的地理目标数据按照所述存储单元的外包框范围进行分块,每一块都包含矢量图层数据并且能够被唯一标识,其中,所述索引信息包含存储单元的标识信息、存储单元的外包框范围和指向地理目标实体的指针,索引信息是在操作算法和地理目标对象之间的一种数据结构,通过索引信息能够快速定位目标,筛选大量不满足条件的矢量数据,减少需要精确计算的矢量数据量,从而提高矢量数据的查询效率。
[0106]步骤340、根据所述查询关键词遍历所述索引信息,确定对应的数据块。
[0107]在本步骤中,根据接收到地理目标查询请求中的查询关键词,遍历从关系数据库中读取查询到的外包框范围对应的存储单元的索引信息,根据所述索引信息,在分布式键值数据库中找到对应的数据块。
[0108]步骤350、将确定的数据块的地理目标数据从分布式键值数据库中读出至本地。
[0109]根据所述索引信息,将所述索引信息对应的存储单元或数据块的地理目标数据从分布式键值数据库中读出至本地。
[0110]步骤360、根据所述查询范围和查询关键词在本地的地理目标数据中进行查询。
[0111]在本步骤中,根据所述查询范围和查询关键词在本地的地理目标数据中进行查询,获取要查询的地理目标。
[0112]具体地,根据所述查询范围和查询关键词在本地的地理目标数据中进行查询可以包括:
[0113]步骤361、根据所述查询范围中的矢量图层类别、矢量图层比例尺和/或地理范围边界数据,在本地的地理目标数据中进行匹配查询。
[0114]在本步骤中,根据查询请求中查询范围的矢量图层类别、矢量图层比例尺和/或地理范围边界数据在本地的地理目标数据中进行匹配查询,查找到需要查询的地理目标。
[0115]步骤362、在匹配的地理目标数据中根据所述查询关键词中地理目标的属性关键词和/或索引关键词进行匹配查询。
[0116]若所匹配的地理目标数据中包含查询请求中查询关键词中的地理目标属性关键词和/或索引关键词,则进行匹配查询,与所述匹配的地理目标数据计算交集后,获得要查询的地理目标。
[0117]本实施例提供的地理信息矢量数据处理方法,根据查询请求查询与查询范围具有相交关系的存储单元,从关系数据库读取存储单元对应的索引信息后,根据查询关键词遍历存储单元的索引信息,根据所述索引信息找到对应的存储单元或数据块并调度到本地,根据查询范围和查询关键词找到要查询的地理目标,提高了地理目标矢量数据的查询效率。
[0118]在图4中示出了本发明的第四实施例。
[0119]图4是根据本发明第四实施例的地理信息矢量数据处理装置的结构图,如图4所示,该地理信息矢量数据的处理装置可用于地理信息矢量数据的存储,所述装置包括:转换模块410、第一计算模块420、第一存储模块430和第二存储模块440。
[0120]所述转换模块410用于将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据。[0121]第一计算模块420用于将所述矢量图层数据作为存储单元,计算存储单元的外包框范围。
[0122]第一存储模块430用于将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中。
[0123]第二存储模块440用于将存储单元中的地理目标数据存储在分布式键值数据库中。
[0124]本实施例提供的地理信息矢量数据的处理装置,将地理目标数据按照键值对的形式进行组织、存储和索引,通过采用关系数据库和分布式键值数据库相结合的方式,能够有效减少磁盘的读写次数,提高地理信息矢量数据存储和查询的效率。
[0125]在图5中示出了本发明的第五实施例。
[0126]图5是根据本发明第五实施例的地理信息矢量数据处理装置的结构图,如图5所示,所述地理信息矢量数据的处理装置以上述第四实施例为基础,用于对地理信息矢量数据进行存储,所述装置包括:转换模块510、第一计算模块520、第一存储模块530和第二存储模块540。其中,所述第一计算模块520包括判断单元521和划分单元522,所述第二存储模块540包括分块单元541、序列化单元542和存储单元543,进一步地,所述序列化单元542包括关联子单元5421和序列化子单元5422。
[0127]所述转换模块510用于将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据。
[0128]所述第一计算模块520用于将所述矢量图层数据作为存储单元,计算存储单元的外包框范围。
[0129]在本实施例中,所述第一计算模块520包括判断单元521和划分单元542,其中,所述判断单元521用于判断所述矢量图层数据的数据量是否超过预设阀值,所述划分单元542用于将数据量超过预设阀值所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元。
[0130]所述第一存储模块530用于将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中。
[0131]所述第二存储模块540用于将存储单元中的地理目标数据存储在分布式键值数据库中。
[0132]在本实施例中,所述第二存储模块540包括分块单元541、序列化单元542和存储单元543,其中,所述分块单元541用于按照所述存储单元的外包框范围进行分块,所述序列化单元542用于将分块范围内所关联的地理目标数据序列化为数据块,并对每个数据块编码,所述存储单元543用于将每个数据块以一个键值对的形式存储在分布式键值数据库中。
[0133]进一步地,所述序列化单元542包括关联子单元5421和序列化子单元5422,其中,所述关联子单元5421用于将与分块范围有至少部分重叠的地理目标,作为关联地理目标,所述序列化子单元5422用于将关联地理目标数据序列化为数据块。
[0134]本实施例提供的地理信息矢量数据处理装置,将具有大量地理目标数据的矢量图层数据分批次进行存储,并将存储单元中的地理目标数据分块处理后序列化为数据块,并将所述数据块存储于分布式键值数据库中,由此,提高了海量地理信息矢量数据的存储效率和性能。
[0135]在图6中示出了本发明的第六实施例。
[0136]图6是根据本发明第六实施例的地理信息矢量数据处理装置的结构图,如图6所示,该地理信息矢量数据的处理装置用于对地理信息的矢量数据进行查询,所述装置包括:接收模块610、第一查询模块620、第一读取模块630、遍历模块640、第二读取模块650和第二查询模块660。其中,所述第二查询模块660包括匹配单元661和匹配查询单元662。
[0137]所述接收模块610用于接收地理目标查询请求,所述地理目标查询请求包括查询范围和查询关键词。
[0138]所述第一查询模块620用于在关系数据库中查询与所述查询范围至少部分重叠的外包框范围。
[0139]所述第一读取模块630用于从关系数据块中读取查询到的外包框范围对应的存储单元的索引信息。
[0140]所述遍历模块640用于根据所述查询关键词遍历所述索引信息,确定对应的数据块。
[0141]所述第二读取模块640用于将确定的数据块的地理目标数据从分布式键值数据库中读出至本地。
[0142]所述第二查询模块660用于根据所述查询范围和查询关键词在本地的地理目标数据中进行查询。
[0143]在本实施例中,所述第二查询模块660优选是包括匹配单元661和匹配查询单元662。
[0144]其中,所述匹配单元661用于根据所述查询范围中的矢量图层类别、矢量图层比例尺和/或地理范围边界数据,在本地的地理目标数据中进行匹配查询,所述匹配查询单元662用于在匹配的地理目标数据中根据所述查询关键词中地理目标的属性关键词和/或索引关键词进行匹配查询。
[0145]本实施例提供的地理信息矢量数据处理装置,根据查询请求查询与查询范围具有相交关系的存储单元,从关系数据库读取存储单元对应的索引信息后,根据查询关键词遍历存储单元的索引信息,根据所述索引信息找到对应的存储单元或数据块并调度到本地,根据查询范围和查询关键词找到要查询的地理目标,提高了地理目标的查询效率。
[0146]可以理解的是,本发明可用于众多通用或专用的计算系统环境或配置中,例如:个人计算机、服务器计算机、手持设备或便携设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何设备或系统的分布式计算环境等。
[0147]此外,本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的程序、对象、模块和数据结构等,也可以在分布式计算环境中实践本发明。
[0148]显然,本领域技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0149]以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种地理信息矢量数据处理的方法,其特征在于,所述方法包括: 将外部格式的矢量数据转换为内部矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据; 将所述矢量图层数据作为存储单元,计算存储单元的外包框范围; 将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中; 将存储单元中的地理目标数据经序列化后存储在分布式键值数据库中。
2.根据权利要求1所述的地理信息矢量数据处理的方法,其特征在于,将存储单元中的地理目标数据存储在分布式键值数据库中包括: 按照所述存储单元的外包框进行分块; 将分块范围内所关联的地理目标数据序列化为数据块,并对每个数据块编码; 将每个数据块以一个键值对的形式存储在分布式键值数据库中。
3.根据权利要求2所述的地理信息矢量数据处理的方法,其特征在于,将分块范围内所关联的地理目标数据序列化为数据块包括: 将与分块范围有至少部分重叠的地理目标,作为关联地理目标; 将关联地理目标数据序列化为数据块。
4.根据权利要求1所述的地理信息矢量数据处理的方法,其特征在于,将所述矢量图层数据作为存储单元包括: 判断所述矢量图层数据的数据量是否超过预设阀值; 若是,将所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元。
5.根据权利要求2所述的地理信息矢量数据处理的方法,其特征在于,所述方法还包括: 接收地理目标查询请求,所述地理目标查询请求包括查询范围和查询关键词; 在关系数据库中查询与所述查询范围至少部分重叠的外包框范围; 从关系数据库中读取查询到的外包框范围对应的存储单元的索引信息; 根据所述查询关键词遍历所述索引信息,确定对应的数据块; 将确定的数据块的地理目标数据从分布式键值数据库中读出至本地; 根据所述查询范围和查询关键词在本地的地理目标数据中进行查询。
6.根据权利要求5所述的地理信息矢量数据处理的方法,其特征在于,根据所述查询范围和查询关键词在本地的地理目标数据中进行查询包括: 根据所述查询范围中的矢量图层类别、矢量图层比例尺和/或地理范围边界数据,在本地的地理目标数据中进行匹配查询; 在匹配的地理目标数据中根据所述查询关键词中地理目标的属性关键词和/或索引关键词进行匹配查询。
7.—种地理信息矢量数据处理的装置,其特征在于,所述装置包括: 转换模块,用于将外部格式的矢量数据转换为矢量图层数据,所述矢量图层数据包括图层基本信息、图层元数据信息和地理目标数据,所述地理目标数据包括地理目标属性信息、地理目标索引信息和地理目标矢量数据; 第一计算模块,用于将所述矢量图层数据作为存储单元,计算存储单元的外包框范围; 第一存储模块,用于将所述存储单元的图层基本信息、图层元数据信息、地理目标属性信息、地理目标索引信息和外包框范围存储在关系数据库中; 第二存储模块,用于将存储单元中的地理目标数据存储在分布式键值数据库中。
8.根据权利要求7所述的地理信息矢量数据处理的装置,其特征在于,所述第二存储模块包括: 分块单元,用于按照所述存储单元的外包框范围进行分块; 序列化单元,用于将分块范围内所关联的地理目标数据序列化为数据块,并对每个数据块编码; 存储单元,用于将每个数据块以一个键值对的形式存储在分布式键值数据库中。
9.根据权利要求8所述的地理信息矢量数据处理的装置,其特征在于,所述序列化单元包括: 关联子单元,用于将与分块范围有至少部分重叠的地理目标,作为关联地理目标; 序列化子单元,用于将关联地理目标数据序列化为数据块。
10.根据权利要求7所述的地理信息矢量数据处理的装置,其特征在于,第一计算模块包括: 判断单元,用于判断所述矢量图层数据的数据量是否超过预设阀值; 划分单元,用于将数据量超过预设阀值所述矢量图层数据进行划分,形成至少两个批次的矢量图层数据,形成对应的至少两个存储单元。
11.根据权利要求8所述的地理信息矢量数据处理的装置,其特征在于,所述装置还包括: 接收模块,用于接收地理目标查询请求,所述地理目标查询请求包括查询范围和查询关键词; 第一查询模块,用于在关系数据库中查询与所述查询范围至少部分重叠的外包框范围; 第一读取模块,用于从关系数据库中读取查询到的外包框范围对应的存储单元的索引信息; 遍历模块,用于根据所述查询关键词遍历所述索引信息,确定对应的数据块; 第二读取模块,用于将确定的数据块的地理目标数据从分布式键值数据库中读出至本地; 第二查询模块,用于根据所述查询范围和查询关键词在本地的地理目标数据中进行查询。
12.根据权利要求11所述的地理信息矢量数据处理的装置,其特征在于,所述第二查询模块包括: 匹配单元,用于根据所述查询范围中的矢量图层类别、矢量图层比例尺和/或地理范围边界数据,在本地的地理目标数据中进行匹配查询; 匹配查询单元,用于在匹配的地理目标数据中根据所述查询关键词中地理目标的属性关键词和/或索引关键词进行匹配查询。
【文档编号】G06F17/30GK103617295SQ201310689397
【公开日】2014年3月5日 申请日期:2013年12月16日 优先权日:2013年12月16日
【发明者】庄贤荣 申请人:北京锐安科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1