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

Posted jyughynj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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 中的内容就能运行。

 

以上是关于使用tippecanoe进行批量生成矢量瓦片的方法的主要内容,如果未能解决你的问题,请参考以下文章

【GIS】矢量瓦片,GeoServer+Mapbox

PostGIS+SpringBoot生成实时矢量瓦片?

Arcgis瓦片--数据获取

基于cesium的百度、腾讯、高德数据访问

栅格瓦片 笔记二:瓦片数据的生成

ubuntu中安装tippecanoe并切片