麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

OfflineMapDownloader - Python实现的简易地图瓦片下载器

在GIS项目交付过程中经常会遇到弱网或者无网的情况,通常情况下我们需要手动去下载一些图商的地图瓦片。目前市面上已经有大大小小多种地图下载器,免费的付费的都有。其实仔细想想这个过程其实并不复杂,基本就分三步:确定范围、下载这个范围下的所有瓦片、导出。于是小编在做项目的时候想想找找有没有小范围简易下载器,最后在github上还真找到一个:OfflineMapDownloader。

项目简介

项目原地址:

https://github.com/0015/OfflineMapDownloader

小编测试了一下发现问题挺多的,主要有以下三个方面:

  1. 只支持OpenStreetMap、ArcGIS Online
  2. 不支持中国地区瓦片下载
  3. 下载的mbties文件QGIS打不开

其中中国地区的使用问题很致命,导致小编根本无法使用,于是小编简单修复了一下,搞了一个新的版本。小编版本的地址:

https://github.com/sailor103/OfflineMapDownloader

主要针对上面三个问题做了修复,可以正常导出中国地区地图,并支持QGIS打开,如下图:

使用方法

使用前请确保电脑已安装 Python3 环境(建议 3.7 及以上版本),无需额外配置 GIS 基础库,依赖包会自动安装。输入如下命令:

git clone https://github.com/sailor103/OfflineMapDownloader.git
cd OfflineMapDownloader

安装项目所需依赖,为了项目不互相干扰,还是建议使用conda之类新建一个虚拟环境,参考:《「GIS教程」Conda基础使用工作流

pip install -r requirements.txt

最后运行下面命令启动应用:

python app.py

启动成功后,打开浏览器访问 http://127.0.0.1:5000,即可进入可视化下载界面!

测试效果

手动绘制一个范围,并选择好下载的格式、级别以及图源

点击下载即可,下载之后会导出需要的格式,使用QGIS可以打开

目前小编为了解决中国地区无法下载卫星瓦片的问题,增加了BingMaps的图源,本来想添加天地图的,但天地图缩放大了数据不清楚就取消了。

总结

本来小编就是简单找个小范围的瓦片下载器,无需复杂配置、无需 API 密钥、操作可视化,没想到最后还是走进了折腾代码的坑。目前来说凑合着用了,其他的功能大家可以自己修改代码添加,也别提issue加star了,小编也没时间折腾了。

最后声明一下,本工具用于学习目的,仅限个人、教育或实验使用,严禁用于商业应用或大规模自动化下载。

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子
没有下文

留言板(小编看到第一时间回复)