安装gdal
brew install gdal
安装tippecanoe
brew install gdal tippecanoe
安装mbutil
git clone https://github.com/mapbox/mbutil.git
cd mbutil
sudo python setup.py install
mapinfo转geojson
ogr2ogr -f GeoJSON test.geojson BLchina.mif
mapinfo转shp
ogr2ogr -f “ESRI Shapefile” res.shp BLchina.mif
shpfile转geojson
ogr2ogr -f GeoJSON ne_10m_railroads.geojson ne_10m_railroads.shp
geojson转mbtile
tippecanoe -o file.mbtiles file.json
使用tippecanoe 直接生成缓存目录的pbf:
tippecanoe us_states.json -e us_stats_tileset -zg
如果你不确定所使用数据的最大级别,可以使用 -zg 来根据数据密度自动估算一个级别。
tippecanoe -o outfile.mbtiles -Z8 -z20 infile.geojson
-Z 是切片的最小zoom, -z 切片的最大zoom
tippecanoe us_states.json -e us_stats_tileset -Z8 -z8
合并多个图层
tippecanoe -e us_stats_tileset -zg us_states.json us_states1.json
tippecanoe 在制作切片进行了gzip压缩
tippecanoe -e lakepbf -pC -Z8 -z14 -f lake.geojson
mbtile转pbf
mb-util –image_format=pbf opgrsp_gb.mbtiles ./opgrsp_gb_tileset
转换出来的是gzip格式的,需要解压缩一下
gzip -d -r -S .pbf *
解压缩后会丢失.pbf的后缀,可以直接在地址上不加后缀,或者调用如下
find . -type f -exec mv ‘{}’ ‘{}’.pbf ;
find . -type f -exec mv ‘{}’ ‘{}’.vector.pbf ;
样式:
https://docs.mapbox.com/api/maps/styles/
Mvt数据格式:
https://docs.mapbox.com/vector-tiles/reference/mapbox-streets-v8/
java开发,采用geotools工具集,将mif或shp文件转换成geojson
数据转换:
1.采用ogr2ogr批量将mapinfo格式数据转geojson (sh脚本)
2.根据数据分割原则拆分geojson数据到n个层级 (java程序)
3.用tippecanoe将数据转换成mvt (sh脚本)
4.用openlayers或mapbox js将数据展示 (前端)
5.调整android或iOS sdk进行数据展示
6.室内地图逻辑同上
116.350908,39.94512
116.428499,39.903256
mapbox数据下载
./mbgl-offline
–north 39.94512
–west 116.350908
–south 39.903256
–east 116.428499
–minZoom 12
–maxZoom 14
–style mapbox://styles/mapbox/streets-v8
–token ‘pk.eyJ1IjoicWlhbnFpYW5nIiwiYSI6ImNrcjRwdGlhYzFkMGYzMHRjNnR2ZDZkNGoifQ.mRcBNO2j_D3URTnVK-g-WQ’
–output mapcache.db
openstreemap 数据下载
1.打开openstreemap,下载shp格式中国数据
2.将下载的名字进行调整,比如osm_geo_buildings.shp。修改为building,方便以后样式编写。
3.将shp转为geojson
for file in find . -name "*.shp"
; do
ogr2ogr -f GeoJSON ${file%.*}.geojson $file
done
4.将geojson转mvt
-pC 取消gzip压缩
-Z 最小层级
-z 最大层级
tippecanoe -e output -pC -Z18 -z18 building.geojson landuse.geojson natural_point.geojson natural.geojson place_point.geojson place.geojson pofw_point.geojson poi_point.geojson poi.geojson railway.geojson road.geojson traffic_point.geojson traffic.geojson transport_point.geojson transport.geojson water.geojson waterway.geojson
5.编写样式