一、下载OpenStreetMap离线地图数据

OpenStreetMap可以在Geofabrik Download Server进行下载。

红框部位可直接下载洲区域地图。

也可以点击洲名称,进入下载国家区域的地图。

该网址似乎没有提供省市级别的地图,至少本人没有找到。

确定要下载的地图之后,建议下载.bz2格式的地图(因为目前只知道如何处理这样的地图)。

下载如果是linux系统,建议tmux+axel。(本人下载数据用的Ubuntu,处理数据的软件是在win7上)

下载完成后是bz2格式的压缩文件,需要解压一下(linux系统可直接用bunzip2解压,如果是win的话,好像还不能直接解压,搜了下据说有bzip2 for windows,还有7z可以解决)。

解压会得到一种osm格式的数据。

二、处理osm数据

处理osm数据用到一个软件:maperitive。

下载下来之后,在安装目录下有个 Maperitive.exe 直接双击运行就好。

提示内容叉掉,左上角 file -> open map sources。

找到刚刚下载的osm格式数据。打开。

然后右下角 Map Source,里面就有两个地图数据源,一个是刚刚加载的,另一个是原生的,原生的地图数据比较简单,不详细。

把Web map(OSM Mapnik)前边的黄色五角星点一下,原生的地图就取消了,剩下的就是下载下来的地图了。

在,左边,有个Commander,是个命令行工具。

在Command prompt:这里可以输入指令。

把地图拉到自己想要的范围,

然后输入指令:

generate-tiles minzoom=1 maxzoom=3

这里将zoom范围设置的1~3,根据自己实际需求进行设置。

(minzoom是显示的图最小,即整个区域地图的缩略图,maxzoom是显示图最大, 可以看到很多细节)。

运行过后,在Maperitive的安装目录下就会多一个Tiles文件夹。

这就是地图瓦片。

三、搭建瓦片服务器

瓦片服务器其实就是打一个web服务,请求url,将对应的图片进行返回。

这里采用的python-flask(因为搭建起来很简单,几行代码就OK,具体操作的时候也可以换成其他方式)。

搭建python-flask的瓦片服务器,只需要有python环境,然后安装flask库就行。

具体细节就不多说,直接看完整代码。

from flask import Flask, Responseapp = Flask(__name__)@app.route("/")
def index():return "<h1>map source</h1>"@app.route("/tiles/<int:x>/<int:y>/<int:z>", methods=['GET'])
def getTiles(x, y, z):# return str(x)+"_"+str(y)+"_"+str(z)imgPath = "Tiles/{}/{}/{}.png".format(x, y, z)resp = Nonewith open(imgPath, 'rb') as f:img = f.read()resp = Response(img, mimetype="image/png")return respif __name__ == '__main__':app.run(debug=True)

很简洁,20行代码就搞定了。

然后在浏览器"localhost:5000/tiles/1/2/3"就可以看到浏览器页面中显示了相应的地图了。

下载OpenStreetMap离线地图数据并搭载瓦片服务器相关推荐

  1. 如何下载Mbtiles离线地图数据

    瓦片数据MBTiles存储简介 地图制作者面对一个数以百万计的地图瓦片残酷的现实:大多数文件系统和传输协议对处理数以百万计的图像不是很有效,在磁盘为FAT32格式中,一个文件夹中最多含有65536个文 ...

  2. 添加离线地图数据到三维地图服务器

    添加离线地图数据到三维地图服务器 发布时间:2020-03-03 版权: 搭建离线地图服务主要是两个步骤:一是:下载离线地图服务需要的地图数据:二是:将下载的离线地图数据发布成地图服务:只有做好这两步 ...

  3. 如何下载高德离线地图瓦片数据

    离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...

  4. 如何下载谷歌离线地图瓦片数据

    离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...

  5. 如何下载百度离线地图瓦片数据

    离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...

  6. 如何下载TMS离线地图瓦片数据

    离线地图分为两种:一种叫"金字塔瓦片"数据,一种叫"矢量地图数据".我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片:另外一种是手机上用来 ...

  7. 基于高德离线地图数据实现GPS经纬度逆解析城市信息

    一.获取离线数据:        如果你只是想实现逆解析功能,那该步骤可以跳过,因为地图数据已经收集打包好了.直接文末找git路径就好了. 准备工作:python  numpy h5py   open ...

  8. 离线地图数据包下载(全国地图数据)及应用到手机APP

    Oruxmaps作为一款非常强大的户外gps导航软件,可以实现离线地图导航,在没有手机信号.飞行模式下都可以正常导航:同时功能强大,可以自定义离线地图,支持记录/跟踪轨迹.导入/导出航迹.根据航迹导航 ...

  9. 搭建全国离线地图数据服务器解决方案

     Bigemap GIS大数据                  数据处理与开发应用一站式解决方案      技术服务:数据中心 + 桌面端 + 移动端(APP) + WEB端      关 键 词: ...

最新文章

  1. mxnet nd中的asscalar() 向量转换为标量 转
  2. 中西三大差距根源在哪里?
  3. Postman:Postman(HTTP的测试工具)使用方法详细攻略
  4. android webview loadurl本地,Android WebView 使用loadUrl方法执行本地JavaScript
  5. 平台游戏中走与跳的实现
  6. insert select带来的问题
  7. C#判断某软件是否安装
  8. [架构] 分布式和集群的区别
  9. java中的holder类_java – HashMap中Holder类的用途是什么?
  10. 新年第一篇!西南民族大学第十届校赛(同步赛)
  11. 长沙试水数字人民币:线下支持数字人民币支付的商家已达3404个
  12. IE8 新增的Javascript,css功能
  13. SCPPO(二十二):读取配置文件---程序猿必不可少的技能
  14. 《刘润·5分钟商学院》学习总结01
  15. LENET-5卷积神经网络的深度学习技术
  16. 计算机的应用数据处理,计算机的应用领域:数据处理(或信息处理)
  17. PS制作 LOGO图片
  18. 人机交互及用户体验、GUI思考
  19. 马路上“低头族”的交通隐患 ,小心埋头苦干的恶果
  20. SAP CRM BOL编程基础,代码+详细注释

热门文章

  1. SQL注入 Less23(过滤注释符)
  2. SQL中#和--+的区别——2021-10-27
  3. AWS Certificate Manager ssl证书申请
  4. centos7-15-Linux的发展史和主流发行版系列
  5. 传智播客超级设计师在线就业班招生啦
  6. java实现高效文件下载
  7. TP5使用whereOr查询时致使部分查询条件失效怎么处理
  8. 去掉IDEA中xml文件的淡黄色背景
  9. 图片网页html css,HTML/CSS:Web常用图片类型
  10. 8种基本数据类型对应封装类