mapcomplete/assets/themes/bag/bag.json

482 lines
21 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": "Herramienta de ayuda para la importación de BAG",
"cs": "Pomocník pro import BAG",
"zh_Hant": "BAG 匯入助手",
"pl": "Pomocnik importowy BAG",
"zh_Hans": "BAG 导入助手",
"uk": "Помічник з імпорту 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",
"eu": "Gai honek BAGeko datuak inportatzen laguntzen du",
"pl": "Motyw ten pomaga w importowaniu danych z BAG",
"zh_Hans": "这个主题帮助导入来自BAG的数据",
"uk": "Ця тема допомагає імпортувати дані з 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 para la importación de BAG",
"cs": "Pomocný nástroj pro import BAG",
"eu": "BAGak inportatzen laguntzeko tresna",
"pl": "Narzędzie wspomagające import BAG",
"zh_Hans": "BAG 导入辅助工具",
"uk": "Допоміжний інструмент для імпорту BAG"
},
"icon": "./assets/themes/bag/logo.svg",
"startZoom": 9,
"startLat": 53.1726,
"startLon": 7.04545,
"credits": [
"Wouter van der Wal"
],
"hideFromOverview": true,
"layers": [
{
"id": "osm_buildings",
"name": "OSM Buildings",
"title": "OSM Building",
"description": "Layer showing buildings that are in OpenStreetMap",
"source": {
"osmTags": "building~*"
},
"minzoom": 18,
"isCounted": false,
"calculatedTags": [
"_surface:strict:=get(feat)('_surface')"
],
"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 en BAG es <b>{ref:bag}</b>",
"cs": "Reference v BAG je <b>{ref:bag}</b>",
"pl": "Numer referencyjny w BAG to <b>{ref:bag}</b>",
"zh_Hans": "在 BAG 中的参考是 <b>{ref:bag}</b>",
"fil": "Ang sanggunian sa BAG ay <b>{ref:bag}</b>",
"uk": "Посилання у BAG має вигляд <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",
"pl": "Budynek ten nie ma odniesienia w BAG",
"zh_Hans": "这栋建筑在BAG中没有参考信息",
"fil": "Walang sanggunian ang gusaling ito sa BAG",
"uk": "Ця будівля не має жодної згадки в Базі даних"
}
}
]
},
{
"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?"
}
],
"pointRendering": null,
"lineRendering": [
{
"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"
}
]
}
}
],
"allowMove": false
},
{
"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~*"
]
}
},
"minzoom": 18,
"pointRendering": [
{
"label": {
"render": "<div style='color: black' class='rounded-full p-1 font-bold relative'>{addr:housenumber}</div>",
"condition": "addr:housenumber~*"
},
"location": [
"point",
"centroid"
]
}
],
"lineRendering": [
{
"width": {
"render": 1
}
}
],
"allowMove": false,
"isCounted": false
},
{
"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",
"pl": "Budynki z rejestru BAG",
"zh_Hans": "BAG 注册中的建筑物",
"fil": "Mga gusali mula sa rehistro ng BAG",
"uk": "Будівлі з реєстру 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~*"
},
"minzoom": 18,
"calculatedTags": [
"_overlaps_with_buildings=overlapWith(feat)('osm_buildings').filter(f => f.feat.properties.id.indexOf('-') < 0)",
"_overlaps_with=get(feat)('_overlaps_with_buildings').find(f => f.overlap > 1 /* square meter */ )",
"_overlaps_with_properties=get(feat)('_overlaps_with')?.feat?.properties",
"_overlap_percentage=Math.round(100 * (get(feat)('_overlaps_with')?.overlap / get(feat)('_overlaps_with_properties')['_surface:strict']))",
"_reverse_overlap_percentage=Math.round(100 * (get(feat)('_overlaps_with')?.overlap / get(feat)('_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=get(feat)('_overlaps_with_properties')?.id",
"_osm_obj:building=get(feat)('_overlaps_with_properties')?.building",
"_imported_osm_object_found:=Number(feat.properties.identificatie)==Number(get(feat)('_overlaps_with_properties')['ref:bag'])"
],
"tagRenderings": [
{
"id": "Import button",
"render": {
"special": {
"type": "import_way_button",
"targetLayer": "osm_buildings",
"tags": "building=$_bag_obj:building; ref:bag=$_bag_obj:ref:bag; source=BAG; source:date=$_bag_obj:source:date; start_date=$_bag_obj:start_date",
"text": {
"*": "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 calcularon los valores correctos. Actualiza esta página",
"pl": "Jeszcze nie obliczono poprawnych wartości. Odśwież tę stronę",
"zh_Hans": "尚未计算出正确的值。请刷新此页面",
"uk": "Ще не розрахували правильні значення. Оновіть цю сторінку"
}
},
{
"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>",
"pl": "Odniesienie w BAG to <b>{_bag_obj:ref:bag}</b>",
"zh_Hans": "在 BAG 中的参考文献是 <b>{_bag_obj:ref:bag}</b>",
"fil": "Ang sanggunian sa BAG ay <b>{_bag_obj:ref:bag}</b>",
"uk": "Посилання у BAG має вигляд <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": "Este edificio se construyó 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>",
"pl": "Ten budynek zbudowano w <b>{_bag_obj:start_date}</b>",
"pt": "Esta construção é de <b>{_bag_obj:start_date}</b>",
"zh_Hans": "这座建筑建于 <b>{_bag_obj:start_date}</b>",
"fil": "Ang gusaling ito ay itinayo noong <b>{_bag_obj:start_date}</b>",
"uk": "Ця будівля була побудована у <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": "La construcción del edificio comenzó en <b>{_bag_obj:start_date}</b>",
"pl": "Budynek został zbudowany w <b>{_bag_obj:start_date}</b>",
"zh_Hans": "该建筑始建于 <b>{_bag_obj:start_date}</b>",
"fil": "Sinimulan ang gusali noong <b>{_bag_obj:start_date}</b>",
"uk": "Будівництво було розпочато у <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 tipo de edificio es un <b>{_bag_obj:building}</b>",
"pl": "Rodzaj budynku to <b>{_bag_obj:building}</b>",
"zh_Hans": "建筑类型是 <b>{_bag_obj:building}</b>",
"fil": "Ang uri ng gusali ay <b>{_bag_obj:building}</b>",
"uk": "Тип будівлі - <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>",
"pl": "Budynek będzie o typie <b>{_bag_obj:construction}</b>",
"zh_Hans": "建筑类型将是 <b>{_bag_obj:construction}</b>",
"fil": "Ang uri ng gusali ay magiging <b>{_bag_obj:construction}</b>",
"uk": "Типом будівлі буде <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>"
}
],
"pointRendering": [
{
"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"
]
}
],
"lineRendering": [
{
"width": {
"render": 1
}
}
],
"allowMove": false
},
{
"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~*"
},
"minzoom": 18,
"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:=get(feat)('_closed_osm_addr')['addr:city']",
"_osm_obj:addr:housenumber:=get(feat)('_closed_osm_addr')['addr:housenumber']",
"_osm_obj:addr:postcode:=get(feat)('_closed_osm_addr')['addr:postcode']",
"_osm_obj:addr:street:=get(feat)('_closed_osm_addr')['addr:street']",
"_imported_osm_object_found:=(feat.properties.woonplaats==get(feat)('_closed_osm_addr')['addr:city'])&&(get(feat)('_bag_obj:addr:housenumber')==get(feat)('_closed_osm_addr')['addr:housenumber'])&&(feat.properties.postcode==get(feat)('_closed_osm_addr')['addr:postcode'])&&(feat.properties.openbare_ruimte==get(feat)('_closed_osm_addr')['addr:street'])"
],
"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}"
}
],
"pointRendering": [
{
"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"
]
}
],
"lineRendering": [
{
"width": {
"render": 1
}
}
],
"allowMove": false
}
]
}