7.1.1 数据集说明
OpenStreet Map是进行地图数据采集、编辑、共享、应用的互联网社区,其目标是创立一个开放、高质量、全球覆盖、通用、及时更新的地图数据集。OpenStreet Map成立于2004年,最初只有一个网站供用户上传GPS轨迹文件并提供以航空或卫星影像为底绘制地图图形要素的功能。经过十多年的发展,OpenStreet Map已经形成了以在线地图服务、开放数据库、开放源代码的软件工具集、数据审核与管理社区、在线应用服务为代表的庞大生态系统,包括大量的网站、数据、软件、用户、应用形式等,在互联网世界具有广泛的影响力。其中在线地图服务网站包括OpenStreet Map、OpenCycleMap、OpenPOImap、OpenScienceMap等,分别以开放数据库为基础利用不同的制图样式渲染生成的各类具有不同特色的地图,如街区图、自行车地图、海图、兴趣点图等;开放数据库则包括原始形式的基于PostgreSQL的数据库、已构造为地理要素的PostGIS数据库及各种格式的数据库导出文件,目前压缩之后的导出文件大小约为35 GB;开放源代码的软件工具则包括OpenStreet Map-Website、JOSM、Osmosis、Osmium等;OpenStreet Map社区目前已包括300万注册用户,其中1/3的用户至少贡献了一次修改和数据提交;在线应用服务则包括Apple Maps、Map Quest、Mapbox等商业公司,也包括各种非营利机构所提供的地图,包括联合国人道主义组织等。
OSM数据模型是一种拓扑模型,因此具有空间对象拓扑模型的优势和弱点。其优点在于结构严密、冗余度低、易于表达拓扑关系、能够较为方便地转换为符合3NF范式的数据模式;其弱点在于存取效率较低,线对象与组合对象需要实时生成包含坐标点位的对象才能用于可视化与空间分析。同时,OSM数据是更新频繁的数据集,需要着重考虑数据更新的效率。
本书使用的数据来源于OpenStreet Map官方网站的全库导出文件即Planet.osm,通过工具软件osmcoastline导出全球海岸线数据、大不列颠岛与爱尔兰岛上全要素数据,两部分数据的数据量及特征如表7-1和表7-2所示。
表7-1 全球海岸线数据集

表7-2 大不列颠岛及爱尔兰岛全要素数据

全球海岸线数据集是目前精度最高的海岸线数据,其规模比全球一致性、层次化、高分辨率海岸线数据(Global Self-consistent,Hierarchical,High-resolution Geography Database,GSHHG)及自然地理数据集(Natural Earth Dataset)高至少一个数量级,其中最大的多边形包含的顶点数量超过400万,顶点数超过10万的封闭面要素的数量超过270。这种规模的数据量如果直接操作,无论是查询、传输还是绘图都将严重影响性能。
大不列颠岛及爱尔兰岛的全要素数据集的顶点数量近1亿,其规模也超过了通常的可以通过网络实时存取的数据量。在该数据集上进行窗口查询,若对结果集规模不加限制,则查询结果同样因为规模巨大而无法有效处理、传输、可视化,非常适合空间查询引擎的应用。
表7-3至表7-8为OSM数据中三类几何对象顶点(node)、线对象(way)、关系(relation)的数据示例,关系也是一种组合对象。其中,表7-3为节点表,存储节点编号、经度和纬度;表7-4为线-节点表,存储线对象编号、节点编号和节点序列号;表7-5为关系表,存储对象编号、线对象编号和线对象序列;表7-6、表7-7和表7-8为节点、线和关系的标签表。
表7-3 节点表
(https://www.daowen.com)
表7-4 线-节点表

表7-5 关系表

表7-6 节点标签表

表7-7 线标签表

表7-8 关系标签表

实际上,真实的OSM数据表比这些要复杂,它们与建立空间索引、处理多版本以及更新管理等功能相关,而与数据模型无关,因此在此略去。从实际使用的效果来看,OSM使用数据拓扑模型可以较好地满足数据频繁更新的需要,同时具备完整地表达各类地物要素的能力。