Dynamic JSON: only request existing tiles if a whitelist is given

This commit is contained in:
pietervdvn 2021-10-13 03:10:46 +02:00
parent adb36c2ffe
commit 69f21f29eb
6 changed files with 8 additions and 21 deletions

View file

@ -48,8 +48,7 @@ export default class DynamicGeoJsonTileSource extends DynamicTileSource {
if(whitelist !== undefined){
const isWhiteListed = whitelist.get(zxy[1])?.has(zxy[2])
if(!isWhiteListed){
console.log("Not whitelisted:",zxy, isWhiteListed, whitelist)
// return undefined;
return undefined;
}
}

View file

@ -159,10 +159,8 @@ export class TileHierarchyAggregator implements FeatureSource {
const self = this
const empty = []
return new StaticFeatureSource(
locationControl.map(loc => {
const targetZoom = loc.zoom
if(targetZoom > clusteringConfig.maxZoom){
locationControl.map(loc => loc.zoom).map(targetZoom => {
if(targetZoom-1 > clusteringConfig.maxZoom){
return empty
}

View file

@ -32,7 +32,7 @@
"enablePdfDownload": true,
"enableDownload": true,
"hideFromOverview": true,
"#": "Disable clustering for this theme",
"#": "Disable clustering for this theme",
"clustering": {
"maxZoom": 0
},
@ -71,7 +71,6 @@
]
},
"geoJson": "https://pietervdvn.github.io/natuurpunt_cache/natuurpunt_nature_reserve_points.geojson",
"geoJsonZoomLevel": 0,
"isOsmCache": "duplicate"
},
"minzoom": 1,

View file

@ -14,7 +14,7 @@
"nl": "Een kaart om toeristisch relevante info op aan te duiden"
},
"description": {
"nl": "Op deze kaart kan je info zien die relevant is voor toerisme, zoals:<br/><ul><li>Eetgelegenheden</li><li>Cafés en bars</li><li>(Fiets)oplaadpunten</li><li>Fietspompen, fietserverhuur en fietswinkels</li><li>Uitkijktorens</li><li>...</li></ul> Zie je fouten op de kaart? Dan kan je zelf makkelijk aanpasingen maken, die zichtbaar zijn voor iedereen. Hiervoor dien je een gratis OpenStreetMap account voor te maken."
"nl": "Op deze kaart kan je info zien die relevant is voor toerisme, zoals:<br/><ul><li>Eetgelegenheden</li><li>Cafés en bars</li><li>(Fiets)oplaadpunten</li><li>Fietspompen, fietserverhuur en fietswinkels</li><li>Uitkijktorens</li><li>...</li></ul> Zie je fouten op de kaart? Dan kan je zelf makkelijk aanpasingen maken, die zichtbaar zijn voor iedereen. Hiervoor dien je een gratis OpenStreetMap account voor te maken.<br/><br/>Met de steun van Toerisme Vlaanderen<img src='./assets/themes/toerisme_vlaanderen/logo.png' />"
},
"descriptionTail": {
"nl": "Met de steun van Toerisme Vlaanderen<img style='height:5rem; width: auto;' src='./assets/themes/toerisme_vlaanderen/logo.png' />"

View file

@ -21,19 +21,9 @@
"widenFactor": 1.01,
"socialImage": "",
"hideFromOverview": true,
"lockLocation": [
[
51.51818357322121,
-0.09293317794799805
],
[
51.52898437160955,
-0.08147478103637695
]
],
"clustering": {
"minNeededFeatures": 25,
"maxZoom": 17
"maxZoom": 16
},
"layers": [
{

View file

@ -219,7 +219,7 @@ function sliceToTiles(allFeatures: FeatureSource, theme: LayoutConfig, relations
}
// Lets save this tile!
const [z, x, y] = Tiles.tile_from_index(tile.tileIndex)
console.log("Writing tile ", z, x, y, layerId)
// console.log("Writing tile ", z, x, y, layerId)
const targetPath = geoJsonName(targetdir + "_" + layerId, x, y, z)
createdTiles.push(tile.tileIndex)
// This is the geojson file containing all features for this tile
@ -241,6 +241,7 @@ function sliceToTiles(allFeatures: FeatureSource, theme: LayoutConfig, relations
}
perX[key].push(y)
})
console.log("Written overview: ", path, "with ", createdTiles.length, "tiles")
writeFileSync(path, JSON.stringify(perX))
// And, if needed, to create a points-only layer