基于全文搜索技术的地理编码的设计与实现

来源 :城市建设理论研究 | 被引量 : 0次 | 上传用户:linjiachou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:目前我国的数字建设发展十分迅速,地理编码是数字城市建设中的一项关键技术,常规的地理编码对兴趣点的匹配精度较低。本文提出了基于全文搜索技术的地理编码实现方案,并研究了其关键技术。
  Abstract: the digital construction at present in our country is developing very rapidly, and geographical code in the construction of digital city is a key technique, the usual geographical code to the matching of the interest points low precision. This paper puts forward the full text search technology based on the geographical code implementation scheme, and the key technology.
  中图分类号:G623.45文献标识码:A 文章编号:
  
  1引言
  
   目前我國的城市数字化即数字城市建设发展十分迅速,数字城市是以空间信息为核心的城市信息平台系统,地理编码是其中的一项关键的技术,地理编码(Geocode)又称地址匹配,是指将地名地址映射成地理坐标的过程[1],其提供了一种将文本或者字符串描述的地名地址转换为地理坐标的方式,是非空间资源与空间信息建立联系的一种有效方式。
   地理编码的实现有多种方案,常规的地理编码它是将待匹配的地名地址字符串或文本描述进行拆分和标准化[6],然后利用标准化后的地址字段与地理编码数据库中相对应的属性字段进行匹配,匹配成功后,返回地理空间坐标及相关的属性信息。
   采用此种方案虽然能够实现地址匹配,但是存在以下问题:1)匹配全地址时需要多表联合查询,效率比较低;2)对非标准地址匹配精度低;3)针对兴趣点的匹配精度有待提高。本文提出的地理编码实现方案能够有效地解决以上缺点,提高匹配的精度。
  2关键技术及流程
   基于全文搜索技术的地理编码实现方案流程如图1所示,主要包括地址切分、全文搜索两个关键步骤,它是将待匹配的地名地址字符串基于词典进行分解,然后基于全文搜索引擎进行匹配查找,计算权重,然后按一定规则返回地理空间坐标及相关的属性信息。
   图1基于分词和全文搜索技术的地理编码方案
  2.1mmseg分词算法
   本文采用mmseg分词算法,mmseg是一种基于词典的分词算法,以正向最大匹配为主,多种消除歧义的规则为辅。
   mmseg算法中一个核心的概念是chunk。chunk中包含依据上下文分出的一组词和相关的属性,包括长度 (Length)、平均长度(Average Length)、标准差的平方(Variance)和自由语素度(Degree Of Morphemic Freedom)。
   MMSeg分词算法中涉及了4个规则
   规则1:取最大匹配的chunk
   规则2:取平均词长最大的chunk
   规则3:取词长标准差最小的chunk
   规则4:取单字词自由语素度之和最大的chunk
   这四个规则符合汉语成词的基本习惯。过滤时先使用规则1来过滤chunks,如果过滤后的结果多于或等于2,则使用规则2继续过滤,否则终止过滤过程。如果使用规则2得到的过滤结果多于或等于2,则使用规则3继续过滤,否则终止过滤过程。如果使用规则3得到的过滤结果多于或等于2,则使用规则4继续过滤,否则终止过滤过程。如果使用规则 4得到的过滤结果多于或等于2,则抛出一个表示歧义的异常,否则终止过滤过程。
  2.2全文检索
   全文检索的方法主要分为按字检索和按词检索两种。按字检索是指对于文章中的每一个字都建立索引,检索时将词分解为字的组合。对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上是合一的,而中文中字与词有很大分别。按词检索指对文章中的词,即语义单位建立索引,检索时按词检索,并且可以处理同义项等。
   应用哪种形式的搜索引擎依赖于数据的形式(和数量)。本文采用的是Sphinx 搜索引擎。Sphinx是一个独立的搜索引擎,意图为其他应用提供高速、低空间占用、高结果相关度的全文搜索功能。Sphinx可以非常容易的与SQL数据库和脚本语言集成,也支持从标准输入读取特定格式的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS的原生支持)。
   基于Sphinx引擎实现的查询流程如图2所示:它主要包括三个过程:
   1) 基于Sphinx引擎,对MySQL数据库建立索引;
   2) 通过API进行查询;
   3) 返回结果;
  
   图 2Sphinx查询流程
   基于Sphinx引擎的全文检索的具体实现主要包括五个关键步骤:即构建source,构建索引,服务进程search配置,创建守候进程,基于PHP API 实现代码查询,下面将对其详细介绍:
  构建Source
  Sourceadd_test
   {
   type = mysql
   sql_host = 127.0.0.1
   sql_port = 3306
   sql_user = root
   sql_pass = newmap
   sql_db = geocode
   sql_query_pre= SET NAMES utf8
   sql_query= SELECT id,NAME,ADDNAME FROM add_test
   sql_query_info_pre = SET NAMES utf8
   sql_query_info = SELECT * FROM add_test WHERE id=$id
   }
   关键参数含义解释:
  type:数据源类型,当前配置的是MySQL数据库。
  Sql_host:服务器主机地址。由于sphinx与mysql在同一台机器上配置为127.0.0.1
  sql_query_pre:取前查询或者预查询,预查询最常见的一个应用就是用来指定服务器服务器返回行时使用的字符编码,一般编码格式设置为utf-8格式
   sql_query:获取文档的主查询,本系统设计的是SELECT id,NAME,ADDNAME FROM add_test
   2.构建索引
  indexadd_test
  {
   source = add_test
  path = /NewMapWeb/newmapserver4/geosearch/var/data/add_test
   docinfo= extern
   mlock= 0
   morphology = none
   min_word_len = 1
   html_strip = 0
   charset_dictpath = /NewMapWeb/newmapserver4/geosearch/etc/
   charset_type = zh_cn.utf-8
   }
   核心配置选项:
  source:索引源声明,为当前MySQL数据库名称add_test;
  path:索引文件的路径和文件名,本系统将其放在/NewMapWeb/newmapserver4/geosearch/var/data目录下,文件名称为add_test;
  docinfo:文档信息的存储模式,默认值为extern;
  mlock:已缓冲数据的内存锁定,默认为0;
  charset_type: 字符集编码类型。本系统设置为zh_cn.utf-8;
   3.服务进程search配置
  searchd
  {
   listen= 9312
   read_timeout = 5
   max_children = 30
   max_matches = 1000000
   seamless_rotate = 0
   preopen_indexes = 0
   unlink_old = 1
   pid_file= /NewMapWeb/newmapserver4/geosearch/var/log/geosearch.pid
  log = /NewMapWeb/newmapserver4/geosearch/var/log/geosearch.log
   query_log = /NewMapWeb/newmapserver4/geosearch/var/log/query.log
   binlog_path =
  }
  核心配置選项
  listen: 监听端口默认为本机9312端口;
  query_log : 查询日志文件。全部的搜索查询都会记录在此文件中。
  log:日志文件,全部searchd运行时事件都会被记录在这个文件里。
  max_children:子进程最大数量。用来控制服务器负载。
   4.生成索引,创建守护进程
  运行命令bin/indexer-c /etc/sphinx.conf–all;
   all表示对对配置文件中的多个索引一次生成
  5.PHP实现查询,以下为核心代码
  
  
  3实验
  3.1实验平台
  CPU: Intel P4 2.4GHz
  内存:4G
  开发平台: Windows XP,PHP,MySQL地理编码数据库,sphinx引擎
  3.2实验数据
   选取MySQL地理编码数据库中北京西城,东城,昌平区10万条地址做查询匹配,每次取出1万条数据,连续取10次。这些数据中包含有西单,王府井大街等繁华路段,这些路段地名地址命名比较复杂,兴趣点特别多。
  3.3 实验结果
  
  
   实验结果如上表所示,其中能够成功返回空间坐标的地址有18405条,匹配成功率达到92%。其中8%未能成功计算出空间坐标,其主要原因是1)地理编码数据库空间信息不完备2)某些词存在歧义,分词不准确,导致匹配不成功。从上述结果我们还可以得出:对一万条地址进行地址匹配耗时平均为99.12s,平均每秒能处理 101条数据,完全可以满足需求。
  4:小结
   上述实验结果表明本文提出的基于中文分词和全文检索的地理编码实现方案,具有较高的匹配精度和较高的匹配效率,尤其是对兴趣点的匹配精度有了很大提升。
  5.参考文献
  朱前飞.MapInfo中的地理编码及应用[J].四川测绘,2001,23(3):117-119.
  张伟.基于webgis的地址采集管理系统开发与研究[D].重庆:西南大学.2007.
  王建涛.基于Web的地理信息服务的研究与实践[D],郑州:解放军信息工程大学,2005.
   唐桂文. 基于数字地球平台的地理信息服务[D], 北京: 首都师范大学, 2008.
  谢小蕙.地理编码原理及方法研究[D].长沙:中南大学,2006.
  
  作者简介:
  第一作者:
  姓名:李奇;性别:男;出生年月:1985-06;籍贯:山东菏泽民族:汉族助理工程师
   注:文章内所有公式及图表请以PDF形式查看。
其他文献
中图分类号:D05文献标识码:A 文章编号:   一、创建“四强”党组织,要以加强思想建设塑“魂”  人因魂而强!创建“四强”党组织,要将思想建设渗透到党支部的点滴工作之中。在新的形势下,思想建设不能刻板地以单纯的说教方式进行,而应是一个“润物细无声”、贯彻始终的过程,努力做到育导相融、情理相济、讲究实效。  (1) 要深入基层开展调查研究。找准党组织建设和党员队伍建设存在的问题,弄清工作的着眼点
期刊
摘要:本文分析了我国玉米生产机械化的现状。实现玉米生产机械化,对农业可持续发展、农业结构调整,以及提高农业劳动生产率、降低作业成本、提高比较效益、增加农民收入、实现产业化经营具有重要意义。但是我国玉米生产机械化水平较低,新技术、新机具的研究开发力度不够,玉米收获机械与种植农艺及播种行数不配套等因数,影响了玉米生产机械化的发展。目前,我国玉米生产应从生产环节机械化向全过程机械化发展,将引进消化国外先
期刊
中图分类号:D05文献标识码:A 文章编号:   一、党风廉政建设的重要性  党风廉政建设直接影响着党的执政基础  党员是构成政党的基本要素,是党的肌体细胞。党员是党的一切活动的主体,党员素质和作用发挥在相当程度上支撑着执政党的执政,直接关系到执政党执政的合法性程度的高低。革命战争时期,共产党员以自己的前赴后继,流血牺牲,使我们党赢得了人民的高度信任和拥护,确立了我们党执政的“合法性”。并具有的政
期刊
摘要:桥梁基础是桥梁下部结构的重要组成部分。在市政工程施工中必须加以重视。本文就桥梁基础工程施工从施工准备、施工技术方法及施工验收三个方面进行了探讨分析,具有较强的操作性和价值,供参考。  关键词:桥梁基础工程;施工技术;施工准备;施工验收  Abstract: the bridge foundation is the bridge structure of the important compo
期刊
摘要:本文首先对铁路路基翻浆冒泥病害概况进行了阐述,然后分析翻浆冒泥机理,最后提出了翻  浆冒泥整治措施,具有较强的针对性和价值,供参考。  关键词:铁路;路基;翻浆冒泥;机理;整治  Abstract: this paper is abundant railway roadbed disease situation at mud were introduced, and then analyze
期刊
摘要:在市政工程桥梁工程施工中防水技术及裂缝技术的防治还未完善,存在较多问题。本文结合工作经验,对桥梁工程施工中的防水技术的质量问题及裂缝技术的质量问题进行了分析,并提出了相应措施,具有较强的实用性和价值,供参考。  关键词:桥梁工程;施工;防水技术;裂缝技术;问题;措施  Abstract: in the municipal engineering bridge construction wat
期刊
【摘 要】:公路地基是公路工程的主体,软土地基的处理是公路工程中不容忽视的问题。文章介绍了软地基处理考虑因素,提出了公路施工中软土路基的处理技术。  【关键词】:公路施工;软土路基;处理技术  【 abstract 】 : road foundation is the main body of the highway engineering, of the soft soil foundation
期刊
摘要:明确其施工流程,抓好每道工序 、各个环节的质量控制,从而有效保障公路桥梁工程施工的质量,推进我国现代化建设稳步前行。本文阐述了预应力技术在公路桥梁工程施工中的应用领域,阐述了公路桥梁施工中的预应力技术工艺以及路桥施工中预应力技术的控制措施。  关键词:公路桥梁;施工;预应力;控制措施  Abstract: the construction process clear, pays specia
期刊
【摘要】地球化学测量(简称化探)是通过系统地测量天然物质的地球化学性质,发现各种类型的地球化學异常的一种调查方法 。土壤测量主要分为两大阶段,野外采样辅以化验分析工作阶段和室内资料整理阶段。野外采样工作是土壤测量工作的基础阶段,也是最重要的阶段,它不仅仅要求对样品的选择符合规范以及实地的要求还要求对采样点位的准确定位以便更好的使得实地成果能与图形想结合,最终形成文件成果。  关键词:土壤测量,手持
期刊
中图分类号:V242.4+3文献标识码:A 文章编号:   在对SuperDMS-2100配电网自动化系统的软硬件结构和功能进行全面介绍和分析的基础上,着重对闭环运行需特殊考虑的问题以及具有故障状态差动保护功能的FTU进行了论述。最后针对闭环运行系统中的中性点接地方式及接地电阻的确定、具有状态差动保护功能的FTU的配置、以及闭环运行方式与开环运行方式的结合等几个方面的特殊问题进行了说明,并提出了解
期刊