李 林,程宇翔
(1.重庆市地理信息中心,重庆 401121)
地理编码也称地址匹配,是指将地址映射成地理坐标的过程,提供了一种把描述成文本地址的地理位置信息转换成地理坐标的方式[1]。人类活动中80%以上的信息与地理空间位置有关系,关系的主要纽带就是地址(地名)信息[2],可见地理编码技术在地理信息系统应用中的重要性。然而,在数字重庆建设阶段,以空间数据的建设、共享和应用为主,非空间数据向空间数据转化的应用需求不强,对效率和效果要求不高,导致传统的地理编码技术在技术上存在一定的缺陷,无法满足智慧重庆建设中海量文本数据处理的需求。基于上述背景,本文在对标准地名地址数据模型研究的基础上,设计并研发了一套面向智慧重庆的地理编码系统。
地址数据模型是地理编码系统建设的重要内容,与地理编码的核心算法息息相关。本文从地址数据的层次模型以及每个层次的标准地址表达进行研究与分析。
为适应我国长期以来按照行政区划自上而下进行管理的方式[3],本文建立的地址数据模型从国家到省、市,一直延伸到最细粒度的门牌号,形成如下8个级别(0~7级)的层次模型:国界及驻地数据、省级行政区划界线及驻地数据、市级行政区划界线及驻地数据、区(县)级行政区划界线及驻地数据、乡(镇、街道)行政区划界线及驻地数据、行政村(社区)界线及驻地数据、道路中心线数据、地名地址数据。按照上述层次模型,任何一个地址都可表达为“国家+省+市+区(县)+乡(镇、街道)+村(社区)+路+门牌号”,比如“中华人民共和国 重庆市 渝北区 人和街道汪家桥社区 星光大道 62号”。
在上述8级层次模型中,0~5级数据的行政区划界线为面状数据,行政区划驻地为点状数据,其数据结构仅需要代表该区划的名称即可。
第6级数据道路中心线数据为线状数据,其数据结构仅需要代表该道路的名称即可。
第7级数据地名地址数据为点状数据,其数据结构如表1所示。
表1 第7级数据结构
地理编码系统的总体架构如图1所示,包括数据成果、核心引擎以及应用系统3个部分。数据成果包括标准地名地址数据以及经过算法处理的地名场数据;核心引擎包括地址管理SDK和地理编码引擎两部分,分别以开发包或者服务接口方式支撑地址数据管理系统和地理编码应用系统的开发;应用系统包括地址数据管理系统、地址编码应用系统以及后台管理系统。标准地名地址数据经过地址数据管理处理后形成地名场数据,地理编码应用系统基于地名场数据和地理编码引擎提供地理编码应用服务。
图1 地理编码系统总体设计
1)基于全球网格模型的地名数据存储结构。利用全球网格模型[4,5]存储地名数据(图2),解决传统空间匹配技术中存在的空间数据表达能力有限、数据空间分布不均匀、数据组织管理及处理过程复杂繁琐等问题,利用全球网格系统层次性结构与空间方位具有良好一致性的特点,建立基于整型计算的空间推理方法,有效提高了匹配效率和准确度。
图2 全球网格模型
2)基于文本的上下文空间语义建模。自然语言文本空间语义的随意性、相对性、模糊性和不确切性给地理编码造成了干扰。通过空间认知心理模型,利用多源空间数据集进行计算,自动获取地理实体[6]的空间范围,实现文本的上下文空间语义建模,有效解决了地名边界模糊性问题,可区分异地同名、地名层次结构等情况。
3)基于Socket通信技术的地理编码引擎。面向海量地址数据的地理编码引擎,需要特别高效的数据处理和传输技术。本系统建设利用Socket通信技术,实现服务端匹配引擎的高效传输,实现数据传输时间短、性能高、安全性好、数据量小的特点,为大批量数据的高效处理奠定基础。
2.3.1 核心引擎
1)地址管理SDK。支撑地址数据管理系统的开发,实现对地名地址数据入库、地名数据预处理、地名场数据生产、地名场数据发布、地名数据的增删改、地名同义词定义等功能。主要接口如下:①地名地址数据入库。功能说明:提供省(市)、区县、乡镇街道、社区村、路网、地址、POI等不同行政级别数据的点状、线状、面状数据的入库功能;参数说明:包括数据类型、文件路径、地名/地址字段、分词字段、数据坐标经纬度精度、输出文件位置等;结果说明:返回结果说明,成功则返回处理时间、数据量总数、过程日志,失败则返回原因说明。②地名数据预处理。功能说明:对框架数据入库后的数据进行预处理,去除干扰词汇;参数说明:包括地名词汇库文件,更新后地名词汇库文件,预处理配置文件等;结果说明:返回结果说明,成功则返回处理时间、数据量总数、过程日志,失败则返回原因说明。③地名场数据生产。功能说明:对数据入库成果进行空间语义地名生产;参数说明:包括待生产数据路径,生成成果路径;结果说明:返回结果说明,成功则返回处理时间、数据量总数、过程日志(记录每一个地名词的处理时间,可按照时间进行排序,查找耗时最长的地名词),失败则返回原因说明。④数据发布。功能说明:发布地名场生产成果,形成匹配引擎能用的数据成果;参数说明:待发布数据路径,发布成果路径;结果说明:返回结果说明,成功则返回处理时间、过程日志,失败则返回原因说明。
2)地理编码引擎。以Web Service形式提供正向和逆向编码服务,地址补全服务等,包括Rest和Soap两种接口方式[7],其中正向地理编码包括单条地理编码和批量地理编码。主要接口如下:①正向地理编码服务(单条和批量)。功能说明:提供正向地理编码服务;参数说明:Web服务的传入参数包括但不限于以下参数:地址、参考分值、分页数、分页结果条数、返回格式(json,xml等)、用户Key;结果说明:以xml或json方式返回匹配结果。结果中包括但不限于待匹配地址、匹配结果、结果评价、(x,y)、结果个数、分页数、分页结果条数等。②逆向地理编码服务(单条和批量)。功能说明:提供逆向地理编码服务。参数说明:Web服务的传入参数包括但不限于以下参数:(x,y)、允许误差范围、参考分值、分页数、分页结果条数、返回格式(json,xml等)、用户Key。结果说明:以xml或json方式返回匹配结果。结果中包括但不限于匹配结果、(x,y)、结果个数、分页数、分页结果条数等。③地址补全服务。功能说明:根据输入关键字提供包含关键字的地址数据作为用户输入的提示信息,类似SQL中的Like查询;参数说明:查询关键字;结果说明:返回包含关键字的地址数据,对于多个结果的,按照地址使用频次由高到低进行排序。
2.3.2 地理编码系统
1)地址数据管理系统。提供地名地址数据的增加删除、历史地址数据管理、标准词管理、同义词管理等功能(图3)。
图3 地址数据管理系统功能模块
地址数据管理系统开发成果如图4所示,以向导式的方式引导用户进行数据入库、数据索引、数据发布等工作,方便用户操作。同时考虑到入库数据处理过程时间较长,系统引入队列操作模式,力争做到一键操作完成更多任务,同时以多种方式提示用户系统的处理进度。
图4 地址数据管理系统成果截图
2)地理编码应用系统。直接向用户提供地理编码应用功能,包括正向和逆向两类编码应用。支持单条匹配,也支持txt、csv等多种格式的批量匹配(图5)。
图5 地理编码应用系统功能模块
地理编码应用系统如图6所示,用户登录系统后可以看到所有已完成和正在进行的匹配项目,可提供匹配结果下载和地图叠加等多种应用方式。
图6 地理编码应用系统成果截图
利用本文地理编码系统成果处理全重庆市约900万 条地址数据成果进行效率测试,测试样本为重庆市北碚区人口数据,约86万条,测试方案及结果如表2所示。
表2 地理编码效率测试方案及结果
针对每个机器进行3次测试的平均结果显示,该系统在一般的工作站上运行效率高达3 583条/s,可完全满足智慧城市地理编码系统的速度要求。此外还针对系统进行了CPU和内存的测试,表明该系统运行效率与设备CPU和内存呈线性正比关系。
对北碚区约86万条人口数据空间化后,与建筑物叠加应用,实现网格化的以房管人,为社区的人口流动管理提供坚实的技术基础。通过图7~9可以看出,绝大部分人口数据都叠加在建筑物上面,表明引擎匹配效果良好,事实上,经人工逐条确认,匹配准确率达92.3%。
图7 匹配结果与建筑物叠加效果
图8 匹配结果文本形式(带空间坐标)
图9 “以房管人”案例
除上述案例外,该系统还在第一次全市地理国情普查数据处理、两江新区市场监管信用平台、全市工商法人数据库建设中得到广泛应用,大大提高了非空间数据向空间数据转化的效率,更是为智慧重庆建设所需的数据资源整合应用提供了先进的技术手段。
从服务于智慧重庆建设出发,研究了标准地名地址数据模型,并在此基础上开展了地理编码系统设计与研发,包括核心引擎、地址数据管理系统、地理编码应用系统等主要内容,通过海量的数据测试和验证,该系统在地理编码处理效率、匹配准确度上有良好的表现,在北碚区流动人口管理平台、第一次全市地理国情普查数据处理、两江新区市场监管信用平台、全市工商法人数据库建设中得到了应用,下一步将着重从地址数据的丰富性、匹配引擎的智能化等角度继续研究,为下一步智慧重庆的建设提供更好的应用。
[1]Clodoveu A,Davis J,Fonseca F T.The Certainty of Locations Produced by an Address Geocoding System[J].Geoinformatica,2007,11(1): 103-129
[2]佟文会,江洲,李小林.地址编码关键技术——地址数据内容规范研究[J].标准科学,2009(11):39-42
[3]魏金明,仲伟政.基于置信度的地址匹配方法初探[J].测绘科学,2015(1):122-124
[4]童晓冲,贲进,秦志远,等.基于全球离散网格框架的局部网格划分[J].测绘学报,2009(6):506-513
[5]赵学胜,侯妙乐,白建军.全球离散格网的空间数字建模[M].北京:测绘出版社,2007
[6]于焕菊,李云岭,齐清文.顾忌实体空间关系的地址编码方法研究[J].地理与地理信息科学,2013(9):49-52
[7]杨丽.“数字湖北”中文地理编码数据库建设与服务共享[J].地理空间信息,2013,11(增刊):37-41