Serve any vector/raster mbtiles, use styles only for osm2vt (close #51, #52)

This commit is contained in:
Petr Sloup 2016-09-27 17:26:05 +02:00
parent f201deecdc
commit 09859c10c1

View file

@ -70,10 +70,6 @@ var startWithMBTiles = function(mbtilesFile) {
} }
var instance = new mbtiles(mbtilesFile, function(err) { var instance = new mbtiles(mbtilesFile, function(err) {
instance.getInfo(function(err, info) { instance.getInfo(function(err, info) {
if (info.format != 'pbf') {
console.log('ERROR: MBTiles format is not "pbf".');
process.exit(1);
}
var bounds = info.bounds; var bounds = info.bounds;
var styleDir = path.resolve(__dirname, "../node_modules/tileserver-gl-styles/"); var styleDir = path.resolve(__dirname, "../node_modules/tileserver-gl-styles/");
@ -89,15 +85,17 @@ var startWithMBTiles = function(mbtilesFile) {
} }
}, },
"styles": {}, "styles": {},
"data": { "data": {}
"osm2vectortiles": { };
if (info.format == 'pbf' &&
info.name.toLowerCase().indexOf('osm2vectortiles') > -1) {
config['data']['osm2vectortiles'] = {
"mbtiles": path.basename(mbtilesFile) "mbtiles": path.basename(mbtilesFile)
}
}
}; };
var styles = fs.readdirSync(path.resolve(styleDir, 'styles')); var styles = fs.readdirSync(path.resolve(styleDir, 'styles'));
for (var i=0; i < styles.length; i++) { for (var i = 0; i < styles.length; i++) {
var styleFilename = styles[i]; var styleFilename = styles[i];
if (styleFilename.endsWith('.json')) { if (styleFilename.endsWith('.json')) {
var styleObject = { var styleObject = {
@ -110,6 +108,13 @@ var startWithMBTiles = function(mbtilesFile) {
styleObject; styleObject;
} }
} }
} else {
console.log('WARN: MBTiles not in "osm2vectortiles" format. ' +
'Serving raw data only...');
config['data'][info.id || 'mbtiles'] = {
"mbtiles": path.basename(mbtilesFile)
};
}
if (opts.verbose) { if (opts.verbose) {
console.log(JSON.stringify(config, undefined, 2)); console.log(JSON.stringify(config, undefined, 2));