mapbox入门-数据预处理
数据预处理
在本教程中,使用tippecanoe生成vector tile。目前tippecanoe支持 GeoJSON, Geobuf格式的输入。并且只支持EPSG:4326 (WGS84, the default) 和 EPSG:3857 (Web Mercator)两种参考系。
因此数据预处理主要将数据从OSM或shp格式转换为geojson格式。如果原始数据的投影不是4326或3857,还需要将参考系投影到这两种参考系之一。
另外,对OSM的数据进行裁剪、编辑、分类等操作,都属于数据预处理的范围。
数据处理工具
osm2shp
osm2shp用来将osm数据转成shp数据,依赖osmium,编译osm2shp之前要安装libosmium-dev.
QGIS
QGIS是一个开源的桌面GIS工具,可以方便的浏览、编辑GIS数据,其功能非常强大,在本教程中我们只使用其数据转换的功能。
QGIS的下载地址是:QGIS下载
可以选择对应平台的版本下载,安装。
gdal/ogr
GDAL/OGR 是一个地理空间数据的格式转换及处理工具。项目主页: http://www.gdal.org
使用GDAL/OGR可以方便的进行数据格式之间的转换。另外gdal还提供了python bind,可以使用python来调用gdal的功能。
数据预览
双击上一章中下载的shp数据,如果没有安装其他GIS软件的话,会默认使用QGIS打开。我们选择gis_osm_pois_free_1.shp 这个文件打开,如下图:

打开属性表
在GIS的概念里,数据包含空间数据和属性数据,空间数据即为空间位置信息,属性数据和数据库表记录类似。打开属性表打开数据的属性数据部分。空间数据和属性数据是一一对应的关系,例如一个POI包含一个坐标位置和多个属性信息(名称、地址、电话等)。在Layers panel 中选中gis_osm_pois_free_1 ,右键选择Open Attribute Table,如图:

属性表打开后如下图:

可以看到poi数据里面包括osm_id,code,name,fclass四个字段,其中fclass和name字段会在后面的是制图过程中经常使用。
标注
为了方便将数据的位置和属性一一对应起来,可以使用QGIS的label功能,将属性数据展示在地图上。
在Layers panel 中选中gis_osm_pois_free_1 ,右键选择properties,如图:

在打开的属性面板中选择labels,然后在右侧选择 “Show labels for this layer”.在Label With 后面选择name。这表示将name字段的数据标注再地图上。如下图:

最后的显示效果如下图:

数据导出成GeoJson
Layers panel 中选中gis_osm_pois_free_1 ,右键选择Save As.如图:

Format选择GeoJson,CRS保持不变,文件名最好简化成pois.geojson,这样制作配图文件的时候比较容易。点击OK,即可将数据保存为GeoJson。

依次对所有shp数据进行上面的操作,将所有数据保存为GeoJson数据。文件名可以使用gis_osm_pois_free_1.shp 中osm_后面的文字,例如pois,buildings等。
另外还可以使用ogr2ogr工具批量的进行转换。详细的的请参考ogr2ogr的相关文档。
数据编辑
如果对下载的数据不满意,或者要增加自己的数据,可以通过QGIS的相关功能来完成,具体的请参考QGIS使用手册。