{ "id": "bag", "title": { "nl": "BAG import helper", "en": "BAG import helper" }, "shortDescription": { "nl": "BAG import helper tool", "en": "BAG import helper tool" }, "description": { "nl": "Dit thema helpt het importeren van BAG data", "en": "This theme helps with importing data from BAG" }, "maintainer": "Wouter van der Wal", "icon": "./assets/themes/bag_import/logo.svg", "startLat": 53.1726, "startLon": 7.04545, "startZoom": 9, "overrideAll": { "minzoom": 19 }, "layers": [ { "id": "osm:buildings", "name": "OSM Buildings", "title": "OSM Building", "source": { "osmTags": "building~*", "maxCacheAge": 0 }, "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" } ] } } ] }, { "id": "bag:pand", "name": "BAG Buildings", "title": "BAG Building", "description": { "en": "Buildings from 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%3Apand&bbox={x_min}%2C{y_min}%2C{x_max}%2C{y_max}%2CCRS84&srsName=EPSG%3A4326", "geoJsonZoomLevel": 18, "osmTags": { "and": [ "identificatie~*" ] }, "maxCacheAge": 0 }, "calculatedTags": [ "_overlaps_with_buildings=feat.overlapWith('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": [ { "if": { "and": [ "_overlap_percentage>50", "_reverse_overlap_percentage>50", "_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": "_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 {_bag_obj:ref:bag}" } }, { "id": "Build year", "render": { "en": "This building was build in {_bag_obj:start_date}" }, "mappings": [ { "if": "_bag_obj:in_construction=true", "then": { "en": "The building was started in {_bag_obj:start_date}" } } ] }, { "id": "Building type", "render": { "en": "The building type is a {_bag_obj:building}" }, "mappings": [ { "if": "_bag_obj:in_construction=true", "then": { "en": "The building type will be a {_bag_obj:construction}" } } ] }, { "id": "Overlapping building", "render": "
The overlapping osm:buildings is a {_osm_obj:building} and covers {_overlap_percentage}% of the BAG building.
The BAG-building covers {_reverse_overlap_percentage}% of the OSM building

BAG geometry:

{minimap(21, id):height:10rem;border-radius:1rem;overflow:hidden}

OSM geometry:

{minimap(21,_osm_obj:id):height:10rem;border-radius:1rem;overflow:hidden}
", "condition": "_overlaps_with!=" } ] }, { "id": "bag:verblijfsobject", "name": "bag:verblijfsobject", "title": "bag:verblijfsobject - {identificatie}", "description": "Adressen vanaf het 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": { "and": [ "identificatie~*" ] }, "maxCacheAge": 0 }, "calculatedTags": [ "addr:housenumber:=`${feat.properties.huisnummer}${feat.properties.huisletter}${(feat.properties.toevoeging != '') ? '-' : ''}${feat.properties.toevoeging}`" ], "mapRendering": [ { "label": { "render": "
{addr:housenumber}
", "condition": "addr:housenumber~*" }, "location": [ "point", "centroid" ] }, { "width": { "render": 1 } } ], "tagRenderings": [ { "id": "Adress", "render": "{openbare_ruimte} {addr:housenumber}, {woonplaats} {postcode}" } ] } ], "hideFromOverview": true }