{
  "id": "cycle_infra",
  "title": {
    "en": "Bicycle infrastructure",
    "nl": "Fietsinfrastructuur"
  },
  "shortDescription": {
    "en": "A map where you can view and edit things related to the bicycle infrastructure.",
    "nl": "Een kaart waar je info over de fietsinfrastructuur kan bekijken en bewerken."
  },
  "description": {
    "en": "A map where you can view and edit things related to the bicycle infrastructure. Made during #osoc21.",
    "nl": "Een kaart waar je info over de fietsinfrastructuur kan bekijken en bewerken. Gemaakt tijdens #osoc21."
  },
  "language": [
    "en",
    "nl"
  ],
  "maintainer": "",
  "defaultBackgroundId": "CartoDB.Voyager",
  "icon": "./assets/themes/cycle_infra/cycle-infra.svg",
  "version": "0",
  "startLat": 51,
  "startLon": 3.75,
  "startZoom": 11,
  "widenFactor": 0,
  "socialImage": "./assets/themes/cycle_infra/cycle-infra.svg",
  "enableDownload": true,
  "layers": [
    {
      "id": "cycleways",
      "name": {
        "en": "Cycleways",
        "nl": "Fietspaden"
      },
      "minzoom": 16,
      "source": {
        "osmTags": {
          "or": [
            "highway=cycleway",
            "cycleway=lane",
            "cycleway=shared_lane",
            "cycleway=track",
            "cyclestreet=yes",
            {
              "and": [
                "highway=path",
                "bicycle=designated"
              ]
            }
          ]
        }
      },
      "calculatedTags": [
        "_comfort_score=feat.score('https://raw.githubusercontent.com/pietervdvn/AspectedRouting/master/Examples/bicycle/aspects/bicycle.comfort.json')"
      ],
      "title": {
        "render": {
          "en": "Cycleways",
          "nl": "Fietspaden"
        },
        "mappings": [
          {
            "if": {
              "or": [
                "highway=cycleway",
                "highway=path"
              ]
            },
            "then": {
              "nl": "Fietsweg",
              "en": "Bike road"
            }
          },
          {
            "if": "cycleway=shared_lane",
            "then": {
              "nl": "Fietssuggestiestrook",
              "en": "Shared lane"
            }
          },
          {
            "if": "cycleway=lane",
            "then": {
              "nl": "Fietsstrook",
              "en": "Bike lane"
            }
          },
          {
            "if": "cycleway=track",
            "then": {
              "en": "Bike road next to the road",
              "nl": "Fietsweg naast de weg"
            }
          },
          {
            "if": "cyclestreet=yes",
            "then": {
              "nl": "Fietsstraat",
              "en": "Cyclestreet"
            }
          }
        ]
      },
      "description": {},
      "tagRenderings": [
        {
          "question": {
            "en": "What kind of cycleway is there?",
            "nl": "Wat voor fietspad is hier?"
          },
          "condition": {
            "and": [
              "highway!=cycleway",
              "highway!=path"
            ]
          },
          "mappings": [
            {
              "if": "cycleway=shared_lane",
              "then": {
                "en": "There is a shared lane",
                "nl": "Er is een fietssuggestiestrook"
              }
            },
            {
              "if": "cycleway=lane",
              "then": {
                "en": "There is a lane next to the road (seperated with paint)",
                "nl": "Er is een fietspad aangrenzend aan de weg (gescheiden met verf)"
              }
            },
            {
              "if": "cycleway=track",
              "then": {
                "en": "There is a track, but no cycleway drawn seperately from this road on the map.",
                "nl": "Er is een fietspad (los van de weg), maar geen fietspad afzonderlijk getekend naast deze weg."
              }
            },
            {
              "if": "cycleway=seperate",
              "then": {
                "en": "There is a seperately drawn cycleway",
                "nl": "Er is een apart getekend fietspad."
              }
            },
            {
              "if": "cycleway=no",
              "then": {
                "en": "There is no cycleway",
                "nl": "Er is geen fietspad aanwezig"
              },
              "hideInAnswer": "cycleway=opposite"
            },
            {
              "if": "cycleway=no",
              "then": {
                "en": "There is no cycleway",
                "nl": "Er is geen fietspad aanwezig"
              },
              "hideInAnswer": "cycleway!=opposite",
              "addExtraTags": [
                "oneway:bicycle=no",
                "fixme=Changed from cycleway=opposite"
              ]
            }
          ]
        },
        {
          "question": {
            "en": "Is this street lit?",
            "nl": "Is deze weg verlicht?"
          },
          "mappings": [
            {
              "if": "lit=yes",
              "then": {
                "en": "This street is lit",
                "nl": "Deze weg is verlicht"
              }
            },
            {
              "if": "lit=no",
              "then": {
                "en": "This road is not lit",
                "nl": "Deze weg is niet verlicht"
              }
            },
            {
              "if": "lit=sunset-sunrise",
              "then": {
                "en": "This road is lit at night",
                "nl": "Deze weg is 's nachts verlicht"
              },
              "hideInAnswer": true
            },
            {
              "if": "lit=24/7",
              "then": {
                "en": "This road is lit 24/7",
                "nl": "Deze weg is 24/7 verlicht"
              }
            }
          ]
        },
        {
          "question": {
            "en": "Is this a cyclestreet?",
            "nl": "Is dit een fietsstraat?"
          },
          "condition": {
            "and": [
              "highway!=cycleway",
              "highway!=path"
            ]
          },
          "mappings": [
            {
              "if": "cyclestreet=yes",
              "then": {
                "en": "This is a cyclestreet, and a 30km/h zone.",
                "nl": "Dit is een fietstraat, en dus een 30km/h zone"
              },
              "addExtraTags": [
                "overtaking:motor_vehicle=no",
                "maxspeed=30"
              ],
              "hideInAnswer": "_country!=be"
            },
            {
              "if": "cyclestreet=yes",
              "then": {
                "en": "This is a cyclestreet",
                "nl": "Dit is een fietstraat"
              },
              "hideInAnswer": "_country=be"
            },
            {
              "if": "cyclestreet=",
              "then": {
                "en": "This is not a cyclestreet.",
                "nl": "Dit is geen fietsstraat"
              },
              "addExtraTags": [
                "overtaking:motor_vehicle="
              ]
            }
          ]
        },
        {
          "render": {
            "en": "The maximum speed on this road is {maxspeed} km/h",
            "nl": "De maximumsnelheid op deze weg is {maxspeed} km/u"
          },
          "freeform": {
            "key": "maxspeed",
            "type": "nat"
          },
          "condition": {
            "or": [
              "cycleway=shared_lane",
              "cycleway=lane"
            ]
          },
          "mappings": [
            {
              "if": "maxspeed=20",
              "then": {
                "en": "The maximum speed is 20 km/h",
                "nl": "De maximumsnelheid is 20 km/u"
              }
            },
            {
              "if": "maxspeed=30",
              "then": {
                "en": "The maximum speed is 30 km/h",
                "nl": "De maximumsnelheid is 30 km/u"
              }
            },
            {
              "if": "maxspeed=50",
              "then": {
                "en": "The maximum speed is 50 km/h",
                "nl": "De maximumsnelheid is 50 km/u"
              }
            },
            {
              "if": "maxspeed=70",
              "then": {
                "en": "The maximum speed is 70 km/h",
                "nl": "De maximumsnelheid is 70 km/u"
              }
            },
            {
              "if": "maxspeed=90",
              "then": {
                "en": "The maximum speed is 90 km/h",
                "nl": "De maximumsnelheid is 90 km/u"
              }
            }
          ],
          "question": {
            "en": "What is the maximum speed in this street?",
            "nl": "Wat is de maximumsnelheid in deze straat?"
          }
        },
        {
          "render": {
            "en": "This cyleway is made of {cycleway:surface}",
            "nl": "Dit fietspad is gemaakt van {cycleway:surface}"
          },
          "freeform": {
            "key": "cycleway:surface",
            "addExtraTags": []
          },
          "condition": {
            "or": [
              "cycleway=shared_lane",
              "cycleway=lane",
              "cycleway=track"
            ]
          },
          "mappings": [
            {
              "if": "cycleway:surface=unpaved",
              "then": {
                "en": "This cycleway is unhardened",
                "nl": "Dit fietspad is onverhard"
              },
              "hideInAnswer": true
            },
            {
              "if": "cycleway:surface=paved",
              "then": {
                "en": "This cycleway is paved",
                "nl": "Dit fietspad is geplaveid"
              },
              "hideInAnswer": true
            },
            {
              "if": "cycleway:surface=asphalt",
              "then": {
                "en": "This cycleway is made of asphalt",
                "nl": "Dit fietspad is gemaakt van asfalt"
              }
            },
            {
              "if": "cycleway:surface=paving_stones",
              "then": {
                "en": "This cycleway is made of smooth paving stones",
                "nl": "Dit fietspad is gemaakt van straatstenen"
              }
            },
            {
              "if": "cycleway:surface=concrete",
              "then": {
                "en": "This cycleway is made of concrete",
                "nl": "Dit fietspad is gemaakt van beton"
              }
            },
            {
              "if": "cycleway:surface=cobblestone",
              "then": {
                "en": "This cycleway is made of cobblestone (unhewn or sett)",
                "nl": "Dit fietspad is gemaakt van kasseien (natuurlijk of verwerkt)"
              },
              "hideInAnswer": true
            },
            {
              "if": "cycleway:surface=unhewn_cobblestone",
              "then": {
                "en": "This cycleway is made of raw, natural cobblestone",
                "nl": "Dit fietspad is gemaakt van ruwe, natuurlijke kasseien"
              }
            },
            {
              "if": "cycleway:surface=sett",
              "then": {
                "en": "This cycleway is made of flat, square cobblestone",
                "nl": "Dit fietspad is gemaakt van vlakke, rechthoekige kasseien"
              }
            },
            {
              "if": "cycleway:surface=wood",
              "then": {
                "en": "This cycleway is made of wood",
                "nl": "Dit fietspad is gemaakt van hout"
              }
            },
            {
              "if": "cycleway:surface=gravel",
              "then": {
                "en": "This cycleway is made of gravel",
                "nl": "Dit fietspad is gemaakt van grind"
              }
            },
            {
              "if": "cycleway:surface=fine_gravel",
              "then": {
                "en": "This cycleway is made of fine gravel",
                "nl": "Dit fietspad is gemaakt van fijn grind"
              }
            },
            {
              "if": "cycleway:surface=pebblestone",
              "then": {
                "en": "This cycleway is made of pebblestone",
                "nl": "Dit fietspad is gemaakt van kiezelsteentjes"
              }
            },
            {
              "if": "cycleway:surface=ground",
              "then": {
                "en": "This cycleway is made from raw ground",
                "nl": "Dit fietspad is gemaakt van aarde"
              }
            }
          ],
          "question": {
            "en": "What is the surface of the cycleway made from?",
            "nl": "Waaruit is het oppervlak van het fietspad van gemaakt?"
          }
        },
        {
          "question": {
            "en": "What is the smoothness of this cycleway?",
            "nl": "Wat is de kwaliteit van dit fietspad?"
          },
          "condition": {
            "or": [
              "cycleway=shared_lane",
              "cycleway=lane",
              "cycleway=track"
            ]
          },
          "mappings": [
            {
              "if": "cycleway:smoothness=excellent",
              "then": {
                "en": "Usable for thin rollers: rollerblade, skateboard",
                "nl": "Geschikt voor fijne rollers: rollerblade, skateboard"
              }
            },
            {
              "if": "cycleway:smoothness=good",
              "then": {
                "en": "Usable for thin wheels: racing bike",
                "nl": "Geschikt voor fijne wielen: racefiets"
              }
            },
            {
              "if": "cycleway:smoothness=intermediate",
              "then": {
                "en": "Usable for normal wheels: city bike, wheelchair, scooter",
                "nl": "Geschikt voor normale wielen: stadsfiets, rolstoel, scooter"
              }
            },
            {
              "if": "cycleway:smoothness=bad",
              "then": {
                "en": "Usable for robust wheels: trekking bike, car, rickshaw",
                "nl": "Geschikt voor brede wielen: trekfiets, auto, rickshaw"
              }
            },
            {
              "if": "cycleway:smoothness=very_bad",
              "then": {
                "en": "Usable for vehicles with high clearance: light duty off-road vehicle",
                "nl": "Geschikt voor voertuigen met hoge banden: lichte terreinwagen"
              }
            },
            {
              "if": "cycleway:smoothness=horrible",
              "then": {
                "en": "Usable for off-road vehicles: heavy duty off-road vehicle",
                "nl": "Geschikt voor terreinwagens: zware terreinwagen"
              }
            },
            {
              "if": "cycleway:smoothness=very_horrible",
              "then": {
                "en": "Usable for specialized off-road vehicles: tractor, ATV",
                "nl": "Geschikt voor gespecialiseerde terreinwagens: tractor, alleterreinwagen"
              }
            },
            {
              "if": "cycleway:smoothness=impassable",
              "then": {
                "en": "Impassable / No wheeled vehicle",
                "nl": "Niet geschikt voor voertuigen met wielen"
              }
            }
          ]
        },
        {
          "render": {
            "en": "This road is made of {surface}",
            "nl": "Deze weg is gemaakt van {surface}"
          },
          "freeform": {
            "key": "surface",
            "addExtraTags": []
          },
          "mappings": [
            {
              "if": "surface=unpaved",
              "then": {
                "en": "This cycleway is unhardened",
                "nl": "Dit fietspad is onverhard"
              },
              "hideInAnswer": true
            },
            {
              "if": "surface=paved",
              "then": {
                "en": "This cycleway is paved",
                "nl": "Dit fietspad is geplaveid"
              },
              "hideInAnswer": true
            },
            {
              "if": "surface=asphalt",
              "then": {
                "en": "This cycleway is made of asphalt",
                "nl": "Dit fietspad is gemaakt van asfalt"
              }
            },
            {
              "if": "surface=paving_stones",
              "then": {
                "en": "This cycleway is made of smooth paving stones",
                "nl": "Dit fietspad is gemaakt van straatstenen"
              }
            },
            {
              "if": "surface=concrete",
              "then": {
                "en": "This cycleway is made of concrete",
                "nl": "Dit fietspad is gemaakt van beton"
              }
            },
            {
              "if": "surface=cobblestone",
              "then": {
                "en": "This cycleway is made of cobblestone (unhewn or sett)",
                "nl": "Dit fietspad is gemaakt van kasseien (natuurlijk of verwerkt)"
              },
              "hideInAnswer": true
            },
            {
              "if": "surface=unhewn_cobblestone",
              "then": {
                "en": "This cycleway is made of raw, natural cobblestone",
                "nl": "Dit fietspad is gemaakt van ruwe, natuurlijke kasseien"
              }
            },
            {
              "if": "surface=sett",
              "then": {
                "en": "This cycleway is made of flat, square cobblestone",
                "nl": "Dit fietspad is gemaakt van vlakke, rechthoekige kasseien"
              }
            },
            {
              "if": "surface=wood",
              "then": {
                "en": "This cycleway is made of wood",
                "nl": "Dit fietspad is gemaakt van hout"
              }
            },
            {
              "if": "surface=gravel",
              "then": {
                "en": "This cycleway is made of gravel",
                "nl": "Dit fietspad is gemaakt van grind"
              }
            },
            {
              "if": "surface=fine_gravel",
              "then": {
                "en": "This cycleway is made of fine gravel",
                "nl": "Dit fietspad is gemaakt van fijn grind"
              }
            },
            {
              "if": "surface=pebblestone",
              "then": {
                "en": "This cycleway is made of pebblestone",
                "nl": "Dit fietspad is gemaakt van kiezelsteentjes"
              }
            },
            {
              "if": "surface=ground",
              "then": {
                "en": "This cycleway is made from raw ground",
                "nl": "Dit fietspad is gemaakt van aarde"
              }
            }
          ],
          "question": {
            "en": "What is the surface of the street made from?",
            "nl": "Waaruit is het oppervlak van de straat gemaakt?"
          }
        },
        {
          "question": {
            "en": "What is the smoothness of this street?",
            "nl": "Wat is de kwaliteit van deze straat?"
          },
          "condition": {
            "or": [
              "cycleway=no",
              "highway=cycleway"
            ]
          },
          "mappings": [
            {
              "if": "smoothness=excellent",
              "then": {
                "en": "Usable for thin rollers: rollerblade, skateboard"
              }
            },
            {
              "if": "smoothness=good",
              "then": {
                "en": "Usable for thin wheels: racing bike"
              }
            },
            {
              "if": "smoothness=intermediate",
              "then": {
                "en": "Usable for normal wheels: city bike, wheelchair, scooter"
              }
            },
            {
              "if": "smoothness=bad",
              "then": {
                "en": "Usable for robust wheels: trekking bike, car, rickshaw"
              }
            },
            {
              "if": "smoothness=very_bad",
              "then": {
                "en": "Usable for vehicles with high clearance: light duty off-road vehicle"
              }
            },
            {
              "if": "smoothness=horrible",
              "then": {
                "en": "Usable for off-road vehicles: heavy duty off-road vehicle"
              }
            },
            {
              "if": "smoothness=very_horrible",
              "then": {
                "en": "Usable for specialized off-road vehicles: tractor, ATV"
              }
            },
            {
              "if": "smoothness=impassable",
              "then": {
                "en": "Impassable / No wheeled vehicle"
              }
            }
          ]
        },
        {
          "condition": {
            "or": [
              "cycleway=shared_lane",
              "cycleway=no",
              "cycleway="
            ]
          },
          "render": {
            "en": "The carriage width of this road is <strong>{width:carriageway}m</strong>",
            "nl": "De breedte van deze rijbaan in deze straat is <strong>{width:carriageway}m</strong>"
          },
          "freeform": {
            "key": "width:carriageway",
            "type": "length",
            "helperArgs": [
              "20",
              "map"
            ]
          },
          "question": {
            "en": "What is the carriage width of this road (in meters)?",
            "nl": "Hoe breed is de rijbaan in deze straat (in meters)?"
          }
        },
        {
          "question": {
            "en": "What traffic sign does this cycleway have?",
            "nl": "Welk verkeersbord heeft dit fietspad?"
          },
          "condition": {
            "or": [
              "cycleway=lane",
              "cycleway=track"
            ]
          },
          "mappings": [
            {
              "if": "cycleway:traffic_sign=BE:D7",
              "then": {
                "en": "Compulsory cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
                "nl": "Verplicht fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be"
            },
            {
              "if": "cycleway:traffic_sign~BE:D7;.*",
              "then": {
                "en": "Compulsory cycleway (with supplementary sign)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> ",
                "nl": "Verplicht fietspad (met onderbord)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
              },
              "hideInAnswer": true
            },
            {
              "if": "cycleway:traffic_sign=BE:D9",
              "then": {
                "en": "Segregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
                "nl": "Afgescheiden voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:foot=designated",
                "cycleway:segregated=yes"
              ]
            },
            {
              "if": "cycleway:traffic_sign=BE:D10",
              "then": {
                "en": "Unsegregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
                "nl": "Gedeeld voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:foot=designated",
                "cycleway:segregated=no"
              ]
            },
            {
              "if": "cycleway:traffic_sign=none",
              "then": {
                "en": "No traffic sign present",
                "nl": "Geen verkeersbord aanwezig"
              }
            }
          ]
        },
        {
          "question": {
            "en": "What traffic sign does this cycleway have?",
            "nl": "Welk verkeersbord heeft dit fietspad?"
          },
          "condition": {
            "or": [
              "highway=cycleway",
              "highway=path"
            ]
          },
          "mappings": [
            {
              "if": "traffic_sign=BE:D7",
              "then": {
                "en": "Compulsory cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>",
                "nl": "Verplicht fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "bicycle=designated",
                "mofa=designated",
                "moped=yes",
                "speed_pedelec=yes"
              ]
            },
            {
              "if": "traffic_sign~BE:D7;.*",
              "then": {
                "en": "Compulsory cycleway (with supplementary sign)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'> ",
                "nl": "Verplicht fietspad (met onderbord)<br><img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 3em'>"
              },
              "hideInAnswer": true
            },
            {
              "if": "traffic_sign=BE:D9",
              "then": {
                "en": "Segregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>",
                "nl": "Afgescheiden voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D09.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "foot=designated",
                "bicycle=designated",
                "mofa=designated",
                "moped=no",
                "speed_pedelec=no",
                "segregated=yes"
              ]
            },
            {
              "if": "traffic_sign=BE:D10",
              "then": {
                "en": "Unsegregated foot/cycleway <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>",
                "nl": "Gedeeld voet-/fietspad <img src='./assets/themes/cycle_infra/Belgian_road_sign_D10.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "foot=designated",
                "bicycle=designated",
                "mofa=designated",
                "moped=no",
                "speed_pedelec=no",
                "segregated=no"
              ]
            },
            {
              "if": "traffic_sign=none",
              "then": {
                "en": "No traffic sign present",
                "nl": "Geen verkeersbord aanwezig"
              }
            }
          ]
        },
        {
          "question": {
            "en": "Does the traffic sign D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) have a supplementary sign?",
            "nl": "Heeft het verkeersbord D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) een onderbord?"
          },
          "condition": {
            "or": [
              "cycleway:traffic_sign=BE:D7",
              "cycleway:traffic_sign~BE:D7;.*"
            ]
          },
          "mappings": [
            {
              "if": "cycleway:traffic_sign=BE:D7;BE:M6",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:moped=designated"
              ]
            },
            {
              "if": "cycleway:traffic_sign=BE:D7;BE:M13",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:speed_pedelec=designated"
              ]
            },
            {
              "if": "cycleway:traffic_sign=BE:D7;BE:M14",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:moped=designated",
                "cycleway:speed_pedelec=designated"
              ]
            },
            {
              "if": "cycleway:traffic_sign=BE:D7;BE:M7",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:moped=no"
              ]
            },
            {
              "if": "cycleway:traffic_sign=BE:D7;BE:M15",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:speed_pedelec=no"
              ]
            },
            {
              "if": "cycleway:traffic_sign=BE:D7;BE:M16",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "cycleway:moped=designated",
                "cycleway:speed_pedelec=no"
              ]
            },
            {
              "if": "cycleway:traffic_sign:supplementary=none",
              "then": {
                "en": "No supplementary traffic sign present",
                "nl": "Geen onderbord aanwezig"
              }
            }
          ]
        },
        {
          "question": {
            "en": "Does the traffic sign D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) have a supplementary sign?",
            "nl": "Heeft het verkeersbord D7 (<img src='./assets/themes/cycle_infra/Belgian_road_sign_D07.svg' style='width: 1.5em'>) een onderbord?"
          },
          "condition": {
            "or": [
              "traffic_sign=BE:D7",
              "traffic_sign~BE:D7;.*"
            ]
          },
          "mappings": [
            {
              "if": "traffic_sign=BE:D7;BE:M6",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M6.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "moped=designated"
              ]
            },
            {
              "if": "traffic_sign=BE:D7;BE:M13",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M13.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "speed_pedelec=designated"
              ]
            },
            {
              "if": "traffic_sign=BE:D7;BE:M14",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M14.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "moped=designated",
                "speed_pedelec=designated"
              ]
            },
            {
              "if": "traffic_sign=BE:D7;BE:M7",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M7.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "moped=no"
              ]
            },
            {
              "if": ":traffic_sign=BE:D7;BE:M15",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M15.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "speed_pedelec=no"
              ]
            },
            {
              "if": "traffic_sign=BE:D7;BE:M16",
              "then": {
                "en": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>",
                "nl": "<img src='./assets/themes/cycle_infra/Belgian_traffic_sign_M16.svg' style='width: 3em'>"
              },
              "hideInAnswer": "_country!=be",
              "addExtraTags": [
                "moped=designated",
                "speed_pedelec=no"
              ]
            },
            {
              "if": "traffic_sign:supplementary=none",
              "then": {
                "en": "No supplementary traffic sign present",
                "nl": "Geen onderbord aanwezig"
              }
            }
          ]
        },
        {
          "render": {
            "en": "The buffer besides this cycleway is {cycleway:buffer} m",
            "nl": "De schrikafstand van dit fietspad is {cycleway:buffer} m"
          },
          "question": {
            "en": "How wide is the gap between the cycleway and the road?",
            "nl": "Hoe breed is de ruimte tussen het fietspad en de weg?"
          },
          "condition": {
            "or": [
              "cycleway=track",
              "cycleway=lane"
            ]
          },
          "freeform": {
            "key": "cycleway:buffer",
            "type": "length",
            "helperArgs": [
              "20",
              "map"
            ]
          }
        },
        {
          "question": {
            "en": "How is this cycleway seperated from the road?",
            "nl": "Hoe is dit fietspad gescheiden van de weg?"
          },
          "condition": {
            "or": [
              "cycleway=track",
              "cycleway=lane"
            ]
          },
          "mappings": [
            {
              "if": "cycleway:seperation=dashed_line",
              "then": {
                "en": "This cycleway is seperated by a dashed line",
                "nl": "Dit fietspad is gescheiden van de weg met een onderbroken streep"
              }
            },
            {
              "if": "cycleway:seperation=solid_line",
              "then": {
                "en": "This cycleway is seperated by a solid line",
                "nl": "Dit fietspad is gescheiden van de weg met een doorgetrokken streep"
              }
            },
            {
              "if": "cycleway:seperation=parking_lane",
              "then": {
                "en": "This cycleway is seperated by a parking lane",
                "nl": "Dit fietspad is gescheiden van de weg met parkeervakken"
              }
            },
            {
              "if": "cycleway:seperation=kerb",
              "then": {
                "en": "This cycleway is seperated by a kerb",
                "nl": "Dit fietspad is gescheiden van de weg met een stoeprand"
              }
            }
          ]
        },
        {
          "question": {
            "en": "How is this cycleway seperated from the road?",
            "nl": "Hoe is dit fietspad gescheiden van de weg?"
          },
          "condition": {
            "or": [
              "highway=cycleway",
              "highway=path"
            ]
          },
          "mappings": [
            {
              "if": "seperation=dashed_line",
              "then": {
                "en": "This cycleway is seperated by a dashed line",
                "nl": "Dit fietspad is gescheiden van de weg met een onderbroken streep"
              }
            },
            {
              "if": "seperation=solid_line",
              "then": {
                "en": "This cycleway is seperated by a solid line",
                "nl": "Dit fietspad is gescheiden van de weg met een doorgetrokken streep"
              }
            },
            {
              "if": "seperation=parking_lane",
              "then": {
                "en": "This cycleway is seperated by a parking lane",
                "nl": "Dit fietspad is gescheiden van de weg met parkeervakken"
              }
            },
            {
              "if": "seperation=kerb",
              "then": {
                "en": "This cycleway is seperated by a kerb",
                "nl": "Dit fietspad is gescheiden van de weg met een stoeprand"
              }
            }
          ]
        }
      ],
      "icon": {
        "render": "./assets/themes/cycle_infra/bicycleway.svg"
      },
      "width": {
        "render": "8"
      },
      "iconSize": {
        "render": "40,40,center"
      },
      "color": {
        "render": "rgba(170, 170, 170, 0.7)",
        "mappings": [
          {
            "if": "highway=cycleway",
            "then": "rgba(0, 189, 141, 0.7)"
          },
          {
            "if": "highway=path",
            "then": "rgba(204, 74, 207, 0.7)"
          },
          {
            "if": "cycleway=track",
            "then": "rgba(113, 3, 200, 0.7)"
          },
          {
            "if": "cycleway=shared_lane",
            "then": "rgba(74, 59, 247, 0.7)"
          },
          {
            "if": "cycleway=lane",
            "then": "rgba(254, 155, 6, 0.9)"
          },
          {
            "if": "cyclestreet=yes",
            "then": "rgba(57, 159, 191, 0.7)"
          }
        ]
      },
      "dashArray": {
        "render": "",
        "mappings": [
          {
            "if": {
              "or": [
                "oneway=yes",
                {
                  "or": [
                    "highway=cycleway",
                    "highway=path"
                  ]
                }
              ]
            },
            "then": ""
          },
          {
            "if": "cycleway=track",
            "then": ""
          },
          {
            "if": "cycleway=shared_lane",
            "then": "15 30"
          },
          {
            "if": "cycleway=lane",
            "then": "25 15 15 15 25"
          },
          {
            "if": "cyclestreet=yes",
            "then": ""
          }
        ]
      },
      "presets": []
    },
    {
      "id": "all_streets",
      "name": {
        "nl": "Alle straten",
        "en": "All streets"
      },
      "description": {
        "nl": "Laag waar je nieuwe fietspaden kan aanduiden",
        "en": "Layer to mark new cycleways"
      },
      "source": {
        "osmTags": {
          "or": [
            "highway=residential",
            "highway=tertiary",
            "highway=unclassified",
            "highway=primary",
            "highway=secondary"
          ]
        }
      },
      "calculatedTags": [
        "_comfort_score=feat.score('https://raw.githubusercontent.com/pietervdvn/AspectedRouting/master/Examples/bicycle/aspects/bicycle.comfort.json')"
      ],
      "minzoom": 16,
      "wayHandling": 0,
      "title": {
        "render": {
          "nl": "Straat",
          "en": "Street"
        },
        "mappings": [
          {
            "if": "name~*",
            "then": "{name}"
          }
        ]
      },
      "icon": "./assets/themes/cycle_infra/street.svg",
      "width": "5",
      "color": {
        "render": "rgba(170, 170, 170, 0.7)",
        "mappings": []
      },
      "tagRenderings": [
        {
          "freeform": {
            "key": "cycleway",
            "addExtraTags": []
          },
          "question": {
            "en": "Is there a cycleway?",
            "nl": "Is er een fietspad?"
          },
          "condition": {
            "and": [
              "highway!=cycleway",
              "highway!=path"
            ]
          },
          "mappings": [
            {
              "if": "cycleway=shared_lane",
              "then": {
                "en": "There is a shared lane",
                "nl": "Er is een fietssugestiestrook"
              }
            },
            {
              "if": "cycleway=lane",
              "then": {
                "en": "There is a lane next to the road (seperated with paint)",
                "nl": "Er is een fietspad aangrenzend aan de weg (gescheiden met verf)"
              }
            },
            {
              "if": "cycleway=track",
              "then": {
                "en": "There is a track, but no cycleway drawn seperately from this road on the map.",
                "nl": "Er is een fietspad (los van de weg), maar geen fietspad afzonderlijk getekend naast deze weg."
              }
            },
            {
              "if": "cycleway=seperate",
              "then": {
                "en": "There is a seperately drawn cycleway",
                "nl": "Er is een apart getekend fietspad."
              }
            },
            {
              "if": "cycleway=",
              "then": {
                "en": "There is no cycleway known here",
                "nl": "Er is geen fietspad bekend hier"
              },
              "hideInAnswer": true
            },
            {
              "if": "cycleway=no",
              "then": {
                "en": "There is no cycleway",
                "nl": "Er is geen fietspad aanwezig"
              },
              "hideInAnswer": "cycleway=opposite"
            },
            {
              "if": "cycleway=no",
              "then": {
                "en": "There is no cycleway",
                "nl": "Er is geen fietspad aanwezig"
              },
              "hideInAnswer": "cycleway!=opposite",
              "addExtraTags": [
                "oneway:bicycle=no",
                "fixme=Changed from cycleway=opposite"
              ]
            }
          ],
          "render": {
            "en": "Unknown cycleway situation",
            "nl": "Onbekende fietspad situatie"
          }
        },
        {
          "question": {
            "en": "Is this a cyclestreet?",
            "nl": "Is dit een fietsstraat?"
          },
          "condition": {
            "and": [
              "highway!=cycleway",
              "highway!=path"
            ]
          },
          "mappings": [
            {
              "if": "cyclestreet=yes",
              "then": {
                "en": "This is a cyclestreet, and a 30km/h zone.",
                "nl": "Dit is een fietstraat, en dus een 30km/h zone"
              },
              "addExtraTags": [
                "overtaking:motor_vehicle=no",
                "maxspeed=30"
              ],
              "hideInAnswer": "_country!=be"
            },
            {
              "if": "cyclestreet=yes",
              "then": {
                "en": "This is a cyclestreet",
                "nl": "Dit is een fietstraat"
              },
              "hideInAnswer": "_country=be"
            },
            {
              "if": "cyclestreet=",
              "then": {
                "en": "This is not a cyclestreet.",
                "nl": "Dit is geen fietsstraat"
              },
              "addExtraTags": [
                "overtaking:motor_vehicle="
              ]
            }
          ]
        },
        {
          "render": {
            "en": "The carriage width of this road is <strong>{width:carriageway}m</strong>",
            "nl": "De breedte van deze rijbaan in deze straat is <strong>{width:carriageway}m</strong>"
          },
          "freeform": {
            "key": "width:carriageway",
            "type": "length",
            "helperArgs": [
              "20",
              "map"
            ]
          },
          "question": {
            "en": "What is the carriage width of this road (in meters)?<br/><span class='subtle'>This is measured from kerb to kerb, including parking lanes</span>",
            "nl": "Hoe breed is de rijbaan in deze straat (in meters)?<br/><span class='subtle'>Gemeten van stoepsteen tot stoepsten, inclusief parkeerstroken</span>"
          }
        }
      ]
    },
    {
      "id": "barriers",
      "name": {
        "en": "Barriers",
        "nl": "Barrières"
      },
      "description": {
        "en": "Obstacles while cycling, such as bollards and cycle barriers",
        "nl": "Hindernissen tijdens het fietsen, zoals paaltjes en fietshekjes"
      },
      "source": {
        "osmTags": {
          "or": [
            "barrier=bollard",
            "barrier=cycle_barrier"
          ]
        }
      },
      "minzoom": 17,
      "title": {
        "render": {
          "en": "Barrier",
          "nl": "Barrière"
        },
        "mappings": [
          {
            "if": "barrier=bollard",
            "then": {
              "en": "Bollard",
              "nl": "Paaltje"
            }
          },
          {
            "if": "barrier=cycle_barrier",
            "then": {
              "en": "Cycling Barrier",
              "nl": "Fietshekjes"
            }
          }
        ]
      },
      "icon": "./assets/svg/barrier.svg",
      "width": "5",
      "presets": [
        {
          "title": {
            "en": "Bollard",
            "nl": "Paaltje"
          },
          "tags": [
            "barrier=bollard"
          ],
          "description": {
            "en": "A bollard in the road",
            "nl": "Een paaltje in de weg"
          }
        },
        {
          "title": {
            "en": "Cycle barrier",
            "nl": "Fietshekjes"
          },
          "tags": [
            "barrier=bollard"
          ],
          "description": {
            "en": "Cycle barrier, slowing down cyclists",
            "nl": "Fietshekjes, voor het afremmen van fietsers"
          }
        }
      ],
      "tagRenderings": [
        {
          "question": {
            "en": "Can a bicycle go past this barrier?",
            "nl": "Kan een fietser langs deze barrière?"
          },
          "mappings": [
            {
              "if": "bicycle=yes",
              "then": {
                "en": "A cyclist can go past this.",
                "nl": "Een fietser kan hier langs."
              }
            },
            {
              "if": "bicycle=no",
              "then": {
                "en": "A cyclist can not go past this.",
                "nl": "Een fietser kan hier niet langs."
              }
            }
          ]
        },
        {
          "question": {
            "en": "What kind of bollard is this?",
            "nl": "Wat voor soort paal is dit?"
          },
          "condition": "barrier=bollard",
          "mappings": [
            {
              "if": "bollard=removable",
              "then": {
                "en": "Removable bollard",
                "nl": "Verwijderbare paal"
              }
            },
            {
              "if": "bollard=fixed",
              "then": {
                "en": "Fixed bollard",
                "nl": "Vaste paal"
              }
            },
            {
              "if": "bollard=foldable",
              "then": {
                "en": "Bollard that can be folded down",
                "nl": "Paal die platgevouwen kan worden"
              }
            },
            {
              "if": "bollard=flexible",
              "then": {
                "en": "Flexible bollard, usually plastic",
                "nl": "Flexibele paal, meestal plastic"
              }
            },
            {
              "if": "bollard=rising",
              "then": {
                "en": "Rising bollard",
                "nl": "Verzonken poller"
              }
            }
          ]
        },
        {
          "question": {
            "en": "What kind of cycling barrier is this?",
            "nl": "Wat voor fietshekjes zijn dit?"
          },
          "condition": "barrier=cycle_barrier",
          "mappings": [
            {
              "if": "cycle_barrier:type=single",
              "then": {
                "en": "Single, just two barriers with a space inbetween <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>",
                "nl": "Enkelvoudig, slechts twee hekjes met ruimte ertussen <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>"
              }
            },
            {
              "if": "cycle_barrier:type=double",
              "then": {
                "en": "Double, two barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_double.png' style='width:8em'>",
                "nl": "Dubbel, twee hekjes achter elkaar <img src='./assets/themes/cycle_infra/Cycle_barrier_double.png' style='width:8em'>"
              }
            },
            {
              "if": "cycle_barrier:type=triple",
              "then": {
                "en": "Triple, three barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>",
                "nl": "Drievoudig, drie hekjes achter elkaar <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>"
              }
            },
            {
              "if": "cycle_barrier:type=squeeze",
              "then": {
                "en": "Squeeze gate, gap is smaller at top, than at the bottom <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>",
                "nl": "Knijppoort, ruimte is smaller aan de top, dan aan de bodem <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>"
              }
            }
          ]
        },
        {
          "render": {
            "en": "Maximum width: {maxwidth:physical} m",
            "nl": "Maximumbreedte: {maxwidth:physical} m"
          },
          "question": {
            "en": "How wide is the gap left over besides the barrier?",
            "nl": "Hoe breed is de ruimte naast de barrière?"
          },
          "condition": {
            "and": [
              "cycle_barrier:type!=double",
              "cycle_barrier:type!=triple"
            ]
          },
          "freeform": {
            "key": "maxwidth:physical",
            "type": "length",
            "helperArgs": [
              "20",
              "map"
            ]
          }
        },
        {
          "render": {
            "en": "Space between barriers (along the length of the road): {width:seperation} m",
            "nl": "Ruimte tussen barrières (langs de lengte van de weg): {width:seperation} m"
          },
          "question": {
            "en": "How much space is there between the barriers (along the length of the road)?",
            "nl": "Hoeveel ruimte is er tussen de barrières (langs de lengte van de weg)?"
          },
          "condition": {
            "or": [
              "cycle_barrier:type=double",
              "cycle_barrier:type=triple"
            ]
          },
          "freeform": {
            "key": "width:seperation",
            "type": "length",
            "helperArgs": [
              "20",
              "map"
            ]
          }
        },
        {
          "render": {
            "en": "Width of opening: {width:opening} m",
            "nl": "Breedte van de opening: {width:opening} m"
          },
          "question": {
            "en": "How wide is the smallest opening next to the barriers?",
            "nl": "Hoe breed is de smalste opening naast de barrières?"
          },
          "condition": {
            "or": [
              "cycle_barrier:type=double",
              "cycle_barrier:type=triple"
            ]
          },
          "freeform": {
            "key": "width:opening",
            "type": "pfloat"
          }
        },
        {
          "render": {
            "en": "Overlap: {overlap} m"
          },
          "question": {
            "en": "How much overlap do the barriers have?",
            "nl": "Hoeveel overlappen de barrières?"
          },
          "condition": {
            "or": [
              "cycle_barrier:type=double",
              "cycle_barrier:type=triple"
            ]
          },
          "freeform": {
            "key": "overlap",
            "type": "pfloat"
          }
        }
      ]
    },
    "crossings"
  ]
}