一种面向复杂空间数据的搜索与展示方法与流程

文档序号:14940963发布日期:2018-07-13 20:45阅读:243来源:国知局

本发明涉及到数据的搜索展示技术领域,具体地说,是一种面向复杂空间数据的搜索与展示方法。



背景技术:

随着互联网技术的不断发展,互联网地图应用已经成为大众必不可少的生活工具,在普通的生活场景下,已经基本满足大众生活的需要,但是对政务、行业化的应用支撑仍有不足,具体表现为:

一是,传统的地图搜索往往是基于地名进行搜索,例如搜索“**公园”、“**学校”等,具有明显的地名意义特征,但是并不是所有的空间数据都具有地名意义,例如搜索“**城市规划”,“**城市地表覆盖”,其并没有地名意义,但是又与地理区域相关,具有明显的空间特征,需要在搜索方面对这类数据进行支持;

二是,传统的地图应用中搜索结果的展示都是点,不能支撑复杂的空间数据类型,例如传统地图应用中搜索“**村”并展示,其结果是定位到某一点,但是该类数据具有明确的边界范围,应该是面状的数据,需要在知道位置的前提下还能够显示其空间范围,并能够用颜色或其他符号填充,辅助用户了解其空间分布特征。因此需要在传统点的基础上添加对线、面的搜索展示支持;

三是,在搜索排序方面,传统地图搜索排序往往以周边为基础,对搜索结果按照距离进行排序,找到周边的相关设施服务,但是不能满足城市全局化管理的需求,需要对距离排序的基础上添加更为复杂的约束,满足全方位、灵活的排序需求。



技术实现要素:

针对现有技术的不足,本发明的目的是提供一种面向复杂空间数据的搜索与展示方法,基于不同的地理数据的数据类型以及语义特征,对数据进行分类,建立标准数据组织结构,构建智能搜索排序算法,并根据搜索结果的不同进行分类展示。

为达到上述目的,本发明采用的技术方案如下:

一种面向复杂空间数据的搜索与展示方法,其关键在于,包括以下步骤:

步骤1:数据类型划分,即分别按照数据的几何类型、意义与存储结构类型进行数据类型划分;

步骤2:数据标准化,即对不同类型的数据建立标准的数据组织结构,将所有空间数据按照标准的数据组织结构进行处理;

步骤3:索引构建,即采用倒排索引结构建立索引;

步骤4:数据搜索,即将搜索策略与排序规则进行组装成行政智能化搜索,根据用户指令对行政区划数据、目录数据、地名意义数据进行集成搜索并排序;

步骤5:结果展示,即根据不同的数据类型对最终搜索结果进行展示。

进一步的,步骤1中按照数据的几何类型将数据划分为点数据、线数据和面数据,按照数据的意义划分为行政区划数据、地名意义数据、目录数据、专题数据,按照存储结构类型划分为行政区划图层、地名意义图层、目录数据图层、专题数据图层。

更进一步的,所述专题数据包括:城乡建设情况数据、土地利用情况数据、资源环境数据、历史文化数据、国家规划数据、城乡规划数据、国土规划数据、环保规划数据、以及国民经济数据、人口数据、社会事业数据、交通路况数据、用地实施数据、项目实施数据、环境质量数据、企业法人数据、应急避难场所数据。

更进一步的,所述行政区划数据、地名意义数据、目录数据、专题数据的权重依次减小。

更进一步的,所述行政区划数据包含有搜索字段xzqh_search1与xzqh_search2、展示字段xzqh_name与xzqh_attri、权重字段m_order1与定位字段geopoint1;

所述目录数据包含有搜索字段mulu_search1与mulu_search2、展示字段mulu_name与mulu_attri、权重字段m_order2;

所述地名意义数据包含有搜索字段dm_seach1与dm_seach2、展示字段dm_name与dm_attri、权重字段m_order3、定位字段geopoint2;

所述专题数据包含有定位字段geopoint3。

再进一步的,所述搜索字段xzqh_search1用于存储完整的行政区划名称,所述搜索字段xzqh_search2用于存储本身的行政区划名称,所述展示字段xzqh_name用于展示搜索结果的名称,所述展示字段xzqh_attri用于描述搜索结果的信息,所述权重字段m_order1用于根据不同的级别对行政区划数据进行打分,定位字段geopoint1用于存储用于定位的坐标信息;

所述搜索字段mulu_search1用于存储名称、上级目录、行政区划名称、标签信息,所述搜索字段mulu_search2用于存储名称、上级目录、标签信息,所述展示字段mulu_name用于展示搜索结果的名称,所述展示字段mulu_attri用于描述搜索结果的信息,所述权重字段m_order2用于搜索结果的打分干预;

所述搜索字段dm_seach1用于存储名称、简称、标签、行政区划,所述搜索字段dm_seach2用于存储名称、简称、标签,所述展示字段dm_name用于展示搜索结果的名称,所述展示字段dm_attri用于描述搜索结果的信息,所述权重字段m_order3用于搜索结果的打分干预,所述定位字段geopoint2用于存储用于定位的坐标信息。

进一步的,步骤3中所述倒排索引结构,是将字段内容采用ik分词器进行分词后,按词语进行索引。

进一步的,步骤4中对各类型数据的搜索步骤如下:

步骤4-1:判断搜索词中是否含有行政区划信息,若无则将当前地图所在行政区划信息与输入的搜索词自动组成新的“行政区划+输入词”的搜索词,按照tf/idf搜索策略和打分字段排序规则在目录数据中进行搜索,如果没有搜索结果,则按照搜索输入的搜索词在行政区划和目录数据中搜索;若有则按照输入的搜索词按照tf/idf搜索策略和打分字段排序规则在行政区划数据与目录数据中进行搜索,得到中间搜索结果array1;

步骤4-2:搜索地名意义数据,采用分词搜索的搜索策略以及打分字段排序以及对距离进行打分的排序规则进行搜索和排序,获得中间搜索结果array2;

步骤4-3:将搜索结果array1、array2按顺序组成搜索结果返回并显示。

进一步的,步骤5中展示的内容有:

若搜索结果为行政区划数据,则地图定位到行政驻地,获取行政区划的geojson字符串,并在前端进行绘制,实现行政区划范围的高亮展示;

若搜索结果为地名意义数据,则根据定位字段的坐标信息进行空间定位,如果该数据几何类型是面状或者线状,后台将空间信息转换成geojson字符串,传到前端,由前端根据geojson字符串进行要素整体的绘制,实现数据定位以及要素范围高亮展示;

若搜索结果为目录数据,则提取目录对应的专题图数据图层进行展示,将整个专题图的图层在前端进行绘制展示。

本发明的显著效果是:

(1)采用两个搜索字段对数据进行搜索匹配,一个字段用于搜索匹配,一个字段用于主体约束,当搜索词为“行政区划+地名”时,则保证搜索可以实现多字段匹配,当搜索词为“行政区划”时,则通过主体约束过滤掉与行政区划无关的数据,保证搜索结果的精确性。

(2)采用目录数据对空间专题数据的关键词总结,当空间专题数据不具有地名意义或者具有专题特征时,往往通过地名搜索难以满足空间数据提取的需求,可以通过搜索关键词来进行图层匹配,将关键词与图层关联,通过搜索关键词来展示数据图层,实现非地名意义数据搜索需求。

(3)采用数据权重和空间距离权重进行综合打分,既考虑数据的重要程度,也保证就近搜索原则,实现保证精确搜索的前提下避免空间跨度过大,保证地图空间语义搜索的良好体验。

(4)每个空间数据存储两个空间信息字段,一个是定位点,一个是本身的几何信息,定位点可以进行快速的空间定位以及距离排序,本身的几何信息,本身的几何信息可以进行空间范围的绘制,实现整个空间实体的高亮显示。

附图说明

图1是本发明的方法流程图。

具体实施方式

下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。

如图1所示,一种面向复杂空间数据的搜索与展示方法,按照如下步骤进行:

步骤1:数据类型划分,即分别按照数据的几何类型、意义与存储结构类型进行数据类型划分,具体为:

按照数据的几何类型将数据划分为点数据、线数据和面数据;按照数据的意义划分为行政区划数据、地名意义数据、目录数据、专题数据;按照存储结构类型划分为行政区划图层、地名意义图层、目录数据图层、专题数据图层。

步骤2:数据标准化,即对不同类型的数据建立标准的数据组织结构,将所有空间数据按照标准的数据组织结构进行处理;

(1)行政区划数据

行政区划搜索是了解区域概况的入口,相比其他数据类型,其权重最高,在原有数据基础上,添加服务于搜索的标准字段,包括:

①搜索字段

用于搜索引擎中进行搜索匹配。(注:字段名为举例)

xzqh_search1:存储完整的行政区划名称,例如:重庆市北碚区复兴镇思源村;

xzqh_search2:存储本身的行政区划名称,例如:思源村。

②展示字段

用于搜索结果的展示和描述。

xzqh_name:展示名称;

xzqh_attri:描述信息。

③权重字段

用于搜索结果的打分干预,对于行政区划数据,根据不同的级别进行打分,级别高的行政区划数据分值高于级别低的行政区划字段,相比其他数据类型,其权重应该最高。

m_order:分值(double)。

④定位字段

用于空间定位、距离判断、属性弹出位置等。

geopoint:存储用于定位的坐标信息(x、y坐标)。

(2)目录数据

目录数据是对空间专题数据的关键词总结,是区别于传统电子地图应用的特色内容,在原有数据基础上,添加服务于搜索的标准字段,包括:

①搜索字段

用于搜索引擎中进行搜索匹配。

mulu_search1:存储名称、上级目录、行政区划名称、标签信息,用分号隔开。

mulu_search2:存储名称、上级目录、标签信息,用分号隔开。

②展示字段

用于搜索结果的展示和描述。

mulu_name:展示名称;

mulu_attri:描述信息。

③权重字段

用于搜索结果的打分干预,其权重应该仅次于行政区划数据。

m_order:分值(double)

(3)地名意义数据

具有地名意义的数据,用于用户的地名搜索,在原有数据基础上,添加服务于搜索的标准字段,包括:

①搜索字段

用于搜索引擎中进行搜索匹配。

dm_seach1:存储名称、简称、标签、行政区划;

dm_search2:存储名称、简称、标签。

②展示字段

用于搜索结果的展示和描述。

dm_name:展示名称;

dm_attri:描述信息。

③权重字段

用于搜索结果的打分干预,权重应该次于目录数据。

m_order:分值(double)。

④定位字段

用于空间定位、距离判断、属性弹出位置等。

geopoint:存储用于定位的坐标信息(x、y坐标)。

(4)专题数据

专题数据主要通过目录数据进行搜索,主要包括城乡建设情况数据、土地利用情况数据、资源环境数据、历史文化数据、国家规划数据、城乡规划数据、国土规划数据、环保规划数据、以及国民经济数据、人口数据、社会事业数据、交通路况数据、用地实施数据、项目实施数据、环境质量数据、企业法人数据、应急避难场所数据等。

因此该类数据不进行专门的搜索字段的添加,仅需要添加定位字段。

①定位字段

用于空间定位、距离判断、属性弹出位置等。

geopoint:存储用于定位的坐标信息(x、y坐标)。

步骤3:索引构建,即采用倒排索引结构建立索引,具体方式如下:

本实施例中,创建索引采用全文搜索中常用的倒排索引结构,其是将字段内容分词后,按词语进行位置索引的过程,分词器采用ik分词器。对于search1搜索字段,创建索引时采用最大分词策略(ik_max_word),会将文本做最细粒度的拆分,搜索时也采用ik_max_word进行搜索词的处理;对于search2搜索字段,创建索引采用最大分词策略(ik_max_word),搜索时采用ik_smart进行搜索词的处理,即将文本做最粗粒度的拆分,实现搜索结果精确化。

步骤4:数据搜索,即将搜索策略与排序规则进行组装成行政智能化搜索,根据用户指令对行政区划数据、目录数据、地名意义数据进行集成搜索并排序;搜索步骤如下:

步骤4-1:判断搜索词中是否含有行政区划信息,若无则将当前地图所在行政区划信息与输入的搜索词自动组成新的“行政区划+输入词”的搜索词,按照忽略tf/idf搜索策略和打分字段排序规则在目录数据中进行搜索,如果没有搜索结果,则按照搜索输入的搜索词在行政区划和目录数据中搜索;若有则按照输入的搜索词按照忽略tf/idf搜索策略和打分字段排序规则在行政区划数据与目录数据中进行搜索,得到中间搜索结果array1;

其中,所述忽略tf/idf搜索策略是将搜索匹配的结果分值都设为1,忽略词频分值,此方法可以减小全文匹配分值对打分字段的影响。具体的:基于统计方法,以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。主要思想是:如果某个词或短语在一篇文章中出现的频率tf高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。

其中,所述打分字段排序规则是在忽略词频分值的基础上,基于搜索结果的打分字段定义的分值大小进行排序。

步骤4-2:搜索地名意义数据,采用分词搜索的搜索策略以及打分字段排序以及对距离进行打分的排序规则进行搜索和排序,获得中间搜索结果array2;

步骤4-3:将搜索结果array1、array2按顺序组成搜索结果返回并显示。

步骤5:结果展示,即用户单击搜索结果的一项,根据不同的数据类型展示不同的内容:

若搜索结果为行政区划数据,则地图定位到行政驻地,获取行政区划的geojson字符串,并在前端进行绘制,实现行政区划范围的高亮展示;

若搜索结果为地名意义数据,则根据定位字段的坐标信息进行空间定位,如果该数据几何类型是面状或者线状,后台将空间信息转换成geojson字符串,传到前端,由前端根据geojson字符串进行要素整体的绘制,实现数据定位以及要素范围高亮展示;

若搜索结果为目录数据,则提取目录对应的专题图数据图层进行展示,将整个专题图的图层在前端进行绘制展示。

本发明采用两个搜索字段对数据进行搜索匹配,一个字段用于搜索匹配,一个字段用于主体约束,保证了搜索结果的精确性;采用目录数据对空间专题数据的关键词总结,可以通过搜索关键词来进行图层匹配,将关键词与图层关联,通过搜索关键词来展示数据图层,实现非地名意义数据搜索需求;并采用数据权重和空间距离权重进行综合打分,实现了保证精确搜索的前提下避免空间跨度过大,保证了地图空间语义搜索的良好体验;同时,每个空间数据存储两个空间信息字段,一个是定位点,一个是本身的几何信息,实现了整个空间实体的高亮显示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1