1、基于 Open Street Map 数据的地理信息分析与提取技术 任常青 陈杰 査祝华 周晓光 国家测绘地理信息局第一航测遥感院 国家基础地理信息中心 中南大学地球科学与信息物理学院 摘 要: Open Street Map 作为一个开放众源地理信息数据平台, 其数据覆盖全球多个国家, 对其数据结构的深入研究和分析有助于提取更多的地理信息数据。在简要介绍 OSM 数据结构分析的基础上, 探讨 OSM 数据的特点及数据分析、提取的处理技巧。这些技术有助于根据不同行业应用方向对地理信息数据进行按需提取处理, 也有助于编写软件对 OSM 数据进行批量转换。关键词: Open Street Map;
2、 数据分析; 信息提取; 要素表达; 属性表达; 关键字识别; 格式转换; 作者简介:任常青, 工程师, 注册测绘师, 现主要从事摄影测量与遥感、地理信息数据处理、地图制图等技术设计及生产管理工作。收稿日期:2017-04-20On Geographic Information Anlysing and Extraction Based on Open Street Map DataREN Changqing CHEN Jie ZHA Zhuhua ZHOU Xiaoguang Received: 2017-04-20随着公共电子地图服务的普及, 人们对电子地图产品及其衍生服务也越来越依赖。百
3、度、谷歌、高德、微软等国内外大型电子地图服务商积极推动了电子地图的发展, 电子地图的更新频率也越来越高, 数据现势性得到了有效保障。但另一方面, 国家基本比例尺地形图数据库的更新每年需要进行大量的野外实地调绘, 而应急测绘保障方面的地图更新还缺乏最新的信息来源, 一些境外或技术要求不高的普通地图也缺乏基础底图数据, 这些都促使人们将目光转向开源的众源地理信息数据 (Crowd Sourcing Geographic Data, CSGD) 。Open Street Map (OSM) 是一个众源地理信息数据平台, 其数据由世界各地的地图爱好者、各个国家或组织贡献和维护, 用户能自由地在该网站浏
4、览数据, 下载使用, 注册后还可任意修改。由于其开源共享的特性, 下载使用众源地理信息数据可用于国家基本比例尺地形图更新, 对境外国家和地区的基础地理信息数据进行研究, 基于 OSM 数据开展地图服务等, 具有较好的社会和经济效益。1 Open Street Map 数据结构OSM 的交换格式通常有 2 种, 一种是 XML 文件 (*.osm) , 以文本格式存储, 能在文本编辑器中查看;一种是自定义 PBF 格式文件 (*.pbf) , 以二进制格式存储, 数据量小, 适合传输。二者均可从 OSM 及其共享网站下载, 通常用 XML 文件作为数据解析的数据源。1.1 基本数据结构OSM 文
5、件的数据结构简单, 文件头部的注释了 XML 文件的版本、编码等信息, 是数据主体, 其中定义了数据的范围, 剩余部分记录包含的地理要素, 具体如下:1.2 地理要素表达OSM 的地理要素通常由 node (点) 、way (线) 和 relation (关系) 这 3 种 XML结构元素表达。其中, node 定义空间中的点, 记录点的经纬度位置信息;way 定义线或简单面状区域, 其构成节点引用 node;relation 定义多个元素的组合关系, 用来定义复杂的几何形状、非空间关系等, 其成员引用 node、way 或其他的 relation。1.3 属性信息表达地理要素除包含位置信息外
6、, 还包含属性信息。要素属性通常由一个或多个名为 tag (标签) 的 XML 结构子元素来表达, tag 以键值对 (key-value) 的形式存在。每个要素可以有多个标签, 用户有极大的发挥空间, 通过增加标签的形式标识地理要素的各种属性。通常可通过其中的一个标签或多个标签组成的条件来获得地理要素的要素类型, 如某个 way 要素有一个 highway 的标签, 表明这是一条主要公路。1.4 元数据信息地理要素在 XML 中以要素属性的形式表示, 包含有 ID (唯一编码) 、version (版本号) 、timestamp (更新时间戳) 、changeset (所在数据集) 、uid
7、 (用户 ID) 、user (用户名) 等信息, 作为该要素的元数据信息。2 Open Street Map 数据分析为了保证有效利用下载的 OSM 数据, 需要对数据进行分析, 目的是明确数据中地理要素的内容, 即数据中地理要素的类型、属性项及内容。数据分析前要广泛收集专业资料, 明确应用需求, 以需求为指导进行后续工作。首先, 应将 OSM 格式转换为序列化的表格或空间数据库数据, 便于查看和统计各类信息, 叠加影像辨别要素分类, 发现质量问题;其次, 根据各类资料解析OSM 要素的分类关键字、属性字段名称及内容, 针对性地整理形成专题数据以提取相关知识。OSM 数据分析时主要采用属性列
8、表、唯一值枚举、数学统计、对照 DOM 解译等方法。2.1 格式转换与质量预检通过 Global Mapper、FME Desktop、自研软件等将 XML 格式的文本文件转换为Excel、Shapefile、Arc GIS File Geodatabase 等通用格式。由于 OSM 数据可由多种知识层次的用户编辑以及软件本身存在的不足等, 在转换过程中可能会出现一些异常, 如丢失属性、丢失要素、线转为面、面转为线等。因此, 数据格式转换完成后要对转换结果进行简单的数量统计、可视化浏览, 确保要素无丢失, 要素几何类型未出现错分类, 要素提取区域满足需求等。2.2 关键字识别与属性识别根据用户
9、应用需求对转换后的数据进行信息分类统计, 整理出 OSM 要素类的关键字及相关属性。首先可借鉴 OSM 网站上对常见要素类的标签定义 (http:/wiki.openstreetmap.org/wiki/Map_Fea tures) , 整理出感兴趣的要素类关键字及其属性定义。然后通过对关键字及属性的 tag 内容进行唯一值统计, 通过查看数量、聚集程度、与其他已知要素的关系, 以及叠加 DOM、结合专题资料等方法来验证已知关键字和属性的正确性。由于 OSM 的开放性, 各地区的用户也会根据当地实际情况、知识体系水平形成自成体系的要素类型定义, 或出现关键字拼写错误等情况, 因此数据分析时需要
10、综合利用以上技术仔细判断未知属性的意义, 也可从中提取出更多的关键字。另外还能通过唯一值统计获取属性项的枚举值, 了解属性内容的质量, 提前对数据中的异常值进行剔除, 对数字单位进行转换, 确保 OSM 数据的精确利用。3 Open Street Map 信息提取3.1 地理信息要素的专题分类通过数据分析整理出所需 OSM 要素类的关键字, 属性名称以及属性内容的类型、字符串长度、枚举值、数值单位、阈值、质量异常等, 再根据应用需求定义数据提取的目标数据库结构。表 1 是一种目标数据库的结构表示例。另外, 还可定义目标数据库的要素属性枚举值表等相关内容。表 2 是一种 OSM数据向目标数据库转
11、换的枚举表示例。表 1 目标数据库数据结构表示例 下载原表 表 2 OSM 数据向目标数据库转换枚举表示例 下载原表 3.2 专题要素的属性信息获取为了实现 OSM 数据的快速转换, 必须建立目标数据库与 OSM 数据的转换规则。转换规则从一个或多个 OSM 数据关键字标签指向一个目标数据库属性字段, 并附带转换参数。这些转换参数包括转换方法、辅助参数等信息。表 3 是一种OSM 数据向目标数据库转换的规则表示例。表 3 OSM 数据向目标数据库转换规则表示例 下载原表 表 3 中的示例说明:1) 将 OSM 数据中满足条件的要素, 导入目标数据库 ROALN 要素类中, 并在 CLSID 字
12、段赋值时查询枚举表, 获得“motorway“对应的枚举值“12001“, 将此枚举值赋给 CLSID 字段。2) 对 OSM 数据中 tag 有“highway“键的所有要素, 将 tag 键为“name“对应的值赋给目标数据库 ROALN 要素类的 NAME 字段。3) OSM 数据中 tag 有“highway“键的所有要素, 其 tag 键为“highway“对应的值加前缀字符串“highway=“后赋给目标数据库 ROALN 要素类的 SRCTYPE 字段, 即变为“highway=motorway“。基于转换规则的数据提取方法有助于提高交互性、灵活性, 但对于有多重条件或复杂转换计
13、算的情况, 需要对自研软件进行相应的扩展。4 Open Street Map 信息处理实践结合转换规则, 通过 Arc GIS、FME 或自研软件能实现从 OSM 原始文件到目标数据库的数据提取与信息处理。笔者通过对巴基斯坦等国家的试验数据进行分析、提取、转换, 建立了公路、铁路、水系等基础地理信息的地理要素转换规则表。该表能广泛用于其他国家和地区的数据转换, 为 OSM 数据奠定了进一步利用的基础。图 1 为巴基斯坦局部地区的转换结果。图 1 巴基斯坦局部地区转换结果 下载原图5 结语本文解析了 Open Street Map 数据的结构, 并给出了根据应用需要对数据内容进行分析的方法以及实现自动批量数据提取所需的目标数据库结构表、转换规则表、枚举表等示例。这些示例有助于对该数据有兴趣的学者和工程技术人员结合自身行业应用方向对地理信息数据按需提取和处理, 也有助于相关程序员编写软件对 OSM 数据进行批量转换。