diff --git a/assets/themes/uk_addresses/housenumber_add.svg b/assets/themes/uk_addresses/housenumber_add.svg
new file mode 100644
index 0000000000..e156438b11
--- /dev/null
+++ b/assets/themes/uk_addresses/housenumber_add.svg
@@ -0,0 +1,289 @@
+
+
diff --git a/assets/themes/uk_addresses/housenumber_ok.svg b/assets/themes/uk_addresses/housenumber_ok.svg
new file mode 100644
index 0000000000..bf5f1b9db0
--- /dev/null
+++ b/assets/themes/uk_addresses/housenumber_ok.svg
@@ -0,0 +1,75 @@
+
+
diff --git a/assets/themes/uk_addresses/housenumber_text.svg b/assets/themes/uk_addresses/housenumber_text.svg
new file mode 100644
index 0000000000..56d57373ee
--- /dev/null
+++ b/assets/themes/uk_addresses/housenumber_text.svg
@@ -0,0 +1,72 @@
+
+
diff --git a/assets/themes/uk_addresses/housenumber_unknown.svg b/assets/themes/uk_addresses/housenumber_unknown.svg
new file mode 100644
index 0000000000..0c6c0e5c46
--- /dev/null
+++ b/assets/themes/uk_addresses/housenumber_unknown.svg
@@ -0,0 +1,70 @@
+
+
diff --git a/assets/themes/uk_addresses/islington_small_piece.geojson b/assets/themes/uk_addresses/islington_small_piece.geojson
new file mode 100644
index 0000000000..ced6a1fb13
--- /dev/null
+++ b/assets/themes/uk_addresses/islington_small_piece.geojson
@@ -0,0 +1,2163 @@
+
+{
+ "type": "FeatureCollection",
+ "generator": "JOSM",
+ "features": [
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760782",
+ "uprn_count": "19"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08528530407,
+ 51.52103754846
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760166",
+ "uprn_count": "18"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08518862375,
+ 51.52302887251
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53875715",
+ "uprn_count": "176"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08768220681,
+ 51.52027207654
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "48199892",
+ "uprn_count": "32"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09051161088,
+ 51.52328524465
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760298",
+ "uprn_count": "21"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08519096645,
+ 51.52229137569
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760648",
+ "uprn_count": "43"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09039984580,
+ 51.52168966695
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760158",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08979845152,
+ 51.52470373164
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760268",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08584518403,
+ 51.52362781792
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760606",
+ "uprn_count": "34"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08574285775,
+ 51.52447487890
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760147",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08478417875,
+ 51.52230226544
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760181",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08597751642,
+ 51.52262480980
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "59756691",
+ "uprn_count": "68"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09000674703,
+ 51.52412334790
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53839893",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08632490840,
+ 51.51956380364
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760254",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08445931332,
+ 51.52362994921
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760985",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08550522898,
+ 51.52481338112
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53517508",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08531729267,
+ 51.52055437518
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760172",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08621709906,
+ 51.52245066605
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53815743",
+ "uprn_count": "28"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08609559738,
+ 51.52000280555
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760229",
+ "uprn_count": "2"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08466859613,
+ 51.52247735237
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "52054693",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08869160634,
+ 51.52496110557
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760329",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08610136910,
+ 51.52318693588
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760753",
+ "uprn_count": "9"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08538513949,
+ 51.52424009690
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760164",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09008514341,
+ 51.52505292621
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760216",
+ "uprn_count": "190"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08700282926,
+ 51.52503663329
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760279",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08530920735,
+ 51.52549852437
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613792",
+ "uprn_count": "72"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08833908631,
+ 51.52631952661
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760639",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08580868931,
+ 51.52429800891
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760153",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08456440427,
+ 51.52329504288
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760200",
+ "uprn_count": "95"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08770188351,
+ 51.52407460026
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "47582675",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08892578863,
+ 51.52706921088
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760263",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08583263531,
+ 51.52548367268
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613655",
+ "uprn_count": "18"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08843733386,
+ 51.52669877413
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760564",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09046694451,
+ 51.52125764642
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760143",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08576039998,
+ 51.52479998964
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "57943078",
+ "uprn_count": "80"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08990077541,
+ 51.52590434415
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760178",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08479378350,
+ 51.52288142387
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760247",
+ "uprn_count": "16"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08570423028,
+ 51.52383831047
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "60347715",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08913137569,
+ 51.52638282816
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760169",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08741982002,
+ 51.52232472527
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53876178",
+ "uprn_count": "14"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08848929384,
+ 51.51968662476
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "58831132",
+ "uprn_count": "120"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08811742827,
+ 51.52524678003
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760702",
+ "uprn_count": "17"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08626679662,
+ 51.52229285532
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "56996893",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08961930563,
+ 51.52736429296
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760161",
+ "uprn_count": "30"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08903973308,
+ 51.52443351442
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "57212602",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09025128250,
+ 51.52349660479
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760214",
+ "uprn_count": "30"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08491766007,
+ 51.52195690215
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760274",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08710416098,
+ 51.52394294309
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613782",
+ "uprn_count": "11"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08630939921,
+ 51.52567781493
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760635",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08591747289,
+ 51.52406421610
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760150",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08736624492,
+ 51.52184217908
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760190",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08950436522,
+ 51.52301269883
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53842347",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08629952517,
+ 51.51902467199
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760261",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08870422830,
+ 51.52481415717
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613643",
+ "uprn_count": "108"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08522752552,
+ 51.52590169102
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760506",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08680870061,
+ 51.52270885497
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53529840",
+ "uprn_count": "14"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08752332940,
+ 51.52076211974
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "55694053",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08582489157,
+ 51.52423214013
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760232",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08460415534,
+ 51.52252827681
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "55841333",
+ "uprn_count": "23"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09046401124,
+ 51.52500845422
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760366",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08665901033,
+ 51.52347731730
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760167",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08523817483,
+ 51.52199801036
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53875840",
+ "uprn_count": "21"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08790573136,
+ 51.52005170198
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760300",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08523971621,
+ 51.52550166079
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760673",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08740702488,
+ 51.52227145851
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760159",
+ "uprn_count": "37"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09015395806,
+ 51.52469077487
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760210",
+ "uprn_count": "10"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08735406455,
+ 51.52190815063
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760269",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08517606458,
+ 51.52360663718
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613767",
+ "uprn_count": "38"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08894666543,
+ 51.52728330710
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760630",
+ "uprn_count": "9"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08596436686,
+ 51.52399163027
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760148",
+ "uprn_count": "90"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08559244253,
+ 51.52179703997
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53555715",
+ "uprn_count": "23"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09069974009,
+ 51.52099643929
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "54843927",
+ "uprn_count": "36"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08536900467,
+ 51.52258204957
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760186",
+ "uprn_count": "60"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08749154622,
+ 51.52123763708
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "59797478",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08460319625,
+ 51.52285695300
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53842288",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08651616784,
+ 51.51911374360
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760258",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08880030229,
+ 51.52508388296
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760450",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08877219383,
+ 51.52489267275
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760989",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09008638232,
+ 51.52338474772
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53523418",
+ "uprn_count": "36"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08833393118,
+ 51.52076103473
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760173",
+ "uprn_count": "17"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08907044601,
+ 51.52478857712
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "56354285",
+ "uprn_count": "41"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08708248675,
+ 51.51950432943
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53815989",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08712150084,
+ 51.52007985063
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760230",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08459866660,
+ 51.52256307871
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53894914",
+ "uprn_count": "53"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08932705394,
+ 51.52020780589
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760340",
+ "uprn_count": "57"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08700821071,
+ 51.52470369200
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760757",
+ "uprn_count": "94"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08629573687,
+ 51.52185922605
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760165",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08568241478,
+ 51.52253231799
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760289",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08494465189,
+ 51.52548899801
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760645",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08589810776,
+ 51.52411473063
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "57797640",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08496788091,
+ 51.52179114697
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "56970529",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08673035105,
+ 51.52606173015
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760156",
+ "uprn_count": "11"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08743964400,
+ 51.52240633893
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53673626",
+ "uprn_count": "20"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08457962682,
+ 51.52315791127
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760202",
+ "uprn_count": "63"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08514280715,
+ 51.52153941124
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "47582725",
+ "uprn_count": "2"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08903179064,
+ 51.52700439325
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760266",
+ "uprn_count": "66"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08958919395,
+ 51.52486571171
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613662",
+ "uprn_count": "2"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09055456990,
+ 51.52704347329
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760589",
+ "uprn_count": "10"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08739339578,
+ 51.52221604989
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "47863432",
+ "uprn_count": "20"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08656652832,
+ 51.52377354927
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760179",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08735058986,
+ 51.52204111283
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760248",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08545068911,
+ 51.52547159555
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760404",
+ "uprn_count": "23"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08569047233,
+ 51.52316678822
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "60347880",
+ "uprn_count": "156"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08873887407,
+ 51.52589244765
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760981",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08508447894,
+ 51.52250703445
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53517488",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08540249619,
+ 51.52063943555
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760170",
+ "uprn_count": "23"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08950340680,
+ 51.52518881505
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53815719",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08580214812,
+ 51.51976909788
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760228",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08461864254,
+ 51.52260180398
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53877676",
+ "uprn_count": "29"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08850676500,
+ 51.52023902397
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760314",
+ "uprn_count": "15"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08872036555,
+ 51.52471439061
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760751",
+ "uprn_count": "180"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08677326589,
+ 51.52308738524
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760162",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08893070202,
+ 51.52527974813
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760215",
+ "uprn_count": "13"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08750749576,
+ 51.52270832689
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760278",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08509855123,
+ 51.52550722342
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613787",
+ "uprn_count": "11"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09045829084,
+ 51.52773739133
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760638",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08587468014,
+ 51.52417859166
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760151",
+ "uprn_count": "15"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08738616252,
+ 51.52175540266
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760195",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08577241806,
+ 51.52228063806
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760262",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08881139622,
+ 51.52515946758
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613654",
+ "uprn_count": "30"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08841210101,
+ 51.52660740062
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760559",
+ "uprn_count": "2"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09036979446,
+ 51.52201621806
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760051",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08651408714,
+ 51.52230407716
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53530202",
+ "uprn_count": "21"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08558143776,
+ 51.52017053246
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760177",
+ "uprn_count": "115"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09011378562,
+ 51.52279114581
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760235",
+ "uprn_count": "41"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08631542933,
+ 51.52256625361
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760839",
+ "uprn_count": "19"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.09069863118,
+ 51.52235527530
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760168",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08591546179,
+ 51.52346670045
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53876171",
+ "uprn_count": "112"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08780026547,
+ 51.51966975438
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760301",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08517005909,
+ 51.52550434483
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760686",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08683964335,
+ 51.52238336083
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760160",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08554780465,
+ 51.52227517161
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "54668028",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08868565970,
+ 51.52707814958
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760271",
+ "uprn_count": "9"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08511551871,
+ 51.52564108792
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613778",
+ "uprn_count": "4"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08556279304,
+ 51.52566116202
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "58775318",
+ "uprn_count": "5"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08476391706,
+ 51.52322955215
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760634",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08575556474,
+ 51.52523072818
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760149",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08736477713,
+ 51.52209660754
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "57099529",
+ "uprn_count": "14"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08747715586,
+ 51.52255778464
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760189",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08645676995,
+ 51.52485658336
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53842336",
+ "uprn_count": "16"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08644851873,
+ 51.51932417520
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "55728650",
+ "uprn_count": "15"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08606772431,
+ 51.51932747399
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760259",
+ "uprn_count": "7"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08879089932,
+ 51.52501718371
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "56517732",
+ "uprn_count": "16"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08537944456,
+ 51.52045732895
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44613640",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08508351171,
+ 51.52602201951
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760498",
+ "uprn_count": "9"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08737904118,
+ 51.52215533460
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "60457716",
+ "uprn_count": "12"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08741608314,
+ 51.52162504468
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "50741600",
+ "uprn_count": "11"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08601118306,
+ 51.52237364065
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53528831",
+ "uprn_count": "18"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08796303430,
+ 51.52075390699
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760174",
+ "uprn_count": "3"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08975339083,
+ 51.52521825973
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "53815990",
+ "uprn_count": "6"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08698937756,
+ 51.52000181841
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760231",
+ "uprn_count": "1"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08485451783,
+ 51.52255188290
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "51082874",
+ "uprn_count": "15"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08930634369,
+ 51.52701309542
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "44760352",
+ "uprn_count": "14"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08734604831,
+ 51.52197314390
+ ]
+ }
+ },
+ {
+ "type": "Feature",
+ "properties": {
+ "inspireid": "56669648",
+ "uprn_count": "8"
+ },
+ "geometry": {
+ "type": "Point",
+ "coordinates": [
+ -0.08851621061,
+ 51.52684922637
+ ]
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/assets/themes/uk_addresses/license_info.json b/assets/themes/uk_addresses/license_info.json
new file mode 100644
index 0000000000..0c6fb07154
--- /dev/null
+++ b/assets/themes/uk_addresses/license_info.json
@@ -0,0 +1,43 @@
+[
+ {
+ "path": "housenumber_add.svg",
+ "license": "CC0",
+ "authors": [
+ "Pieter Vander Vennet"
+ ],
+ "sources": []
+ },
+ {
+ "path": "housenumber_ok.svg",
+ "license": "CC0",
+ "authors": [
+ "Tobias Zwick (westnordost)"
+ ],
+ "sources": [
+ "https://github.com/streetcomplete/StreetComplete/tree/master/res/graphics",
+ "https://f-droid.org/packages/de.westnordost.streetcomplete/"
+ ]
+ },
+ {
+ "path": "housenumber_text.svg",
+ "license": "CC0",
+ "authors": [
+ "Tobias Zwick (westnordost)"
+ ],
+ "sources": [
+ "https://github.com/streetcomplete/StreetComplete/tree/master/res/graphics",
+ "https://f-droid.org/packages/de.westnordost.streetcomplete/"
+ ]
+ },
+ {
+ "path": "housenumber_unknown.svg",
+ "license": "CC0",
+ "authors": [
+ "Tobias Zwick (westnordost)"
+ ],
+ "sources": [
+ "https://github.com/streetcomplete/StreetComplete/tree/master/res/graphics",
+ "https://f-droid.org/packages/de.westnordost.streetcomplete/"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/assets/themes/uk_addresses/uk_addresses.json b/assets/themes/uk_addresses/uk_addresses.json
new file mode 100644
index 0000000000..d97172c5db
--- /dev/null
+++ b/assets/themes/uk_addresses/uk_addresses.json
@@ -0,0 +1,245 @@
+{
+ "id": "uk_addresses",
+ "title": {
+ "en": "UK Addresses"
+ },
+ "shortDescription": {
+ "en": "Help to build an open dataset of UK addresses"
+ },
+ "description": {
+ "en": "Contribute to OpenStreetMap by filling out address information"
+ },
+ "language": [
+ "en"
+ ],
+ "maintainer": "Pieter Vander Vennet, Rob Nickerson, Russ Garrett",
+ "icon": "./assets/themes/uk_addresses/housenumber_unknown.svg",
+ "version": "2021-09-17",
+ "startLat": -0.08528530407,
+ "startLon": 51.52103754846,
+ "startZoom": 18,
+ "widenFactor": 0.5,
+ "socialImage": "",
+ "layers": [
+ {
+ "id": "to_import",
+ "source": {
+ "#geoJson": "http://127.0.0.1:8080/islington_small_piece.geojson",
+ "geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete/develop/assets/themes/uk_addresses/islington_small_piece.json",
+ "##geoJson": "https://raw.githubusercontent.com/russss/osm-uk-addresses/main/output/islington.geojson",
+ "osmTags": "inspireid~*",
+ "isOsmCache": false
+ },
+ "name": "Addresses to check",
+ "minzoom": 12,
+ "wayHandling": 1,
+ "icon": {
+ "render": "./assets/themes/uk_addresses/housenumber_unknown.svg"
+ },
+ "iconSize": {
+ "render": "40,40,center",
+ "mappings": [
+ {
+ "if": "_embedding_object:id~*",
+ "then": "15,15,center"
+ },
+ {
+ "if": "_imported=yes",
+ "then": "8,8,center"
+ }
+ ]
+ },
+ "title": {
+ "render": "Address to be determined"
+ },
+ "tagRenderings": [
+ {
+ "render": "There probably is an address here"
+ },
+ {
+ "render": "An outline embedding this point with an address already exists in OpenStreetMap.
This object has address {_embedding_object:addr:street} {_embedding_object:addr:housenumber}",
+ "condition": "_embedding_object:id~*"
+ },
+ {
+ "render": "{import_button(ref:inspireid=$inspireid, Add this address, ./assets/themes/uk_addresses/housenumber_add.svg)}"
+ },
+ "all_tags"
+ ],
+ "calculatedTags": [
+ "_embedding_object=feat.overlapWith('addresses')[0]?.feat?.properties ?? null",
+ "_embedding_object:addr:housenumber=JSON.parse(feat.properties._embedding_object)?.['addr:housenumber']",
+ "_embedding_object:addr:street=JSON.parse(feat.properties._embedding_object)?.['addr:street']",
+ "_embedding_object:id=JSON.parse(feat.properties._embedding_object)?.id"
+ ]
+ },
+ {
+ "id": "addresses",
+ "name": {
+ "en": "Known addresses 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 => ({name: f.feat.properties.name, distance: Math.round(1000*f.distance), id: f.id}))",
+ "_closest_street:0:name=JSON.parse(feat.properties._closest_3_street_names)[0]?.name",
+ "_closest_street:1:name=JSON.parse(feat.properties._closest_3_street_names)[1]?.name",
+ "_closest_street:2:name=JSON.parse(feat.properties._closest_3_street_names)[2]?.name",
+ "_closest_street:0:distance=JSON.parse(feat.properties._closest_3_street_names)[0]?.distance",
+ "_closest_street:1:distance=JSON.parse(feat.properties._closest_3_street_names)[1]?.distance",
+ "_closest_street:2:distance=JSON.parse(feat.properties._closest_3_street_names)[2]?.distance",
+ "_closest_street:0:id=JSON.parse(feat.properties._closest_3_street_names)[0]?.id",
+ "_closest_street:1:id=JSON.parse(feat.properties._closest_3_street_names)[1]?.id",
+ "_closest_street:2:id=JSON.parse(feat.properties._closest_3_street_names)[2]?.id"
+ ],
+ "title": {
+ "render": {
+ "en": "Known address"
+ }
+ },
+ "description": {
+ "en": "Addresses"
+ },
+ "tagRenderings": [
+ {
+ "render": {
+ "en": "This address is saved in OpenStreetMap"
+ }
+ },
+ {
+ "render": {
+ "en": "The housenumber is {addr:housenumber}"
+ },
+ "question": {
+ "en": "What is the number of this house?"
+ },
+ "freeform": {
+ "key": "addr:housenumber"
+ },
+ "mappings": [
+ {
+ "if": {
+ "and": [
+ "nohousenumber=yes"
+ ]
+ },
+ "then": {
+ "en": "This object has no house number"
+ }
+ }
+ ]
+ },
+ {
+ "render": {
+ "en": "This address is in street {addr:street}"
+ },
+ "question": {
+ "en": "What street is this address located in?"
+ },
+ "freeform": {
+ "key": "addr:street"
+ },
+ "mappings": [
+ {
+ "if": "addr:street:={_closest_street:0:name}",
+ "then": "{_closest_street:0:name} {_closest_street:0:distance}m",
+ "hideInAnswer": "_closest_street:0:name="
+ },
+ {
+ "if": "addr:street:={_closest_street:1:name}",
+ "then": "{_closest_street:1:name} {_closest_street:1:distance}m",
+ "hideInAnswer": "_closest_street:1:name="
+ },
+ {
+ "if": "addr:street:={_closest_street:2:name}",
+ "then": "{_closest_street:2:name} {_closest_street:2:distance}m",
+ "hideInAnswer": "_closest_street:2:name="
+ }
+ ],
+ "condition": {
+ "and": [
+ "nohousenumber!~yes"
+ ]
+ }
+ }
+ ],
+ "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"
+ }
+ ]
+ },
+ "width": {
+ "render": "8"
+ },
+ "iconSize": {
+ "render": "40,40,center"
+ },
+ "color": {
+ "render": "#00f",
+ "mappings": [
+ {
+ "if": {
+ "or": [
+ {
+ "and": [
+ "addr:housenumber=",
+ "nohousenumber!=yes"
+ ]
+ },
+ "addr:street="
+ ]
+ },
+ "then": "#ff0"
+ }
+ ]
+ },
+ "presets": []
+ },
+ {
+ "id": "named_streets",
+ "name": "Named streets",
+ "minzoom": 18,
+ "source": {
+ "osmTags": {
+ "and": [
+ "highway~*",
+ "name~*"
+ ]
+ }
+ },
+ "title": {
+ "render": {
+ "en": "{name}"
+ }
+ },
+ "color": {
+ "render": "#ccc"
+ },
+ "width": {
+ "render": "3"
+ }
+ }
+ ],
+ "roamingRenderings": []
+}
\ No newline at end of file