简述地理编码原理与实施方案
一、地理编码的定义:
地理编码也称作地址编码,是将地址本文描述转化为坐标的过程。
通过“北京市西城区西单北大街131号西单大悦城”,得到“坐标:39.910864,116.372857”的过程,既是地理编码。
二、地理编码的发展:
基于计算机技术的地理编码,在上世纪六十年代,美国人口统计局设计DIME模型和tiger数据库的时候,就有了技术雏形,而后随着计算机的普及和互联网的发展,地理编码渐渐由ToG转向了ToB、ToC领域。
三、地理编码的应用:
在ToG领域:
地理编码主要用于政府普查与管理人口;医疗卫生上,则是对流行病进行调查防控;公共安全上,通过定位犯罪现场,对犯罪分布与模式进行分析等。
在ToB领域:
地理编码可用于企业管理用户,对设备进行监控等。
在ToC领域:
最常见的应用就是,用户在地图搜索框中输入地址,查找地址所在的位置,继而导航,根据导航提示,使用各种交通工具或步行抵达目的地。
总而言之,地理编码的应用都基于将地址文本转为坐标,根据坐标结果进行后续步骤。
四、地理编码的步骤:
《地理信息系统导论》一书中,将地理编码过程分为三个环节,预处理、匹配、标绘。
另外综合arcgis文档《地理编码过程》和论文《地理编码系统设计与实现》,整理的地理编码流程图如下:
- 地理编码的技术环节:
地理编码过程分三个环节,数据预处理、搜索匹配、标绘。
在这三个环节中,数据预处理的难点在于地址的标准化和结构化,中文地址与中文语言一样,充满了多样性,在对地址进行标准化与结构化的过程中,需要覆盖非常广泛的策略和词典做支撑,数据质量越好、量级越大,结果就会越准确。
搜索匹配的重点是对输入文本的切分,和对召回结果的打分,如果切分效果不好,则找不到数据库中的合适记录,如果打分规则设定的不好,输出的结果可能就不是想要的结果。
在标绘环节,如果搜索匹配的结果不完全吻合输入地址,需要基于线要素进行插值(包括单侧偏移和末端偏移),或获取面的质心(如果参考要素是面或点),来进行坐标修正。
- 地理编码的评分标准:
对服务质量的评判主要有两个指标:
基于文本的匹配率;
定位准确度。
为了定位服务误差的原因,还需要确定性指标:
预处理环节的确定度;
匹配环节的确定度;
标绘环节的确定度。
- 地理编码的技术:
数据生产加工:地理编码需要海量数据与词典进行底层数据支撑,海量数据除了自采集加工外,还需要从各种平台爬取融合;词典除了积累,还有挖掘生成。在这一环节需要很多爬虫和自然语言处理相关的技术。
地址本文预处理:地址文本需要去噪、标准化、结构化,这一过程需要自然语言处理的技术。
(关于这部分,后续会补充一个中国计算科学技术自然语言处理的发展史。)
搜索匹配:关键点是搜索引擎的搭建,C语言搭建的搜索引擎无疑是效率最高的,但近些年,ElasticSearch的使用也很广泛。
标绘:最终结果的坐标展示,这个环节会涉及一些空间插值与聚类的计算,当然为了插值合理,最好要有路网数据。
五、总结:
地理编码是一个多技术、融合性工程应用,涉及到的技术包括GIS、NLP、搜索等,而这些技术,也是多学科交叉的领域,目前ToC的地理编码服务已经非常成熟了,各大图商都提供该服务。ToB领域,企业为管理用户地址,会建立地理编码服务。ToG领域,政府会用在人口普查、犯罪预防、流行病调查等方向。
因地址多样性和基础数据准确性、时效性的影响,地理编码服务的准确率是有瓶颈的,靠技术很难突破,要突破,恐怕只能靠生态模式的改变。
再看产品收益,ToC的产品很难获得盈利,ToB主要以企业自用为主,且很难打破行业壁垒,实现外部盈利。
总之,地理编码是一个已达到技术瓶颈、且市场空间有限的领域。
参考资料:
1.什么是地理编码—BY ARCGIS
https://desktop.arcgis.com/zh-cn/arcmap/10.3/guide-books/geocoding/what-is-geocoding.htm
2.地理信息系统导论—BY 张康聪
3.地理编码系统设计与实现
http://sourcedb.igsnrr.cas.cn/zw/lw/201003/P020100304321939960203.pdf
4.自然语言处理的形式模型—BY 冯志伟(教育部语言文字应用研究所研究员),2010年,中国科学技术大学出版社
https://book.douban.com/subject/4284581/
5. 中文文本自动分词和标注—BY 刘开瑛,商务印书馆,2000年
https://book.douban.com/subject/1099516/