151 lines
No EOL
4.6 KiB
JSON
151 lines
No EOL
4.6 KiB
JSON
{
|
|
"id": "missing_streets",
|
|
"title": {
|
|
"nl": "Fix ontbrekende straten"
|
|
},
|
|
"shortDescription": {
|
|
"nl": "Voegt ontbrekende straten toe aan gebouwen met huisnumer adhv CRAB"
|
|
},
|
|
"description": {
|
|
"nl": "Dit thema voegt automatisch straatnamen toe aan gebouwen met huisnummer en overeenkomstig CRAB-adres."
|
|
},
|
|
"icon": "./assets/svg/robot.svg",
|
|
"startLat": 51.0249,
|
|
"startLon": 4.026489,
|
|
"startZoom": 9,
|
|
"widenFactor": 2,
|
|
"clustering": {
|
|
"maxZoom": 15
|
|
},
|
|
"overrideAll": {
|
|
"minzoom": 14
|
|
},
|
|
"layers": [
|
|
{
|
|
"builtin": "current_view",
|
|
"override": {
|
|
"+mapRendering": [
|
|
{
|
|
"location": [
|
|
"point"
|
|
],
|
|
"icon": {
|
|
"render": "./assets/svg/robot.svg"
|
|
},
|
|
"iconSize": "15,15,center"
|
|
}
|
|
],
|
|
"calculatedTags": [
|
|
"_overlapping=Number(feat.properties.zoom) >= 14 ? feat.overlapWith('osm-buildings').map(ff => ff.feat.properties) : undefined",
|
|
"_applicable=feat.get('_overlapping').filter(p => (p._spelling_is_correct === 'true') && (p._singular_import === 'true')).map(p => p.id)",
|
|
"_applicable_count=feat.get('_applicable')?.length"
|
|
],
|
|
"tagRenderings": [
|
|
{
|
|
"id": "hw",
|
|
"render": "There are {_applicable_count} applicable elements in view",
|
|
"mappings": [
|
|
{
|
|
"if": "zoom<14",
|
|
"then": "Zoom in more to see the automatic action"
|
|
},
|
|
{
|
|
"if": "_applicable_count=",
|
|
"then": "Loading..."
|
|
},
|
|
{
|
|
"if": "_applicable_count=0",
|
|
"then": "No buildings with missing street names in view"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "autoapply",
|
|
"render": "{auto_apply(osm-buildings, _applicable, apply_streetname, Automatically add all missing streetnames on buildings in view)}"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"named_streets",
|
|
{
|
|
"builtin": "crab_address",
|
|
"override": {
|
|
"source": {
|
|
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
|
|
"geoJsonZoomLevel": 18
|
|
},
|
|
"mapRendering": [
|
|
{
|
|
"iconSize": "5,5,center",
|
|
"icon": "circle:black;"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "osm-buildings",
|
|
"name": "Alle OSM-gebouwen met een huisnummer en zonder straat",
|
|
"source": {
|
|
"osmTags": {
|
|
"and": [
|
|
"building~*",
|
|
"addr:housenumber~*",
|
|
"addr:street="
|
|
]
|
|
},
|
|
"maxCacheAge": 0
|
|
},
|
|
"calculatedTags": [
|
|
"_embedded_crab_addresses:=Array.from(new Set(feat.overlapWith('crab_address').map(ff => ff.feat.properties).filter(p => p._HNRLABEL.toLowerCase() === (feat.properties['addr:housenumber'] + (feat.properties['addr:unit']??'')).toLowerCase()).map(p => p.STRAATNM)))",
|
|
"_singular_import:=feat.get('_embedded_crab_addresses')?.length == 1",
|
|
"_name_to_apply:=feat.get('_embedded_crab_addresses')[0]",
|
|
"_nearby_street_names:=feat.closestn('named_streets',5,'name', 1000).map(ff => [ff.feat.properties.name, ff.feat.properties['alt_name'], ff.feat.properties['name:nl']])",
|
|
"_spelling_is_correct:= [].concat(...feat.get('_nearby_street_names')).indexOf(feat.properties['_name_to_apply']) >= 0"
|
|
],
|
|
"mapRendering": [
|
|
{
|
|
"width": {
|
|
"render": "2",
|
|
"mappings": [
|
|
{
|
|
"if": "fixme~*",
|
|
"then": "5"
|
|
}
|
|
]
|
|
},
|
|
"color": {
|
|
"render": "#00c",
|
|
"mappings": [
|
|
{
|
|
"if": "_spelling_is_correct=false",
|
|
"then": "#ff00ff"
|
|
},
|
|
{
|
|
"if": "_singular_import=ffalse",
|
|
"then": "#f00"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"title": "OSM-gebouw",
|
|
"tagRenderings": [
|
|
{
|
|
"id": "apply_streetname",
|
|
"render": "{tag_apply(addr:street=$_name_to_apply ,Apply the CRAB-street onto this building)}",
|
|
"mappings": [
|
|
{
|
|
"if": "_spelling_is_correct=false",
|
|
"then": "No nearby street has the same name. The CRAB-name is {_name_to_apply}"
|
|
},
|
|
{
|
|
"if": "_singular_import=false",
|
|
"then": "There are multiple streetnames applicable here"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"hideFromOverview": true
|
|
} |