mapbox入门-数据下载与工具准备
2019-01-02
MapBox简介
Mapbox是目前最流行的地图可视化工具,使用Mapbox可以制作出酷炫的地图应用。
Mapbox核心的工具都是以开源的方式贡献出来,地址为:
github
Mapbox制作的一些漂亮的地图:
gallery
教程大纲
本次教程会以step by step的方式,介绍如何从零开始制作一副自己的地图。主要内容包括:
- 数据获取与工具下载
- 数据预处理
- Vector tile 生成
- Vector tile 托管与服务发布
- 字体、图片资源处理
- 制图
数据获取与工具下载
数据获取
目前从互联网上能够容易获取到的数据为OSM数据,OSM数据可以从
https://planet.openstreetmap.org/下载,在此网站可以下载OSM所有数据,有两种格式可以选择,压缩的osm格式(XML)和pbf格式。
另外http://download.geofabrik.de网站还提供shp格式数据下载,shp格式数据是已经分层处理好的数据,比较容易使用,因此建议大家从geofabrik网站下载数据。
本教程以芬兰的数据为例进行介绍,因此在此先现在芬兰的shp数据。1
wget "http://download.geofabrik.de/europe/finland-latest-free.shp.zip"
数据解压后,如图:
可以看到,数据已经分好层,包括builds,poi,natural,landuse,water,places等很多层。每个层中包含分类好的数据。
使用QGIS打开,效果如图:
工具
数据处理
- osm2shp 用来将osm数据转成shp数据,如果直接下载的是shp数据,则不需要使用此工具
- QGIS 主要用来查看、编辑数据,并将数据从shp转成geojson
- python +gdal/ogr 不是必须,主要用来批量处理数据,比如批量将图层导出成geojson
vector tile 生成与预览
- tippecanoe 用来将geojson文件切片成vector tile
- DB Browser for sqlite用来打开mbtiles文件,查看mbtiles的组织方式和元数据信息
- mbview 用来预览vector tile
vector tile 托管
- tessera 用来托管vector tile,并以/{z}/{x}/{y}方式响应vector tile的访问请求
字体与图片资源处理
- node-fontnik 用于将字体转成pbf格式
- spritezero 用于将图标文件转成sprit
制图
- Mapbox Studio 用可视化的方式编辑style文件
- Maputnik 和Mapbox Studio类似