地图是地理信息应用的基础,凡是一切与位置有关的信息都离不开地图。我们生活中常见的谷歌、百度、高德等公司为我们提供了便利的地图服务,极大便利了我们生活的方方面面。
在地理信息应用中,地图往往是基础底图,起到……的作用。常见的地图服务有OpenStreetMap、百度地图、必应地图、谷歌地图、天地图等等。
在GIS应用系统中,每次都通过网络连接获取这些地图服务无疑是耗时的,这就产生了将这些地图数据下载、离线存储的需求。
本文将分别通过QGIS软件操作和PyQGIS开发示例两个方面来阐述如何使用QGIS下载OSM(Open Street Map)提供的地图数据,并离线加载的方法。掌握了PyQGIS加载离线地图数据的技巧,开发者可以应用到自己开发的Python插件或者独立应用程序中。由于QGIS的Python API接口与C++ API接口基本一致,因此,QGIS的C++二次开发者也同样适用。
OSM地图数据下载
OSM具有丰富的全球开源地理信息数据,提供在线/离线的栅格、矢量数据服务。
由于网络的原因,在QGIS中加载OSM在线数据并不总是能够成功,或者地图加载会非常缓慢。笔者推荐直接用浏览器打开 www.openstreetmap.org 网站上,下载离线数据,导出为“.osm”文件。而后文讲到的使用QGIS软件来直接加载OSM在线数据并下载的方法仅供能够访问国外网的朋友参考。
在QGIS中,可以使用菜单栏“Vector -> OpenStreetMap -> Download Data”来下载OSM地图数据。
该功能提供了从