zoukankan      html  css  js  c++  java
  • 使用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 中的内容就能运行。

     
  • 相关阅读:
    jsoup获取文章内容
    查询数据,更新数据
    查询数据,从链接地址中爬取文章内容jsoup
    java输出一个目录下的子目录
    从多层级的目录文件中查找字符串
    Win10 x64 pnglib Release
    Win10 x64 pnglib Debug
    VS2015 dlib编译 x64 Release .lib生成
    VS2015 dlib编译 x64 Debug .lib生成
    OpenBLAS编译 Release x64 Win10 vs2015
  • 原文地址:https://www.cnblogs.com/jyughynj/p/12342514.html
Copyright © 2011-2022 走看看