var source = new mbtiles(mbtilesFile, function(err) { source.getInfo(function(err, info) { tileJSON['name'] = id; tileJSON['format'] = 'pbf'; Object.assign(tileJSON, info); tileJSON['tilejson'] = '2.0.0'; tileJSON['basename'] = id; tileJSON['filesize'] = fs.statSync(mbtilesFile)['size']; delete tileJSON['scheme']; fixTileJSONCenter(tileJSON); }); geojsonToTiles(process.stdin, maxZoom, pattern) .pipe(through(function (tile) { var parts = tile.split('/') var z = parts[0] var x = parts[1] var y = parts[2] var streamSelf = this; var outputFile = outputDir + '/' + tile + '.pbf' if (fs.existsSync(outputFile)) { return } streamSelf.pause() source.getTile(z, x, y, function(err, data, headers) { if (err) { // console.error(err) streamSelf.resume() return } if (data == null) { // console.error('Not found') streamSelf.resume() return } zlib.gunzip(data, function (err, ungzipped) { if (err) { // console.error(err) streamSelf.resume() return } mkdirp(path.dirname(outputFile), function () { fs.writeFile(outputFile, ungzipped, function () { streamSelf.resume() }) }) }) }); })) .on('end', function () { tileJSON.tiles = [ tilesURl ] fs.writeFileSync(outputDir + '/metadata.json', JSON.stringify(tileJSON, undefined, 2)) console.log('Done') }) });
var source = new mbtiles(mbtilesFile, function(err) { source.getInfo(function(err, info) { tileJSON['name'] = id; tileJSON['format'] = 'pbf'; Object.assign(tileJSON, info); tileJSON['tilejson'] = '2.0.0'; tileJSON['basename'] = id; tileJSON['filesize'] = fs.statSync(mbtilesFile)['size']; delete tileJSON['scheme']; Object.assign(tileJSON, params.tilejson || {}); utils.fixTileJSONCenter(tileJSON); }); });