一种海量国土空间矢量数据管理方法及系统与流程

未命名 08-05 阅读:77 评论:0


1.本发明涉及国土空间数据处理领域,尤其涉及一种海量国土空间矢量数据管理方法及系统。


背景技术:

2.在国土空间数据处理中,数据来源种类多(如:shp、gdb、geojson等),数据处理量非常大。如图1所示,国土空间数据一般可分为矢量数据、栅格数据和三维数据,其中,矢量数据又包含空间数据和属性数据。现有技术中对国土空间数据的处理中,主要依赖arcgis或supermap等外部软件,基于人工操作进行数据导入管理,并采用关系数据库进行存储,一般是直接采用关系数据库提供的几何字段类型将矢量数据统一存储在关系数据库中,矢量数据中空间数据和属性数据都同时存在空间数据库中。当采用这种处理模式时,如果矢量数据中包含大量的地理目标,利用关系数据库存储时形成的表数量会极度膨胀,如导入的文件中包含有多个图层时(如gdb数据文件),会在空间数据库中产生多个数据表,每个数据表对应一个图层,因此,极易造成空间数据库表数量的膨胀,严重增加数据库管理员的运维管理难度,而且,受关系型数据库的索引检索机制的限制,在进行矢量数据的存储和查询时,非常费时,并影响效率,不利于系统的查询和维护。
3.并且,在传统的空间数据库中,单一的存储方式不能满足大数据高并发甚至高时效的应用要求。在互联网应用场景中,采用文档数据库来解决数据列的动态扩展问题已经得到了应用,但在空间数据存储,查询尤其还是空间分析上性能尚比较弱,不足以支撑高性能的复杂空间分析。传统关系型数据库和文档数据库都需要基于索引来进行查询加速,而这两种模式的索引建立模型依赖于固定的数据列,对于动态列支持能力差,不适合在大数据场景中对国土空间的矢量数据进行数据挖掘及海量属性信息的高效检索。


技术实现要素:

4.本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种可有效减少国土空间矢量数据处理中数据库中表对象的数量,降低数据库运维管理难度的海量国土空间矢量数据管理方法及系统。
5.为解决上述技术问题,本发明提出的技术方案为:一种海量国土空间矢量数据管理方法,将待存储的国土空间矢量数据进行识别处理,得到空间数据和属性数据,并建立所述空间数据与属性数据之间的第一映射关联关系;将所述空间数据和所述属性数据分离存储,所述空间数据存储至空间数据库,所述属性数据存储至属性数据库。
6.进一步地,在所述识别处理中,包括:将待存储的国土空间矢量数据识别,得到空间数据和属性数据;对所述空间数据进行格式转换,得到具有统一格式类型的空间数据;将所述属性数据进行解析为属性列表数据和属性列元数据,并建立所述属性列表数据和所述属性列元数据之间的第二映射关联关系。
7.进一步地,还包括将所述属性列表数据和所述属性列元数据进行键值分离存储。
8.进一步地,还包括将所述属性列表数据进行序列化处理,并将序列化处理后的属性列表数据接入搜索引擎。
9.进一步地,还包括:对所述空间数据进行检索,并根据所述第一映射关联关系得到对应的属性数据;
10.或者:
11.对所述属性列表数据进行检索,并根据所述第一映射关联关系得到对应的空间数据,根据所述第二映射关联关系得到对应的属性列元数据。
12.一种海量国土空间矢量数据管理系统,包括数据存储模块:用于将待存储的国土空间矢量数据进行识别处理,得到空间数据和属性数据,并建立所述空间数据与属性数据之间的第一映射关联关系;将所述空间数据和所述属性数据分离存储,所述空间数据存储至空间数据库,所述属性数据存储至属性数据库。
13.进一步地,在所述数据存储模块的识别处理中,包括:将待存储的国土空间矢量数据识别,得到空间数据和属性数据;对所述空间数据进行格式转换,得到具有统一格式类型的空间数据;将所述属性数据进行解析为属性列表数据和属性列元数据,并建立所述属性列表数据和所述属性列元数据之间的第二映射关联关系。
14.进一步地,还包括将所述属性列表数据和所述属性列元数据进行键值分离存储。
15.进一步地,还包括将所述属性列表数据进行序列化处理,并将序列化处理后的属性列表数据接入搜索引擎。
16.进一步地,还包括数据检索模块:用于对所述空间数据进行检索,并根据所述第一映射关联关系得到对应的属性数据;
17.或者:
18.对所述属性列表数据进行检索,并根据所述第一映射关联关系得到对应的空间数据,根据所述第二映射关联关系得到对应的属性列元数据。
19.与现有技术相比,本发明的优点在于:
20.1、本发明通过将国土空间数据识别解析为空间数据和属性数据,将空间数据和属性数据进行分离存储,可以有效降低数据库中表对象的数量,降低数据库的复杂度,同时也降低了空间数据库的运维管理难度。
21.2、本发明在将空间数据和属性数据进行分离存储的同时,建立空间数据与属性数据之间的映射关联关系,可以方便的实现基于空间数据或属性数据其中之一查询检索并通过映射关联关系查询到对应的属性数据或空间数据;既可以充分利用空间数据库的空间分析与处理能力,大幅提高空间数据库属性信息的查询性能,又可以充分利用属性数据序列化后接入搜索引擎的搜索处理能力,提高对矢量数据的查询性能、以及对矢量数据的挖掘处理能力。
22.3、本发明通过将空间数据与属性数据分享,并将属性数据存储到采用文档型数据库的属性数据库中,从而解决了空间属性表中属性字段的动态管理功能,解决了关系型数据库中需要固化数据列的问题。
附图说明
23.图1为国土空间数据组成类型示意图。
24.图2为本发明具体实施例的流程示意图。
25.图3为本发明具体实施例的矢量数据对象构成示意图。
26.图4为本发明具体实施例的数据检索流程示意图。
具体实施方式
27.以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
28.本实施例中,如图2所示,一种海量国土空间矢量数据管理方法,将待存储的国土空间矢量数据进行识别处理,得到空间数据和属性数据,并建立空间数据与属性数据之间的第一映射关联关系;将空间数据和属性数据分离存储,空间数据存储至空间数据库,矢量数据存储至属性数据库。在本实施例中,空间数据库采用关系型数据库,属性数据库采用文档型数据库。国土空间数据的格式、规范多样,如gdb、shapfile、geojson等等,并且文件数据量大,单个文件通常超过gb字节,具有时空信息数据多而杂的特性。
29.在本实施例的识别处理中,包括:将待存储的国土空间矢量数据识别,得到空间数据和属性数据;对空间数据进行格式转换,得到具有统一格式类型的空间数据;将属性数据进行解析为属性列表数据和属性列元数据,并建立属性列表数据和属性列元数据之间的第二映射关联关系。
30.在本实施例中,还包括将属性列表数据和属性列元数据进行键值分离存储。还包括将属性列表数据进行序列化处理,并将序列化处理后的属性列表数据接入搜索引擎。
31.在本实施例中,还包括对数据的检索查询,如图4所示:对空间数据进行检索,并根据第一映射关联关系得到对应的属性数据;或者:对属性列表数据进行检索,并根据第一映射关联关系得到对应的空间数据,根据第二映射关联关系得到对应的属性列元数据。
32.在本实施例中,具体地,优选通过dgal工具对多源国土空间矢量数据进行识别,并按照空间数据和属性数据进行解析,生成统一数据格式类型的空间数据和属性数据,其中,空间数据具体包括空间信息和空间参考信息等,属性数据具体包括属性列表信息、属性列元数据信息等。更具体地,优选采用gdal的桥接模式进行多源数据解析,如采用openfilegdb驱动解析gdb数据,pgeo驱动解析mdb数据,esri shapefile驱动解析shapfile数据,geojson驱动解析geojson数据。需要说明的是,除了采用dgal工具外,当然也可以采用其它的工具对国土空间数据进行识别处理,并且,具体的解析内容,是与具体的文件规范相适应的,并不因本实施例所例举的内容而限制本专利的保护范围。比如,如图3所示,根据ogr标准规范,其中的矢量数据一般包含以下类,如图3所示:geometry:类geometry(包括ogrgeometry等类)封装了opengis的矢量数据模型,wkb(well knows binary)和wkt(well known text)格式之间的相互转换,以及空间参考系统(投影);spatial reference:类ogrspatialreference封装了投影和基准面的定义;feature:类ogrfeature封装了一个完整feature的定义,一个完整的feature包括一个geometry和geometry的一系列属性;feature definition:类ogrfeaturedefn里面封装了feature的属性,类型、名称及其默认的空间参考系统等,一个ogrfeaturedefn对象通常与一个层(layer)对应;layer:类ogrlayer是一个抽象基类,表示数据源类ogrdatasource里面的一层要素(feature)。具体地,在对矢量数据的抽取、映射中,采用gdal库完成对数据的解析,首先根据本地待处理文
件后缀信息进行筛选分类,根据不同的文件加载不同的驱动类,通过gdal根据本地数据路径创建数据源datasource,再通过遍历所有图层,datasource.getlayer(index)获取到图层对象layer,每个layer对应一个spatialreference信息(常见有4326,以及4490)。每个layer会有多个featuredefn和多个feature。矢量数据文件可以描述成以下格式,datasource={《o1.layer》《o2.layer》

《on.layer》},其中:oi.layer={《o1.spatialreference,o1.featuredefn:[feature的属性,类型、名称],o1.feature:[feature的属性数据,空间数据]》《o2.spatialreference,o2.featuredefn:[feature的属性,类型、名称],o2.feature:[feature的属性数据,空间数据]》

《on.spatialreference,on.featuredefn:[feature的属性,类型、名称],on.feature:[feature]》},oi.featuredefn={《o1.name,o1.width,o1.isnullable,o1.precesion,o1.alternativename,o1.default》,

《on.name,on.width,on.isnullable,on.precesion,on.alternativename,on.default》},o1.feature={《o1.id,o1.geometry,o1.attribute》《o2.id,o2.geometry,o2.attribute》

《on.id,on.geometry,on.attribute》}。以上信息使用gdal库读取后,将空间数据和属性数据进行分离,在分离的同时进行关系关联映射绑定。在完成国土空间矢量数据的识别解析,得到空间数据和属性数据后,将矢量数据中的空间数据全部以geometry的方式存储在空间数据库中,空间数据库优选采用关系型数据库,在空间数据库中创建业务表,包含geometry字段、业务id、表主键列。进一步地,考虑到数据量的规模,还可以基于不同的策略(比如时间范围、行政区划范围、geohash等)进行分库集群,在满足空间数据存储的同时,也能满足空间数据的高效检索。在本实施例的具体处理中,对矢量数据的识别处理时,先从featuredefn中读取对应图层属性列的名称、别名、数据长度、数据格式、是否为空、数据精度、默认值等等信息,这些元数据在对系统对数据展示或者共享时,提供元数据字典支持。同时feature中除空间数据以外,其它的属性表信息全部生成json,最后将上述两种信息保存到属性数据库中,属性数据库为文档型数据库。在查询时首先根据映射关系找到对应的属性数据中的数据属性列表数据信息,再根据映射关系读取并展示相应的属性列元信息。需要说明的是,也可以根据映射关系先找到属性列元数据,再根据映射关系找到属性列表数据,并进行展示。考虑到海量数据的存储压力,可以对属性数据库进行分表存储。进一步地,还可以将以json的形式存储到高效搜索引擎中,比如elasticsearch(以下简称:es)中,通过es构建高速全文检索,将属性数据全部存储es中,可以基于es提供快速的数据挖掘能力。在数据管理过程中,如果属性数据库中的属性列表信息发生变更的,会通过消息通知的方式及时通知es来达到数据同步一致性的要求。
[0033]
在本实施例中,通过对国土空间矢量数据的识别解析,将空间数据和属性数据分离存储,还可以根据相应数据的特点,将属性数据中的属性列表数据加载到搜索引擎,以实现高效的查询检索。并且,通过建立空间数据和属性数据两者之间的映射关系,在进行检索查询时,可以灵活的支持基于空间数据的检索和基于属性数据的检索,并通过映射关系检索到对应的属性数据和空间数据。
[0034]
一种海量国土空间矢量数据管理系统,包括数据存储模块:用于将待存储的国土空间矢量数据进行识别处理,得到空间数据和属性数据,并建立空间数据与属性数据之间的第一映射关联关系;将空间数据和属性数据分离存储,空间数据存储至空间数据库,属性
数据存储至属性数据库。
[0035]
在本实施例中,在数据存储模块的识别处理中,包括:将待存储的国土空间矢量数据识别,得到空间数据和属性数据;对空间数据进行格式转换,得到具有统一格式类型的空间数据;将属性数据进行解析为属性列表数据和属性列元数据,并建立属性列表数据和属性列元数据之间的第二映射关联关系。
[0036]
在本实施例中,还包括将属性列表数据和属性列元数据进行键值分离存储。进一步地,还包括将属性列表数据进行序列化处理,并将序列化处理后的属性列表数据接入搜索引擎。
[0037]
在本实施例中,还包括数据检索模块:用于对空间数据进行检索,并根据第一映射关联关系得到对应的属性数据;或者:对属性列表数据进行检索,并根据第一映射关联关系得到对应的空间数据,根据第二映射关联关系得到对应的属性列元数据。
[0038]
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

技术特征:
1.一种海量国土空间矢量数据管理方法,其特征在于:将待存储的国土空间矢量数据进行识别处理,得到空间数据和属性数据,并建立所述空间数据与属性数据之间的第一映射关联关系;将所述空间数据和所述属性数据分离存储,所述空间数据存储至空间数据库,所述属性数据存储至属性数据库。2.根据权利要求1所述的海量国土空间矢量数据管理方法,其特征在于:在所述识别处理中,包括:将待存储的国土空间矢量数据识别,得到空间数据和属性数据;对所述空间数据进行格式转换,得到具有统一格式类型的空间数据;将所述属性数据进行解析为属性列表数据和属性列元数据,并建立所述属性列表数据和所述属性列元数据之间的第二映射关联关系。3.根据权利要求2所述的海量国土空间矢量数据管理方法,其特征在于:还包括将所述属性列表数据和所述属性列元数据进行键值分离存储。4.根据权利要求3所述的海量国土空间矢量数据管理方法,其特征在于:还包括将所述属性列表数据进行序列化处理,并将序列化处理后的属性列表数据接入搜索引擎。5.根据权利要求4所述的海量国土空间矢量数据管理方法,其特征在于:还包括:对所述空间数据进行检索,并根据所述第一映射关联关系得到对应的属性数据;或者:对所述属性列表数据进行检索,并根据所述第一映射关联关系得到对应的空间数据,根据所述第二映射关联关系得到对应的属性列元数据。6.一种海量国土空间矢量数据管理系统,其特征在于:包括数据存储模块:用于将待存储的国土空间矢量数据进行识别处理,得到空间数据和属性数据,并建立所述空间数据与属性数据之间的第一映射关联关系;将所述空间数据和所述属性数据分离存储,所述空间数据存储至空间数据库,所述属性数据存储至属性数据库。7.根据权利要求6所述的海量国土空间矢量数据管理系统,其特征在于:在所述数据存储模块的识别处理中,包括:将待存储的国土空间矢量数据识别,得到空间数据和属性数据;对所述空间数据进行格式转换,得到具有统一格式类型的空间数据;将所述属性数据进行解析为属性列表数据和属性列元数据,并建立所述属性列表数据和所述属性列元数据之间的第二映射关联关系。8.根据权利要求7所述的海量国土空间矢量数据管理系统,其特征在于:还包括将所述属性列表数据和所述属性列元数据进行键值分离存储。9.根据权利要求8所述的海量国土空间矢量数据管理系统,其特征在于:还包括将所述属性列表数据进行序列化处理,并将序列化处理后的属性列表数据接入搜索引擎。10.根据权利要求9所述的海量国土空间矢量数据管理系统,其特征在于:还包括数据检索模块:用于对所述空间数据进行检索,并根据所述第一映射关联关系得到对应的属性数据;或者:对所述属性列表数据进行检索,并根据所述第一映射关联关系得到对应的空间数据,根据所述第二映射关联关系得到对应的属性列元数据。

技术总结
本发明涉及一种海量国土空间矢量数据管理方法及系统,方法包括:将待存储的国土空间数据进行识别处理,得到空间数据和矢量数据,并建立所述空间数据与矢量数据之间的第一映射关联关系;将所述空间数据和所述矢量数据分离存储,所述空间数据存储至空间数据库,所述矢量数据存储至属性数据库。具有可有效减少国土空间数据处理中数据库中表对象的数量,降低数据库运维管理难度等优点。数据库运维管理难度等优点。数据库运维管理难度等优点。


技术研发人员:吴祖湖 文宁 秦晓莉 范琰 朱莉莉 黄锦凤 李倩 李艳华 钟赣南 周宇阳 李珺
受保护的技术使用者:湖南省国土资源规划院
技术研发日:2023.03.30
技术公布日:2023/8/4
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐