一种基于ElasticSearch的分布式搜索空间矢量数据的方法与流程
未命名
07-14
阅读:89
评论:0
一种基于elastic search的分布式搜索空间矢量数据的方法
技术领域
1.本发明涉及大数据和空间矢量技术领域,尤其涉及一种基于elastic search的分布式搜索空间矢量数据的方法。
背景技术:
2.目前,大数据和云计算技术日渐成为发展的趋势,传统的空间数据的存储使用发展已经远远不能满足某些领域的需求,当前主流的空间数据的存储使用文件存储或者对象存储的方式,而当对海量空间数据的分析使用原有的技术无法满足要求,数据量越大,搜索结果执行效率越低。
3.通过将大数据技术和空间矢量技术两者技术的结合,优势互补。
技术实现要素:
4.为了克服现有的单纯使用矢量空间数据服务搜索数据效率低下的问题,本发明提供了一种基于elastic search的分布式搜索空间矢量数据的方法。结合elastic search的快速搜索和hbas的存储方式,将空间数据和服务重新组合存储,不仅能对空间数据属性进行快速检索,而且能使用空间数据展示技术对数据服务进行图上展现定位。
5.本发明的技术方案是:
6.一种基于elastic search的分布式搜索空间矢量数据的方法,基于空间矢量数据服务和elastic search数据建模,快速检索空间数据属性信息,找出大量空间矢量数据图层中与关键词相关的数据,并可基于结果分析出矢量数据之间的关联关系。
7.进一步的
8.所述的空间数据包括:高程线数据、shp数据、mdb数据以及gdb数据。规定了高程线的字段与高程字段之间的对应关系。
9.所述的数据建模方法:将空间矢量数据入库到大数据库中,在入库时将数据服务地址与属性关联挂接,在检索到相关数据时能够同时获取到服务地址,达到空间数据可视化效果。
10.进一步的
11.所述的elasticsearch分词库设置的方法是:“extra_address.dic”为添加的分词内容,同一级别目录下放置extra_address.dic,这里添加的是路名等词语。重启es,测试分词,是否成功。新建索引index,index后不可有多个type,所以index在这里对应数据表,默认type为_doc。查看index当前总数,以判断index是否构建完成。
12.再进一步的,
13.将空间矢量数据抽取到hbas中,在抽取过程中对每一条数据额外添加属性和key值,说明该条矢量数据的名称、服务地址,并将点、线、面的空间属性转换为wkt字符串,存储到属性中,同时在存储是依据矢量数据的人工分类,划分为片,在搜索时,采用elastic search自身的属性检索功能,将需要的相关的关键字结果搜索出来,调用空间分析的服务
接口,对搜索结果的服务加载并在地图上展现和定位。
14.进行全文检索,查询需要搜索的空间数据,并将返回的空间数据在地图中进行可视化渲染展示,实现海量数据快速检索的目的。
15.本发明的有益效果是
16.传统的对空间数据搜索只能对单一图层的数据进行搜索,且对于大数据量的图层检索效率极低,无法满足大数据快速检索的需求,本方法基于elastic search但在其之上,将数据通过建模组织,可以快速搜索出与关键词相关的空间数据,并能对空间数据之间的关联进行分析,对国土领域的空间数据的全生命周期进行分析管理,挖掘有用信息提供给决策者。
附图说明
17.图1是本发明的工作架构示意图;
18.图2是本发明的工作流程示意图。
具体实施方式
19.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明提供了一种基于elastic search的分布式搜索空间矢量数据的方法,基于hadoop、kudu、hbase和zookeeper实现的,能够对空间数据进行快速的查询获取,并能够对空间数据进行地图展现和空间定位,以满足空间数据快速获取的需求。
21.将空间矢量数据抽取到hbas中,在抽取过程中对每一条数据额外添加属性和key值,说明该条矢量数据的名称、服务地址,并将点、线、面的空间属性转换为wkt字符串,存储到属性中,同时在存储是依据矢量数据的人工分类,划分为片,在搜索时,采用elastic search自身的属性检索功能,将需要的相关的关键字结果搜索出来,调用空间分析的服务接口,对搜索结果的服务加载并在地图上展现和定位。下面会对具体的步骤进行详细说明:
22.1)搭建hadoop环境
23.准备奇数台linux系统服务器,网络设置在同一局域网内,修改其修改hostname,关闭所有服务器的防火墙,关闭所有机器的selinux,安装java jdk并设置环境变量。hadoop本地模式部署,运行验证mapreduce程序,配置、格式化、启动hdfs,配置、启动yarn,运行mapreduce job。
24.2)搭建elasticsearch环境
25.下载elasticsearch安装包和ik分词器安装包版本要是匹配的,安装java jdk环境,解压安装elasticsearch和ik分词器,配置elasticsearch,安装node.js,下载并配置elasticsearch-head,安装grunt环境。
26.3)数据格式
27.在系统中的“数据格式”选择包括空间数据通用数据格式shp格式,有一定数据量限制的mdb数据格式,还有没有数据量限制的gdb数据格式。
28.shp数据格式:shp全称“esri shapefile”,是美国环境系统研究所公司开发的一种空间数据开放格式,是一种矢量图形格式,该格式文件主要用于描述几何体对象(点,折线与多边形),能够保存几何图形的位置及相关属性。
29.shapefile文件指的是一种文件存储的方法,实际上该种文件格式是由多个文件组成的。其中,要组成一个shapefile,有三个文件是必不可少的,它们分别是".shp",".shx"与".dbf"文件。表示同一数据的一组文件其文件名前缀应该相同。例如,存储一个关于湖的几何与属性数据,就必须有lake.shp,lake.shx与lake.dbf三个文件。而其中“真正”的shapefile的后缀为shp,然而仅有这个文件数据是不完整的,必须要把其他两个附带上才能构成一组完整的地理数据。除了这三个必须的文件以外,还有八个可选的文件,使用它们可以增强空间数据的表达能力。所有的文件名都必须遵循ms dos的8.3文件名标准(文件前缀名8个字符,后缀名3个字符,如shapefile.shp),以方便与一些老的应用程序保持兼容性,尽管现在许多新的程序都能够支持长文件名。此外,所有的文件都必须位于同一个目录之中。
30.shapefile文件中必须的文件:
31.·
.shp—图形格式,用于保存元素的几何实体;
32.·
.shx—图形索引格式。几何体位置索引,记录每一个几何体在shp文件之中的位置,能够加快向前或向后搜索一个几何体的效率;
33.·
.dbf—属性数据格式,以dbase iii+的数据表格式存储每个几何形状的属性数据。
34.其他可选的文件:
35.·
.prj—投帧式,用于保存地理坐标系统与投影信息,是一个存储well-knowntext投影描述符的文本文件;
36.·
.sbn and.sbx—几何体的空间索引;
37.·
.fbn and.fbx—只读的shapefiles的几何体的空间索引;
38.·
.ain and.aih—列表中活动字段的属性索引;
39.·
.ixs—可读写shapefile文件的地理编码索引;
40.·
.mxs—可读写shapefile文件的地理编码索引(odb格式);
41.·
.atx—.dbf文件的属性索引,其文件名格式为shapefile.columnname.atx(arcgis 8及之后的版本);
42.·
.shp.xml—以xml格式保存元数据;
43.·
.cpg—用于描述.dbf文件的代码页,指明其使用的字符编码。
44.在每个.shp,.shx与.dbf文件之中,图形在每个文件的排序是一致的。也就是说,.shp的第一条记录与.shx及.dbf之中的第一条记录相对应,如此类推。此外,在.shp与.shx之中,有许多字段的字节序是不一样的。因此用户在编写读取这些文件格式的程序时,必须十分小心地处理不同文件的不同字节序。shapefile通常以x与y的方式来处理地理坐标,一般x对应经度,y对应纬度,用户必须注意x,y的顺序。
45.mdb数据格式:mdb(message driven bean)mdb也是ejb中消息驱动bean的简称,messagedrivenbean(mdb)。mdb(microsoft database)格式是microsoft access软件使用的一种存储格式,因其对数据操作的方便性,常用在一些中小型程序中。
46.gdb数据格式:文件地理数据库(file geodatabase)数据后缀表达为.gdb,整体组织为文件夹,可以存储、查询和管理空间数据和非空间数据。在不使用dbms的情况下能够扩展并存储大量数据。文件地理数据库可同时有多个用户使用,但一个数据只能有一个用户编辑。因此,一个文件地理数据库可以由多个编辑者访问,但必须编辑不同的数据。
47.4)空间数据存储到hbase
48.创建数据库testtiff,需要hbase正在使用的zookeeper服务器,添加索引tiffindex到数据库testtiff,坐标参考系统为epsg:3857,将空间数据数据从本地注入键/值数据库,格式为geotools-raster,将一个空间数据库testtiff作为数据源添加进hbase,命名为tiffdata。
49.5)elasticsearch分词库设置
50.安装ik分词后,修改文件“ikanalyzer.cfg.xml”,“extra_address.dic”为添加的分词内容,同一级别目录下放置extra_address.dic,这里添加的是路名等词语。
51.重启es,测试分词,是否成功。新建索引index,index后不可有多个type,所以index在这里对应数据表,默认type为_doc。
52.查看index当前总数,以判断index是否构建完成。
[0053][0054]
6)全文检索
[0055]
进行全文检索,查询需要搜索的空间数据,并将返回的空间数据在地图中进行可视化渲染展示,实现海量数据快速检索的目的。
[0056]
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,
均包含在本发明的保护范围内。
技术特征:
1.一种基于elastic search的分布式搜索空间矢量数据的方法,其特征在于,结合elastic search的搜索和hbas的存储方式,将空间数据和服务重新组合存储,对空间数据属性进行检索,使用空间数据展示技术对数据服务进行图上展现定位。2.根据权利要求1所述的方法,其特征在于,基于空间矢量数据服务和elastic search数据建模,检索空间数据属性信息,找出空间矢量数据图层中与关键词相关的数据,并基于结果分析出矢量数据之间的关联关系。3.根据权利要求2所述的方法,其特征在于,空间数据包括:高程线数据、shp数据、mdb数据以及gdb数据;规定了高程线的字段与高程字段之间的对应关系。4.根据权利要求3所述的方法,其特征在于,所述数据建模:将空间矢量数据入库到大数据库中,在入库时将数据服务地址与属性关联挂接,在检索到相关数据时能够同时获取到服务地址,达到空间数据可视化效果。5.根据权利要求3所述的方法,其特征在于,创建数据库testtiff,hbase正在使用的zookeeper服务器,添加索引tiffindex到数据库testtiff,将空间数据数据从本地注入键/值数据库,格式为geotools-raster,将一个空间数据库testtiff作为数据源添加进hbase,命名为tiffdata。6.根据权利要求4或5所述的方法,其特征在于,所述的elasticsearch分词库设置的方法是:“extra_address.dic”为添加的分词内容,同一级别目录下放置extra_address.dic,这里添加的是路名词语。重启es,测试分词,是否成功;新建索引index,index在这里对应数据表,默认type为_doc;查看index当前总数,以判断index是否构建完成。7.根据权利要求6所述的方法,其特征在于,将空间矢量数据抽取到hbas中,在抽取过程中对每一条数据额外添加属性和key值,说明该条矢量数据的名称、服务地址,并将点、线、面的空间属性转换为wkt字符串,存储到属性中,同时在存储是依据矢量数据的人工分类,划分为片,在搜索时,采用elastic search自身的属性检索功能,将需要的相关的关键字结果搜索出来,调用空间分析的服务接口,对搜索结果的服务加载并在地图上展现和定位。8.根据权利要求7所述的方法,其特征在于,进行全文检索,查询需要搜索的空间数据,并将返回的空间数据在地图中进行可视化渲染展示,实现海量数据快速检索的目的。
技术总结
本发明提供一种基于Elastic Search的分布式搜索空间矢量数据的方法,属于大数据和空间矢量技术领域,本发明结合Elastic Search的快速搜索和HBas的存储方式,将空间数据和服务重新组合存储,不仅能对空间数据属性进行快速检索,而且能使用空间数据展示技术对数据服务进行图上展现定位。进行图上展现定位。进行图上展现定位。
技术研发人员:郭振
受保护的技术使用者:山东浪潮新基建科技有限公司
技术研发日:2023.03.24
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
