From 98e8adf41b3e296dcdf26ac9c6df21c1f5259f46 Mon Sep 17 00:00:00 2001 From: Pieter Vander Vennet Date: Thu, 13 Mar 2025 18:45:36 +0100 Subject: [PATCH] Themes(onwheels): move building magic back to onwheels theme, decrease minzoom for entrances --- .../walls_and_buildings.json | 96 ------------------- assets/themes/onwheels/onwheels.json | 96 ++++++++++++++++++- 2 files changed, 95 insertions(+), 97 deletions(-) diff --git a/assets/layers/walls_and_buildings/walls_and_buildings.json b/assets/layers/walls_and_buildings/walls_and_buildings.json index 1f35da74d..170eb3d5c 100644 --- a/assets/layers/walls_and_buildings/walls_and_buildings.json +++ b/assets/layers/walls_and_buildings/walls_and_buildings.json @@ -21,15 +21,6 @@ ] } }, - "calculatedTags": [ - "_entrance_properties=overlapWith(feat)('entrance')?.map(e => e.feat.properties)?.filter(p => p !== undefined && p.indoor !== 'door')", - "_entrance_properties_with_width=get(feat)('_entrance_properties')?.filter(p => p['width'] !== undefined)", - "_entrances_count=get(feat)('_entrance_properties').length", - "_entrances_count_without_width_count= get(feat)('_entrances_count') - get(feat)('_entrance_properties_with_width').length", - "_biggest_width= Math.max( get(feat)('_entrance_properties').map(p => p.width))", - "_biggest_width_properties= /* Can be a list! */ get(feat)('_entrance_properties').filter(p => p.width === get(feat)('_biggest_width'))", - "_biggest_width_id=get(feat)('_biggest_width_properties').id" - ], "isCounted": false, "minzoom": 18, "shownByDefault": false, @@ -59,94 +50,7 @@ } ], "passAllFeatures": true, - "tagRenderings": [ - { - "id": "entrance_info", - "render": { - "before": { - "en": "

Entrances

This building has {_entrances_count} entrances:", - "de": "

Eingänge

Das Gebäude hat {_entrances_count} Eingänge:", - "da": "

Indgange

Denne bygning har {_entrances_count} indgange:", - "nl": "

Ingangen

Dit gebouw heeft {_entrances_count} ingangen:", - "ca": "

Entrades

Aquest edifici té {_entrances_count} entrades:", - "cs": "

Vchody

Tato budova má {_entrances_count} vchodů:", - "es": "

Entradas

Este edificio tiene {_entrances_count} entradas:" - }, - "after": { - "en": "{_entrances_count_without_width_count} entrances don't have width information yet", - "de": "{_entrances_count_without_width_count} Eingänge haben keine Angaben zur Breite", - "da": "{_entrances_count_without_width_count} indgange har endnu ikke oplysninger om bredde", - "nl": "{_entrances_count_without_width_count} ingangen hebben nog geen informatie over de breedte", - "ca": "{_entrances_count_without_width_count} entrades encara no tenen informació d'amplada", - "cs": "{_entrances_count_without_width_count} vchody zatím nemají informace o šířce", - "es": "{_entrances_count_without_width_count} entradas aún no tienen información de ancho" - }, - "special": { - "type": "multi", - "key": "_entrance_properties_with_width", - "tagrendering": { - "en": "An entrance of {canonical(width)}", - "de": "Ein Eingang von {canonical(width)}", - "da": "En indgang på {canonical(width)}", - "nl": "Een ingang van {canonical(width)}", - "ca": "Una entrada de {canonical(width)}", - "cs": "vchod {canonical(width)}", - "es": "Una entrada de {canonical(width)}" - } - } - }, - "mappings": [ - { - "if": "_entrances_count=0", - "then": { - "en": "No entrance has been marked", - "de": "Es wurde kein Eingang markiert", - "da": "Der er ikke markeret nogen indgang", - "nl": "Geen ingang is gemarkeerd", - "ca": "No s'ha senyalitzat cap entrada", - "cs": "Nebyl označen žádný vchod", - "es": "No se ha marcado ninguna entrada" - } - }, - { - "if": "_entrances_count_without_width:=_entrances_count", - "then": { - "en": "None of the {_entrance_count} entrances have width information yet", - "de": "Keiner der {_entrance_count} Eingänge hat bisher Angaben zur Breite", - "da": "Ingen af {_entrance_count}-indgangene har oplysninger om bredde endnu", - "nl": "Geen van de {_entrance_count} ingangen hebben al informatie over de breedte", - "ca": "Cap de les {_entrance_count} entrades té informació d'amplada encara", - "cs": "Žádný z {_entrance_count} vchodů zatím nemá informace o šířce", - "es": "Ninguna de las {_entrance_count} entradas tiene información de ancho todavía" - } - } - ] - }, - { - "id": "biggest_width", - "render": "The entrance with the biggest width is {canonical(_biggest_width)} wide", - "condition": "_biggest_width_id~*" - } - ], "allowMove": false, - "units": [ - { - "width": { - "quantity": "distance", - "denominations": [ - "m", - "cm" - ] - }, - "_biggest_width": { - "quantity": "distance", - "denominations": [ - "m", - "cm" - ] - } - } - ], "snapName": { "en": "a wall or building", "nl": "een muur of gebouw", diff --git a/assets/themes/onwheels/onwheels.json b/assets/themes/onwheels/onwheels.json index 310c4f4f7..19f70fb22 100644 --- a/assets/themes/onwheels/onwheels.json +++ b/assets/themes/onwheels/onwheels.json @@ -118,7 +118,7 @@ { "builtin": "entrance", "override": { - "minzoom": 18, + "minzoom": 16, "pointRendering": [ { "=marker": [ @@ -413,7 +413,101 @@ "builtin": "walls_and_buildings", "override": { "calculatedTags+": [ + "_entrance_properties=overlapWith(feat)('entrance')?.map(e => e.feat.properties)?.filter(p => p !== undefined && p.indoor !== 'door')", + "_entrance_properties_with_width=get(feat)('_entrance_properties')?.filter(p => p['width'] !== undefined)", + "_entrances_count=get(feat)('_entrance_properties').length", + "_entrances_count_without_width_count= get(feat)('_entrances_count') - get(feat)('_entrance_properties_with_width').length", + "_biggest_width= Math.max( get(feat)('_entrance_properties').map(p => p.width))", + "_biggest_width_properties= /* Can be a list! */ get(feat)('_entrance_properties').filter(p => p.width === get(feat)('_biggest_width'))", + "_biggest_width_id=get(feat)('_biggest_width_properties').id", "_entrance_data_within=overlapWith(feat)('onwheels_entrance_data').map(f => f.properties.id)" + ], + "tagRenderings+": [ + { + "id": "entrance_info", + "render": { + "before": { + "en": "

Entrances

This building has {_entrances_count} entrances:", + "de": "

Eingänge

Das Gebäude hat {_entrances_count} Eingänge:", + "da": "

Indgange

Denne bygning har {_entrances_count} indgange:", + "nl": "

Ingangen

Dit gebouw heeft {_entrances_count} ingangen:", + "ca": "

Entrades

Aquest edifici té {_entrances_count} entrades:", + "cs": "

Vchody

Tato budova má {_entrances_count} vchodů:", + "es": "

Entradas

Este edificio tiene {_entrances_count} entradas:" + }, + "after": { + "en": "{_entrances_count_without_width_count} entrances don't have width information yet", + "de": "{_entrances_count_without_width_count} Eingänge haben keine Angaben zur Breite", + "da": "{_entrances_count_without_width_count} indgange har endnu ikke oplysninger om bredde", + "nl": "{_entrances_count_without_width_count} ingangen hebben nog geen informatie over de breedte", + "ca": "{_entrances_count_without_width_count} entrades encara no tenen informació d'amplada", + "cs": "{_entrances_count_without_width_count} vchody zatím nemají informace o šířce", + "es": "{_entrances_count_without_width_count} entradas aún no tienen información de ancho" + }, + "special": { + "type": "multi", + "key": "_entrance_properties_with_width", + "tagrendering": { + "en": "An entrance of {canonical(width)}", + "de": "Ein Eingang von {canonical(width)}", + "da": "En indgang på {canonical(width)}", + "nl": "Een ingang van {canonical(width)}", + "ca": "Una entrada de {canonical(width)}", + "cs": "vchod {canonical(width)}", + "es": "Una entrada de {canonical(width)}" + } + } + }, + "mappings": [ + { + "if": "_entrances_count=0", + "then": { + "en": "No entrance has been marked", + "de": "Es wurde kein Eingang markiert", + "da": "Der er ikke markeret nogen indgang", + "nl": "Geen ingang is gemarkeerd", + "ca": "No s'ha senyalitzat cap entrada", + "cs": "Nebyl označen žádný vchod", + "es": "No se ha marcado ninguna entrada" + } + }, + { + "if": "_entrances_count_without_width:=_entrances_count", + "then": { + "en": "None of the {_entrance_count} entrances have width information yet", + "de": "Keiner der {_entrance_count} Eingänge hat bisher Angaben zur Breite", + "da": "Ingen af {_entrance_count}-indgangene har oplysninger om bredde endnu", + "nl": "Geen van de {_entrance_count} ingangen hebben al informatie over de breedte", + "ca": "Cap de les {_entrance_count} entrades té informació d'amplada encara", + "cs": "Žádný z {_entrance_count} vchodů zatím nemá informace o šířce", + "es": "Ninguna de las {_entrance_count} entradas tiene información de ancho todavía" + } + } + ] + }, + { + "id": "biggest_width", + "render": "The entrance with the biggest width is {canonical(_biggest_width)} wide", + "condition": "_biggest_width_id~*" + } + ], + "units+": [ + { + "width": { + "quantity": "distance", + "denominations": [ + "m", + "cm" + ] + }, + "_biggest_width": { + "quantity": "distance", + "denominations": [ + "m", + "cm" + ] + } + } ] } },