forked from MapComplete/MapComplete
		
	cd
This commit is contained in:
		
							parent
							
								
									290fc61f42
								
							
						
					
					
						commit
						7cfbb49bab
					
				
					 10 changed files with 585 additions and 172 deletions
				
			
		| 
						 | 
					@ -197,7 +197,6 @@ export default class BackgroundMapSwitch extends Combine {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        super(buttons)
 | 
					        super(buttons)
 | 
				
			||||||
        this.SetClass("flex")
 | 
					        this.SetClass("flex")
 | 
				
			||||||
        currentBackground.addCallbackAndRun(bg => console.trace("Current background is", bg.id))
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -128,11 +128,13 @@ ${Utils.Special_visualizations_tagsToApplyHelpText}
 | 
				
			||||||
            name: "minzoom",
 | 
					            name: "minzoom",
 | 
				
			||||||
            doc: "How far the contributor must zoom in before being able to import the point",
 | 
					            doc: "How far the contributor must zoom in before being able to import the point",
 | 
				
			||||||
            defaultValue: "18"
 | 
					            defaultValue: "18"
 | 
				
			||||||
        }, {
 | 
					        }, 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
            name: "Snap onto layer(s)/replace geometry with this other way",
 | 
					            name: "Snap onto layer(s)/replace geometry with this other way",
 | 
				
			||||||
            doc: " - If the value corresponding with this key starts with 'way/' and the feature is a LineString or Polygon, the original OSM-way geometry will be changed to match the new geometry\n" +
 | 
					            doc: " - If the value corresponding with this key starts with 'way/' and the feature is a LineString or Polygon, the original OSM-way geometry will be changed to match the new geometry\n" +
 | 
				
			||||||
                " - If a way of the given layer(s) is closeby, will snap the new point onto this way (similar as preset might snap). To show multiple layers to snap onto, use a `;`-seperated list",
 | 
					                " - If a way of the given layer(s) is closeby, will snap the new point onto this way (similar as preset might snap). To show multiple layers to snap onto, use a `;`-seperated list",
 | 
				
			||||||
        }, {
 | 
					        }, 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
            name: "snap max distance",
 | 
					            name: "snap max distance",
 | 
				
			||||||
            doc: "The maximum distance that this point will move to snap onto a layer (in meters)",
 | 
					            doc: "The maximum distance that this point will move to snap onto a layer (in meters)",
 | 
				
			||||||
            defaultValue: "5"
 | 
					            defaultValue: "5"
 | 
				
			||||||
| 
						 | 
					@ -173,7 +175,7 @@ ${Utils.Special_visualizations_tagsToApplyHelpText}
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const snapToLayers = args[5]?.split(";").filter(s => s !== "")
 | 
					            const snapToLayers = args[5]?.split(";")?.filter(s => s !== "")
 | 
				
			||||||
            const snapToLayersMaxDist = Number(args[6] ?? 6)
 | 
					            const snapToLayersMaxDist = Number(args[6] ?? 6)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (targetLayer === undefined) {
 | 
					            if (targetLayer === undefined) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,8 +31,6 @@ import SimpleMetaTagger from "../Logic/SimpleMetaTagger";
 | 
				
			||||||
import MultiApply from "./Popup/MultiApply";
 | 
					import MultiApply from "./Popup/MultiApply";
 | 
				
			||||||
import AllKnownLayers from "../Customizations/AllKnownLayers";
 | 
					import AllKnownLayers from "../Customizations/AllKnownLayers";
 | 
				
			||||||
import ShowDataLayer from "./ShowDataLayer/ShowDataLayer";
 | 
					import ShowDataLayer from "./ShowDataLayer/ShowDataLayer";
 | 
				
			||||||
import Link from "./Base/Link";
 | 
					 | 
				
			||||||
import List from "./Base/List";
 | 
					 | 
				
			||||||
import {SubtleButton} from "./Base/SubtleButton";
 | 
					import {SubtleButton} from "./Base/SubtleButton";
 | 
				
			||||||
import ChangeTagAction from "../Logic/Osm/Actions/ChangeTagAction";
 | 
					import ChangeTagAction from "../Logic/Osm/Actions/ChangeTagAction";
 | 
				
			||||||
import {And} from "../Logic/Tags/And";
 | 
					import {And} from "../Logic/Tags/And";
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										175
									
								
								assets/layers/address/address.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								assets/layers/address/address.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,175 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "id": "address",
 | 
				
			||||||
 | 
					  "name": {
 | 
				
			||||||
 | 
					    "en": "Known addresses in OSM",
 | 
				
			||||||
 | 
					    "de": "Bekannte Adressen in OSM"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "minzoom": 18,
 | 
				
			||||||
 | 
					  "source": {
 | 
				
			||||||
 | 
					    "osmTags": {
 | 
				
			||||||
 | 
					      "or": [
 | 
				
			||||||
 | 
					        "addr:housenumber~*",
 | 
				
			||||||
 | 
					        "addr:street~*",
 | 
				
			||||||
 | 
					        "ref:inspireid~*"
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "calculatedTags": [
 | 
				
			||||||
 | 
					    "_closest_3_street_names=feat.closestn('named_streets',3, 'name').map(f => f.feat.properties.name)",
 | 
				
			||||||
 | 
					    "_closest_street:0:name=JSON.parse(feat.properties._closest_3_street_names)[0]",
 | 
				
			||||||
 | 
					    "_closest_street:1:name=JSON.parse(feat.properties._closest_3_street_names)[1]",
 | 
				
			||||||
 | 
					    "_closest_street:2:name=JSON.parse(feat.properties._closest_3_street_names)[2]"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "title": {
 | 
				
			||||||
 | 
					    "render": {
 | 
				
			||||||
 | 
					      "en": "Known address",
 | 
				
			||||||
 | 
					      "de": "Bekannte Adresse"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "description": {
 | 
				
			||||||
 | 
					    "en": "Addresses",
 | 
				
			||||||
 | 
					    "nl": "Adressen",
 | 
				
			||||||
 | 
					    "de": "Adressen",
 | 
				
			||||||
 | 
					    "ru": "Адреса"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "tagRenderings": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "id": "housenumber",
 | 
				
			||||||
 | 
					      "render": {
 | 
				
			||||||
 | 
					        "en": "The housenumber is <b>{addr:housenumber}</b>",
 | 
				
			||||||
 | 
					        "nl": "Het huisnummer is <b>{addr:housenumber}</b>",
 | 
				
			||||||
 | 
					        "de": "Die Hausnummer ist <b>{addr:housenumber}</b>"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "question": {
 | 
				
			||||||
 | 
					        "en": "What is the number of this house?",
 | 
				
			||||||
 | 
					        "de": "Wie lautet die Nummer dieses Hauses?"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "freeform": {
 | 
				
			||||||
 | 
					        "key": "addr:housenumber",
 | 
				
			||||||
 | 
					        "addExtraTags": [
 | 
				
			||||||
 | 
					          "nohousenumber="
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "mappings": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "if": {
 | 
				
			||||||
 | 
					            "and": [
 | 
				
			||||||
 | 
					              "nohousenumber=yes"
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "then": {
 | 
				
			||||||
 | 
					            "en": "This building has no house number",
 | 
				
			||||||
 | 
					            "nl": "Dit gebouw heeft geen huisnummer",
 | 
				
			||||||
 | 
					            "de": "Dieses Gebäude hat keine Hausnummer"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "id": "street",
 | 
				
			||||||
 | 
					      "render": {
 | 
				
			||||||
 | 
					        "en": "This address is in street <b>{addr:street}</b>",
 | 
				
			||||||
 | 
					        "de": "Diese Adresse befindet sich in der Straße <b>{addr:street}</b>"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "question": {
 | 
				
			||||||
 | 
					        "en": "What street is this address located in?",
 | 
				
			||||||
 | 
					        "de": "In welcher Straße befindet sich diese Adresse?"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "freeform": {
 | 
				
			||||||
 | 
					        "key": "addr:street"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "mappings": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "if": "addr:street:={_closest_street:0:name}",
 | 
				
			||||||
 | 
					          "then": "Located in <b>{_closest_street:0:name}</b>",
 | 
				
			||||||
 | 
					          "hideInAnswer": "_closest_street:0:name="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "if": "addr:street:={_closest_street:1:name}",
 | 
				
			||||||
 | 
					          "then": "Located in <b>{_closest_street:1:name}</b>",
 | 
				
			||||||
 | 
					          "hideInAnswer": "_closest_street:1:name="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "if": "addr:street:={_closest_street:2:name}",
 | 
				
			||||||
 | 
					          "then": "Located in <b>{_closest_street:2:name}</b>",
 | 
				
			||||||
 | 
					          "hideInAnswer": "_closest_street:2:name="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "condition": {
 | 
				
			||||||
 | 
					        "and": [
 | 
				
			||||||
 | 
					          "nohousenumber!~yes"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "id": "fixme",
 | 
				
			||||||
 | 
					      "render": "<b>Fixme description</b>{fixme}",
 | 
				
			||||||
 | 
					      "question": {
 | 
				
			||||||
 | 
					        "en": "What should be fixed here? Please explain"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "freeform": {
 | 
				
			||||||
 | 
					        "key": "fixme"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "mappings": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "if": "fixme=",
 | 
				
			||||||
 | 
					          "then": "No fixme - write something here to explain complicated cases"
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "mapRendering": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "icon": {
 | 
				
			||||||
 | 
					        "render": "./assets/themes/uk_addresses/housenumber_ok.svg",
 | 
				
			||||||
 | 
					        "mappings": [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "if": {
 | 
				
			||||||
 | 
					              "or": [
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                  "and": [
 | 
				
			||||||
 | 
					                    "addr:housenumber=",
 | 
				
			||||||
 | 
					                    "nohousenumber!=yes"
 | 
				
			||||||
 | 
					                  ]
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "addr:street="
 | 
				
			||||||
 | 
					              ]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "iconSize": {
 | 
				
			||||||
 | 
					        "render": "40,40,center"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "location": [
 | 
				
			||||||
 | 
					        "point"
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "color": {
 | 
				
			||||||
 | 
					        "render": "#00f",
 | 
				
			||||||
 | 
					        "mappings": [
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "if": {
 | 
				
			||||||
 | 
					              "or": [
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                  "and": [
 | 
				
			||||||
 | 
					                    "addr:housenumber=",
 | 
				
			||||||
 | 
					                    "nohousenumber!=yes"
 | 
				
			||||||
 | 
					                  ]
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                "addr:street="
 | 
				
			||||||
 | 
					              ]
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "then": "#ff0"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "width": {
 | 
				
			||||||
 | 
					        "render": "8"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										33
									
								
								assets/layers/crab_address/crab_address.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								assets/layers/crab_address/crab_address.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,33 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "id": "crab_address",
 | 
				
			||||||
 | 
					  "description": "Address data for Flanders by the governement, suited for import into OpenStreetMap. Datadump from 2021-10-26. This layer contains only visualisation logic. Import buttons should be added via an override.",
 | 
				
			||||||
 | 
					  "source": {
 | 
				
			||||||
 | 
					    "osmTags": "HUISNR~*",
 | 
				
			||||||
 | 
					    "geoJson": "https://pietervdvn.github.io/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
 | 
				
			||||||
 | 
					    "geoJsonZoomLevel": 18,
 | 
				
			||||||
 | 
					    "maxCacheAge": 0
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "name": "CRAB-addressen",
 | 
				
			||||||
 | 
					  "title": "CRAB-adres",
 | 
				
			||||||
 | 
					  "mapRendering": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "location": [
 | 
				
			||||||
 | 
					        "point",
 | 
				
			||||||
 | 
					        "centroid"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "iconSize": "15,15,center",
 | 
				
			||||||
 | 
					      "label": {
 | 
				
			||||||
 | 
					        "render": "<div style='background:#faa' class='rounded-full'>{HNRLABEL}</div>"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ], 
 | 
				
			||||||
 | 
					  "tagRenderings": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "id": "render_crab",
 | 
				
			||||||
 | 
					      "render": {
 | 
				
			||||||
 | 
					        "nl":"Volgens het CRAB ligt hier <b>{STRAATNM}</b> {HUISNR} (label: {HNRLABEL})"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "all_tags"
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1,13 +1,13 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "id": "grb",
 | 
					  "id": "grb",
 | 
				
			||||||
  "title": {
 | 
					  "title": {
 | 
				
			||||||
    "nl": "GRB Fixup"
 | 
					    "nl": "GRB import helper"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "shortDescription": {
 | 
					  "shortDescription": {
 | 
				
			||||||
    "nl": "Grb Fixup"
 | 
					    "nl": "Grb import helper tool"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "description": {
 | 
					  "description": {
 | 
				
			||||||
    "nl": "GRB Fixup",
 | 
					    "nl": "Dit thema helpt het GRB importeren.",
 | 
				
			||||||
    "en": "This theme is an attempt to help automating the GRB import.<br/>Note that this is very hacky and 'steals' the GRB data from an external site; in order to do this, you need to install and activate <a href='https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/'>this firefox extension</a> for it to work."
 | 
					    "en": "This theme is an attempt to help automating the GRB import.<br/>Note that this is very hacky and 'steals' the GRB data from an external site; in order to do this, you need to install and activate <a href='https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/'>this firefox extension</a> for it to work."
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "language": [
 | 
					  "language": [
 | 
				
			||||||
| 
						 | 
					@ -355,29 +355,9 @@
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "id": "crab-addresses 2021-10-26",
 | 
					      "builtin": "crab_address",
 | 
				
			||||||
      "source": {
 | 
					      "override": {
 | 
				
			||||||
        "osmTags": "HUISNR~*",
 | 
					        "calculatedTags+": [
 | 
				
			||||||
        "geoJson": "https://raw.githubusercontent.com/pietervdvn/pietervdvn.github.io/master/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
 | 
					 | 
				
			||||||
        "#geoJson": "https://pietervdvn.github.io/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
 | 
					 | 
				
			||||||
        "geoJsonZoomLevel": 18,
 | 
					 | 
				
			||||||
        "maxCacheAge": 0
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "name": "CRAB-addressen",
 | 
					 | 
				
			||||||
      "title": "CRAB-adres",
 | 
					 | 
				
			||||||
      "mapRendering": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "location": [
 | 
					 | 
				
			||||||
            "point",
 | 
					 | 
				
			||||||
            "centroid"
 | 
					 | 
				
			||||||
          ],
 | 
					 | 
				
			||||||
          "iconSize": "15,15,center",
 | 
					 | 
				
			||||||
          "label": {
 | 
					 | 
				
			||||||
            "render": "<div style='background:#faa' class='rounded-full'>{HNRLABEL}</div>"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "calculatedTags": [
 | 
					 | 
				
			||||||
          "_embedded_in=feat.overlapWith('OSM-buildings')[0]?.feat?.properties ",
 | 
					          "_embedded_in=feat.overlapWith('OSM-buildings')[0]?.feat?.properties ",
 | 
				
			||||||
          "_embedding_nr=feat.get('_embedded_in')['addr:housenumber']",
 | 
					          "_embedding_nr=feat.get('_embedded_in')['addr:housenumber']",
 | 
				
			||||||
          "_embedding_street=feat.get('_embedded_in')['addr:street']",
 | 
					          "_embedding_street=feat.get('_embedded_in')['addr:street']",
 | 
				
			||||||
| 
						 | 
					@ -397,11 +377,7 @@
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          ]
 | 
					          ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
      "tagRenderings": [
 | 
					        "tagRenderings+": [
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "id": "render_crab",
 | 
					 | 
				
			||||||
          "render": "Volgens het CRAB ligt hier <b>{STRAATNM}</b> {HUISNR} (label: {HNRLABEL})"
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            "id": "render_embedded",
 | 
					            "id": "render_embedded",
 | 
				
			||||||
            "render": "Het omliggende object met addres heeft <b>{_embedding_street}</b> {_embedding_nr}",
 | 
					            "render": "Het omliggende object met addres heeft <b>{_embedding_street}</b> {_embedding_nr}",
 | 
				
			||||||
| 
						 | 
					@ -412,7 +388,6 @@
 | 
				
			||||||
              ]
 | 
					              ]
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          },
 | 
					          },
 | 
				
			||||||
        "all_tags",
 | 
					 | 
				
			||||||
          {
 | 
					          {
 | 
				
			||||||
            "id": "import-button",
 | 
					            "id": "import-button",
 | 
				
			||||||
            "render": "{import_button(OSM-buildings, addr:street=$STRAATNM; addr:housenumber=$HUISNR,Import this address,,,OSM-buildings,5)}"
 | 
					            "render": "{import_button(OSM-buildings, addr:street=$STRAATNM; addr:housenumber=$HUISNR,Import this address,,,OSM-buildings,5)}"
 | 
				
			||||||
| 
						 | 
					@ -423,6 +398,7 @@
 | 
				
			||||||
            "condition": "_embedded_in!="
 | 
					            "condition": "_embedded_in!="
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "id": "GRB",
 | 
					      "id": "GRB",
 | 
				
			||||||
| 
						 | 
					@ -523,7 +499,8 @@
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    }
 | 
					    },
 | 
				
			||||||
 | 
					    "address"
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "hideFromOverview": true,
 | 
					  "hideFromOverview": true,
 | 
				
			||||||
  "defaultBackgroundId": "AGIVFlandersGRB",
 | 
					  "defaultBackgroundId": "AGIVFlandersGRB",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										305
									
								
								assets/themes/grb_import/grb_fixme.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										305
									
								
								assets/themes/grb_import/grb_fixme.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,305 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  "id": "grb_fixme",
 | 
				
			||||||
 | 
					  "title": {
 | 
				
			||||||
 | 
					    "nl": "GRB Fixup"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "shortDescription": {
 | 
				
			||||||
 | 
					    "nl": "Grb Fixup"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "description": {
 | 
				
			||||||
 | 
					    "nl": "Gebouwen met een FIXME - wss GRB-import die gefixed moeten worden"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "language": [
 | 
				
			||||||
 | 
					    "nl"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "maintainer": "",
 | 
				
			||||||
 | 
					  "icon": "./assets/svg/bug.svg",
 | 
				
			||||||
 | 
					  "version": "0",
 | 
				
			||||||
 | 
					  "startLat": 51.2132,
 | 
				
			||||||
 | 
					  "startLon": 3.231,
 | 
				
			||||||
 | 
					  "startZoom": 14,
 | 
				
			||||||
 | 
					  "widenFactor": 2,
 | 
				
			||||||
 | 
					  "socialImage": "",
 | 
				
			||||||
 | 
					  "clustering": {
 | 
				
			||||||
 | 
					    "maxZoom": 15
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "overrideAll": {
 | 
				
			||||||
 | 
					    "source": {
 | 
				
			||||||
 | 
					      "maxCacheAge": 0
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "enableGeolocation": false,
 | 
				
			||||||
 | 
					  "layers": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "id": "OSM-buildings-fixme",
 | 
				
			||||||
 | 
					      "name": "OSM-buildings with a fixme",
 | 
				
			||||||
 | 
					      "source": {
 | 
				
			||||||
 | 
					        "osmTags": {"and": 
 | 
				
			||||||
 | 
					          ["building~*","fixme~*"]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "maxCacheAge": 0
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "calculatedTags": [
 | 
				
			||||||
 | 
					        "_grbNumber=(feat.properties.fixme?.match(/GRB thinks that this has number ([0-9a-zA-Z;]+)/) ?? ['','none']) [1]"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "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"
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "location": [
 | 
				
			||||||
 | 
					            "point",
 | 
				
			||||||
 | 
					            "centroid"
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					          "label": {
 | 
				
			||||||
 | 
					            "mappings": [
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                "if": "addr:housenumber~*",
 | 
				
			||||||
 | 
					                "then": "<div style='background-color: white; font: large; width: 1.5em; height: 1.5em; border-radius: 100%'>{addr:housenumber}</div>"
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            ]
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "iconSize": {
 | 
				
			||||||
 | 
					            "render": "40,40,center"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "title": "OSM-gebouw",
 | 
				
			||||||
 | 
					      "tagRenderings": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "building type",
 | 
				
			||||||
 | 
					          "freeform": {
 | 
				
			||||||
 | 
					            "key": "building"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "render": "The building type is <b>{building}</b>",
 | 
				
			||||||
 | 
					          "question": {
 | 
				
			||||||
 | 
					            "en": "What kind of building is this?"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "mappings": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=house",
 | 
				
			||||||
 | 
					              "then": "A normal house"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=detached",
 | 
				
			||||||
 | 
					              "then": "A house detached from other building"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=semidetached_house",
 | 
				
			||||||
 | 
					              "then": "A house sharing only one wall with another house"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=apartments",
 | 
				
			||||||
 | 
					              "then": "An apartment building - highrise for living"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=office",
 | 
				
			||||||
 | 
					              "then": "An office building - highrise for work"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=apartments",
 | 
				
			||||||
 | 
					              "then": "An apartment building"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=shed",
 | 
				
			||||||
 | 
					              "then": "A small shed, e.g. in a garden"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=garage",
 | 
				
			||||||
 | 
					              "then": "A single garage to park a car"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=garages",
 | 
				
			||||||
 | 
					              "then": "A building containing only garages; typically they are all identical"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "building=yes",
 | 
				
			||||||
 | 
					              "then": "A building - no specification"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "grb-housenumber",
 | 
				
			||||||
 | 
					          "render": {
 | 
				
			||||||
 | 
					            "nl": "Het huisnummer is <b>{addr:housenumber}</b>"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "question": {
 | 
				
			||||||
 | 
					            "nl": "Wat is het huisnummer?"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "freeform": {
 | 
				
			||||||
 | 
					            "key": "addr:housenumber"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "mappings": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": {
 | 
				
			||||||
 | 
					                "and": [
 | 
				
			||||||
 | 
					                  "not:addr:housenumber=yes",
 | 
				
			||||||
 | 
					                  "addr:housenumber="
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              "then": {
 | 
				
			||||||
 | 
					                "nl": "Geen huisnummer"
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": {
 | 
				
			||||||
 | 
					                "and": [
 | 
				
			||||||
 | 
					                  "addr:housenumber:={_grbNumber}",
 | 
				
			||||||
 | 
					                  "fixme="
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              "then": "Het huisnummer is <b>{_grbNumber}</b>, wat overeenkomt met het GRB",
 | 
				
			||||||
 | 
					              "hideInAnswer": {
 | 
				
			||||||
 | 
					                "or": [
 | 
				
			||||||
 | 
					                  "_grbNumber=",
 | 
				
			||||||
 | 
					                  "_grbNumber=none",
 | 
				
			||||||
 | 
					                  "_grbNumber=no number"
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": {
 | 
				
			||||||
 | 
					                "and": [
 | 
				
			||||||
 | 
					                  "addr:housenumber=",
 | 
				
			||||||
 | 
					                  "not:addr:housenumber=yes",
 | 
				
			||||||
 | 
					                  "fixme="
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              "then": "Dit gebouw heeft geen nummer, net zoals in het GRB",
 | 
				
			||||||
 | 
					              "hideInAnswer": "_grbNumber!=no number"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "grb-unit",
 | 
				
			||||||
 | 
					          "question": "Wat is de wooneenheid-aanduiding?",
 | 
				
			||||||
 | 
					          "render": {
 | 
				
			||||||
 | 
					            "nl": "De wooneenheid-aanduiding is <b>{addr:unit}</b> "
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "freeform": {
 | 
				
			||||||
 | 
					            "key": "addr:unit"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "mappings": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": "addr:unit=",
 | 
				
			||||||
 | 
					              "then": "Geen wooneenheid-nummer"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "grb-street",
 | 
				
			||||||
 | 
					          "render": {
 | 
				
			||||||
 | 
					            "nl": "De straat is <b>{addr:street}</b>"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "freeform": {
 | 
				
			||||||
 | 
					            "key": "addr:street"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "question": {
 | 
				
			||||||
 | 
					            "nl": "Wat is de straat?"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "grb-fixme",
 | 
				
			||||||
 | 
					          "render": {
 | 
				
			||||||
 | 
					            "nl": "De fixme is <b>{fixme}</b>"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "question": {
 | 
				
			||||||
 | 
					            "nl": "Wat zegt de fixme?"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "freeform": {
 | 
				
			||||||
 | 
					            "key": "fixme"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "mappings": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              "if": {
 | 
				
			||||||
 | 
					                "and": [
 | 
				
			||||||
 | 
					                  "fixme="
 | 
				
			||||||
 | 
					                ]
 | 
				
			||||||
 | 
					              },
 | 
				
			||||||
 | 
					              "then": {
 | 
				
			||||||
 | 
					                "nl": "Geen fixme"
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "id": "grb-min-level",
 | 
				
			||||||
 | 
					          "render": {
 | 
				
			||||||
 | 
					            "nl": "Dit gebouw begint maar op de {building:min_level} verdieping"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "question": {
 | 
				
			||||||
 | 
					            "nl": "Hoeveel verdiepingen ontbreken?"
 | 
				
			||||||
 | 
					          },
 | 
				
			||||||
 | 
					          "freeform": {
 | 
				
			||||||
 | 
					            "key": "building:min_level",
 | 
				
			||||||
 | 
					            "type": "pnat"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "all_tags"
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      "minzoom": 14
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					   "builtin":    "address",
 | 
				
			||||||
 | 
					      "override": {
 | 
				
			||||||
 | 
					        "minzoom": 18
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "builtin":"crab_address",
 | 
				
			||||||
 | 
					      "override": {
 | 
				
			||||||
 | 
					        "minzoom": 18,
 | 
				
			||||||
 | 
					        "+tagRenderings":[
 | 
				
			||||||
 | 
					          {
 | 
				
			||||||
 | 
					            "id": "import-button",
 | 
				
			||||||
 | 
					            "render": "{import_button(address, addr:street=$STRAATNM; addr:housenumber=$HUISNR,Import this address)}"
 | 
				
			||||||
 | 
					          }   
 | 
				
			||||||
 | 
					        ] 
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "hideFromOverview": true,
 | 
				
			||||||
 | 
					  "defaultBackgroundId": "AGIVFlandersGRB",
 | 
				
			||||||
 | 
					  "overpassMaxZoom": 15,
 | 
				
			||||||
 | 
					  "osmApiTileSize": 17
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -189,39 +189,16 @@
 | 
				
			||||||
      "description": "Alamat"
 | 
					      "description": "Alamat"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "id": "addresses",
 | 
					      "builtin": "address",
 | 
				
			||||||
      "name": {
 | 
					      "override": {
 | 
				
			||||||
        "en": "Known addresses in OSM",
 | 
					 | 
				
			||||||
        "de": "Bekannte Adressen in OSM"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "minzoom": 18,
 | 
					 | 
				
			||||||
      "source": {
 | 
					 | 
				
			||||||
        "osmTags": {
 | 
					 | 
				
			||||||
          "or": [
 | 
					 | 
				
			||||||
            "addr:housenumber~*",
 | 
					 | 
				
			||||||
            "addr:street~*",
 | 
					 | 
				
			||||||
            "ref:inspireid~*"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
        "calculatedTags": [
 | 
					        "calculatedTags": [
 | 
				
			||||||
          "_closest_3_street_names=feat.closestn('named_streets',3, 'name').map(f => f.feat.properties.name)",
 | 
					          "_closest_3_street_names=feat.closestn('named_streets',3, 'name').map(f => f.feat.properties.name)",
 | 
				
			||||||
          "_closest_street:0:name=JSON.parse(feat.properties._closest_3_street_names)[0]",
 | 
					          "_closest_street:0:name=JSON.parse(feat.properties._closest_3_street_names)[0]",
 | 
				
			||||||
          "_closest_street:1:name=JSON.parse(feat.properties._closest_3_street_names)[1]",
 | 
					          "_closest_street:1:name=JSON.parse(feat.properties._closest_3_street_names)[1]",
 | 
				
			||||||
          "_closest_street:2:name=JSON.parse(feat.properties._closest_3_street_names)[2]"
 | 
					          "_closest_street:2:name=JSON.parse(feat.properties._closest_3_street_names)[2]"
 | 
				
			||||||
      ],
 | 
					        ]
 | 
				
			||||||
      "title": {
 | 
					 | 
				
			||||||
        "render": {
 | 
					 | 
				
			||||||
          "en": "Known address",
 | 
					 | 
				
			||||||
          "de": "Bekannte Adresse"
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "description": {
 | 
					 | 
				
			||||||
        "en": "Addresses",
 | 
					 | 
				
			||||||
        "nl": "Adressen",
 | 
					 | 
				
			||||||
        "de": "Adressen",
 | 
					 | 
				
			||||||
        "ru": "Адреса"
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
      "tagRenderings": [
 | 
					      "tagRenderings": [
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "id": "uk_addresses_explanation_osm",
 | 
					          "id": "uk_addresses_explanation_osm",
 | 
				
			||||||
| 
						 | 
					@ -348,59 +325,6 @@
 | 
				
			||||||
            "en": "{image_carousel(image:address)}<br/>{image_upload(image:address, Add image of the address)}"
 | 
					            "en": "{image_carousel(image:address)}<br/>{image_upload(image:address, Add image of the address)}"
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      ],
 | 
					 | 
				
			||||||
      "mapRendering": [
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "icon": {
 | 
					 | 
				
			||||||
            "render": "./assets/themes/uk_addresses/housenumber_ok.svg",
 | 
					 | 
				
			||||||
            "mappings": [
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                "if": {
 | 
					 | 
				
			||||||
                  "or": [
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                      "and": [
 | 
					 | 
				
			||||||
                        "addr:housenumber=",
 | 
					 | 
				
			||||||
                        "nohousenumber!=yes"
 | 
					 | 
				
			||||||
                      ]
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    "addr:street="
 | 
					 | 
				
			||||||
                  ]
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
                "then": "./assets/themes/uk_addresses/housenumber_unknown.svg"
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ]
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "iconSize": {
 | 
					 | 
				
			||||||
            "render": "40,40,center"
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "location": [
 | 
					 | 
				
			||||||
            "point"
 | 
					 | 
				
			||||||
          ]
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          "color": {
 | 
					 | 
				
			||||||
            "render": "#00f",
 | 
					 | 
				
			||||||
            "mappings": [
 | 
					 | 
				
			||||||
              {
 | 
					 | 
				
			||||||
                "if": {
 | 
					 | 
				
			||||||
                  "or": [
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                      "and": [
 | 
					 | 
				
			||||||
                        "addr:housenumber=",
 | 
					 | 
				
			||||||
                        "nohousenumber!=yes"
 | 
					 | 
				
			||||||
                      ]
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    "addr:street="
 | 
					 | 
				
			||||||
                  ]
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
                "then": "#ff0"
 | 
					 | 
				
			||||||
              }
 | 
					 | 
				
			||||||
            ]
 | 
					 | 
				
			||||||
          },
 | 
					 | 
				
			||||||
          "width": {
 | 
					 | 
				
			||||||
            "render": "8"
 | 
					 | 
				
			||||||
          }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      ]
 | 
					      ]
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -864,18 +864,22 @@ video {
 | 
				
			||||||
  margin-left: 0.75rem;
 | 
					  margin-left: 0.75rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.mt-1 {
 | 
					 | 
				
			||||||
  margin-top: 0.25rem;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.mt-4 {
 | 
					.mt-4 {
 | 
				
			||||||
  margin-top: 1rem;
 | 
					  margin-top: 1rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.mt-1 {
 | 
				
			||||||
 | 
					  margin-top: 0.25rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.mr-4 {
 | 
					.mr-4 {
 | 
				
			||||||
  margin-right: 1rem;
 | 
					  margin-right: 1rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.mt-2 {
 | 
				
			||||||
 | 
					  margin-top: 0.5rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.ml-2 {
 | 
					.ml-2 {
 | 
				
			||||||
  margin-left: 0.5rem;
 | 
					  margin-left: 0.5rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -892,10 +896,6 @@ video {
 | 
				
			||||||
  margin-right: 0.5rem;
 | 
					  margin-right: 0.5rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.mt-2 {
 | 
					 | 
				
			||||||
  margin-top: 0.5rem;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.mb-10 {
 | 
					.mb-10 {
 | 
				
			||||||
  margin-bottom: 2.5rem;
 | 
					  margin-bottom: 2.5rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1503,11 +1503,6 @@ video {
 | 
				
			||||||
  line-height: 1.75rem;
 | 
					  line-height: 1.75rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.text-3xl {
 | 
					 | 
				
			||||||
  font-size: 1.875rem;
 | 
					 | 
				
			||||||
  line-height: 2.25rem;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.text-2xl {
 | 
					.text-2xl {
 | 
				
			||||||
  font-size: 1.5rem;
 | 
					  font-size: 1.5rem;
 | 
				
			||||||
  line-height: 2rem;
 | 
					  line-height: 2rem;
 | 
				
			||||||
| 
						 | 
					@ -1518,6 +1513,11 @@ video {
 | 
				
			||||||
  line-height: 1.75rem;
 | 
					  line-height: 1.75rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.text-3xl {
 | 
				
			||||||
 | 
					  font-size: 1.875rem;
 | 
				
			||||||
 | 
					  line-height: 2.25rem;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.text-sm {
 | 
					.text-sm {
 | 
				
			||||||
  font-size: 0.875rem;
 | 
					  font-size: 0.875rem;
 | 
				
			||||||
  line-height: 1.25rem;
 | 
					  line-height: 1.25rem;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,7 @@
 | 
				
			||||||
    "start": "npm run start:prepare && npm-run-all --parallel start:parallel:*",
 | 
					    "start": "npm run start:prepare && npm-run-all --parallel start:parallel:*",
 | 
				
			||||||
    "strt": "npm run start:prepare && npm run start:parallel:parcel",
 | 
					    "strt": "npm run start:prepare && npm run start:parallel:parcel",
 | 
				
			||||||
    "start:prepare": "ts-node scripts/generateLayerOverview.ts --no-fail && npm run increase-memory",
 | 
					    "start:prepare": "ts-node scripts/generateLayerOverview.ts --no-fail && npm run increase-memory",
 | 
				
			||||||
    "start:parallel:parcel": "node --max_old_space_size=8000 $(which parcel) serve *.html UI/** Logic/** assets/*.json assets/svg/* assets/generated/* assets/layers/*/*.svg assets/layers/*/*.jpg assets/layers/*/*.png assets/layers/*/*.css assets/tagRenderings/*.json assets/themes/*/*.svg assets/themes/*/*.css assets/themes/*/*.jpg assets/themes/*/*.png vendor/* vendor/*/*",
 | 
					    "start:parallel:parcel": "node --max_old_space_size=12000 $(which parcel) serve *.html UI/** Logic/** assets/*.json assets/svg/* assets/generated/* assets/layers/*/*.svg assets/layers/*/*.jpg assets/layers/*/*.png assets/layers/*/*.css assets/tagRenderings/*.json assets/themes/*/*.svg assets/themes/*/*.css assets/themes/*/*.jpg assets/themes/*/*.png vendor/* vendor/*/*",
 | 
				
			||||||
    "start:parallel:tailwindcli": "tailwindcss -i index.css -o css/index-tailwind-output.css --watch",
 | 
					    "start:parallel:tailwindcli": "tailwindcss -i index.css -o css/index-tailwind-output.css --watch",
 | 
				
			||||||
    "generate:css": "tailwindcss -i index.css -o css/index-tailwind-output.css",
 | 
					    "generate:css": "tailwindcss -i index.css -o css/index-tailwind-output.css",
 | 
				
			||||||
    "test": "ts-node test/TestAll.ts",
 | 
					    "test": "ts-node test/TestAll.ts",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue