Extract all into file per layer, concatenate to single file

This commit is contained in:
Norbert Renner 2019-03-19 20:27:56 +01:00
parent 9c3682294e
commit 182edb2ee1
52 changed files with 10344 additions and 2200 deletions

View file

@ -24,6 +24,7 @@ var modifyCssUrls = require('gulp-modify-css-urls');
var sort = require('gulp-sort'); var sort = require('gulp-sort');
var scanner = require('i18next-scanner'); var scanner = require('i18next-scanner');
var jsonConcat = require('gulp-json-concat'); var jsonConcat = require('gulp-json-concat');
var rename = require("gulp-rename");
var debug = false; var debug = false;
@ -54,6 +55,8 @@ var paths = {
images: mainNpmFiles().filter(f => RegExp('.*.+(png|gif|svg)', 'i').test(f)), images: mainNpmFiles().filter(f => RegExp('.*.+(png|gif|svg)', 'i').test(f)),
fonts: mainNpmFiles().filter(f => RegExp('font-awesome/fonts/.*', 'i').test(f)), fonts: mainNpmFiles().filter(f => RegExp('font-awesome/fonts/.*', 'i').test(f)),
locales: 'locales/*.json', locales: 'locales/*.json',
layers: 'layers/**/*.geojson',
layersDestName: 'layers.js',
dest: 'dist', dest: 'dist',
destName: 'brouter-web' destName: 'brouter-web'
}; };
@ -163,7 +166,7 @@ gulp.task('inject', function () {
.pipe(gulp.dest('.')); .pipe(gulp.dest('.'));
}); });
gulp.task('default', ['clean', 'scripts_config', 'scripts', 'styles', 'images', 'fonts', 'locales']); gulp.task('default', ['clean', 'scripts_config', 'layers', 'scripts', 'styles', 'images', 'fonts', 'locales']);
gulp.task('debug', function() { gulp.task('debug', function() {
debug = true; debug = true;
@ -274,10 +277,13 @@ gulp.task('i18next', function() {
.pipe(gulp.dest('.')); .pipe(gulp.dest('.'));
}) })
// Bundles layer files. To download and extract run "yarn layers"
gulp.task('layers', function () { gulp.task('layers', function () {
return gulp.src('layers/extra/**/*.json') return gulp.src(paths.layers)
.pipe(jsonConcat('layers-extra.js', function(data){ // Workaround to get file extension removed from the dictionary key
return Buffer.from('Object.assign(BR.layerIndex, ' + JSON.stringify(data, null, 4) + ');'); .pipe(rename({ extname: ".json" }))
.pipe(jsonConcat(paths.layersDestName, function(data){
return Buffer.from('BR.layerIndex = ' + JSON.stringify(data, null, 2) + ';');
})) }))
.pipe(gulp.dest('layers')); .pipe(gulp.dest(paths.dest));
}); });

View file

@ -359,9 +359,7 @@
<script src="dist/url-search-params.js"></script> <script src="dist/url-search-params.js"></script>
<script src="config.js"></script> <script src="config.js"></script>
<script src="keys.js"></script> <script src="keys.js"></script>
<script src="layers/layers-josm.js"></script> <script src="dist/layers.js"></script>
<script src="layers/layers-collection.js"></script>
<script src="layers/layers-extra.js"></script>
<!-- "gulp inject" for debugging --> <!-- "gulp inject" for debugging -->
<!-- inject:js --> <!-- inject:js -->

View file

@ -181,17 +181,23 @@ BR.LayersTab = L.Control.Layers.extend({
if (typeof entry === 'object') { if (typeof entry === 'object') {
walkObject(entry); walkObject(entry);
} else { } else {
var props = BR.layerIndex[entry].properties; var layer = BR.layerIndex[entry];
var url = props.url;
var keyName = self.getKeyName(url);
// when key required only add if configured if (layer) {
if (!keyName || keyName && BR.keys[keyName]) { var props = layer.properties;
var childNode = { var url = props.url;
'id': entry, var keyName = self.getKeyName(url);
'text': props.name
}; // when key required only add if configured
outTree.push(childNode); if (!keyName || keyName && BR.keys[keyName]) {
var childNode = {
'id': entry,
'text': props.name
};
outTree.push(childNode);
}
} else {
console.error('Layer "' + entry + '" not found');
} }
} }
} }

View file

@ -0,0 +1,20 @@
{
"geometry": null,
"properties": {
"name": "OpenStreetMap.se",
"maxZoom": 18,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://openstreetmap.se/\" target=\"_blank\">OpenStreetMap Sweden</a>",
"id": "1010",
"subdomains": [
"a",
"b",
"c",
"d",
"e",
"f"
],
"url": "http://{s}.tile.openstreetmap.se/hydda/full/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,12 @@
{
"geometry": null,
"properties": {
"name": "4UMaps",
"maxZoom": 15,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://www.4umaps.eu/\">4UMaps</a>",
"id": "1016",
"url": "http://4umaps.eu/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,14 @@
{
"geometry": null,
"properties": {
"name": "Osmapa.pl",
"maxZoom": 20,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://osmapa.pl/\" target=\"_blank\">Osmapa.pl</a>",
"id": "1017",
"threed": "true",
"language": "pl",
"url": "http://{s}.tile.openstreetmap.pl/osmapa.pl/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,14 @@
{
"geometry": null,
"properties": {
"name": "Спутник",
"maxZoom": 19,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://maps.sputnik.ru/\" target=\"_blank\">Спутник</a>",
"id": "1021",
"threed": "true",
"language": "ru",
"url": "http://{s}.tiles.maps.sputnik.ru/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,19 @@
{
"geometry": null,
"properties": {
"name": "Космоснимки",
"maxZoom": 18,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://osm.kosmosnimki.ru/\" target=\"_blank\">ScanEx</a>",
"id": "1023",
"subdomains": [
"a",
"b",
"c",
"d"
],
"language": "ru",
"url": "http://{s}.tile.osm.kosmosnimki.ru/kosmo/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,12 @@
{
"geometry": null,
"properties": {
"name": "Thunderforest Outdoors",
"maxZoom": 22,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://www.thunderforest.com/\" target=\"_blank\">Andy Allan</a>",
"id": "1061",
"url": "http://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,12 @@
{
"geometry": null,
"properties": {
"name": "Hike & Bike",
"maxZoom": 19,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://hikebikemap.de/\" target=\"_blank\">Colin Marquardt</a>",
"id": "1065",
"url": "http://toolserver.org/tiles/hikebike/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,13 @@
{
"geometry": null,
"properties": {
"name": "Refuges.info hiking",
"maxZoom": 18,
"attribution": "Map data: &copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\">OpenStreetMap</a> contributors, under ODbL | Tiles: &copy; <a href=\"http://maps.refuges.info/\" target=\"_blank\">sly</a>",
"id": "1069",
"old": "true",
"url": "http://maps.refuges.info/hiking/{z}/{x}/{y}.png",
"dataSource": "LayersCollection"
},
"type": "Feature"
}

View file

@ -0,0 +1,52 @@
const fs = require('fs');
const path = require('path');
const fetch = require('node-fetch');
const outDir = __dirname;
var includeList = [
"1016", // 4UMaps
"1065", // Hike & Bike Map
"1061", // Thunderforest Outdoors
"1021", // kosmosnimki.ru
"1017", // sputnik.ru
"1023", // Osmapa.pl - Mapa OpenStreetMap Polska
"1010", // OpenStreetMap.se (Hydda.Full)
"1069" // MRI (maps.refuges.info)
];
function extract(constantsJs) {
eval(constantsJs);
for (let i = 0; i < includeList.length; i++) {
let id = includeList[i];
let layer = getLayerDataByID(id);
if (!layer) {
console.warn('Layer not found: ' + id);
continue;
}
//console.log(`${layer.id}, ${layer.name}, ${layer.address}`);
layer.url = layer.address;
delete layer.address;
let geoJson = {
geometry: null,
properties: layer,
type: "Feature"
};
geoJson.properties.dataSource = 'LayersCollection';
const outFileName = path.join(outDir, layer.id + '.geojson');
const data = JSON.stringify(geoJson, null, 2);
fs.writeFileSync(outFileName, data);
}
}
// https://github.com/Edward17/LayersCollection/blob/gh-pages/constants.js
fetch('http://edward17.github.io/LayersCollection/constants.js')
.then(res => res.text())
.then(text => extract(text))
.catch(err => console.error(err));

View file

@ -0,0 +1,210 @@
{
"geometry": {
"coordinates": [
[
[
19.83682,
49.25529
],
[
19.80075,
49.42385
],
[
19.60437,
49.48058
],
[
19.49179,
49.63961
],
[
19.21831,
49.52604
],
[
19.16778,
49.42521
],
[
19.00308,
49.42236
],
[
18.97611,
49.5308
],
[
18.54685,
49.51425
],
[
18.31432,
49.33818
],
[
18.15913,
49.2961
],
[
18.05564,
49.11134
],
[
17.56396,
48.84938
],
[
17.17929,
48.88816
],
[
17.058,
48.81105
],
[
16.90426,
48.61947
],
[
16.79685,
48.38561
],
[
17.06762,
48.01116
],
[
17.32787,
47.97749
],
[
17.51699,
47.82535
],
[
17.74776,
47.73093
],
[
18.29515,
47.72075
],
[
18.67959,
47.75541
],
[
18.89755,
47.81203
],
[
18.79463,
47.88245
],
[
18.84318,
48.04046
],
[
19.46212,
48.05333
],
[
19.62064,
48.22938
],
[
19.89585,
48.09387
],
[
20.33766,
48.2643
],
[
20.55395,
48.52358
],
[
20.82335,
48.55714
],
[
21.10271,
48.47096
],
[
21.45863,
48.55513
],
[
21.74536,
48.31435
],
[
22.15293,
48.37179
],
[
22.61255,
49.08914
],
[
22.09997,
49.23814
],
[
21.9686,
49.36363
],
[
21.6244,
49.46989
],
[
21.06873,
49.46402
],
[
20.94336,
49.31088
],
[
20.73052,
49.44006
],
[
20.22804,
49.41714
],
[
20.05234,
49.23052
],
[
19.83682,
49.25529
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"logo-image": "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png",
"required": true,
"text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
},
"country_code": "SK",
"icon": "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png",
"id": "Freemap.sk-Car",
"max_zoom": 16,
"min_zoom": 8,
"name": "Freemap.sk Car",
"type": "tms",
"url": "https://{switch:a,b,c,d}.freemap.sk/A/{zoom}/{x}/{y}.jpeg",
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,210 @@
{
"geometry": {
"coordinates": [
[
[
19.83682,
49.25529
],
[
19.80075,
49.42385
],
[
19.60437,
49.48058
],
[
19.49179,
49.63961
],
[
19.21831,
49.52604
],
[
19.16778,
49.42521
],
[
19.00308,
49.42236
],
[
18.97611,
49.5308
],
[
18.54685,
49.51425
],
[
18.31432,
49.33818
],
[
18.15913,
49.2961
],
[
18.05564,
49.11134
],
[
17.56396,
48.84938
],
[
17.17929,
48.88816
],
[
17.058,
48.81105
],
[
16.90426,
48.61947
],
[
16.79685,
48.38561
],
[
17.06762,
48.01116
],
[
17.32787,
47.97749
],
[
17.51699,
47.82535
],
[
17.74776,
47.73093
],
[
18.29515,
47.72075
],
[
18.67959,
47.75541
],
[
18.89755,
47.81203
],
[
18.79463,
47.88245
],
[
18.84318,
48.04046
],
[
19.46212,
48.05333
],
[
19.62064,
48.22938
],
[
19.89585,
48.09387
],
[
20.33766,
48.2643
],
[
20.55395,
48.52358
],
[
20.82335,
48.55714
],
[
21.10271,
48.47096
],
[
21.45863,
48.55513
],
[
21.74536,
48.31435
],
[
22.15293,
48.37179
],
[
22.61255,
49.08914
],
[
22.09997,
49.23814
],
[
21.9686,
49.36363
],
[
21.6244,
49.46989
],
[
21.06873,
49.46402
],
[
20.94336,
49.31088
],
[
20.73052,
49.44006
],
[
20.22804,
49.41714
],
[
20.05234,
49.23052
],
[
19.83682,
49.25529
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"logo-image": "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png",
"required": true,
"text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
},
"country_code": "SK",
"icon": "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png",
"id": "Freemap.sk-Cyclo",
"max_zoom": 16,
"min_zoom": 8,
"name": "Freemap.sk Cyclo",
"type": "tms",
"url": "https://{switch:a,b,c,d}.freemap.sk/C/{zoom}/{x}/{y}.jpeg",
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,210 @@
{
"geometry": {
"coordinates": [
[
[
19.83682,
49.25529
],
[
19.80075,
49.42385
],
[
19.60437,
49.48058
],
[
19.49179,
49.63961
],
[
19.21831,
49.52604
],
[
19.16778,
49.42521
],
[
19.00308,
49.42236
],
[
18.97611,
49.5308
],
[
18.54685,
49.51425
],
[
18.31432,
49.33818
],
[
18.15913,
49.2961
],
[
18.05564,
49.11134
],
[
17.56396,
48.84938
],
[
17.17929,
48.88816
],
[
17.058,
48.81105
],
[
16.90426,
48.61947
],
[
16.79685,
48.38561
],
[
17.06762,
48.01116
],
[
17.32787,
47.97749
],
[
17.51699,
47.82535
],
[
17.74776,
47.73093
],
[
18.29515,
47.72075
],
[
18.67959,
47.75541
],
[
18.89755,
47.81203
],
[
18.79463,
47.88245
],
[
18.84318,
48.04046
],
[
19.46212,
48.05333
],
[
19.62064,
48.22938
],
[
19.89585,
48.09387
],
[
20.33766,
48.2643
],
[
20.55395,
48.52358
],
[
20.82335,
48.55714
],
[
21.10271,
48.47096
],
[
21.45863,
48.55513
],
[
21.74536,
48.31435
],
[
22.15293,
48.37179
],
[
22.61255,
49.08914
],
[
22.09997,
49.23814
],
[
21.9686,
49.36363
],
[
21.6244,
49.46989
],
[
21.06873,
49.46402
],
[
20.94336,
49.31088
],
[
20.73052,
49.44006
],
[
20.22804,
49.41714
],
[
20.05234,
49.23052
],
[
19.83682,
49.25529
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"logo-image": "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png",
"required": true,
"text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved."
},
"country_code": "SK",
"icon": "https://raw.githubusercontent.com/FreemapSlovakia/freemap-v3-react/master/src/images/freemap-logo-small.png",
"id": "Freemap.sk-Hiking",
"max_zoom": 16,
"min_zoom": 8,
"name": "Freemap.sk Hiking",
"type": "tms",
"url": "https://{switch:a,b,c,d}.freemap.sk/T/{zoom}/{x}/{y}.jpeg",
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,19 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© OpenStreetMap contributors, tiles courtesy of Humanitarian OpenStreetMap Team",
"url": "https://www.hotosm.org/"
},
"icon": "https://wiki.openstreetmap.org/w/images/thumb/c/c9/Hot_logo.svg/300px-Hot_logo.svg.png",
"id": "HDM_HOT",
"max_zoom": 20,
"name": "HDM (Humanitarian OpenStreetMap Team)",
"type": "tms",
"url": "https://{switch:a,b,c}.tile.openstreetmap.fr/hot/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,187 @@
{
"geometry": {
"coordinates": [
[
[
34.64563,
32.92073
],
[
34.98374,
33.13352
],
[
35.15662,
33.09994
],
[
35.31781,
33.11463
],
[
35.36541,
33.06285
],
[
35.46229,
33.09994
],
[
35.51741,
33.12652
],
[
35.5266,
33.21531
],
[
35.53893,
33.25442
],
[
35.56446,
33.2969
],
[
35.61264,
33.27918
],
[
35.67429,
33.30627
],
[
35.70785,
33.34269
],
[
35.75363,
33.35091
],
[
35.81509,
33.3392
],
[
35.91531,
32.9406
],
[
35.80834,
32.772
],
[
35.77835,
32.72446
],
[
35.59491,
32.62828
],
[
35.5729,
32.36541
],
[
35.59461,
32.21856
],
[
35.55452,
32.02901
],
[
35.57225,
31.75415
],
[
35.48771,
31.41951
],
[
35.4209,
31.25116
],
[
35.47936,
31.1783
],
[
35.42771,
30.95172
],
[
35.3321,
30.77107
],
[
35.20709,
30.53307
],
[
35.17202,
30.11204
],
[
35.07514,
29.83713
],
[
35.02336,
29.64569
],
[
34.93992,
29.39946
],
[
34.89517,
29.37711
],
[
34.84785,
29.59084
],
[
34.69667,
30.10714
],
[
34.52423,
30.40912
],
[
34.48879,
30.64515
],
[
34.07929,
31.52265
],
[
34.64563,
32.92073
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "Tiles © IsraelHiking, CC BY-SA-NC 3.0. Data by OpenStreetMap under ODbL.",
"url": "https://israelhiking.osm.org.il/"
},
"country_code": "IL",
"description": "Israel Hiking map",
"icon": "https://israelhiking.osm.org.il/content/favicons/favicon.ico",
"id": "Israel_Hiking",
"max_zoom": 16,
"min_zoom": 7,
"name": "Israel Hiking",
"type": "tms",
"url": "https://israelhiking.osm.org.il/Tiles/{zoom}/{x}/{y}.png",
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,187 @@
{
"geometry": {
"coordinates": [
[
[
34.64563,
32.92073
],
[
34.98374,
33.13352
],
[
35.15662,
33.09994
],
[
35.31781,
33.11463
],
[
35.36541,
33.06285
],
[
35.46229,
33.09994
],
[
35.51741,
33.12652
],
[
35.5266,
33.21531
],
[
35.53893,
33.25442
],
[
35.56446,
33.2969
],
[
35.61264,
33.27918
],
[
35.67429,
33.30627
],
[
35.70785,
33.34269
],
[
35.75363,
33.35091
],
[
35.81509,
33.3392
],
[
35.91531,
32.9406
],
[
35.80834,
32.772
],
[
35.77835,
32.72446
],
[
35.59491,
32.62828
],
[
35.5729,
32.36541
],
[
35.59461,
32.21856
],
[
35.55452,
32.02901
],
[
35.57225,
31.75415
],
[
35.48771,
31.41951
],
[
35.4209,
31.25116
],
[
35.47936,
31.1783
],
[
35.42771,
30.95172
],
[
35.3321,
30.77107
],
[
35.20709,
30.53307
],
[
35.17202,
30.11204
],
[
35.07514,
29.83713
],
[
35.02336,
29.64569
],
[
34.93992,
29.39946
],
[
34.89517,
29.37711
],
[
34.84785,
29.59084
],
[
34.69667,
30.10714
],
[
34.52423,
30.40912
],
[
34.48879,
30.64515
],
[
34.07929,
31.52265
],
[
34.64563,
32.92073
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "Tiles © IsraelHiking, CC BY-SA-NC 3.0. Data by OpenStreetMap under ODbL.",
"url": "https://israelhiking.osm.org.il/"
},
"country_code": "IL",
"description": "Israel MTB map",
"icon": "https://israelhiking.osm.org.il/content/favicons/favicon.ico",
"id": "Israel_MTB",
"max_zoom": 16,
"min_zoom": 7,
"name": "Israel MTB",
"type": "tms",
"url": "https://israelhiking.osm.org.il/MTBTiles/{zoom}/{x}/{y}.png",
"dataSource": "JOSM"
},
"type": "Feature"
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,20 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0",
"url": "https://cycling.waymarkedtrails.org/en/help/legal"
},
"icon": "https://static.waymarkedtrails.org/img/map_cycling.png",
"id": "Waymarked_Trails-Cycling",
"max_zoom": 17,
"name": "Waymarked Trails: Cycling",
"overlay": true,
"type": "tms",
"url": "https://tile.waymarkedtrails.org/cycling/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,20 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0",
"url": "https://hiking.waymarkedtrails.org/en/help/legal"
},
"icon": "https://static.waymarkedtrails.org/img/map_hiking.png",
"id": "Waymarked_Trails-Hiking",
"max_zoom": 17,
"name": "Waymarked Trails: Hiking",
"overlay": true,
"type": "tms",
"url": "https://tile.waymarkedtrails.org/hiking/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,20 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© waymarkedtrails.org, OpenStreetMap contributors, CC by-SA 3.0",
"url": "https://mtb.waymarkedtrails.org/en/help/legal"
},
"icon": "https://static.waymarkedtrails.org/img/map_mtb.png",
"id": "Waymarked_Trails-MTB",
"max_zoom": 17,
"name": "Waymarked Trails: MTB",
"overlay": true,
"type": "tms",
"url": "https://tile.waymarkedtrails.org/mtb/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

62
layers/josm/extract.js Normal file
View file

@ -0,0 +1,62 @@
const fs = require('fs');
const path = require('path');
const fetch = require('node-fetch');
const outDir = __dirname;
const includeList = [
"osmbe",
"osmbe-fr",
"osmbe-nl",
"osmfr-basque",
"osmfr-breton",
"osmfr-occitan",
"OpenStreetMap-turistautak",
"hu-hillshade",
"Israel_Hiking",
"Israel_MTB",
"mtbmap-no",
"Freemap.sk-Car",
"Freemap.sk-Hiking",
"Freemap.sk-Cyclo",
"opencylemap",
"standard",
"HDM_HOT",
"osmfr",
"osm-mapnik-german_style",
"OpenTopoMap",
"osm-cambodia_laos_thailand_vietnam-bilingual",
"Waymarked_Trails-Hiking",
"Waymarked_Trails-Cycling",
"Waymarked_Trails-MTB",
"wikimedia-map"
];
function extract(layersJosm) {
for (let i = 0; i < layersJosm.features.length; i++) {
let layer = layersJosm.features[i];
let props = layer.properties;
let id = props.id;
if (includeList.includes(id)) {
//console.log(`${id}, ${props.name}, ${props.url}`);
props.dataSource = 'JOSM';
const outFileName = path.join(outDir, id + '.geojson');
const data = JSON.stringify(layer, null, 2);
fs.writeFileSync(outFileName, data);
includeList.splice(includeList.indexOf(id), 1);
}
}
if (includeList.length > 0) {
console.warn('Layers not found: ', includeList);
}
}
fetch('https://josm.openstreetmap.de/maps?format=geojson')
.then(res => res.json())
.then(json => extract(json))
.catch(err => console.error(err));

View file

@ -0,0 +1,46 @@
{
"geometry": {
"coordinates": [
[
[
15,
45
],
[
24,
45
],
[
24,
49
],
[
15,
49
],
[
15,
45
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "SRTM"
},
"country_code": "HU",
"id": "hu-hillshade",
"max_zoom": 18,
"min_zoom": 0,
"name": "Hillshade Hungary",
"overlay": true,
"type": "tms",
"url": "https://{switch:a,b,c}.map.turistautak.hu/tiles/shading/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,134 @@
{
"geometry": {
"coordinates": [
[
[
31.904253,
70.4368136
],
[
28.4765186,
71.3289643
],
[
23.6865015,
71.2514263
],
[
16.8090601,
70.0730823
],
[
11.1620655,
67.5253903
],
[
9.975542,
64.811576
],
[
4.2187061,
62.1449966
],
[
4.3725367,
59.1871966
],
[
6.1743055,
57.8915032
],
[
7.932118,
57.7393554
],
[
10.777577,
58.8649103
],
[
11.7224012,
58.762509
],
[
12.722157,
60.1141506
],
[
13.0517469,
61.3493518
],
[
12.5243921,
63.6169922
],
[
14.2382593,
63.9856094
],
[
15.1171656,
65.9016624
],
[
18.6987085,
68.3749083
],
[
20.0610132,
68.2612583
],
[
21.0058375,
68.7841518
],
[
25.2465601,
68.3506025
],
[
26.9384546,
69.8472011
],
[
28.7621851,
69.6112133
],
[
28.5864039,
68.8556004
],
[
31.069314,
69.5191547
],
[
31.904253,
70.4368136
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "© MTBmap.no",
"url": "https://www.mtbmap.no/"
},
"country_code": "NO",
"description": "Norwegian mountain biking map from OSM (max zoom 14-16, varies per region)",
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAyVBMVEUAAAAAAAAAAAAAAABHcEwAAAAAAAAAAAAAAAAAAAAAAAAGBgYAAAAAAAD///8DAwMKCgrX19d3d3fe3t4fHx/4+PikpKQGBgbb29vIyMizs7MlJSXExMQQEBA2NjYNDQ2pqam6urr+/v4UFBS8vLzg4OCMjIxvb297e3vLy8taWlqXl5fs7Oz7+/vn5+c7OzvQ0NDT09MxMTFFRUWTk5O/v7/k5OReXl6urq5iYmJLS0uGhoZOTk7y8vJpaWmcnJyDg4N/f3+bm5thW7HyAAAADXRSTlM9D3VaADJrd4BEKIEG/oGXoQAAAP1JREFUKM9tkIdywyAMhmmb0WVhjLcd2/HK3jvdff+HKjQ1kNr/HYdOH5J+hG463QbdtdCtJtXDImyje5nP5oaIkQLiKcwCxzH+A30PAAXpg30NdPJmMcLPWAXxINLwMAUuy7yewfT6YtgWJJ6ugmPoXDxH2BxiCTKAd1GJzQo4+bS/7ClN/wAeARB1WAV8loelXwczKHAZ+rgGtim4Zq1VSSkZr+Ar21Ga6xJsw1hbz9fwSdj6DCJBwR+d2O5CnhgtKvBE+R2sUv+DB/ZAVFA+dTLZRC7/kBsIcN6fFt8u65d4m7OXKK6CY1j+mjns8oO029Ea9Yie0UOD2q0frM8mZOHCEDcAAAAASUVORK5CYII=",
"id": "mtbmap-no",
"max_zoom": 14,
"min_zoom": 3,
"name": "MTBmap.no",
"tile-size": "512",
"tile_size": 512,
"type": "tms",
"url": "https://mtbmap.no/tiles/osm/mtbmap/{zoom}/{x}/{y}.jpg",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,21 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"terms-of-use-text": "Maps © Thunderforest",
"terms-of-use-url": "https://thunderforest.com/terms/",
"text": "Data © OpenStreetMap contributors",
"url": "https://www.openstreetmap.org/copyright/"
},
"icon": "data:image/png;base64,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",
"id": "opencylemap",
"max_zoom": 22,
"name": "OpenCycleMap",
"type": "tms",
"url": "https://{switch:a,b,c}.tile.thunderforest.com/cycle/{zoom}/{x}/{y}.png?apikey=7bd5ed2197cf4da29fa26de0ba6530cc",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,168 @@
{
"geometry": {
"coordinates": [
[
[
92.1023798,
20.8135629
],
[
93.5690546,
24.0975527
],
[
94.1733026,
23.9269484
],
[
95.1950312,
26.707274
],
[
96.7550898,
27.5286657
],
[
97.5845575,
28.5805966
],
[
98.738122,
27.514051
],
[
98.7436151,
25.8799151
],
[
97.6779413,
24.7577376
],
[
97.9635858,
24.042382
],
[
98.8205194,
24.1627239
],
[
99.5236444,
22.9593356
],
[
100.3695917,
21.5051376
],
[
101.7923212,
22.4830518
],
[
105.3628778,
23.3331079
],
[
106.8185663,
22.8480137
],
[
108.1973505,
21.3619661
],
[
107.4389505,
18.8539792
],
[
117.1453714,
7.4656173
],
[
119.6172953,
5.2875389
],
[
118.1231546,
4.0502277
],
[
117.2552347,
4.3624942
],
[
115.8654642,
4.3460623
],
[
115.5084085,
3.0249771
],
[
114.552598,
1.5100953
],
[
113.5418558,
1.2574836
],
[
112.9650736,
1.5704982
],
[
112.2454691,
1.5100953
],
[
111.67418,
1.0158321
],
[
110.4546976,
0.9004918
],
[
109.4988871,
1.9218969
],
[
103.2256937,
1.1256762
],
[
100.4626322,
3.2388904
],
[
97.6721048,
8.0588831
],
[
93.892808,
15.9398659
],
[
92.1023798,
20.8135629
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "© osm-tools.org & OpenStreetMap contributors, CC-BY-SA",
"url": "https://www.osm-tools.org/"
},
"id": "osm-cambodia_laos_thailand_vietnam-bilingual",
"max_zoom": 20,
"name": "Cambodia, Laos, Thailand, Vietnam, Malaysia, Myanmar bilingual",
"type": "tms",
"url": "https://{switch:a,b,c,d}.tile.osm-tools.org/osm/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,20 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© OpenStreetMap contributors, CC-BY-SA",
"url": "https://www.openstreetmap.org/"
},
"icon": "data:image/png;base64,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",
"id": "osm-mapnik-german_style",
"max_zoom": 18,
"mod-tile-features": true,
"name": "OpenStreetMap (German Style)",
"type": "tms",
"url": "https://{switch:a,b,c,d}.tile.openstreetmap.de/tiles/osmde/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

2023
layers/josm/osmbe-fr.geojson Normal file

File diff suppressed because it is too large Load diff

2023
layers/josm/osmbe-nl.geojson Normal file

File diff suppressed because it is too large Load diff

2023
layers/josm/osmbe.geojson Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,46 @@
{
"geometry": {
"coordinates": [
[
[
16.2075922,
62.7408449
],
[
16.2900797,
33.8453727
],
[
-10.7364447,
33.8043768
],
[
-10.8189321,
62.7182339
],
[
16.2075922,
62.7408449
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "Tiles © OpenStreetMap France, data © OpenStreetMap contributors, ODbL",
"url": "https://www.openstreetmap.org/"
},
"icon": "data:image/png;base64,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",
"id": "osmfr-basque",
"max_zoom": 20,
"mod-tile-features": true,
"name": "OpenStreetMap (Basque Style)",
"type": "tms",
"url": "https://tile.openstreetmap.bzh/eu/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,46 @@
{
"geometry": {
"coordinates": [
[
[
16.2075922,
62.7408449
],
[
16.2900797,
33.8453727
],
[
-10.7364447,
33.8043768
],
[
-10.8189321,
62.7182339
],
[
16.2075922,
62.7408449
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "Tiles © OpenStreetMap France, data © OpenStreetMap contributors, ODbL",
"url": "https://www.openstreetmap.org/"
},
"icon": "data:image/png;base64,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",
"id": "osmfr-breton",
"max_zoom": 20,
"mod-tile-features": true,
"name": "OpenStreetMap (Breton Style)",
"type": "tms",
"url": "https://tile.openstreetmap.bzh/br/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,46 @@
{
"geometry": {
"coordinates": [
[
[
16.2075922,
62.7408449
],
[
16.2900797,
33.8453727
],
[
-10.7364447,
33.8043768
],
[
-10.8189321,
62.7182339
],
[
16.2075922,
62.7408449
]
]
],
"type": "Polygon"
},
"properties": {
"attribution": {
"required": true,
"text": "Tiles © OpenStreetMap France, data © OpenStreetMap contributors, ODbL",
"url": "https://www.openstreetmap.org/"
},
"icon": "data:image/png;base64,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",
"id": "osmfr-occitan",
"max_zoom": 20,
"mod-tile-features": true,
"name": "OpenStreetMap (Occitan Style)",
"type": "tms",
"url": "https://tile.openstreetmap.bzh/oc/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

20
layers/josm/osmfr.geojson Normal file
View file

@ -0,0 +1,20 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL",
"url": "https://www.openstreetmap.org/"
},
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAGb0lEQVR4Xq3MS2xcVx3H8e855z7m3vH1jMdjO43zshIrtpM0SZ3WFEcRVFFKoRWPBYtAHwgWCFUsQN100QeCsqAhCESrirRASdWWIkoUqgKFJm3UZ5o2oW2akrR5uXbi2ON4PPfOfZ17iERW2bCAz1/f3V8/cfDC02UEj4OxKHjdFMUfmUzOlAeXZFZuuVIKN8zi1dPh7Hcn5091G2EOB5b//NplA28/9tAT4bq111jD64ZKHR2VQWPEbULI0aHqZz7NZeLNmSeVMOJu4AfGgNEGLsR/95YuetcRzprcFJvaaVxrpm2mmqfp8FxKSYk8ck+0pt1nykFp0A/k9Tnt/lq3T2dHEOmi2DxSu+EdAAFwcPqp640xe42h26Qa2hqnXsFVHs04pNFuYgvbtOWCmD3aMj2VNaLi1+jwyxgpCKOQRCdMN6ZMd5Bmw1cPfG+5O/7LeX0ECyBppx9Zrn0c6BbNHJNr4qhFYWtsJCWpSFUm3ntxips2bxe+p1BKIJQECpRbkCQ2wu0XzbnIeemvhzYCVNR6JMDm5bdNF9qcwhiKbpvMg2KujZDmUgX1jgqT719gy+iX6QxsPM9F2YqclHbRRpUEXmCRZTGFlZGKxSMbR6+uA0gu863OzLc7cVUZN6jgKI8kicl0ykzjAiW5lGrVAWUwokApSa3UTY/XR2B3UlDgVy1sB8od7tgt2++4AcACOHL+uRW2bW8QQiCxcUoS6XssyBbnF6Y5+8kci8vjlJwqjnQwWpDlgtRYZDpHmxJzWUyk26gOYXxK0g+8G4bXX/snC0DZcmVh9EoQ5DpDSIVJYmIiGvkCurAQpkLU9kkTEEJeCjxbURSCZgTkfVjOApoM6Qtc3109Nj7uWO9M70EbPQT4YMhNjrWQEdHmTPs8SgfUisUgDLoAgcGyEjJtEaeaVlKQ5gVSGYwBhETaEmVJcemQaZ44aRpvyLIEnedGoNHNkNTTeI5DT2kRljeJziVhnKNlE1GaJFfnuRi3SXMDxmA7IUqCI20qdifkxfED+/dlanzb1cYL3BFhsTXPU4Ep0FGKUVALegCb1oLN7FlNpd5HIUNQLYxIsO0EKcByWljuAmXbp7fcIwgVb7xyaNeep3YfUnt272PLjaP1em/lZqmEk4cJQoMKfBxVIcwjlAp47okX6ap3XaoP221CIREyx7La2E6O7/h0eTXK+Bw+8uHrP7znvocXLe6flwCHXj06kab5hJAS6dhQFOgiJ2qXsKLVuHqAgdVD7HrwXibPTKJzFyMMAgECHGXTJTqxE4t3T5xMD7y29+mFRjgpLSUlYJ793T9ORWF0Lk1StCzQNqTTAle30flbzJ/bx6n3Xsa2Fb9/5Eccfu19wnlNFBniWJA3JecbDfa/8y5nJg7bW7ZeuyYKZwyF0QIAkC988Ogzfof6SppapHGZqgNTExPsfngfgaXpqyWk9QF6lwWk7YJlK1fQaTysqk8sE6LwIq4OEMql1DH3/O03PnBHUCk3JMCeA7/q6u1a0ltiNZ1eL719cPrcWR752d+Yn2lx/HSDY40qY2Pb2PapjYxv3YBX1syZ88weP3bp90Omw3PMOxNUe9FTn9gn5uemQqfk5BbAisHBlVo7g7PFx9TdgDMnZvjtzheI51qkWY5xYWxTLxXfJ5IVevIZ6gMDxCYnPjWDXZ0nSiOkEmYqO5l8cGT6FSD6+NhRJMCF1sWV88VkX6f3n/FHd+xl9uwsrTDEOIbPfWEj120eorw0JEzLhGWfop3ixxKrP0CTIQSAEVmhw5/f94uXAANg3b/r+1YrnV1T86ucPDzBrp3PcvHcHGmaUekL+OKtm9m0ailOUEe4FrXyWaKFblM4HmUvElNzF4jTxFiOhRRSJO34JHCOy6RU0i60uepfx07nO+593FycapAkCbX+Kl+/cxvXfXYIU3GjN/Yf2vPPg2/9JVxoNYNqQ+hcilznlKWDcpSwlCWiZrtx/O3Tf+AKClj88I9v/9aD99/aHBkaLlYNDTXuvPubH/3kN3e9vP3bn78HGAP6gSXA6K3fufnOXz+/888vHH3i9O4XH3j1roe+8dDo1pGvAeuAClfa/+aTQH35Yztuenz7l4aPLB9c81O/3H3L5VHFlUACZaAH6AQc/pv1o9cEiwbWbRlev+mrazeOblg3usnj/6nWV2fVyFp71fCa0sDgkOKyq5av4H/xb0Ky8po5hQEuAAAAAElFTkSuQmCC",
"id": "osmfr",
"max_zoom": 20,
"mod-tile-features": true,
"name": "OpenStreetMap (French Style)",
"type": "tms",
"url": "https://{switch:a,b,c}.tile.openstreetmap.fr/osmfr/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,21 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© OpenStreetMap contributors, CC-BY-SA",
"url": "https://www.openstreetmap.org/"
},
"default": true,
"icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAGb0lEQVR4Xq3MS2xcVx3H8e855z7m3vH1jMdjO43zshIrtpM0SZ3WFEcRVFFKoRWPBYtAHwgWCFUsQN100QeCsqAhCESrirRASdWWIkoUqgKFJm3UZ5o2oW2akrR5uXbi2ON4PPfOfZ17iERW2bCAz1/f3V8/cfDC02UEj4OxKHjdFMUfmUzOlAeXZFZuuVIKN8zi1dPh7Hcn5091G2EOB5b//NplA28/9tAT4bq111jD64ZKHR2VQWPEbULI0aHqZz7NZeLNmSeVMOJu4AfGgNEGLsR/95YuetcRzprcFJvaaVxrpm2mmqfp8FxKSYk8ck+0pt1nykFp0A/k9Tnt/lq3T2dHEOmi2DxSu+EdAAFwcPqp640xe42h26Qa2hqnXsFVHs04pNFuYgvbtOWCmD3aMj2VNaLi1+jwyxgpCKOQRCdMN6ZMd5Bmw1cPfG+5O/7LeX0ECyBppx9Zrn0c6BbNHJNr4qhFYWtsJCWpSFUm3ntxips2bxe+p1BKIJQECpRbkCQ2wu0XzbnIeemvhzYCVNR6JMDm5bdNF9qcwhiKbpvMg2KujZDmUgX1jgqT719gy+iX6QxsPM9F2YqclHbRRpUEXmCRZTGFlZGKxSMbR6+uA0gu863OzLc7cVUZN6jgKI8kicl0ykzjAiW5lGrVAWUwokApSa3UTY/XR2B3UlDgVy1sB8od7tgt2++4AcACOHL+uRW2bW8QQiCxcUoS6XssyBbnF6Y5+8kci8vjlJwqjnQwWpDlgtRYZDpHmxJzWUyk26gOYXxK0g+8G4bXX/snC0DZcmVh9EoQ5DpDSIVJYmIiGvkCurAQpkLU9kkTEEJeCjxbURSCZgTkfVjOApoM6Qtc3109Nj7uWO9M70EbPQT4YMhNjrWQEdHmTPs8SgfUisUgDLoAgcGyEjJtEaeaVlKQ5gVSGYwBhETaEmVJcemQaZ44aRpvyLIEnedGoNHNkNTTeI5DT2kRljeJziVhnKNlE1GaJFfnuRi3SXMDxmA7IUqCI20qdifkxfED+/dlanzb1cYL3BFhsTXPU4Ep0FGKUVALegCb1oLN7FlNpd5HIUNQLYxIsO0EKcByWljuAmXbp7fcIwgVb7xyaNeep3YfUnt272PLjaP1em/lZqmEk4cJQoMKfBxVIcwjlAp47okX6ap3XaoP221CIREyx7La2E6O7/h0eTXK+Bw+8uHrP7znvocXLe6flwCHXj06kab5hJAS6dhQFOgiJ2qXsKLVuHqAgdVD7HrwXibPTKJzFyMMAgECHGXTJTqxE4t3T5xMD7y29+mFRjgpLSUlYJ793T9ORWF0Lk1StCzQNqTTAle30flbzJ/bx6n3Xsa2Fb9/5Eccfu19wnlNFBniWJA3JecbDfa/8y5nJg7bW7ZeuyYKZwyF0QIAkC988Ogzfof6SppapHGZqgNTExPsfngfgaXpqyWk9QF6lwWk7YJlK1fQaTysqk8sE6LwIq4OEMql1DH3/O03PnBHUCk3JMCeA7/q6u1a0ltiNZ1eL719cPrcWR752d+Yn2lx/HSDY40qY2Pb2PapjYxv3YBX1syZ88weP3bp90Omw3PMOxNUe9FTn9gn5uemQqfk5BbAisHBlVo7g7PFx9TdgDMnZvjtzheI51qkWY5xYWxTLxXfJ5IVevIZ6gMDxCYnPjWDXZ0nSiOkEmYqO5l8cGT6FSD6+NhRJMCF1sWV88VkX6f3n/FHd+xl9uwsrTDEOIbPfWEj120eorw0JEzLhGWfop3ixxKrP0CTIQSAEVmhw5/f94uXAANg3b/r+1YrnV1T86ucPDzBrp3PcvHcHGmaUekL+OKtm9m0ailOUEe4FrXyWaKFblM4HmUvElNzF4jTxFiOhRRSJO34JHCOy6RU0i60uepfx07nO+593FycapAkCbX+Kl+/cxvXfXYIU3GjN/Yf2vPPg2/9JVxoNYNqQ+hcilznlKWDcpSwlCWiZrtx/O3Tf+AKClj88I9v/9aD99/aHBkaLlYNDTXuvPubH/3kN3e9vP3bn78HGAP6gSXA6K3fufnOXz+/888vHH3i9O4XH3j1roe+8dDo1pGvAeuAClfa/+aTQH35Yztuenz7l4aPLB9c81O/3H3L5VHFlUACZaAH6AQc/pv1o9cEiwbWbRlev+mrazeOblg3usnj/6nWV2fVyFp71fCa0sDgkOKyq5av4H/xb0Ky8po5hQEuAAAAAElFTkSuQmCC",
"id": "standard",
"max_zoom": 19,
"mod-tile-features": true,
"name": "OpenStreetMap Carto (Standard)",
"type": "tms",
"url": "https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -0,0 +1,18 @@
{
"geometry": null,
"properties": {
"attribution": {
"required": true,
"text": "© OpenStreetMap contributors, CC-BY-SA",
"url": "https://www.openstreetmap.org/"
},
"id": "wikimedia-map",
"max_zoom": 18,
"name": "Wikimedia Map",
"type": "tms",
"url": "https://maps.wikimedia.org/osm-intl/{zoom}/{x}/{y}.png",
"valid-georeference": true,
"dataSource": "JOSM"
},
"type": "Feature"
}

View file

@ -1 +0,0 @@
/home/norbert/Dokumente/cms/gis/brouter/issues/145-thunderforest/layers/layerscollection/layers-collection.js

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
/home/norbert/Dokumente/cms/gis/brouter/issues/145-thunderforest/layers/josm/layers.js

View file

@ -7,6 +7,7 @@
"build": "gulp", "build": "gulp",
"transifex-push": "gulp i18next && tx push --source", "transifex-push": "gulp i18next && tx push --source",
"transifex-pull": "tx pull --all --minimum-perc 1 --force && (git add locales/*.json && git commit locales/*.json -m 'Update translations' || true)", "transifex-pull": "tx pull --all --minimum-perc 1 --force && (git add locales/*.json && git commit locales/*.json -m 'Update translations' || true)",
"layers": "node layers/josm/extract.js && node layers/collection/extract.js",
"test": "echo \"Error: no test specified\" && exit 1" "test": "echo \"Error: no test specified\" && exit 1"
}, },
"repository": { "repository": {
@ -68,13 +69,14 @@
"gulp-modify-css-urls": "^2.0.0", "gulp-modify-css-urls": "^2.0.0",
"gulp-postcss": "^7.0.1", "gulp-postcss": "^7.0.1",
"gulp-remember": "^0.3.0", "gulp-remember": "^0.3.0",
"gulp-rename": "^1.2.0", "gulp-rename": "^1.4.0",
"gulp-replace": "^0.5.4", "gulp-replace": "^0.5.4",
"gulp-sourcemaps": "^1.5.1", "gulp-sourcemaps": "^1.5.1",
"gulp-uglify": "^1.1.0", "gulp-uglify": "^1.1.0",
"gulp-util": "^3.0.7", "gulp-util": "^3.0.7",
"gulp-zip": "^4.0.0", "gulp-zip": "^4.0.0",
"i18next-scanner": "^2.9.1", "i18next-scanner": "^2.9.1",
"node-fetch": "^2.3.0",
"npmfiles": "^0.1.1" "npmfiles": "^0.1.1"
}, },
"overrides": { "overrides": {

View file

@ -2794,7 +2794,7 @@ gulp-remember@^0.3.0:
gulp-util "^3.0.1" gulp-util "^3.0.1"
through2 "^0.5.0" through2 "^0.5.0"
gulp-rename@^1.2.0: gulp-rename@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd"
integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg== integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==
@ -3909,6 +3909,11 @@ natives@^1.1.0:
resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA== integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
node-fetch@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5"
integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA==
nomnom@^1.5.x: nomnom@^1.5.x:
version "1.8.1" version "1.8.1"
resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7"