使用tippecanoe進行批量生成矢量瓦片的方法


 
// tippecanoe切片的命令格式:tippecanoe - e ./pbf/lakepbf -pC -Z8 -z20 -f lake.geojson
使用tippecanoe生成矢量瓦片的方法,可以參考這里 https://www.cnblogs.com/jyughynj/p/11804721.html
但這里介紹了一次生成一個圖層的瓦片,實際項目中肯定會有很多個圖層,手動一條條修改命令、執行效率實在比較低。
事實上, 可以把多條命令用“;”分割后一起放入tippecanoe中執行。像下面這樣:
1 tippecanoe - e ./pbf/data0 -pC -Z8 -z20 -f data0.geojson;tippecanoe - e ./pbf/data1 -pC -Z8 -z20 -f data1.geojson;tippecanoe - e ./pbf/data2 -pC -Z8 -z20 -f data2.geojson;tippecanoe - e ./pbf/data3 -pC -Z8 -z20 -f data3.geojson;

只要把命令預先寫好粘到tippecanoe即可,但是能更偷懶的話還是要再試一下的。這么多命令中只有輸入參數和輸出的目錄不同,都是文件名相關的,可以通過遍歷文件名生成這個命令列表。

node.js的代碼如下:

 1 var fs = require('fs');
 2 
 3 var dirGeojson = 'D:/geojson/'; // geojson文件目錄
 4 var dirPbf = 'D:/pbf/'; // 生成切片的目錄
 5 
 6 fs.readdir(dirGeojson, function(err, files) {
 7   let res = '';
 8   files.forEach(item => {
 9     res +=
10       'tippecanoe -e ' +
11       dirPbf +
12       item.split('.')[0] +
13       ' -pC -Z8 -z20 -f ' +
14       dirGeojson +
15       item +
16       ';';
17   });
18   // 將生成切片命令寫入文件
19   fs.writeFile('./tippecanoe-command.txt', res, function() {
20     console.info('ok');
21   });
22 });

這里輸入的geojson目錄和輸出的pbf目錄都是絕對路徑,所以打開tippecanoe后直接粘貼 tippecanoe-command.txt 中的內容就能運行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM