mapbox-gl開發(fā)教程(四):矢量切片數(shù)據(jù)制作
? ? ? ? mapbox-gl主要的渲染方式是加載矢量切片(vectortiles),在前端根據(jù)自己設(shè)定的圖層樣式進(jìn)行實(shí)時(shí)渲染,這和傳統(tǒng)的通過(guò)后端制作好底圖,發(fā)布成圖片格式的切片是有區(qū)別的。在mapbox-gl的使用過(guò)程中,制作自己的矢量切片數(shù)據(jù)是相當(dāng)關(guān)鍵的。
目前,有多種方式能夠進(jìn)行矢量切片的制作,常用的有QGIS、Geoserver、超圖的iServer等,官方也提供了幾種開源工具進(jìn)行矢量切片的制作,這里以tippecanoe為例,簡(jiǎn)單的列舉一下如何進(jìn)行矢量切片制作:
工具地址:
https://github.com/mapbox/tippecanoetippecanoe
目前只能支持macos、linux系統(tǒng),windows的支持并沒(méi)有提供直接安裝,不過(guò)通過(guò)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è)問(wèn)題,mbtiles需要借助server服務(wù)端進(jìn)行發(fā)布。切片文件和mbtiles兩種格式的切片結(jié)構(gòu)是不一樣的,切片文件是xyz的方式,mbtiles是tms的方式。
輸入的矢量文件,支持geojson和shp文件,注意設(shè)置編碼,防止數(shù)據(jù)亂碼,支持單個(gè)和多個(gè)文件同時(shí)進(jìn)行切片。
常用的命令參數(shù)注釋:
? ? ? ? -zg或者-z15:要切的切片最大級(jí)別,zg是工具支持的最大,z數(shù)字是指定的切片級(jí)別;
Z4:是切片的開始級(jí)別,方便設(shè)置不從0級(jí)開始的切片;-o是mbtiles的格式,-e是文件目錄的格式;其他參數(shù)可以詳細(xì)參見文檔內(nèi)容。
關(guān)注公眾號(hào)查看更多:
