一种矢量数据的存储方法、查询方法和管理系统的制作方法

文档序号:6464601阅读:321来源:国知局

专利名称::一种矢量数据的存储方法、查询方法和管理系统的制作方法一种矢量数据的存储方法、查询方法和管理系统
技术领域
5本发明涉及计算机数据管理方法和系统,特别是地理信息系统中的矢量数据存储方法,相应的查询方法和管理系统。
背景技术
:地理数据是以地球表面作为基本参照框架的空间数据及其属性信息。10为了便于获取、存储、分析和管理地理数据,建立了地理信息系统,简称GIS系统(geographicinformationsystem)。GIS系统表示了真实世界的各种目标,如道路、土地、海拔等等。GIS中常用的数据结构包括矢量数据和栅格数据。矢量数据结构中,一个区域或一个地图化分为若干个多边形,每个多边形由若干条线段或弧组成,矢量数据结构数据存储量小、图形精15度高、容易定义单个空间对象,但是处理空间关系比较费时,常用于描述图形数据。栅格数据结构中,地理实体用格网单元的行和列为位置标识,栅格数据简单、容易处理空间位置关系,但数据存储量大,图形精度低,常用于描述图像和影像数据。当前,多采用文件系统来管理栅格数据,采用数据库来管理矢量数据。20但是矢量数据既包含适合用数据库来管理的结构化数据,也包含用数据库不易管理的半结构化数据。为了让数据库能够支持对半结构化矢量数据的存储、查询和操作,就需要对传统的数据库进行扩展,进而形成了被称为空间数据库管理系统(SpatialDataBaseManagementSystem_SDBMS)的扩展数据库。25尽管各大数据库厂商不断优化对矢量数据的管理,但是依然存在着一些弊端。数据库提供了丰富的SQL语义,支持复杂的查询操作,但是对于相对简单的空间数据查询而言,这些语义功能很多都是空间数据处理过程中不会使用到的,反而在入库和查询时造成额外的系统资源浪费;30数据库保证了在其中进行的操作都是强事务语义的,但是对于写少读多的空间数据访问模式而言,大多数对空间数据的访问是不需要事务性语义来保证的,保证强事务性语义反而会带来系统运行时较严重的性能损失;数据库系统通常都是运行在一个节点上的,随着数据规模的不断扩大,单点的处理能力逐渐成为瓶颈,单点故障问题日趋严重,而支持集群5方式的数据库价格非常昂贵。
发明内容本发明要解决的技术问题为避免系统资源浪费和性能损失,提供一种在满足矢量数据管理应用的前提下,实现更简单的方法和系统。10根据本发明的第一方面,提出了一种矢量数据的存储方法,具体包括下列步骤11)将原始shapefile文件的图层进行区域划分;12)将所述划分的区域进行编码;13)将所述原始shapefile文件的图层中的几何体根据所属区域的编码15进行派分;14)将派分到相同编号的所述图层中的几何体的集合存储为一个文件;15)根据所述存储的文件,生成配置文件,用于记录图层的基本信息。该存储方法中,所述原始shapefile文件的大小大于阈值。20该存储方法中,所述步骤12)包括下列步骤21)在X轴和Y轴上,分别给所述划分的区域赋值Xi和Yj;22)组合所述Xi和Yj,计算所述区域的编码。该存储方法中,所述步骤21)的Xi和Y」均为二进制值,且XfXi,wXi,n.2…x,,0,Yj=yj,n.iyj,n-2yj,0,其中x和y分别表示X和Y的每位25的值,n是所述原始shapefile文件的图层在X轴方向和Y轴方向被划分的份数;所述步骤22)进一步包括221)对于所述Xi和Yj,根据公式Vij-yj,wXi,n小..yy)Xi,o计算Vij;222)将所述Vij用十进制表示,根据VF『(y,^,n-Odec…(y」,oX,,o)dec计30算所述区域的编码。该存储方法中,所述步骤13)包括下列步骤31)读取所述图层中的几何体,获得所述几何体的最小外包矩形;32)将所述最小外包矩形的每个顶点所在的区域的编码作为所述最小外包矩形的每个顶点的编码;33)比较所述顶点的编码,从左到右按位扫描,找到第一个值不相等的位k,如果A^l则此几何体被派分的编号为a^2…a;t";534)如果A:=1,则此几何体^皮派分的编号为"root"。该存储方法中,所述步骤15)的所述图层的基本信息包括所述图层的名字,所述图层的最小外包矩形,所述几何体的类型,所述几何体的总数目,所述原始shapefde文件的图层的划分信息。该存储方法中,如果矢量数据的文件不是shapefile格式而是其它格式,io则所述步骤11)还包括将所述矢量数据的文件转为所述原始shapefile文件。根据本发明的第二方面,还提供了一种管理根据上述的方法存储的矢量数据的系统,包括面向用户的GIS界面、文件系统和空间数据管理系统所述面向用户的GIS界面,用于提供访问GIS数据的接口和界面;is所述文件系统,用于存储shapefile文件和读耳又所述shapefile文件的图层中的几何体,并且根据查询条件判断所述几何体与矩形范围的关系,根据所述图层的划分信息计算在所述查询范围内的几何体,并返回给所述空间数据管理系统,其中所述shapefile文件包^"对原始shapefile文件的图层进行区域划分所得到的所述相同编号的几何体;20空间数据管理系统,用于根据图层标识读取所述图层的划分信息,判断所述几何体与不规则图形范围的关系,将所述存储节点返回的几何体传输给所述面向用户的GIS界面。该管理系统中,所述文件系统是分布式文件系统。该管理系统中,所述文件系统安装在存储节点中,所述空间数据管理25系统安装在计算节点中;且至少有两个存储节点。根据本发明的第三方面,还提供了一种查询根据上述存储方法存储的矢量数据的方法,根据图层标识查询所述图层的基本信息。根据本发明的第四方面,还提供了一种查询根据上述存储方法存储的矢量数据的方法,根据图层标识和几何体的标识查询所述几何体的信息。30根据本发明的第五方面,还提供了一种查询根据上述存储方法存储的矢量数据的方法,根据图层标识、矩形范围和标志位查询所述矩形范围内所有几何体,其中所述标志位标识所述所查询的几何体是被所述矩形范围全部包含或部分包含。在上述根据本发明第五方面提供的查询方法中,包括下列步骤21)根据所述图层标识找到相应的配置文件;22)从所述相应的配置文件中读取所述图层的划分信息;523)根据所述矩形范围以及所述图层的划分信息,生成两个文件列表fllejistl和file—list2,其中,所述文件列表内文件内的几何体所涉及的区域与所述矩形范围有共同部分,且filejist1中的文件中的几何体都包含在矩形中;24)读取file一listl中的文件,将所有几何体加入到结果列表中;读io取file—list2中的文件,判断所述filejist2中的几何体是否和所述矩形范围有共同的部分,如果是,将所述几何体加入结果列表;25)返回所述结果列表。根据本发明的第六方面,还提供了一种查询根据上述存储方法存储的矢量数据的方法,其特征在于,根据图层标识、不规则图形范围和标志位,15查询所述不^见则图形内所有的几何体,其中所述标志位标识所述所查询的几何体被所述不失见则图形全部包含或部分包含。根据本发明的第七方面,还提供了一种查询根据上述存储方法存储的矢量数据的方法,其特征在于,根据图层标识、矩形范围、标志位和特定条件,查询该矩形范围内满足条件的所有的几何体,其中所述标志位标识20所查询的几何体是被矩形范围全部包含或部分包含。根据本发明的第八方面,还提供了一种查询根据上述存储方法存储的矢量数据的方法,其特征在于,根据图层标识、不规则图形范围、标志位和特定条件,查询所述不规则图形范围内所有的几何体,其中该标志位标识所查询的几何体是被不规则图形范围全部包含或部分包含。25本发明简化了系统实现,在保证基本功能的同时,抛弃了数据库中的冗余功能,弱化了事务语义,节省了系统资源,提高系统性能。本发明通过分布式文件系统的聚合输入/输出带宽,提高了系统的输入/输出性能;同时,采用通过将计算分布到集群中的节点上运行实现并行,提高了系统的计算能力。30本发明通过分布式文件系统采用副本的策略来保证系统的可靠性,在系统发生损坏或者灾害的时候不至于由于数据过于集中而带来过大的损失;同时,分布式系统也保证了系统规模可以在线扩展。图l是基于矢量数据管理系统(VDMS)的应用系统和基于传统空间数据库管理系统(SDBMS)的应用系统的系统结构比较示意图;5图2是根据本发明一个实施例划分的图层示意图;图3是图2所示的图层基于改进的四叉树算法运算得到的索引结构示意图。图4是编码过程示意图;图5是在图2所示的图层中选择一个区域的示意图;io图6是VDMS和PostgreSQL的性能对比示意图。具体实施方式下面结合附图对本发明的具体实施方式作进一步详细的说明,其中图1示出了现有技术的基于传统空间数据库管理系统的GIS应用系统15和根据本发明的一个优选实施例提供的基于矢量数据管理系统的GIS应用系统。其中现有技术的GIS应用系统包括l.面向用户的GIS界面_空间应用,其用于提供对GIS数据进行访问的接口和界面;2.扩展的空间数据库,用于管理空间数据,以及对空间数据进行计算,进一步包括空间应用接口、20核心技术和对象关系数据库接口;3.对象关系数据库,用于对象关系数据存储,也即存储空间数据。基于矢量数据管理系统的GIS应用系统中,矢量数据管理系统除了包括面向用户的GIS界面、空间应用接口和核心净支术外,还包括文件系统和相应的文件系统接口。其中,文件系统优选为分布式文件系统。文件系统25用于存储shapefde文件和读取shapefile文件中的几何体,并且根据查询条件判断几何体与矩形范围的关系,根据图层的划分信息计算查询范围内的几何体,并返回给文件系统接口,其中所述shapefile文件包括对图层进行区域划分所得到的具有相同编号的几何体。通过文件系统接口对存储于文件系统中的数据进行访问。该接口与核心4支术和空间应用接口共同构成空30间数据管理系统,用于根据图层标识读取所述图层的划分信息,判断所述几何体与不规则图形范围的关系,将文件系统返回的几何体传输给面向用户的GIS界面;还用于判断几何体是否满足查询的其它特定条件。根据本发明的一个优选实施例,上述文件系统安装于存储节点,优选的,至少包括两个存储节点。空间数据管理系统安装于计算节点。所述的存储节点和计算节点通过网络连接。本发明将矢量空间数据以shapefile的格式存储在文件系统中,对于5其他格式的数据,先利用工具转为shapefile格式。对于较小文件,直接存入分布式文件系统中;对于较大文件,首先利用空间索引算法对原始文件中的图层进行区域划分,对划分得到的区域进行编码,把编码结果作为文件名的一部分,将所述图层中的几何体根据所属区域的编码进行派分(dispatch),将相同编号的几何体的集合存入文件,并将文件存入文件系io统中。具体实现如下给定一个原始shapefile文件,优选的,首先才艮据系统给出的阈值T判断原始shapefile的文件大小,其中该阈值是一个表示文件大小的数值,优选为1M字节或一个更大值。对于文件大小小于T的文件,直接将其存入文件系统中;对于文件大小大于T的文件,根据空间索引算法,对15其进行区域划分。图层被划分为多少个区域,可由用户指定,也可根据原始shapefile文件信息计算。后者为系统读入原始Shapefile文件的文件信息,得到原始Shapefile文件的大小,假设原始Shapefile文件为M字节,则原始Shapefile文件的图层被分成的份数为N=nxn,其中n=[lg(lg(M/T))],[M]表示对M20进行向上取整。读入整个图层的坐标信息,得到其最小外包矩形。将整个图层沿X轴方向和Y轴方向都均分为n份,记录X轴和Y轴上的切分点的坐标,如图4.(X)所示。对上述划分得到的区域进行编码,如图4.(b)(c)所示。在X轴和Y轴上,给每个区域R赋值Xi和Yj,纟艮据本发明的一个25具体实施例,Xi和Yj都是n位的二进制值,其中0^,)<"。从0开始,沿X轴从左至右,Y轴方向从上至下,依次增1。在每一个值之前补O以凑足n位。X产Xi,n—!Xi,n.2…Xi,0,Y」二yj,n.!yj,n-2...y』,。,其中x""和y》i分别表示Xj和Yj的二进制值的第n位的值,其它类推。如图4.(b)中所示,其中例如X产xux!,『01,Y2=y2,iy2,。=10。30对每个区域,组合上述所得的X轴和Y轴方向的值Xi和Yj,计算所述区域的编码。在上述具体实施例中,令V『yj,n-!Xi,w…yj,oXi,0,如图4.(b)中所示,其中例如V,2二y2,!xuy2,oXf1001。用十进制表示每个区域的值Vjj,VF『(yj,n-iXi,n-Odec…(yj,oXi,o)dec,其中()dec表示将括号内数值转为十进制数值,则VFjj就是区域Rij的最终编码,如图4.(C)所示,其中例如VFf(y2,^,0dec(y2,()Xw)d^(10)dec(01)dec二21。将原始文件中的几何体按照其最小外包矩形和划分的区域的关系进5行派分。读取原始文件中的每个几何体,获得其最小外包矩形(MBR)。将最小外包矩形的每个顶点所在区域的编码作为每个顶点的VF编码。比较几何体的四个顶点的VF编码值,从左到右按位扫描,找到第一个值不相等的位k。例如,假设四个点为A、a2…an-"B,H,C^C2…cvt,ioD二山d2…dn.!。4戈到一4立A:,且A;;il,4吏4寻a尸b产c尸d!,a2=b2=c2=d2,…,ah尸t^-产c^产4-"而、,Co4不全相等,则此几何体^皮派分的编号为a^2…a;tM。如果fc-l,则此几^T体^C派分的编号为"root"。将所有派分到相同编号的几何体的集合存成一个新的文件,并存储在用户指定的结果目录下。15在用户指定的结果目录下生成若干个新的shapefile文件后,在该目录里面生成一个配置文件,用来记录图层的基本信息,包括图层的名字,图层的最小外包矩形,几何体的类型,几何体的总数目,原始shapefile文件的图层的划分信息。其中原始的shapefile文件的图层的划分信息进一步包括划分得到的区域的个数以及区域的详细信息。20对如上存储的矢量数据的查询方法有多种,包括方法一、给定一个图层标识,查询图层的基本信息。方法二、给定一个图层标识、一个几何体标识,查询对应的几何体的信息。方法三、给定一个图层标识、一个矩形范围、一个标志位,其中该标25志位标识所求的几何体是被矩形范围全部包含还是部分包含,查询矩形范围内所有的几何体。方法四、给定一个图层标识、一个不规则图形范围、一个标志位,其中该标志位标识所查询的几何体是被不规则图形范围全部包含还是部分包含,查询不规则图形范围内所有的几何体。30方法五、给定一个图层标识、一个矩形范围、一个标志位、一个特定的条件,其中该标志位标识所查询的几何体是被矩形范围全部包含还是部分包含,查询该矩形范围内满足条件的所有的几何体。方法六、给定一个图层标识、一个不规则图形范围、一个标志位、—一个特定的条件,其中该标志位标识所查询的几何体是被不规则图形范围全部包含还是部分包含,查询不规则图形范围内所有的几何体。其中上述方法三的矩形范围、方法四的不规则图形范围和方法五的矩5形范围统称为查询范围。下面将对上述五种查询方法的具体实施方式进行具体描述。对于方法一,根据图层标识找到图层对应的目录,进而找到配置文件,读出配置文件中的具体内容。对于方法二,根据图层标识找到图层对应的目录,进而找到配置文件,10从配置文件中读取该图层的划分信息,再根据几何体标识定位到几何体所在shapefile文件中的位置,读入几何体的属性,并且返回;如果没找到几^可体,返回空。方法三包括以下步骤步骤10、根据图层标识找到图层对应的目录,进而找到配置文件。15步骤ll、从配置文件中读取该图层的划分信息。步骤12、根据矩形范围的边界坐标以及图层的划分信息,生成两个文件列表,file—list1和fileJist2,这两个文件列表中的文件内的几何体所涉及的区域与矩形范围有共同部分。而且filejistl中的文件中的几何体被矩形范围全部包含;根据标志位,file—list2中的文件中的几何体或者被矩形20范围全部包含或者部分包含,或者与矩形范围没有共同部分。如果标示全部包含,执行步骤13;如果标示部分包含,执行步骤14。步骤13、读取filejistl中的文件,将所有几何体加入到结果列表中;读取filejist2中的文件,逐个扫描其中的几何体,如果几何体被矩形范围全部包含,那么,将该几何体加入到结果列表中。25步骤14、读取filejistl中的文件,将所有的几何体加入到结果列表中;读取filejist2中的文件,逐个扫描其中的几何体,如果几何体被矩形范围部分包含,将该几何体加入到结果列表中。步骤15、返回结果列表。方法四与方法三类似,根据不规则图形范围的特点该方法包括以下步30骤步骤20、根据不规则图形范围计算得到其外切矩形。步骤21、根据图层标识、外切矩形和标志位,计算在外切矩形范围内的几{可体。步骤22、对从步骤21中得到的几何体依次^故判断,如果标志位标识为部分包含,且几何体被不规则图形范围全部包含或者部分包含,将几何体加入到最终结果列表中;如果标志位标识全部包含,则将几何体加入到5最终结果列表中。步骤23、返回最终结构列表。方法五可以在执行方法三的基础上进一步操作,从而得到结果,具体包括以下步骤步骤30、根据图层标识、矩形范围、标志位,计算在所述矩形范围内io的几何体。步骤31、对从步骤30中得到的几何体,依次判断是否满足特定条件,如果是,则将几何体加入到最终的结果列表中。步骤32、返回最终结果列表。方法六具体包括以下步骤15步骤40、根据图层标识、不规则图形范围、标志位,计算在所述不规则图形范围内的几何体。步骤41、对从步骤40中得到的几何体,依次判断是否满足特定条件,如果是,则将几何体加入到最终的结果列表中。步骤42、返回最终结构列表。20下面结合具体实施例进一步阐述。图2所示的是一个原始Shapefile文件内的图层,里面一共16个几何体,假如该原始shapefile文件的名字是example.shp。现在将这个图层存入系统中。首先将图层分成22x22个区域。25然后,对每个区域进行编码,编码后的结果如图4(C)所示。将几何体进行派分。派分的结果如表1所示表1几何体派分结果表<table>tableseeoriginaldocumentpage14</column></row><table>10<table>tableseeoriginaldocumentpage15</column></row><table>将各个几何体存入相应文件,其中文件名是"example—"加上相应编号,如表2所示表2几何体及相应文件表<table>tableseeoriginaldocumentpage15</column></row><table>5最后将上述所有文件存入到分布式文件系统中后,可以查询其中几何体的属性,现在结合该例描述查询过程。假如需要查询的区域如图5中的虚线所示的矩形,查询包含在矩形中的所有几何体。具体查询过程如下系统先找到图层,读取该图层的划分信息。找到矩形的4个顶点所在区域的编号,分别为03,13,23,33。确定10两个文件列表file_listl和filejist2。其中file—listl包括的文件为Example—30.shp,file—list2包4舌的文"f牛为Example—03.shp、Example—0.shp、Example—12.shp、Example_13.shp、Example—1.shp、Example—21.shp、Example一23.shp、Example—2.shp、Example—31.shp、Example_32.shp、Example—33.shp、Example—3.shp、Example—Root.shp。文件列表中的文件15有可能不存在,不存在的文件在处理的过程中被跳过。将file—listl中的文件中的所有几4可体加入到结果集中,在本例中,file—listl中的文件Example—30.shp不存在;对file—list2中的文件中的几何体,将逐一读出,并且和矩形进行包含判断,如果几何体被包含在矩形中,就将该几何体加入到结果集中。最终的结果集为8、10、15、16。20下面说明应用本发明和应用现有的空间数据库对比测试的结果。测试的环境是一台DellSC430服务器,Pentuim4CPU,频率是2.8GHz,2GBDDR内存,80GB硬盘。软件环境为ReadHatAS4.4操作系统,内核版本为2.6.20。空间数据库环境为PostgreSQL8丄7,安装了空间插件PostGIS1.7。测试的li:据集为95个Shapefile文件,测试主要分为两个部分,入库操作和筒单查询操作。5图6示出了对95个文件执行入库操作,矢量数据关系系统和PostgreSQL数据库所需时间的对比。从图中可以看出,PostgreSQL在执行95个文件入库操作所需的时间为41.378秒,而将所有的文件分为4x4份再存入到矢量数据管理系统中,所花费的总时间16.2630秒,PostgreSQL数据库所需的时间是矢量数据管理系统的2.54倍。io图6中还示出了对已经入库的数据集执行5000条简单查询所需时间对比。从时间上来看,PostgreSQL进行这些查询需要132.056秒,而矢量数据管理系统执行这些查询只需要78.61秒,PostgreSQL所花的时间是矢量数据管理系统的1.68倍。应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神15和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。权利要求1.一种矢量数据的存储方法,包括下列步骤11)将原始shapefile文件的图层进行区域划分;12)将所述划分的区域进行编码;13)将所述原始shapefile文件的图层中的几何体根据所属区域的编码进行派分;14)将派分到相同编号的所述图层中的几何体的集合存储为一个文件;15)根据所述存储的文件,生成配置文件,用于记录图层的基本信息。2.根据权利要求1所述的方法,其特征在于,所述原始shapefile文件的大小大于阈值。3.根据权利要求2所述的方法,其特征在于,所述阈值大于或等于1M字节。4.根据权利要求1或2所述的方法,其特征在于,所述步骤12)包15括下列步骤21)在X轴和Y轴上,分别给所述划分的区域赋值Xi和Yj;22)组合所述Xi和Yj,计算所述区域的编码。5.根据权利要求4所述的方法,其特征在于,所述步骤21)的Xi和Yj均为二进制值,且Xi二Xi,^Xi,n-2…Xi,0,Yj:yj,n-iyj,n-..yj,o,其中x和y分20别表示X和Y的每位的值,n是所述原始shapefile文件的图层在X轴方向和Y轴方向#皮划分的份数;所述步骤22)进一步包括221)对于所述Xi和Yj,根据公式V『y,iXi,^…yj,oXi,o计算Vij;222)将所述Vij用十进制表示,根据VFf(yj,^Xi,n-Odec…(yj,oX^)dec计25算所述区域的编码。6.根据权利要求1或2所述的方法,其特征在于,所述步骤13)包括下列步骤31)读取所述图层中的几何体,获得所述几何体的最小外包矩形;32)将所述最小外包矩形的每个顶点所在的区域的编码作为所述最小30外包矩形的每个顶点的编码;33)比较所述顶点的编码,从左到右按位扫描,找到第一个值不相等的位k,如果;^1则此几何体被派分的编号为aa2…a^;34)如果*=1,则此几何体被派分的编号为"root"。7.根据权利要求1或2所述的方法,其特征在于,所述步骤15)的所述图层的基本信息包括所述图层的名字,所述图层的最小外包矩形,5所述几何体的类型,所述几何体的总数目,所述原始shapefile文件的图层的划分信息。8.根据权利要求1或2所述的方法,其特征在于,如果矢量数据的文件不是shapefile格式而是其它格式,则所述步骤ll)还包括将所述矢量数据的文件转为所述原始shapefile文件。9.—种管理根据权利要求1所述的方法存储的矢量数据的系统,包括面向用户的GIS界面、文件系统和空间数据管理系统所述面向用户的GIS界面,用于提供访问GIS数据的接口和界面;所述文件系统,用于存储shapefile文件和读取所述shapefile文件的图层中的几何体,并且根据查询条件判断所述几何体与矩形范围的关系,根15据所述图层的划分信息计算在所述查询范围内的几何体,并返回给所述空间数据管理系统,其中所述shapefile文件包括对原始shapefile文件的图层进行区域划分所得到的所述相同编号的几何体;空间数据管理系统,用于根据图层标识读取所述图层的划分信息,判断所述几何体与不规则图形范围的关系,将所述存储节点返回的几何体传20输给所述面向用户的GIS界面。10.根据权利要求9所述的系统,其特征在于,所述文件系统是分布式文件系统。11.根据权利要求9或IO所述的系统,其特征在于,所述文件系统安装在存储节点中,所述空间数据管理系统安装在计算节点中。12.根据权利要求11所述的系统,其特征在于,至少有两个存储节点。13.—种查询根据权利要求1所述的方法存储的矢量数据的方法,其特征在于,根据图层标识查询所述图层的基本信息。14.一种查询根据权利要求1所述的方法存储的矢量数据的方法,其特征在于,根据图层标识和几何体的标识查询所述几何体的信息。15.—种查询根据权利要求1所述的方法存储的矢量数据的方法,其特征在于,根据图层标识、矩形范围和标志位查询所述矩形范围内所有几何体,其中所述标志位标识所述所查询的几何体是被所述矩形范围全部包含或部分包含。16.根据权利要求15所述的查询方法,其特征在于,包括下列步骤21)根据所述图层标识找到相应的配置文件;22)从所述相应的配置文件中读取所述图层的划分信息;523)根据所述矩形范围以及所述图层的划分信息,生成两个文件列表file—listl和filejist2,其中,所述文件列表内文件内的几何体所涉及的区域与所述矩形范围有共同部分,且filejistl中的文件中的几何体都包含在矩形中;24)读取filejistl中的文件,将所有几何体加入到结果列表中;读io取file—list2中的文件,判断所述filejist2中的几何体是否和所述矩形范围有共同的部分,如果是,将所述几何体加入结果列表;25)返回所述结果列表。17.—种查询根据权利要求1所述的方法存储的矢量数据的方法,其特征在于,根据图层标识、不规则图形范围和标志位,查询所述不规则图形内所有的几何体,其中所述标志位标识所述所查询的几何体被所述不规则图形全部包含或部分包含。18.根据权利要求17所述的方法,其特征在于,包括下列步骤31)计算所述不规则图形的外切矩形;32)根据所述外切矩形、图层标识和标志位,计算所述外切矩形内的20几何体;33)判断所述外切矩形内的几何体是否至少存在一部分在所述不规则图形范围内,如果是,则加入结果列表;34)返回所述结果列表。19.一种查询根据权利要求1所述的方法存储的矢量数据的方法,其25特征在于,根据图层标识、矩形范围、标志位和特定条件,查询该矩形范围内满足条件的所有的几何体,其中所述标志位标识所查询的几何体是被矩形范围全部包含或部分包含。20.根据权利要求19所述的方法,其特征在于,包括下列步骤41)根据所述图层标识、所述矩形范围、所述标志位,计算在所述矩30形范围内的几何体;42)判断所述步骤41)获得的几何体是否满足所述特定条件,如果是,则将所述几何体加入结果列表;43)返回所述结果列表。21.—种查询根据权利要求1所述的方法存储的矢量数据的方法,其特征在于,根据图层标识、不规则图形范围、标志位和特定条件,查询所述不规则图形范围内所有的几何体,其中该标志位标识所查询的几何体是5被不规则图形范围全部包含或部分包含。22.根据权利要求21所述的方法,其特征在于,包括下列步骤51)根据图层标识、不规则图形范围、标志位,计算在所述不规则图形范围内的几何体;52)判断步骤51)获得的几何体是否满足所述特定条件,如果是,则io将几何体加入结果列表;53)返回所述结果列表。全文摘要本发明提供一种矢量数据的存储方法,以及对根据此方法存储的矢量数据进行查询的方法和相应的管理系统。其中该存储方法具体包括下列步骤11)将原始shapefile文件的图层进行区域划分;12)将所述划分的区域进行编码;13)将原始shapefile文件的所述图层中的几何体根据所属区域的编码进行派分;14)将派分到相同编号的所述图层中的几何体的集合存储为一个文件;15)根据所述存储的文件,生成配置文件,用于记录图层的基本信息。本发明简化了系统实现,在保证基本功能的同时,抛弃了数据库中的冗余功能,弱化了事务语义,节省了系统资源,提高系统性能。文档编号G06F17/30GK101324896SQ20081011714公开日2008年12月17日申请日期2008年7月24日优先权日2008年7月24日发明者刘旭辉,张书彬,楠王,劲贺,韩冀中,韩承德申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1