New "mbtiles://{name}" reference syntax (#27)
This commit is contained in:
parent
ee1cb21dfd
commit
e9cad399c9
5 changed files with 25 additions and 12 deletions
|
@ -34,7 +34,7 @@
|
|||
"request": "2.74.0",
|
||||
"sharp": "0.15.1",
|
||||
"sphericalmercator": "1.0.5",
|
||||
"tileserver-gl-styles": "0.1.0"
|
||||
"tileserver-gl-styles": "0.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"should": "^10.0.0",
|
||||
|
|
|
@ -90,7 +90,7 @@ var startWithMBTiles = function(mbtilesFile) {
|
|||
},
|
||||
"styles": {},
|
||||
"data": {
|
||||
"data": {
|
||||
"osm2vectortiles": {
|
||||
"mbtiles": path.basename(mbtilesFile)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -169,15 +169,21 @@ module.exports = function(options, repo, params, id, dataResolver) {
|
|||
var source = styleJSON.sources[name];
|
||||
var url = source.url;
|
||||
|
||||
if (url.lastIndexOf('mbtiles', 0) === 0) {
|
||||
if (url.lastIndexOf('mbtiles:', 0) === 0) {
|
||||
// found mbtiles source, replace with info from local file
|
||||
delete source.url;
|
||||
|
||||
var fromData = url.lastIndexOf('mbtiles_data:', 0) === 0;
|
||||
var mbtilesFile = url.substring(
|
||||
(fromData ? 'mbtiles_data://' : 'mbtiles://').length);
|
||||
var mbtilesFile = url.substring('mbtiles://'.length);
|
||||
var fromData = mbtilesFile[0] == '{' &&
|
||||
mbtilesFile[mbtilesFile.length - 1] == '}';
|
||||
|
||||
if (fromData) {
|
||||
mbtilesFile = dataResolver(mbtilesFile);
|
||||
mbtilesFile = dataResolver(
|
||||
mbtilesFile.substr(1, mbtilesFile.length - 2));
|
||||
if (!mbtilesFile) {
|
||||
console.log('ERROR: data "' + mbtilesFile + '" not found!');
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
queue.push(function(callback) {
|
||||
|
|
|
@ -16,11 +16,15 @@ module.exports = function(options, repo, params, id, reportTiles, reportFont) {
|
|||
Object.keys(styleJSON.sources).forEach(function(name) {
|
||||
var source = styleJSON.sources[name];
|
||||
var url = source.url;
|
||||
if (url.lastIndexOf('mbtiles', 0) === 0) {
|
||||
var fromData = url.lastIndexOf('mbtiles_data:', 0) === 0;
|
||||
var mbtiles = url.substring(
|
||||
(fromData ? 'mbtiles_data://' : 'mbtiles://').length);
|
||||
var identifier = reportTiles(mbtiles, fromData);
|
||||
if (url.lastIndexOf('mbtiles:', 0) === 0) {
|
||||
var mbtilesFile = url.substring('mbtiles://'.length);
|
||||
var fromData = mbtilesFile[0] == '{' &&
|
||||
mbtilesFile[mbtilesFile.length - 1] == '}';
|
||||
|
||||
if (fromData) {
|
||||
mbtilesFile = mbtilesFile.substr(1, mbtilesFile.length - 2);
|
||||
}
|
||||
var identifier = reportTiles(mbtilesFile, fromData);
|
||||
source.url = 'local://data/' + identifier + '.json';
|
||||
}
|
||||
});
|
||||
|
|
|
@ -106,6 +106,9 @@ module.exports = function(opts, callback) {
|
|||
});
|
||||
if (dataItemId) { // mbtiles exist in the data config
|
||||
return dataItemId;
|
||||
} else if (fromData) {
|
||||
console.log('ERROR: data "' + mbtiles + '" not found!');
|
||||
process.exit(1);
|
||||
} else {
|
||||
var id = mbtiles.substr(0, mbtiles.lastIndexOf('.')) || mbtiles;
|
||||
while (data[id]) id += '_';
|
||||
|
|
Loading…
Reference in a new issue