WebGIS一加趣点简单询问

作品版权由作者李晓晖和网易共有,若转载请于显明处标明出处:http://www.cnblogs.com/naaoveGIS/

1.前言

兴趣点查询是指:输入框中输入地名、人名等查询信息后,地图上得以显示出对应新闻所在的地点,并且按照需要以不同措施展示出相关地方的特性消息等。

以百度地图为例:

   图片 1                    

2.原理

所谓兴趣点查询,也就是前台输入描述音信后,后台遵照该描述音讯在地理数据库中查询到适合查询消息的地理数据和与此对应的属性数据,然后将数据再次回到给前台,前台举行体现。具体流程图如下:

 图片 2

3.数目搜集

所谓巧妇难为无米之炊,地理相关数据的收获是该功用是否得逞以及功能是否满意急需的主旨。在其实项目中,地理数据的来自一般有以下两种办法:

a.公司自己或外包给任何铺面举办兴趣点数据收集。

b.由甲方或者与甲方合作的第三方公司提供数据或者相应数据拿到的API接口。此种模式下,为了前期扩大,倘使可以将对方数目拉取存入己方设计好的相关表中,为顶级方法。

c.无数据来自,靠网络爬虫举办数据收集。

4.多少入库

当数码准备好后,我们最平凡接纳的法子就是对数码举办入库管理。

第一,需要遵照现实业务要求,对兴趣点表举办符合实际情状的计划。

其次,便是对兴趣点表中多少的注入。常用的有两种办法,一种是将图层数据入库,然后在数据库中写存储过程将该入库数据开展集团后插入到兴趣点表中。第两种便是开发知足需求的小工具,然后使用小工具将图层数据协会后注入到兴趣点表中。

5.观念兴趣点查询的实现

最简易的实现情势,就是在兴趣点表建好后,直接对该表进行sql查询。依据需要,也可以挑选采用Like等开展模糊查询。由于实在项目中的兴趣点数据主导不会过十万条,对表的优化没有很了然的要求。

以下是一个最简便的兴味点表所蕴含的情节:

 图片 3

询问sql后就足以回到该兴趣点所在坐标和讲述音信。

6.基于分词的兴趣点查询的贯彻

可是,假设用户输入的描述音信过于复杂呢,比如输入的是河南省布里Stowe高校,而我辈数据库中唯有马普托大学三个字的讲述新闻,那么用户将无法查到想要的音信。或者,用户输入的是普通话拼音呢?当然,最近多少数据库,比如Oracle是提供了拼音查汉字的函数,不过首先这不是负有数据库都有些职能,其次,同样存在对复杂拼音无法分割的意况。并且,数据库中LIKE是相比较耗资源的,使用过多容易锁表。

那么,是否有更好的解决方案来解决这些题材吗?上面我将跟我们浅谈一下分词技术,和基于援助分词技术的Lucene的简短开发。

6.1粤语分词和分词原理

吴军研究生在其《数学之美》一书中,对语音识别(马尔科夫链)、音讯度量(香农定理及延伸定理)等等搜索方面的文化展开了初阶的叙述,尽管本人不是研究搜索方面的人选,看后也是颇有得到。在此书中,他专程花了一个篇幅来上课中文分词。此处我便对其中内容大体做一个总括。

 图片 4

6.1.1中文分词的困难

在科学家最开首探究分词技术时,提议的探讨情势是应用文法、语义来进展分词。不过这种措施有四个举足轻重的孤苦,一个是:数据量大,即想透过文法规则覆盖哪怕是20%的真实语句,文法规则的多少最少是几万条;第二个是:即使可以写出含有所有自然语言现象的语法规则集合,用统计机分析它也是一定的勤奋。

新兴数学家又指出了总结形式来替代规则方法,即利用马尔科夫链来建立语言总计模型。

马尔科夫链是指:每个意况值取决于后边有限个情景。放在分词上便是,某种分词的点子,只跟其常用的三种分词模式的组合平率有涉及。

唯独言语总结模型用在华语分词上却又遇见了难题,因为中文并不像英文等各类词语之间有分明的空格分割,并且由于中文的文字意思多变概括力强大等等原因,导致了粤语分词比英文分词难度大过多。

6.1.2国语分词方法的提升

6.1.2.1查字典法

把句子 “中国航天官员应邀到弥利坚与太空总署负责人开会。” 分成一串词:中国 /
航天 / 官员 / 应邀 / 到 / 美利坚合众国 / 与 / 太空 / 总署 / 官员 / 开会。

 最容易想到的,也是最简易的分词办法就是查字典。这种艺术最早是由巴黎航天航空大学的梁南元教师指出的。

 用 “查字典”
法,其实就是大家把一个句子从左向右扫描一回,碰到字典里部分词就标识出来,遭遇复合词(比如
“香港高校”)就找最长的词匹配,遭受不认识的字串就分开成单字词,于是简单的分词就成功了。

唯独该措施在千头万绪语义上效果不佳,后来在查字典方法上衍生出了至少词数分词法,不过该方法在言语二意上显现也不尽人意。

6.1.2.2基于总计语言的合乎嵌套法

接纳上述提到过的马尔科夫链原理举办总结分词。对于语义定义不明明的词时,在分词时找到适合嵌套的社团。“
迪拜高校”六个字,那么先把它正是一个四字词,然后再进一步找出细分词 “上海”
和 “大学”。

6.1.2.3依旧存在的题目

在分词的一致性和分词的颗粒度上存在诸多困难。

6.2基于Lucene的兴趣点分词查询的设计和兑现

6.2.1Lucene的分词原理

Lucene使用的是倒排文件目录结构,其过程是率先遵照分词技术得到数据的要紧字,然后遵照关键字建立倒排索引。

举个例子,有两篇文章,分别是:

 图片 5

对情节简历索引后,得到的结果是:

 图片 6

6.2.2 设计发生分词索引的数码

    
这里我们是指对兴趣表的宏图。为了让分词中有四个首要字段(field),兴趣点表可以展开更进一步细化的计划。比如:

 图片 7

6.2.3 分词索引的创建

6.2.3.1 创建ResultSet

 图片 8

6.2.3.2 基于ResultSet建立目录文件

实例化索引器:

 图片 9

建立目录内容:

  图片 10

关门索引,将引得写入硬盘:

   图片 11

 

6.2.3.3 基于索引的分词查询

   读入索引:

 图片 12

   查询关键字段音讯的协会:

 图片 13

   最先询问:

 图片 14

6.2.3.4拼音查询的结构

 当下边的查询没有结果时,开启拼音查询:

 图片 15

 

6.3弊端

a.成立索引需要的时间相比长。

b.数据库中的数据更新时,并不能够自行的触发索引文件的更新。同样索引文件的翻新也是消费大量时辰。

可以接纳Spring提供的scheduling方法来展开定时触发更新:

 图片 16

7.前端体现

前端拿到再次回到的数目后,首先遵照XY在地形图上标明出查询结果。同时将地理数据对应的属性数据显示在显示面板中。其他实际工作逻辑可以举行定制开发。

 

                                                                
—–欢迎转载,但保留版权,请于显著处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                          
假若你认为本文确实援助了您,可以微信扫一扫,举行小额的打赏和鼓励,谢谢
^_^

                                  图片 17

发表评论

电子邮件地址不会被公开。 必填项已用*标注