基于NewMap的地名地址动态更新系统的设计与实现
2018-10-16李成名
刘 洋,孙 伟,李成名
(1. 聊城大学 环境与规划学院,山东 聊城 252000;2. 山东科技大学 测绘科学与工程学院,山东 青岛 266000;3. 中国测绘科学研究院,北京 100039)
0 引 言
地名地址数据是“数字城市”地理空间框架的重要组成部分,具有挂接不同专题数据信息,提升空间数据共享水平的重要作用[1]。近年来,政府各部门及社会各界对基础地理信息数据时效性的要求越来越高,一年一次的更新频率已不能满足需求,同时为了节省基础测绘财政资金,基础测绘数据需要采取动态更新和定期更新相结合的方式[2]。但是传统的数据采集方法已不能满足当前需求,这给要求数据准确且更新快速的部门带来了挑战,如何将更新的地名地址信息在采集人员与管理人员之间高效传递与共享,是解决地名地址动态更新的重要环节。
本文以NewMap为基础平台,综合运用移动定位及GIS相关技术,设计开发移动PC一体化模式的系统,该系统实现了地名地址采集审核的功能,具有准确、高效、便捷、一体化的特征,为数据采集和管理人员提供了便利的工具。
1 地名地址数据
地名地址数据库从逻辑上分为地名数据库和地址数据库两大部分[3];在数据分类上,地名地址数据库是按照国家标准GB/T 23705-2009《数字城市信息公共平台地名/地址编码规则》,使用斯范式(BNF)语法,表1列举了地名地址数据库中的字段属性。并将地名地址分为12个一级分类包括餐饮、零售业、汽车、住宿、休闲、公共设施、交通、文化媒体、金融、教育、电信邮政及其他,以及300多个二级分类。
2 系统设计和关键技术
2.1 地图网格化
为方便采集员能及时准确地获取地名地址数据的更新情况,首先对地图进行网格划分,即将地图划分为大小相同的正方形网格单元。为了满足对地图格网的查询和检索,再将划分的格网进行编码[4]。每个网格会配发一个对该网格区域较为熟悉的采集员,并规定要定期对该区域进行巡查核对,以便准确、及时地更新地名地址数据。由于地图进行了格网划分,并且每个格网由专门的采集员负责,地名地址数据的更新效率得到很大提高。
表1 地名地址数据结构表Tab.1 Data structure of toponymy and address
2.2 系统框架设计
系统设计的目的是帮助相关部门人员实现对地名地址数据的动态更新,确保数据采集的准确化、数据更新的及时化,以满足人们对地名地址数据准确性及时效性的需求,同时也为智慧城市的发展奠定良好基础。地名地址动态更新的工作细小而繁杂,环节细致而具体,仅仅依靠相关部门人员以传统的方式很难做到数据准确及时的更新入库[5]。为实现地名地址数据准确及时的更新入库,本文设计了PC管理端和移动采集端两个子系统有机配合,以服务器为媒介实现多移动采集端设备与PC管理端的数据协同。移动采集端定位到待更新的地名地址,采集更新信息并写入本地数据库,采用Socket通讯传输XML文件的数据同步方式写入服务器数据库。PC管理端创建并分配移动采集员账号,在服务器中创建规范地名地址数据库,并将Socket通讯与服务器连接,利用Restful架构对服务器数据库进行增删改查(简称CURD)操作并将更新信息即时反馈到移动采集端,使更新数据能够在管理员与采集员之间实时传递。具体实施框架如图1所示。
图1 移动PC一体化工作模式Fig.1 Pattern of PC-mobile integration
考虑到地名地址动态更新系统的实用性,本系统采用B/S模式搭建,同时借鉴层次化设计理念,将系统分为3个组成部分:数据层、服务层、表现层。总体架构如图2所示。
图2 系统架构Fig.2 System structure
1)数据层:主要包括空间数据库、属性数据库和本地文件。空间数据库主要存储基础地图数据、影像数据、地名地址数据、格网数据、路径数据等;属性数据库主要存放用户数据信息,如用户名、密码、权限等;本地文件主要包括表格文档、图片、视频等资料。
2)服务层:主要通过NewMap Service服务接口实现对数据层的交互、处理与分析,主要包括对地名地址数据属性的查询、修改、空间定位、空间求交和过滤等服务。
3)表现层:主要实现PC管理端及移动采集端的客户端功能,同时满足界面设计扁平化、用户操作简单化的要求,其功能主要包括移动采集端对数据的采集、上传、地图搜素、最短路径查询等和PC管理端对数据的处理、审核、入库等。
2.3 动态更新流程设计
采集人员携带移动端采集设备,登录系统分配的采集人员账号,采集需要更新的地名地址,然后利用移动采集端的GPS定位功能,在地图上定位到该地址,点击“采集”,将其更改的地名及其属性信息输入到属性列表中,并将其更改的照片或视频信息记录下来,以待审核人员审核。最后采集人员将采集的信息点击“上传”,即可将采集更改的信息上传至PC管理端,以供审核人员进行处理。
审核人员可在PC管理端进行审核移动端提交的待审核数据,并将审核通过的数据写入数据库,而审核未通过的原因反馈给采集人员。具体流程如图3所示。
图3 动态更新流程Fig.3 Process of real-time data updating
2.4 关键技术
2.4.1 多终端数据协同
传统的数据协同多采用SQL Server数据复制技术和基于传输XML文件的数据同步技术。基于SQL Server的同步复制过程对网络环境要求较高,而且在环境配置方面较为烦琐,一旦服务器宕机就需要重新对其环境进行配置,这不仅浪费大量的时间和精力,还会导致数据同步延时。基于XML文件的数据同步是单向性的,不能实现服务器端与移动采集端、PC管理端的双向互通。本文采用Socket通讯传输XML文件的数据同步方式,采用多线程服务,实现服务器端与多移动采集端、PC管理端的数据协同,具有发送和接收功能[6]。如服务器端与移动采集端通过Socket进行连接。当移动采集端向服务器端发送上传请求,服务器端通过后由本地数据库生成XML文件传送至服务器端,服务器端接收到移动采集端发来的请求后进行XML文件解析并组合成标准SQL语句更新服务器数据库,再通过自定义的IP进行识别,此时服务器会识别出与该移动采集端匹配的PC管理端,并将更新指令下发至该PC管理端连接的Socket输出流中,进而该PC管理端即可通过Socket的输入流读取该指令,并对服务器数据库进行CURD操作。PC管理端审核后将更新的数据分发给移动采集端的流程是移动采集端采集上传的逆向过程,故不再赘述。流程如图4所示。
图4 多终端数据协同Fig.4 Multi-terminal data coordination
2.4.2 地图缓存技术优化策略
地图缓存技术是以空间换取用户浏览时间的方式来高效解决网络带宽限制、网络负载和延迟[7],从而减轻服务器负担,优化移动端数据采集的速度。而地图价值的核心在于其现实性,即地图必须最大限度地反映现实的人文、自然等地理要素,确保各地理要素的真实性和时效性。移动采集端系统对地图的时效性要求较高,但传统的读取服务器地图数据对网络环境要求较高,大大降低了移动采集端数据采集的效率。为了更好解决上述问题,移动采集端在读取本地缓存文件的基础上,通过判断地图数据缓存的时间,若地图数据缓存的时间在服务器更新地图数据之后就认为本地数据缓存在保鲜期之内,若超过保鲜期,则不能加载本地缓存,需重新在服务器端获取地图数据覆盖本地缓存文件。采用上述通过判断保鲜期优化移动采集端地图缓存的方法,兼顾了数据采集的高效性和地图获取的时效性。
3 实验对比与系统实现
3.1 实验对比
3.1.1 数据更新流程对比
传统的外业手工采集和内业收集整理审核流程是采用串行流程技术,而该系统设计采用多移动采集端实时提交与PC管理端审核的并行流程技术。本系统实现的数据更新流程的优势为:①定位准确,利用移动GPS/北斗定位,可以准确定位需要更新的地址信息,避免了手工误差;②采用并行流程技术,可以减少传统数据更新的上报流程,实现数据在采集人员与审核人员之间实时传递的数字化办公。此外,利用该流程还可以有效缩短数据更新时间,提高数据更新的工作效率。以上优势均为确保城市地名地址的准确性提供了有力支撑。
3.1.2 地图缓存效率对比
传统移动端缓存方法虽提高了地图数据的读取效率,但不能保证地图数据的时效性。该系统采用设置保鲜期优化地图缓存的方法显著提升了服务器与移动采集端间的交互效率。通过测试两种方案在移动采集端对地图缩放、漫游、全图等操作功能,结果表明该优化方案的系统平均响应时间略有增加,但地图准确率却大幅提升,更好地反映了该系统很大程度上优化了地图缓存效率,见表2。
表2 地图缓存技术优化测试结果对比Tab.2 Comparison of test results of map caching technology optimization
3.2 系统实现
系统采用B/S架构设计,其中,PC管理端采用JavaScript+Flex+PHP的模式进行开发,移动采集端采用Java语言进行开发,数据库采用SQLite+MySQL。系统主要提供以下功能:
1)移动采集端采集信息的更改与提交
移动采集端采集是地名地址更新的基础环节,主要包括对原始数据空间位置的展示及待更新数据的更改与提交。当用户选择待更新的数据表时,系统会根据表中的坐标信息定位到地图上相应位置,点击便可查询和更改该点的属性信息。在地图上找到需要更新地名地址的标注图标,或者通过移动采集端定位功能定位到需要添加的地名地址点后,点击“标注”对其属性信息进行更新操作。当用户将更改完的数据统一打包,点击“提交至PC管理端”,审核人员可在PC管理端进行审核修改。具体效果如图5所示。
图5 移动采集端采集界面Fig.5 Collection data interface in mobile app
2)PC管理端审核信息的实现
审核待更新的地名地址数据是通过PC管理端来实现的。审核人员登录PC管理端采集系统,选择待更新的数据表,通过查看待审核栏内的信息,包括更新的属性信息及位置信息的准确性来判断其是否要通过审核。具体效果如图6所示。
图6 PC管理端审核界面Fig.6 Audit data interface in PC port
3)其他功能
系统除了提供地名地址动态更新的功能外,还集成了基础地图的操作功能,如地图切换、轨迹采集、线路查询、测线、测面等基础操作。
4 结束语
本文依据地名地址动态更新的需求,将外业采集及内业管理进行重新设计,采用PC移动一体化的设计方式,分别设计了移动端采集软件和PC端审核管理系统。系统利用网络传输技术、数据库技术、移动GIS技术、网络GIS服务等技术,实现了移动采集端和PC管理端协同工作。同时,系统打破了外业采集与内业审核的分离模式,使地名地址动态更新更加高效化、准确化,充分满足了测绘工作对地名地址动态更新的工作要求。随着地名地址动态更新技术的不断发展,今后的研究可以引入众包策略,加大万众参与,进一步提升地名地址更新的效率。