mapcomplete/assets/themes/bag/bag.json

414 lines
18 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"id": "bag",
"title": {
"nl": "BAG import helper",
"en": "BAG import helper",
"de": "BAG-Importhilfe",
"fr": "Facilitateur d'import BAG",
"nb_NO": "BAG-importhjelper",
"ca": "Assistent d'importació del BAG",
"es": "Ayudante de importación BAG",
"cs": "Pomocník pro import BAG"
},
"shortDescription": {
"nl": "BAG import helper tool",
"en": "BAG import helper tool",
"de": "BAG-Import-Hilfswerkzeug",
"fr": "Outil de facilitation d'import BAG",
"ca": "Ferramenta d'ajuda per a importar el BAG",
"es": "Herramienta de ayuda a la importación BAG",
"cs": "Pomocný nástroj pro import BAG"
},
"description": {
"nl": "Dit thema helpt het importeren van BAG data",
"en": "This theme helps with importing data from BAG",
"cs": "Toto téma pomáhá s importem dat ze systému BAG",
"de": "Dieses Thema hilft beim Importieren von BAG-Daten",
"fr": "Ce thème aide à l'importation de données depuis BAG",
"ca": "Aquest tema ajuda amb la importació de dades del BAG",
"zgh": "ⵉⵜⵜⴰⵡⵙ ⵉⵎⵔⵙⵉ ⴰⴷ ⴳ ⵡⴰⵎⵎⴰⵥ ⵜⵎⵓⵛⴰ ⵙⴳ BAG",
"es": "Este tema ayuda a importar datos de BAG"
},
"credits": "Wouter van der Wal",
"icon": "./assets/themes/bag/logo.svg",
"startLat": 53.1726,
"startLon": 7.04545,
"startZoom": 9,
"layers": [
{
"id": "osm:buildings",
"name": "OSM Buildings",
"title": "OSM Building",
"description": "Layer showing buildings that are in OpenStreetMap",
"source": {
"osmTags": "building~*",
"maxCacheAge": 0
},
"minzoom": 19,
"calculatedTags": [
"_surface:strict:=feat.get('_surface')"
],
"mapRendering": [
{
"width": {
"render": "2",
"mappings": [
{
"if": "fixme~*",
"then": "5"
}
]
},
"color": {
"render": "#00c",
"mappings": [
{
"if": "fixme~*",
"then": "#ff00ff"
},
{
"if": "building=house",
"then": "#a00"
},
{
"if": "building=shed",
"then": "#563e02"
},
{
"if": {
"or": [
"building=garage",
"building=garages"
]
},
"then": "#f9bfbb"
},
{
"if": "building=yes",
"then": "#0774f2"
}
]
}
}
],
"tagRenderings": [
{
"id": "Reference",
"render": {
"en": "The reference in BAG is <b>{ref:bag}</b>",
"de": "Die Referenz in BAG ist <b>{ref:bag}</b>",
"nl": "De referentie in BAG is <b>{ref:bag}</b>",
"fr": "La référence dans le BAG est <b>{ref:bag}</b>",
"ca": "La referència al BAG és <b>{ref:bag}</b>",
"zgh": "ⵜⴳⴰ ⵜⵙⴰⵖⵓⵍⵜ ⴳ BAG <b>{ref:bag}</b>",
"es": "La referencia de BAG es <b>{ref:bag}</b>",
"cs": "Reference v BAG je <b>{ref:bag}</b>"
},
"mappings": [
{
"if": "ref:bag=",
"then": {
"en": "This building has no reference in the BAG",
"cs": "Tato budova nemá v BAG žádný odkaz",
"de": "Dieses Gebäude hat keinen Verweis im BAG",
"nl": "Dit gebouw heeft geen referentie in de BAG",
"fr": "Ce bâtiment n'a pas de référence dans le BAG",
"ca": "Aquest edifici no té referència al BAG",
"zgh": "ⵜⵓⵚⴽⴰ ⴰⴷ ⵓⵔ ⵖⵓⵔⵙ ⵜⴰⵙⴰⵖⵓⵍⵜ ⴳ BAG",
"es": "Este edificio no tiene referencia en el BAG"
}
}
]
},
{
"id": "Building type",
"freeform": {
"key": "building",
"type": "string",
"addExtraTags": [
"construction="
]
},
"render": "This building is a <b>{building}</b>",
"question": "What kind of building is this?"
}
]
},
{
"id": "osm:adresses",
"name": "OSM Adresses",
"title": "OSM Adress",
"description": "Layer showing adresses that are in OpenStreetMap",
"source": {
"osmTags": {
"and": [
"source=BAG",
"addr:city~*",
"addr:housenumber~*",
"addr:postcode~*",
"addr:street~*"
]
},
"maxCacheAge": 0
},
"minzoom": 19,
"mapRendering": [
{
"label": {
"render": "<div style='color: black' class='rounded-full p-1 font-bold relative'>{addr:housenumber}</div>",
"condition": "addr:housenumber~*"
},
"location": [
"point",
"centroid"
]
},
{
"width": {
"render": 1
}
}
]
},
{
"id": "bag:pand",
"name": "BAG Buildings",
"title": "BAG Building",
"description": {
"en": "Buildings from BAG register",
"de": "Gebäude aus dem BAG-Register",
"nl": "Gebouw uit de BAG",
"fr": "Bâtiments du registre BAG",
"ca": "Edificis del registre BAG",
"zgh": "ⵜⵓⵚⴽⴰⵡⵉⵏ ⵙⴳ ⵡⴰⵔⵔⴰ BAG",
"es": "Edificios del registro BAG",
"cs": "Budovy z registru BAG"
},
"source": {
"geoJson": "https://service.pdok.nl/lv/bag/wfs/v2_0?request=GetFeature&service=WFS&version=2.0.0&outputFormat=application%2Fjson%3B%20subtype%3Dgeojson&typeName=bag%3Apand&bbox={x_min}%2C{y_min}%2C{x_max}%2C{y_max}%2CCRS84&srsName=EPSG%3A4326",
"geoJsonZoomLevel": 18,
"osmTags": "identificatie~*",
"maxCacheAge": 0
},
"minzoom": 19,
"calculatedTags": [
"_overlaps_with_buildings=overlapWith(feat)('osm:buildings').filter(f => f.feat.properties.id.indexOf('-') < 0)",
"_overlaps_with=feat.get('_overlaps_with_buildings').find(f => f.overlap > 1 /* square meter */ )",
"_overlaps_with_properties=feat.get('_overlaps_with')?.feat?.properties",
"_overlap_percentage=Math.round(100 * (feat.get('_overlaps_with')?.overlap / feat.get('_overlaps_with_properties')['_surface:strict']))",
"_reverse_overlap_percentage=Math.round(100 * (feat.get('_overlaps_with')?.overlap / feat.get('_surface')))",
"_bag_obj:in_construction=feat.properties.status.startsWith('Bouwvergunning verleend') || feat.properties.status.startsWith('Bouw gestart')",
"_bag_obj:construction=(feat.properties.gebruiksdoel == 'woonfunctie') ? ((Number(feat.properties.aantal_verblijfsobjecten) == 1) ? 'house' : 'apartments') : 'yes'",
"_bag_obj:building=(feat.properties.status.startsWith('Bouwvergunning verleend') || feat.properties.status.startsWith('Bouw gestart')) ? 'construction' : feat.properties['_bag_obj:construction']",
"_bag_obj:ref:bag=Number(feat.properties.identificatie)",
"_bag_obj:source:date=new Date().toISOString().split('T')[0]",
"_bag_obj:start_date=feat.properties.bouwjaar",
"_osm_obj:id=feat.get('_overlaps_with_properties')?.id",
"_osm_obj:building=feat.get('_overlaps_with_properties')?.building",
"_imported_osm_object_found:=Number(feat.properties.identificatie)==Number(feat.get('_overlaps_with_properties')['ref:bag'])"
],
"mapRendering": [
{
"width": {
"render": 5,
"mappings": [
{
"if": "_imported_osm_object_found=true",
"then": "1"
}
]
},
"color": {
"render": "#00a",
"mappings": [
{
"if": "_imported_osm_object_found=true",
"then": "#0f0"
}
]
}
}
],
"tagRenderings": [
{
"id": "Import button",
"render": "{import_way_button(osm:buildings, building=$_bag_obj:building; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Upload this building to OpenStreetMap)}",
"mappings": [
{
"#": "Something went wrong calculating the tags - don't show an import button",
"if": {
"or": [
"_bag_obj:building=",
"_bag_obj:ref:bag="
]
},
"then": {
"en": "Didn't calculate the correct values yet. Refresh this page",
"de": "Richtige Werte noch nicht berechnet. Aktualisieren Sie diese Seite",
"nl": "Correcte waarden nog niet berekend. Herlaad deze pagina",
"fr": "Les valeurs correctes n'ont pas encore été calculées. Rafraichissez la page",
"ca": "El valors correctes encara no s'ha calculat. Refresca la pàgina",
"cs": "Zatím nebyly vypočteny správné hodnoty. Aktualizujte stránku",
"nb_NO": "Har ikke regnet ut riktige verdier enda. Gjenoppfrisk siden.",
"es": "Aún no se han calculado los valores correctos. Actualice esta página"
}
},
{
"if": "_overlaps_with!=",
"then": "{conflate_button(osm:buildings, building=$_bag_obj:building; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Replace the geometry in OpenStreetMap, , _osm_obj:id)}"
},
{
"if": {
"and": [
"_bag_obj:building~*",
"_bag_obj:ref:bag~*",
"_bag_obj:in_construction=true"
]
},
"then": "{import_way_button(osm:buildings, building=$_bag_obj:building; construction=$_bag_obj:construction; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date, Upload this building to OpenStreetMap)}"
}
]
},
{
"id": "Reference",
"render": {
"en": "The reference in BAG is <b>{_bag_obj:ref:bag}</b>",
"de": "Die Referenz in BAG ist <b>{_bag_obj:ref:bag}</b>",
"nl": "De referentie in BAG is <b>{_bag_obj:ref:bag}</b>",
"fr": "La référence dans BAG est <b>{_bag_obj:ref:bag}</b>",
"ca": "La referència a BAG és <b>{_bag_obj:ref:bag}</b>",
"es": "La referencia en BAG es <b>{_bag_obj:ref:bag}</b>",
"cs": "Reference v BAG je <b>{_bag_obj:ref:bag}</b>"
}
},
{
"id": "Build year",
"render": {
"en": "This building was built in <b>{_bag_obj:start_date}</b>",
"de": "Dieses Gebäude wurde gebaut in <b>{_bag_obj:start_date}</b>",
"pt_BR": "Esta construção é de <b>{_bag_obj:start_date}</b>",
"nl": "Dit gebouw is gebouwd in <b>{_bag_obj:start_date}</b>",
"fr": "Le bâtiment a été construit en <b>{_bag_obj:start_date}</b>",
"ca": "Ledifici va ser construït al <b> {_bag_obj:start_date}4</b>",
"es": "El edificio fue construido en <b>{_bag_obj:start_date}</b>",
"cs": "Tato budova byla postavena v <b>{_bag_obj:start_date}</b>",
"nb_NO": "Bygning oppført <b>{_bag_obj:start_date}</b>"
},
"mappings": [
{
"if": "_bag_obj:in_construction=true",
"then": {
"en": "The building was started in <b>{_bag_obj:start_date}</b>",
"de": "Der Bau wurde in <b>{_bag_obj:start_date}</b> begonnen",
"nl": "De bouw van dit gebouw is gestart in <b>{_bag_obj:start_date}</b>",
"fr": "Le bâtiment a été commencé en <b>{_bag_obj:start_date}</b>",
"ca": "Ledifici es va començar al <b> {_bag_obj:start_date}</b>",
"cs": "Stavba byla zahájena v <b>{_bag_obj:start_date}</b>",
"nb_NO": "Oppføring startet <b>{_bag_obj:start_date}</b>",
"es": "Este edificio se empezó a construir en <b>{_bag_obj:start_date}</b>"
}
}
]
},
{
"id": "Building type",
"render": {
"en": "The building type is a <b>{_bag_obj:building}</b>",
"de": "Der Gebäudetyp ist ein <b>{_bag_obj:building}</b>",
"nl": "Het gebouwtype is <b>{_bag_obj:building}</b>",
"fr": "Le type de bâtiment est <b>{_bag_obj:building}</b>",
"ca": "El tipus d'edifici és <b>{_bag_obj:building}</b>",
"cs": "Typ budovy je <b>{_bag_obj:building}.</b>",
"nb_NO": "Dette er en bygning av typen <b>{_bag_obj:building}</b>",
"es": "El edificio es de tipo <b>{_bag_obj:building}</b>"
},
"mappings": [
{
"if": "_bag_obj:in_construction=true",
"then": {
"en": "The building type will be a <b>{_bag_obj:construction}</b>",
"de": "Der Gebäudetyp ist ein <b>{_bag_obj:construction}</b>",
"nl": "Het gebouwtype wordt <b>{_bag_obj:construction}</b>",
"fr": "Le type de bâtiment sera <b>{_bag_obj:construction}</b>",
"ca": "El tipus d'edifici serà <b>{_bag_obj:construction}</b>",
"cs": "Typ budovy bude <b>{_bag_obj:construction}</b>",
"es": "El tipo de edificio será un <b>{_bag_obj:construction}</b>"
}
}
]
},
{
"id": "Overlapping building",
"render": "<div>The overlapping <a href=https://osm.org/{_osm_obj:id} target=_blank>osm:buildings</a> is a <b>{_osm_obj:building}</b> and covers <b>{_overlap_percentage}%</b> of the BAG building.<br>The BAG-building covers <b>{_reverse_overlap_percentage}%</b> of the OSM building<div><h3>BAG geometry:</h3>{minimap(21, id):height:10rem;border-radius:1rem;overflow:hidden}<h3>OSM geometry:</h3>{minimap(21,_osm_obj:id):height:10rem;border-radius:1rem;overflow:hidden}</div></div>",
"condition": "_overlaps_with!="
},
{
"id": "Building status",
"render": "The current building status is <b>{status}</b>"
},
{
"id": "Buidling function",
"render": "The current function of the building is <b>{gebruiksdoel}</b>"
}
]
},
{
"id": "bag:verblijfsobject",
"name": "BAG Addresses",
"title": "BAG Address",
"description": "Address information from the BAG register",
"source": {
"geoJson": "https://service.pdok.nl/lv/bag/wfs/v2_0?request=GetFeature&service=WFS&version=2.0.0&outputFormat=application%2Fjson%3B%20subtype%3Dgeojson&typeName=bag%3Averblijfsobject&bbox={x_min}%2C{y_min}%2C{x_max}%2C{y_max}%2CCRS84&srsName=EPSG%3A4326",
"geoJsonZoomLevel": 19,
"osmTags": "identificatie~*",
"maxCacheAge": 0
},
"minzoom": 19,
"calculatedTags": [
"_closed_osm_addr:=closest(feat)('osm:adresses').properties",
"_bag_obj:addr:housenumber=`${feat.properties.huisnummer}${feat.properties.huisletter}${(feat.properties.toevoeging != '') ? '-' : ''}${feat.properties.toevoeging}`",
"_bag_obj:ref:bag=Number(feat.properties.identificatie)",
"_bag_obj:source:date=new Date().toISOString().split('T')[0]",
"_osm_obj:addr:city:=feat.get('_closed_osm_addr')['addr:city']",
"_osm_obj:addr:housenumber:=feat.get('_closed_osm_addr')['addr:housenumber']",
"_osm_obj:addr:postcode:=feat.get('_closed_osm_addr')['addr:postcode']",
"_osm_obj:addr:street:=feat.get('_closed_osm_addr')['addr:street']",
"_imported_osm_object_found:=(feat.properties.woonplaats==feat.get('_closed_osm_addr')['addr:city'])&&(feat.get('_bag_obj:addr:housenumber')==feat.get('_closed_osm_addr')['addr:housenumber'])&&(feat.properties.postcode==feat.get('_closed_osm_addr')['addr:postcode'])&&(feat.properties.openbare_ruimte==feat.get('_closed_osm_addr')['addr:street'])"
],
"mapRendering": [
{
"label": {
"render": "<div style='color: black' class='rounded-full p-1 font-bold relative'>{_bag_obj:addr:housenumber}</div>",
"mappings": [
{
"if": "_imported_osm_object_found=true",
"then": "<div style='color: #107c10' class='rounded-full p-1 font-bold relative'>{_bag_obj:addr:housenumber}</div>"
}
]
},
"location": [
"point",
"centroid"
]
},
{
"width": {
"render": 1
}
}
],
"tagRenderings": [
{
"id": "Import button",
"render": "{import_button(osm:adresses, addr:city=$woonplaats; addr:housenumber=$_bag_obj:addr:housenumber; addr:postcode=$postcode; addr:street=$openbare_ruimte; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date, Upload this adress to OpenStreetMap)}",
"condition": "_imported_osm_object_found=false"
},
{
"id": "Address",
"render": "{openbare_ruimte} {_bag_obj:addr:housenumber}, {woonplaats} {postcode}"
}
]
}
],
"hideFromOverview": true
}