摘要:提出了一种基于百度地图服务的地址解析方法,通过自动搜索和调用百度数据资源,实现了地名地址信息的快速、批量定位与上图,在武汉市第一次地理国情普查数据采集中取得了较好应用。
关键词:百度地图服务;地理国情普查;数据采集
中图分类号:P208 文献标识码:A 文章编号:1672-5867(2016)02-0158-03
0引言
地理国情普查是国务院开展的一项重大的国情国力调查,普查的目的是查清我国地表自然、人文地理要素的现状和空间分布情况,为开展常态化地理国情监测奠定了基础,满足了经济社会发展和生态文明建设的需要,提高了地理国情信息对政府、企业和公众的服务能力[1]。专题数据是开展地理国情普查工作的重要数据源,主要包括工矿企业、居(村)委会、学校、医疗机构、社会福利机构等。由于面向政府各部门收集的专题资料大部分以电子台账格式提供,仅包含地名、地址的文字描述,需要将这些地名、地址“落地”,建立空间要素。一般的数据采集是以现有基础地形图为基础,通过注记搜索或凭借作业员识图经验逐一定位,工作效率较低。本文提出一种基于百度地图服务的数据采集方法,通过有效的挖掘和使用网络地图资源,实现地名地址信息的批量、快速定位。该方法在武汉市地理国情专题数据采集中取得了较好应用。
1百度地图服务
百度地图是百度于2005年9月发布的网络地图搜索服务[2],其地图数据库包含了商户、道路、楼宇、社区、村庄等超过2000万个兴趣点(POI,PointofInterest),覆盖了国内近400个城市、数千个区县,且每年均进行动态更新[3]。通过地图搜索功能,用户可以快捷、准确地获取相关名称、位置及其周边兴趣点的信息。2010年4月23日,百度地图正式宣布免费开放地图API(ApplicationProgramInterface),为开发者免费提供了基于百度地图的应用程序接口,帮助用户在网站中构建丰富、交互性强的地图应用程序。百度地图API包括JavaScriptAPI、Web服务API、AndroidSDK、iOSSDK等多种开发工具与服务,提供了基本地图展现、本地搜索、定位、逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备、多种操作系统下的地图应用开发[4.
2方法设计与实现
2.1设计思路
基于百度地图服务的要素采集思路是遍历专题数据表,通过访问百度地图资源,快速获取每条地名地址的坐标,实现地名地址的初始定位,减少一般数据采集前期人工定位的工作量,提高数据采集的工作效率。数据采集流程如图1所示。
2.2关键技术
百度地图服务中坐标解析有3种方法[5]:1)GeocodingAPIGeocodingAPI提供地址解析(从地址到经纬度坐标)和逆地址解析(从经纬度坐标到地址)服务,通过http形式发起url检索请求,返回json或xml格式的检索数据。优点是无须地图交互,解析效率高,返回坐标数据包含可信度参数,可用于判断地址匹配的准确程度(数值越大,地址匹配度越高)。缺点是要求输入数据为结构化标准地址,即××市××区××街(路)××号,否则解析失败或可信度较低。2)GeocoderGeocoder是JavaScriptAPI的类函数,提供地址解析服务。该函数由JavaScript语言嵌入到html中,根据地址返回坐标点。优点是解析效率高,缺点是结果无可信度参数,不易判断地址匹配准确程度。3)LocalSearchLocalSearch是JavaScriptAPI的类函数,提供地址搜索服务。该函数由JavaScript语言嵌入到html中,根据一个或多个关键字进行搜索,搜索结果自动标注到地图上。优点是可根据地名、地址两类搜索条件进行定位,搜索结果与地图叠加,便于人工判读检查。其缺点是结果返回多条数据记录,仅能逐个解析判断选择合适的记录,解析效率较低。基于以上的分析,为提高定位的准确度,可采用两种方法配合使用:首先,利用GeocodingAPI服务遍历数据表,实现坐标的批量获取;其后,利用LocalSearch类实现根据地名或地址搜索,通过人机交互方式,对未解析数据项进行判读,并对已解析的数据项进行检查(如图2所示)。由于百度坐标为WGS84经纬度坐标,且因网络安全性考虑坐标有偏移,因此,获取的百度坐标必须进行坐标纠偏和坐标转换才能使用。研究采用某网站提供的电子地图纠偏服务进行纠偏[6]。对经网站纠偏和坐标转换后的坐标,叠加基础地形图进行验证,点位基本无偏差,满足了定位需求。
2.3平台实现
为便于多用户分发,采用Winform技术实现百度地图服务的访问。系统开始运行的初始界面如图3所示,分为菜单栏、地图面板、搜索面板、数据面板。菜单栏提供了数据导入导出、地址批量解析和批量坐标转换等操作。地图面板用于加载百度地图,提供基本的地图操作和搜索结果定位。搜索面板提供地名搜索结果。数据面板显示数据列表,执行地名搜索操作、与地图进行交互等。1)地址批量解析地址批量解析功能将遍历数据列表,返回匹配结果输入到数据列表中,包括百度地址,百度经度、百度维度和匹配度。根据匹配度,可初步判断定位准确度,一般匹配度为80的点位定位较准确,小于80则需重新进行单个地址解析。2)人工单个地名解析对于匹配度低于80或地址差异较大的数据,双击某条记录或文本框输入地名地址,搜索面板将返回单个地名或地址的匹配结果。对于地址无法解析的情况,给出概略定位功能,双击鼠标记录查找到就近位置,便于后期叠加地形图或影像图精确定位。
2.4应用分析
将程序应用于武汉市第一次地理国情普查专题数据的采集中,并分析方法的适用性,结果如下:1)方法的适用性百度地图以商业和公众服务为目的,因此,数据的详细程度在数据类别、地区间有明显的差异。在实际应用中,数据较为详细的类别有政府部门(各级政府、街道办事处、民政、公安等)、居(村)委会、学校、医院、社会福利机构、宗教场所、景点、星级宾馆、交通设施、大型企业等。数据可覆盖的范围有主城区和开发区、新城区的城关镇。在农村地区、偏远地区仅居(村)委会数据比较齐全外,其他数据采集较少。2)方法的准确性百度数据一般定位在单位正门中心(有院落的单位)或建筑物中心靠近道路一侧(无院落的单位),保持了较好的道路连通性,数据的可用性较好。程序批量地址解析定位率(匹配度为80)一般为50%左右,经人工单个地址解析后,一般可找到75%左右的点位,对于上述应用较好的类别则可达到85%以上。采集精度在5~20m,满足概略定位的需要。3)方法的便捷性程序主要利用网络资源,运行过程中仅访问Excel表格向百度服务器发送地名或地址信息,返回结果仍存储在表格中。因此,运行环境仅需满足联网和安装Office软件即可。经试验,程序批量地址解析平均效率为250条/min,人工单个地址解析平均效率为每条需要2~4min。
3结束语
本文提出了基于百度地图服务的地址解析方法,实现了地名地址的快速、批量定位,在武汉市第一次地理国情普查数据采集中取得了较好的应用,提高了工作效率。该方法将丰富的网络资源和服务应用于数据采集,创新了数据内业的采集手段,也为充分挖掘和使用网络资源提供了思路。
参考文献:
[1]国务院第一次全国地理国情普查领导小组办公室.国务院关于开展第一次全国地理国情普查的通知[G].北京:国发[2013]9号,2013.
[2]维基百科.百度地图介绍[EB/OL]
[3]百度文库.百度地图数据和谷歌地图数据poi等的技术解决方案[EB/OL].
[4]刘鹏程,毕旭,罗静,等.百度地图API路网搜索功能在职住分离研究中的应用[J].地理空间信息,2013,11(5):148-151.
[5]百度地图[EB/OL].[2015-04-08].API.
[6]ZDOZ[EB/OL].[2015-04-08].
作者:肖琨 李盼盼 张雪 叶琳 单位:武汉市测绘研究院