mapbox-gl:使用tippecanoe制作矢量切片
mapbox-gl支持矢量切片(vector tiles),官方提供了開源版的各類切圖工具和發(fā)布工具,tippecanoe是mapbox官方提供的一個(gè)開源矢量切片工具,用C++語言編寫的。
工具地址:
https://github.com/mapbox/tippecanoe
工具直接使用,只能支持macos或者linux系統(tǒng),windows的支持并沒有提供,不過,提供了Docker的安裝,windows的用戶,可以借助進(jìn)行使用。
tippecanoe安裝完成后,使用命令行進(jìn)行矢量數(shù)據(jù)切片,命令行的格式:
tippecanoe -o file.mbtiles [options] [file.json file.json.gz file.geobuf ...]
支持切片文件、mbtiles兩種格式的數(shù)據(jù)結(jié)果生成,切片文件發(fā)布比較容易,但是一般切片文件比較多,拷貝是一個(gè)問題,mbtiles需要借助server服務(wù)端進(jìn)行發(fā)布。
單個(gè)文件的格式是.pbf,默認(rèn)生成的文件都進(jìn)行了gzip壓縮,這個(gè)在發(fā)布的時(shí)候,在http返回的header上,要添加Content-Encodin:gzip,讓客戶端知道數(shù)據(jù)已經(jīng)被壓縮,要不然無法正常訪問。
切片文件和mbtiles兩種格式的切片結(jié)構(gòu)是不一樣的,切片文件是xyz的方式,mbtiles是tms的方式,這個(gè)在mapbox-gl中加載切片數(shù)據(jù)時(shí),可以進(jìn)行設(shè)置。
輸入的矢量文件,支持geojson和shp文件,注意設(shè)置編碼,防止數(shù)據(jù)亂碼,支持單個(gè)和多個(gè)文件進(jìn)行切片。
常用的命令參數(shù)注釋:
?-zg或者-z15:要切的切片最大級(jí)別,zg是工具支持的最大,z數(shù)字是指定的切片級(jí)別;
Z4:是切片的開始級(jí)別,方便設(shè)置不從0級(jí)開始的切片;
-o是mbtiles的格式,
-e是文件目錄的格式;
其他的參數(shù),請(qǐng)參見項(xiàng)目頁面進(jìn)行設(shè)置。