diff --git a/Docs/Tools/stats/file-overview.json b/Docs/Tools/stats/file-overview.json index eff2953a5..6f43e19d9 100644 --- a/Docs/Tools/stats/file-overview.json +++ b/Docs/Tools/stats/file-overview.json @@ -1 +1,2 @@ -["file-overview.json","missing_editor.json","stats.2020-10.json","stats.2020-11.json","stats.2020-12.json","stats.2020-5.json","stats.2020-6.json","stats.2020-7.json","stats.2020-8.json","stats.2020-9.json","stats.2021-1.json","stats.2021-10.json","stats.2021-11.json","stats.2021-12.json","stats.2021-2.json","stats.2021-3.json","stats.2021-4.json","stats.2021-5.json","stats.2021-6.json","stats.2021-7.json","stats.2021-8.json","stats.2021-9.json","stats.2022-1.json","stats.2022-2.json","stats.2022-3.json","stats.2022-4.json","stats.2022-5.json","stats.2022-6.json","stats.2022-7.json","stats.2022-8.json","stats.2022-9-01.day.json","stats.2022-9-02.day.json","stats.2022-9-03.day.json","stats.2022-9-04.day.json","stats.2022-9-05.day.json","stats.2022-9-06.day.json","stats.2022-9-07.day.json","stats.2022-9-08.day.json","stats.2022-9-09.day.json","stats.2022-9-10.day.json","stats.2022-9-11.day.json","stats.2022-9-12.day.json","stats.2022-9-13.day.json","stats.2022-9-14.day.json","stats.2022-9-15.day.json","stats.2022-9-16.day.json","stats.2022-9-17.day.json","stats.2022-9-18.day.json","stats.2022-9-19.day.json","stats.2022-9-20.day.json","stats.2022-9-21.day.json","stats.2022-9-22.day.json","stats.2022-9-23.day.json"] \ No newline at end of file +["file-overview.json","missing_editor.json","stats.2020-10.json","stats.2020-11.json","stats.2020-12.json","stats.2020-5.json","stats.2020-6.json","stats.2020-7.json","stats.2020-8.json","stats.2020-9.json","stats.2021-1.json","stats.2021-10.json","stats.2021-11.json","stats.2021-12.json","stats.2021-2.json","stats.2021-3.json","stats.2021-4.json","stats.2021-5.json","stats.2021-6.json","stats.2021-7.json","stats.2021-8.json","stats.2021-9.json","stats.2022-1.json","stats.2022-2.json","stats.2022-3.json","stats.2022-4.json","stats.2022-5.json","stats.2022-6.json","stats.2022-7.json","stats.2022-8.json","stats.2022-9-01.day.json","stats.2022-9-02.day.json","stats.2022-9-03.day.json","stats.2022-9-04.day.json","stats.2022-9-05.day.json","stats.2022-9-06.day.json","stats.2022-9-07.day.json","stats.2022-9-08.day.json","stats.2022-9-09.day.json","stats.2022-9-10.day.json","stats.2022-9-11.day.json","stats.2022-9-12.day.json","stats.2022-9-13.day.json","stats.2022-9-14.day.json","stats.2022-9-15.day.json","stats.2022-9-16.day.json","stats.2022-9-17.day.json","stats.2022-9-18.day.json","stats.2022-9-19.day.json","stats.2022-9-20.day.json","stats.2022-9-21.day.json","stats.2022-9-22.day.json","stats.2022-9-23.day.json","stats.2022-9-24.day.json","stats.2022-9-25.day.json"] + diff --git a/Docs/Tools/stats/stats.2022-9-24.day.json b/Docs/Tools/stats/stats.2022-9-24.day.json new file mode 100644 index 000000000..b3f59f68a --- /dev/null +++ b/Docs/Tools/stats/stats.2022-9-24.day.json @@ -0,0 +1 @@ +[{"id":126599341,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8156699,44.1338779],[4.8156699,44.1338779],[4.8156699,44.1338779],[4.8156699,44.1338779],[4.8156699,44.1338779]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #waste","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T23:14:01Z","reviewed_features":[],"tag_changes":{"amenity":["waste_disposal"],"location":["overground"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/waste.html","theme":"waste","answer":1,"locale":"fr","imagery":"osm","link-image":15,"id":126599341}},{"id":126599244,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8004584,44.1355493],[4.8085526,44.1355493],[4.8085526,44.1415076],[4.8004584,44.1415076],[4.8004584,44.1355493]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #parkings","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T23:05:31Z","reviewed_features":[],"tag_changes":{"amenity":["parking"],"mapillary":["1235586210251301","4118569051526865","3702853316492167"]},"create":0,"modify":3,"delete":0,"area":0.0000482276718599653,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/parkings.html","theme":"parkings","locale":"fr","imagery":"osm","link-image":3,"id":126599244}},{"id":126599111,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.804022,44.1370975],[4.8043129,44.1370975],[4.8043129,44.1371666],[4.804022,44.1371666],[4.804022,44.1370975]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #artwork","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T22:55:28Z","reviewed_features":[],"tag_changes":{"tourism":["artwork"],"wikimedia_commons":["File:Statue Femme Dénudée Touchant Pied Satyre Parc Gasparin - Orange (FR84) - 2021-07-09 - 2.jpg","File:Statue Vénus Pomme Parc Gasparin - Orange (FR84) - 2021-07-09 - 1.jpg"]},"create":0,"modify":2,"delete":0,"area":2.01011899992995e-8,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/artwork.html","theme":"artwork","locale":"fr","imagery":"osm","link-image":3,"id":126599111}},{"id":126599037,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8216996,44.1318053],[4.826122,44.1318053],[4.826122,44.1326247],[4.8216996,44.1326247],[4.8216996,44.1318053]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #hailhydrant","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T22:50:09Z","reviewed_features":[],"tag_changes":{"mapillary":["3979721258818040","1410771162639457"]},"create":0,"modify":2,"delete":0,"area":0.00000362371455998895,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/hailhydrant.html","theme":"hailhydrant","locale":"fr","imagery":"HDM_HOT","link-image":2,"id":126599037}},{"id":126597860,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.2527612,-39.8131253],[-73.2527612,-39.8131253],[-73.2527612,-39.8131253],[-73.2527612,-39.8131253],[-73.2527612,-39.8131253]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Awo","uid":"196556","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #artwork","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T21:43:10Z","reviewed_features":[],"tag_changes":{"tourism":["artwork"],"artwork_type":["graffiti"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/artwork.html","theme":"artwork","answer":1,"locale":"en","imagery":"osm","id":126597860}},{"id":126597356,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[13.5982713,53.0872168],[13.7954673,53.0872168],[13.7954673,53.1704149],[13.5982713,53.1704149],[13.5982713,53.0872168]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"Wolfram Hoppe","uid":"16383946","editor":"MapComplete 0.7.2l","comment":"Adding data with #MapComplete for theme #waldbrand","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T21:15:26Z","reviewed_features":[],"tag_changes":{"note":["- an dieser Stelle befindet sich (24.09.2022) \"kein\" Hydrant, ... alter bzw. falscher Eintrag!","- ACHTUNG ! Dies ist ein priv. Swimming Pool, der wenn gefüllt, etwa 100 m³ Wasser enthält -","- ACHTUNG ! Dies ist ein priv. Swimming Pool, der wenn gefüllt, etwa 200 m³ Wasser enthält -"],"image":["https://i.imgur.com/R19Mwu0.jpg","https://i.imgur.com/DwnAKZY.jpg","https://i.imgur.com/re0SRCy.jpg","https://i.imgur.com/WOecRhy.jpg"],"image:0":["https://i.imgur.com/KlBmnaq.jpg","https://i.imgur.com/jtKgoNs.jpg","https://i.imgur.com/8AV8SvK.jpg","https://i.imgur.com/v2EUuOo.jpg"],"image:1":["https://i.imgur.com/sLmTqUl.jpg","https://i.imgur.com/dI5o9bE.jpg"],"natural":["water"],"water_tank:volume":["500 m³","500","ca. 100 m³","ca. 200 m³"]},"create":23,"modify":101,"delete":0,"area":0.0164063325275994,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"waldbrand-app.de","theme":"waldbrand","imagery":"EsriWorldImagery","language":"de","theme-creator":"Sebastian Kürten","id":126597356}},{"id":126596352,"type":"Feature","geometry":null,"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"rmartinic","uid":"399114","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #artwork","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T20:25:47Z","reviewed_features":[],"tag_changes":{},"create":0,"modify":0,"delete":0,"area":null,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/artwork.html","theme":"artwork","answer":1,"locale":"en","imagery":"osm","change_within_25m":1,"id":126596352}},{"id":126596309,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-72.2678961,-40.2139788],[-72.2678961,-40.2139788],[-72.2678961,-40.2139788],[-72.2678961,-40.2139788],[-72.2678961,-40.2139788]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"rmartinic","uid":"399114","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #artwork","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T20:23:01Z","reviewed_features":[],"tag_changes":{"tourism":["artwork"]},"create":2,"modify":0,"delete":0,"area":0,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/artwork.html","theme":"artwork","locale":"en","imagery":"osm","change_over_5000m":2,"id":126596309}},{"id":126595501,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.9676702,51.2392293],[4.9681025,51.2392293],[4.9681025,51.2393809],[4.9676702,51.2393809],[4.9676702,51.2392293]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"dentonny","uid":"4198737","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T19:51:15Z","reviewed_features":[],"tag_changes":{"leisure":["park"],"building":["house"],"source:geometry:ref":["Gbg/5246722"],"source:geometry:date":["2021-10-26"]},"create":4,"modify":11,"delete":0,"area":6.55366800010117e-8,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/grb.html","move":10,"theme":"grb","locale":"nl","imagery":"AGIV","conflation":2,"id":126595501}},{"id":126592200,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[24.929783,60.2571274],[24.9555784,60.2571274],[24.9555784,60.2678445],[24.929783,60.2678445],[24.929783,60.2571274]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"houtari","uid":"2186388","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #street_lighting","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T17:37:58Z","reviewed_features":[],"tag_changes":{"highway":["street_lamp"]},"create":63,"modify":0,"delete":0,"area":0.000276451881340019,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/street_lighting.html","theme":"street_lighting","locale":"en","imagery":"hri-orto","id":126592200}},{"id":126585404,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.3122109,44.5003087],[11.3122109,44.5003087],[11.3122109,44.5003087],[11.3122109,44.5003087],[11.3122109,44.5003087]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"WinstonSmith","uid":"36030","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T15:06:11Z","reviewed_features":[],"tag_changes":{"amenity":["bicycle_parking"]},"create":1,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix","theme":"cyclofix","answer":2,"locale":"it","imagery":"CartoDB.Voyager","change_over_5000m":1,"change_within_25m":2,"id":126585404}},{"id":126585390,"type":"Feature","geometry":null,"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"WinstonSmith","uid":"36030","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T15:05:50Z","reviewed_features":[],"tag_changes":{},"create":0,"modify":0,"delete":0,"area":null,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix","theme":"cyclofix","answer":2,"locale":"it","imagery":"CartoDB.Voyager","change_within_25m":2,"id":126585390}},{"id":126585385,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.3166926,44.4985598],[11.3167516,44.4985598],[11.3167516,44.4986516],[11.3166926,44.4986516],[11.3166926,44.4985598]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"WinstonSmith","uid":"36030","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T15:05:28Z","reviewed_features":[],"tag_changes":{"amenity":["bicycle_parking"]},"create":2,"modify":1,"delete":0,"area":5.41620000001524e-9,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix","theme":"cyclofix","answer":7,"locale":"it","imagery":"CartoDB.Voyager","change_over_5000m":2,"change_within_25m":7,"id":126585385}},{"id":126582045,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0661257,51.0872629],[3.0707073,51.0872629],[3.0707073,51.0896762],[3.0661257,51.0896762],[3.0661257,51.0872629]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T13:27:52Z","reviewed_features":[],"tag_changes":{"building":["house","yes","roof"]},"create":816,"modify":0,"delete":0,"area":0.0000110567752800025,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":113,"locale":"nl","imagery":"AGIVFlandersGRB","id":126582045}},{"id":126578278,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.7037608,44.3575367],[11.7057413,44.3575367],[11.7057413,44.3596748],[11.7037608,44.3596748],[11.7037608,44.3575367]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Danysan95","uid":"4425563","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T11:39:08Z","reviewed_features":[],"tag_changes":{"highway":["residential"],"leisure":["sports_centre"],"building":["civic"],"name:etymology:wikidata":["Q97572176","Q114160960"]},"create":0,"modify":2,"delete":0,"area":0.00000423450705000701,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":2,"locale":"en","imagery":"osm","id":126578278}},{"id":126576690,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[24.9134588,60.2545465],[24.9293062,60.2545465],[24.9293062,60.2705481],[24.9134588,60.2705481],[24.9134588,60.2545465]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"houtari","uid":"2186388","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #street_lighting","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T10:41:54Z","reviewed_features":[],"tag_changes":{"highway":["street_lamp"]},"create":25,"modify":2,"delete":0,"area":0.000253583755840018,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/street_lighting.html","move":2,"theme":"street_lighting","locale":"en","imagery":"hri-orto","change_over_5000m":25,"change_within_5000m":2,"move:node/4107675130":"improve_accuracy","move:node/10048752260":"improve_accuracy","id":126576690}},{"id":126574676,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.0046274,44.8270281],[8.0057514,44.8270281],[8.0057514,44.8271408],[8.0046274,44.8271408],[8.0046274,44.8270281]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Andrea Musuruane","uid":"90379","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T09:31:29Z","reviewed_features":[],"tag_changes":{"highway":["residential"],"name:etymology:wikidata":["Q75966166"]},"create":0,"modify":1,"delete":0,"area":1.2667480000272e-7,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":1,"locale":"it","imagery":"osm","change_over_5000m":1,"id":126574676}},{"id":126573383,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[10.3865037,53.2238731],[10.3865037,53.2238731],[10.3865037,53.2238731],[10.3865037,53.2238731],[10.3865037,53.2238731]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"the_robte","uid":"7196034","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T08:48:56Z","reviewed_features":[],"tag_changes":{"fixme":["Freeform used on 'access'-tag: possibly a wrong value"],"amenity":["bicycle_parking"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix.html","theme":"cyclofix","answer":1,"locale":"de","imagery":"osm","change_within_25m":1,"id":126573383}},{"id":126572350,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.242685,50.7384163],[4.242685,50.7384163],[4.242685,50.7384163],[4.242685,50.7384163],[4.242685,50.7384163]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"joost schouppe","uid":"67832","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #aed","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T08:03:23Z","reviewed_features":[],"tag_changes":{"image":["https://i.imgur.com/hWaMK31.jpg"],"level":["0"],"access":["yes"],"wheelchair":["yes"],"defibrillator:location":["Bij de hoofdingang. Als je van buiten komt links om de hoek voorbij de binnendeur"]},"create":0,"modify":2,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/aed.html","theme":"aed","answer":4,"locale":"nl","imagery":"osm","add-image":1,"change_within_25m":5,"id":126572350}},{"id":126572341,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.3733584,48.1878224],[11.3733584,48.1878224],[11.3733584,48.1878224],[11.3733584,48.1878224],[11.3733584,48.1878224]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Ppso","uid":"1553228","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #bookcases","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T08:02:43Z","reviewed_features":[],"tag_changes":{"amenity":["public_bookcase"]},"create":1,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/bookcases.html","theme":"bookcases","answer":2,"locale":"de","imagery":"osm","change_over_5000m":1,"change_within_5000m":2,"id":126572341}},{"id":126571594,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.9076499,51.0898584],[4.9108296,51.0898584],[4.9108296,51.0905353],[4.9076499,51.0905353],[4.9076499,51.0898584]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"dentonny","uid":"4198737","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T07:37:01Z","reviewed_features":[],"tag_changes":{"amenity":["library"],"leisure":["sports_hall"],"building":["yes","roof"],"addr:housenumber":["6;8","6"],"source:geometry:ref":["Gbg/5675072","Gbg/1635703"],"source:geometry:date":["2016-08-31","2021-09-24"]},"create":35,"modify":41,"delete":0,"area":0.000002152338930006,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/grb.html","move":37,"theme":"grb","answer":3,"import":2,"locale":"nl","imagery":"AGIVFlandersGRB","conflation":4,"change_over_5000m":5,"id":126571594}},{"id":126571063,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.3294306,48.9122302],[2.3441582,48.9122302],[2.3441582,48.9216599],[2.3294306,48.9216599],[2.3294306,48.9122302]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Florent Ch","uid":"4674266","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T07:10:37Z","reviewed_features":[],"tag_changes":{"amenity":["school"],"highway":["residential","pedestrian","footway"],"name:etymology:wikidata":["Q59362739","Q440","Q108301","Q5994","Q6527","Q236161","Q22915915","Q25320","Q2538929"]},"create":0,"modify":11,"delete":0,"area":0.000138876849719976,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":12,"locale":"fr","imagery":"osm","change_within_100m":1,"change_within_500m":8,"change_within_1000m":3,"id":126571063}},{"id":126570693,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.3620006,48.8694654],[2.394332,48.8694654],[2.394332,48.8890215],[2.3620006,48.8890215],[2.3620006,48.8694654]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"benjamintchik","uid":"6290466","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T06:52:10Z","reviewed_features":[],"tag_changes":{"highway":["residential","living_street","unclassified","primary","footway","service","pedestrian","tertiary","cycleway","secondary","steps"],"name:etymology:wikidata":["Q4411","Q855271","Q1471","Q355112","Q532352","Q1569396","Q1667","Q572274","Q1684953","Q333489","Q38789","Q12688","Q699597","Q254106","Q106099","Q207620","Q1469","Q186652","Q353873","Q170095","Q34670","Q55395","Q7302"]},"create":0,"modify":164,"delete":0,"area":0.000632276091539853,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":229,"locale":"fr","imagery":"osm","id":126570693}},{"id":126567789,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-73.2558428,-39.8131253],[-73.2527612,-39.8131253],[-73.2527612,-39.8101627],[-73.2558428,-39.8101627],[-73.2558428,-39.8131253]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Awo","uid":"196556","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #artwork","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T02:41:05Z","reviewed_features":[],"tag_changes":{"image:0":["https://i.imgur.com/caWIuEa.jpg"],"tourism":["artwork"]},"create":1,"modify":3,"delete":0,"area":0.00000912954816001572,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/artwork.html","theme":"artwork","answer":1,"locale":"en","imagery":"osm","add-image":2,"id":126567789}},{"id":126567510,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-122.4036538,47.6742928],[-122.4036538,47.6742928],[-122.4036538,47.6742928],[-122.4036538,47.6742928],[-122.4036538,47.6742928]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Wim L","uid":"223681","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #bookcases","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-24T02:09:08Z","reviewed_features":[],"tag_changes":{"amenity":["public_bookcase"]},"create":1,"modify":0,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/bookcases.html","theme":"bookcases","locale":"en","imagery":"osm","change_over_5000m":1,"id":126567510}},{"id":126567102,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.1718632,43.4563225],[1.4089345,43.4563225],[1.4089345,43.551025],[1.1718632,43.551025],[1.1718632,43.4563225]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"GeoMechain","uid":"10398640","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-24T01:18:32Z","reviewed_features":[],"tag_changes":{"name":["Rue Adolphine Bonnet","Rue Alphonse Bonnet"],"amenity":["school"],"barrier":["fence"],"highway":["residential","unclassified","primary","service","path","living_street","footway"],"name:etymology:wikidata":["Q315434","Q313078","Q726550","Q82984","Q3289104","Q154353","Q114149936","Q2038","Q38337","Q320146","Q449","Q1631","Q993521","Q1666","Q295090","Q114150891","Q114150588","Q437091","Q270187","Q3026993","Q719663","Q18410","Q680897","Q40599","Q156386","Q5396","Q254","Q959708","Q632","Q18434","Q314265","Q298355","Q296083","Q207709","Q236630","Q273849","Q10856494","Q3263619","Q3270494","Q271991","Q212549","Q57241682","Q2908","Q2042","Q163118","Q223955","Q2980546","Q12091","Q2835485"]},"create":0,"modify":78,"delete":0,"area":0.0224512447882509,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":87,"locale":"fr","imagery":"osm","id":126567102}}] \ No newline at end of file diff --git a/Docs/Tools/stats/stats.2022-9-25.day.json b/Docs/Tools/stats/stats.2022-9-25.day.json new file mode 100644 index 000000000..1d82316ce --- /dev/null +++ b/Docs/Tools/stats/stats.2022-9-25.day.json @@ -0,0 +1 @@ +[{"id":126631000,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[15.5019093,54.159823],[15.5371344,54.159823],[15.5371344,54.1641269],[15.5019093,54.1641269],[15.5019093,54.159823]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"taxi301","uid":"657596","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #maxspeed","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T22:17:59Z","reviewed_features":[],"tag_changes":{"highway":["residential"],"maxspeed":["50","30"]},"create":0,"modify":4,"delete":0,"area":0.000151605307889875,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/maxspeed.html","theme":"maxspeed","answer":4,"locale":"en","imagery":"osm","id":126631000}},{"id":126630632,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[13.6735502,53.1091271],[13.7177369,53.1091271],[13.7177369,53.1265957],[13.6735502,53.1265957],[13.6735502,53.1091271]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"Wolfram Hoppe","uid":"16383946","editor":"MapComplete 0.7.2l","comment":"Adding data with #MapComplete for theme #waldbrand","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T21:51:23Z","reviewed_features":[],"tag_changes":{},"create":6,"modify":32,"delete":0,"area":0.000771879787620053,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"waldbrand-app.de","theme":"waldbrand","imagery":"EsriWorldImagery","language":"de","theme-creator":"Sebastian Kürten","id":126630632}},{"id":126629960,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[15.5627427,54.0040382],[15.9828757,54.0040382],[15.9828757,54.1699744],[15.5627427,54.1699744],[15.5627427,54.0040382]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"taxi301","uid":"657596","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #street_lighting","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T21:12:04Z","reviewed_features":[],"tag_changes":{"lit":["yes"],"highway":["street_lamp","secondary","cycleway"]},"create":0,"modify":4,"delete":0,"area":0.0697152735146018,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/street_lighting.html","move":1,"theme":"street_lighting","answer":7,"locale":"en","imagery":"osm","move:node/10052317596":"improve_accuracy","id":126629960}},{"id":126629878,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[15.5627427,54.1699744],[15.5627427,54.1699744],[15.5627427,54.1699744],[15.5627427,54.1699744],[15.5627427,54.1699744]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"taxi301","uid":"657596","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #street_lighting","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T21:08:15Z","reviewed_features":[],"tag_changes":{},"create":1,"modify":2,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/street_lighting.html","theme":"street_lighting","answer":4,"locale":"en","imagery":"osm","id":126629878}},{"id":126629510,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[15.597524,54.163524],[15.597524,54.163524],[15.597524,54.163524],[15.597524,54.163524],[15.597524,54.163524]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"taxi301","uid":"657596","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #charging_stations","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T20:51:09Z","reviewed_features":[],"tag_changes":{"bus":["no"],"hgv":["no"],"access":["yes"],"amenity":["charging_station"],"bicycle":["no"],"scooter":["no"]},"create":0,"modify":2,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/charging_stations.html","theme":"charging_stations","answer":2,"locale":"en","imagery":"CartoDB.Voyager","id":126629510}},{"id":126629264,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0654341,51.0904231],[3.0723373,51.0904231],[3.0723373,51.0927599],[3.0654341,51.0927599],[3.0654341,51.0904231]]]},"properties":{"check_user":null,"reasons":[{"id":2,"name":"possible import"}],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T20:40:56Z","reviewed_features":[],"tag_changes":{"building":["yes","house","roof"]},"create":1117,"modify":0,"delete":0,"area":0.0000161313977599642,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":159,"locale":"nl","imagery":"AGIVFlandersGRB","id":126629264}},{"id":126629262,"type":"Feature","geometry":null,"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T20:40:45Z","reviewed_features":[],"tag_changes":{},"create":0,"modify":0,"delete":0,"area":null,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":1,"locale":"nl","imagery":"AGIVFlandersGRB","id":126629262}},{"id":126629077,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0637287,51.0891111],[3.0665173,51.0891111],[3.0665173,51.0918989],[3.0637287,51.0918989],[3.0637287,51.0891111]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T20:31:46Z","reviewed_features":[],"tag_changes":{"building":["house","yes","roof"]},"create":548,"modify":4,"delete":0,"area":0.00000777405908000072,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","move":4,"theme":"grb","import":73,"locale":"nl","imagery":"AGIVFlandersGRB","conflation":2,"id":126629077}},{"id":126627187,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.0390743,52.2581866],[8.0394772,52.2581866],[8.0394772,52.25889],[8.0390743,52.25889],[8.0390743,52.2581866]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Team mazungu","uid":"84110","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T19:11:36Z","reviewed_features":[],"tag_changes":{"amenity":["school","kindergarten"],"website":["https://www.awo-os.org/hort-kalkhuegel/"],"school:gender":["mixed"],"school:language":["de"]},"create":0,"modify":2,"delete":0,"area":2.83399860000297e-7,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":3,"locale":"en","imagery":"CartoDB.Voyager","id":126627187}},{"id":126626994,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.3350398,48.8647752],[2.4108105,48.8647752],[2.4108105,48.9020816],[2.3350398,48.9020816],[2.3350398,48.8647752]]]},"properties":{"check_user":null,"reasons":[{"id":4,"name":"mass modification"},{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"benjamintchik","uid":"6290466","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T19:05:02Z","reviewed_features":[],"tag_changes":{"highway":["primary","tertiary","motorway_link","residential","service","cycleway","footway","living_street","primary_link","pedestrian","path"],"leisure":["park"],"name:etymology:wikidata":["Q14352277","Q3398993","Q376344","Q3093672","Q3399039","Q2105022","Q298784","Q2125122","Q40756","Q80005","Q3588365","Q164784","Q168401","Q3398903","Q22667","Q1163753","Q3399165","Q3399057","Q2019775","Q922807","Q273883","Q15042090","Q2842404","Q26385","Q2464","Q2959580","Q905267","Q2259038","Q1111455","Q2053072","Q318088","Q3310804","Q26252968","Q208230","Q3271106","Q3291891","Q455857","Q83698083","Q1476089","Q524362","Q3300877","Q211766","Q152824","Q3059874","Q295524","Q372933"]},"create":0,"modify":352,"delete":0,"area":0.00282673204248043,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":471,"locale":"fr","imagery":"osm","id":126626994}},{"id":126626403,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.0313827,52.2454191],[8.0655861,52.2454191],[8.0655861,52.272643],[8.0313827,52.272643],[8.0313827,52.2454191]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Team mazungu","uid":"84110","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T18:43:56Z","reviewed_features":[],"tag_changes":{"amenity":["kindergarten"],"highway":["residential","living_street","secondary","service","unclassified","pedestrian","primary","path"],"building":["kindergarten"],"name:etymology:wikidata":["Q2112","Q63882","Q72949","Q699238","Q27605476","Q2079569","Q1693260","Q6353","Q1037484","Q15428858","Q1289529","Q1306175","Q22692347","Q457147","Q2242844","Q73004","Q90831","Q76325","Q6954"]},"create":0,"modify":64,"delete":0,"area":0.000931149941260118,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":88,"locale":"en","imagery":"osm","id":126626403}},{"id":126624995,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8181126,44.1335768],[4.8181126,44.1335768],[4.8181126,44.1335768],[4.8181126,44.1335768],[4.8181126,44.1335768]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #waste","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T17:55:34Z","reviewed_features":[],"tag_changes":{"access":["yes"],"amenity":["waste_disposal"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/waste.html","theme":"waste","answer":1,"locale":"fr","imagery":"osm","id":126624995}},{"id":126624874,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.2569398,51.2120137],[3.2578632,51.2120137],[3.2578632,51.2122795],[3.2569398,51.2122795],[3.2569398,51.2120137]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Pieter Vander Vennet","uid":"3818858","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cycle_infra","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T17:51:50Z","reviewed_features":[],"tag_changes":{"barrier":["bollard"],"highway":["footway"]},"create":2,"modify":1,"delete":0,"area":2.45439720001014e-7,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/cycle_infra.html","theme":"cycle_infra","answer":2,"locale":"nl","imagery":"AGIV","id":126624874}},{"id":126622397,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[13.6389644,53.096982],[13.7903483,53.096982],[13.7903483,53.2480463],[13.6389644,53.2480463],[13.6389644,53.096982]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"Wolfram Hoppe","uid":"16383946","editor":"MapComplete 0.7.2l","comment":"Adding data with #MapComplete for theme #waldbrand","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T16:31:03Z","reviewed_features":[],"tag_changes":{},"create":8,"modify":23,"delete":0,"area":0.0228687028847701,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"waldbrand-app.de","theme":"waldbrand","imagery":"EsriWorldImagery","language":"de","theme-creator":"Sebastian Kürten","id":126622397}},{"id":126621422,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8122763,44.1348904],[4.8210367,44.1348904],[4.8210367,44.1368091],[4.8122763,44.1368091],[4.8122763,44.1348904]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #transit","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T16:02:17Z","reviewed_features":[],"tag_changes":{"highway":["bus_stop"],"mapillary":["1443340126090316"],"public_transport":["stop_position"],"wikimedia_commons":["File:Arrêt Deymarde, av Rodolphe d'Aymard, Orange (Vaucluse) 2022-05-25.JPG","File:PEM d'Orange (FR84) 2022-09-15b.jpg","File:PEM d'Orange (FR84) 2022-09-15c.jpg"]},"create":0,"modify":4,"delete":0,"area":0.0000168085794799769,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/transit.html","theme":"transit","locale":"fr","imagery":"osm","link-image":4,"id":126621422}},{"id":126620192,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[8.7803172,47.2532977],[8.7803386,47.2532977],[8.7803386,47.2533495],[8.7803172,47.2533495],[8.7803172,47.2532977]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Geonick","uid":"6087","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #trees","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T15:28:02Z","reviewed_features":[],"tag_changes":{"natural":["tree"]},"create":2,"modify":2,"delete":0,"area":1.10852000000962e-9,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/trees","theme":"trees","answer":2,"locale":"de","imagery":"osm","id":126620192}},{"id":126619937,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.1868233,48.6959444],[2.4189947,48.6959444],[2.4189947,48.8882821],[2.1868233,48.8882821],[2.1868233,48.6959444]]]},"properties":{"check_user":null,"reasons":[{"id":4,"name":"mass modification"},{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"benjamintchik","uid":"6290466","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T15:20:38Z","reviewed_features":[],"tag_changes":{"amenity":["hospital"],"highway":["residential","secondary","service","primary","tertiary","pedestrian","footway","living_street","unclassified","cycleway","construction","steps","path","trunk_link"],"leisure":["sports_centre","park"],"building":["yes"],"name:etymology:wikidata":["Q20936609","Q3083390","Q9155","Q3399017","Q3399160","Q256004","Q185682","Q310767","Q23047","Q3398901","Q6588","Q1450796","Q175999","Q372111","Q369832","Q274319","Q610202","Q766262","Q2870950","Q3174989","Q28559","Q187496","Q6206284","Q3385013","Q7091","Q9215","Q191085","Q7312","Q3296334","Q133232","Q310530","Q7880","Q1179","Q3326","Q6403","Q20968222","Q933979","Q1369923","Q432938","Q2861960","Q715329","Q51880","Q3053756","Q3262026","Q274226","Q261010","Q433768","Q152850","Q356575","Q287525","Q743684","Q2831645","Q274646","Q3769","Q12688","Q1962284","Q27963128","Q28654089","Q1895719","Q16463","Q1945381","Q29571","Q33788","Q435068","Q3184732","Q19606758","Q934295","Q1392751","Q16026385","Q3399063","Q3300415","Q11954687","Q3335034","Q849324","Q66075","Q349828","Q1334744","Q1379149","Q295144","Q850620","Q64525365","Q779631","Q311865","Q214813","Q475526","Q3345767","Q41604","Q3172913"]},"create":0,"modify":294,"delete":0,"area":0.044655313081779,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":374,"locale":"fr","imagery":"osm","id":126619937}},{"id":126619904,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8071164,44.1373027],[4.8094512,44.1373027],[4.8094512,44.1380648],[4.8071164,44.1380648],[4.8071164,44.1373027]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #artwork","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T15:19:53Z","reviewed_features":[],"tag_changes":{"flickr":["https://www.flickr.com/photos/40911451@N00/51197968896","https://www.flickr.com/photos/40911451@N00/51197255207"],"tourism":["artwork"],"wikimedia_commons":["File:Statue Pompeia Rue République - Orange (FR84) - 2021-07-09 - 3.jpg"]},"create":0,"modify":3,"delete":0,"area":0.0000017793510800066,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/artwork.html","theme":"artwork","locale":"fr","imagery":"osm","link-image":10,"id":126619904}},{"id":126619708,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.8006748,44.1364886],[4.8006748,44.1364886],[4.8006748,44.1364886],[4.8006748,44.1364886],[4.8006748,44.1364886]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #shops","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T15:14:01Z","reviewed_features":[],"tag_changes":{"shop":["laundry"],"flickr":["https://www.flickr.com/photos/40911451@N00/52148988811"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/shops.html","theme":"shops","locale":"fr","imagery":"osm","link-image":1,"id":126619708}},{"id":126619481,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[14.9019271,44.9895967],[14.9021464,44.9895967],[14.9021464,44.9909776],[14.9019271,44.9909776],[14.9019271,44.9895967]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"APneunzehn74","uid":"12180500","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T15:08:18Z","reviewed_features":[],"tag_changes":{"image":["https://i.imgur.com/heKWizR.jpg"],"bottle":["yes"],"amenity":["drinking_water"]},"create":0,"modify":4,"delete":0,"area":3.02831369999478e-7,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix.html","theme":"cyclofix","answer":2,"locale":"de","imagery":"CartoDB.Voyager","add-image":2,"change_within_25m":4,"id":126619481}},{"id":126614708,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[14.9013257,44.9878943],[14.9013257,44.9878943],[14.9013257,44.9878943],[14.9013257,44.9878943],[14.9013257,44.9878943]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"APneunzehn74","uid":"12180500","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #nature","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T13:03:21Z","reviewed_features":[],"tag_changes":{"image":["https://i.imgur.com/u33MI7A.jpg"],"tourism":["information"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/nature.html","theme":"nature","locale":"de","imagery":"osm","add-image":1,"change_within_25m":1,"id":126614708}},{"id":126614210,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.3620304,44.5055541],[11.3620304,44.5055541],[11.3620304,44.5055541],[11.3620304,44.5055541],[11.3620304,44.5055541]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"WinstonSmith","uid":"36030","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T12:46:18Z","reviewed_features":[],"tag_changes":{"access":["yes"],"amenity":["bicycle_parking"],"cargo_bike":["yes"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix","theme":"cyclofix","answer":2,"locale":"it","imagery":"CartoDB.Voyager","change_within_25m":2,"id":126614210}},{"id":126614195,"type":"Feature","geometry":null,"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"WinstonSmith","uid":"36030","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T12:46:03Z","reviewed_features":[],"tag_changes":{},"create":0,"modify":0,"delete":0,"area":null,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix","theme":"cyclofix","answer":1,"locale":"it","imagery":"CartoDB.Voyager","change_within_25m":1,"id":126614195}},{"id":126614178,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.3620304,44.5055541],[11.3622123,44.5055541],[11.3622123,44.5057991],[11.3620304,44.5057991],[11.3620304,44.5055541]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"WinstonSmith","uid":"36030","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T12:45:32Z","reviewed_features":[],"tag_changes":{"amenity":["bicycle_parking"]},"create":2,"modify":1,"delete":0,"area":4.45654999997819e-8,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix","theme":"cyclofix","answer":6,"locale":"it","imagery":"CartoDB.Voyager","change_over_5000m":2,"change_within_25m":6,"id":126614178}},{"id":126613719,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0632903,51.088862],[3.0647047,51.088862],[3.0647047,51.0899059],[3.0632903,51.0899059],[3.0632903,51.088862]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T12:28:32Z","reviewed_features":[],"tag_changes":{"building":["yes","house"]},"create":61,"modify":0,"delete":0,"area":0.000001476492159999,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":8,"locale":"nl","imagery":"AGIVFlandersGRB","id":126613719}},{"id":126613713,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0641974,51.0893734],[3.0644371,51.0893734],[3.0644371,51.089484],[3.0641974,51.089484],[3.0641974,51.0893734]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T12:28:21Z","reviewed_features":[],"tag_changes":{"building":["house"]},"create":9,"modify":0,"delete":0,"area":2.65108199998626e-8,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":1,"locale":"nl","imagery":"AGIVFlandersGRB","id":126613713}},{"id":126613396,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[11.0586774,49.4315979],[11.0586774,49.4315979],[11.0586774,49.4315979],[11.0586774,49.4315979],[11.0586774,49.4315979]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Urml","uid":"2088671","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #climbing","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T12:15:31Z","reviewed_features":[],"tag_changes":{"access":["yes"],"leisure":["sports_centre"],"climbing:sport":["yes"],"climbing:boulder":["limited"]},"create":0,"modify":2,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/climbing.html","theme":"climbing","answer":3,"locale":"de","imagery":"osm","id":126613396}},{"id":126613277,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0647651,51.0870773],[3.0750351,51.0870773],[3.0750351,51.0910274],[3.0647651,51.0910274],[3.0647651,51.0870773]]]},"properties":{"check_user":null,"reasons":[{"id":2,"name":"possible import"}],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T12:11:00Z","reviewed_features":[],"tag_changes":{"building":["yes","house","roof"]},"create":1315,"modify":0,"delete":0,"area":0.000040567527000046,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":159,"locale":"nl","imagery":"AGIVFlandersGRB","id":126613277}},{"id":126613027,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.0678134,51.0889425],[3.0704833,51.0889425],[3.0704833,51.0907292],[3.0678134,51.0907292],[3.0678134,51.0889425]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"jozin-belgium","uid":"1947314","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #grb","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T12:02:27Z","reviewed_features":[],"tag_changes":{"building":["house","yes","roof"]},"create":572,"modify":0,"delete":0,"area":0.00000477031032999099,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://pietervdvn.github.io/mc/develop/grb","theme":"grb","import":71,"locale":"nl","imagery":"AGIVFlandersGRB","id":126613027}},{"id":126612647,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-1.2174535,46.1540185],[-1.165334,46.1540185],[-1.165334,46.1956509],[-1.2174535,46.1956509],[-1.2174535,46.1540185]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"GeoMechain","uid":"10398640","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T11:49:48Z","reviewed_features":[],"tag_changes":{"amenity":["school"],"highway":["residential","living_street","tertiary","secondary"],"name:etymology:wikidata":["Q294478","Q3121152","Q81114","Q333388","Q555329","Q687","Q535","Q5593","Q7321","Q381244","Q3172453","Q311854","Q127171","Q518705","Q3188910","Q381724","Q959708","Q9068","Q206972","Q165274","Q2038","Q543169","Q298180","Q41921"]},"create":0,"modify":70,"delete":0,"area":0.00216985987179986,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":88,"locale":"fr","imagery":"osm","id":126612647}},{"id":126608638,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.1718651,48.6843757],[2.1885825,48.6843757],[2.1885825,48.6920795],[2.1718651,48.6920795],[2.1718651,48.6843757]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"benjamintchik","uid":"6290466","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T09:42:28Z","reviewed_features":[],"tag_changes":{"highway":["residential","tertiary","steps","secondary"],"name:etymology:wikidata":["Q3164","Q131596","Q273827","Q295548","Q216844","Q246527","Q12004","Q163025","Q6017969","Q12688","Q745","Q372281"]},"create":0,"modify":31,"delete":0,"area":0.000128787506120024,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":39,"locale":"fr","imagery":"osm","id":126608638}},{"id":126607340,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.3109615,43.444525],[1.3345037,43.444525],[1.3345037,43.4707687],[1.3109615,43.4707687],[1.3109615,43.444525]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"GeoMechain","uid":"10398640","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T09:02:13Z","reviewed_features":[],"tag_changes":{"amenity":["school"],"highway":["residential","footway"],"building":["yes"],"name:etymology:wikidata":["Q207709","Q952520","Q529"]},"create":0,"modify":3,"delete":0,"area":0.000617834434140048,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":3,"locale":"fr","imagery":"osm","id":126607340}},{"id":126606982,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.9979492,51.0822136],[4.9979492,51.0822136],[4.9979492,51.0822136],[4.9979492,51.0822136],[4.9979492,51.0822136]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"Salambre","uid":"15272429","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #toerisme_vlaanderen","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T08:51:16Z","reviewed_features":[],"tag_changes":{"amenity":["bench"]},"create":1,"modify":1,"delete":0,"area":0,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/toerisme_vlaanderen.html","theme":"toerisme_vlaanderen","answer":5,"locale":"nl","imagery":"osm","change_over_5000m":1,"change_within_25m":5,"id":126606982}},{"id":126606070,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[4.804733,44.142903],[4.804733,44.142903],[4.804733,44.142903],[4.804733,44.142903],[4.804733,44.142903]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"JLZIMMERMANN","uid":"188930","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #shops","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T08:18:44Z","reviewed_features":[],"tag_changes":{"shop":["butcher"],"wikimedia_commons":["File:Av de Tassigny n°78-Boucherie du Comtat-,Orange (Vaucluse) 2022-03-27.jpg","File:Av de Tassigny n°78-Boucherie du Comtat-,Orange 2022-03-27.JPG"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/shops.html","theme":"shops","locale":"fr","imagery":"osm","link-image":1,"id":126606070}},{"id":126605012,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[3.9519862,50.9602523],[3.9519862,50.9602523],[3.9519862,50.9602523],[3.9519862,50.9602523],[3.9519862,50.9602523]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"Ruben Van de Velde","uid":"2676725","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #bookcases","comments_count":0,"source":"survey","imagery_used":"Not reported","date":"2022-09-25T07:33:31Z","reviewed_features":[],"tag_changes":{"name":["Ruilbib Lede"],"books":["adults"],"image":["https://i.imgur.com/83T1RvV.jpg"],"amenity":["public_bookcase"],"nobrand":["yes"],"capacity":["50"],"operator":["Bibliotheek Lede"]},"create":0,"modify":2,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/bookcases.html","theme":"bookcases","answer":5,"locale":"nl","imagery":"osm","add-image":1,"change_within_25m":6,"id":126605012}},{"id":126604101,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[2.3594462,48.8656536],[2.3869145,48.8656536],[2.3869145,48.8931716],[2.3594462,48.8931716],[2.3594462,48.8656536]]]},"properties":{"check_user":null,"reasons":[{"id":40,"name":"New mapper"}],"tags":[],"features":[],"user":"benjamintchik","uid":"6290466","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T06:55:00Z","reviewed_features":[],"tag_changes":{"highway":["primary","residential","unclassified","pedestrian","service","secondary","tertiary","footway","cycleway","steps"],"name:etymology:wikidata":["Q1463559","Q3339972","Q2426660","Q2735843","Q2833947","Q23482","Q17354293","Q15983918","Q130135","Q2456641","Q961753","Q5715462","Q2663279","Q167152","Q157070","Q30974","Q3164060","Q200231","Q945377","Q41962","Q12191","Q1667","Q3131706","Q291404","Q6694","Q22640","Q1160441","Q3164","Q622283","Q1041","Q3174096","Q4411","Q3184654","Q47465","Q716201","Q41983","Q130994","Q254106","Q714166","Q1449","Q956","Q16026877","Q371905","Q815949","Q928270","Q360312","Q319927","Q12688","Q3265711","Q22690","Q797885","Q22754","Q316422","Q287953","Q314990","Q155415","Q855271","Q2447812","Q276010","Q232453"]},"create":0,"modify":192,"delete":0,"area":0.000755872679400023,"is_suspect":true,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":254,"locale":"fr","imagery":"osm","id":126604101}},{"id":126602917,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[121.0162927,14.5524603],[121.0259977,14.5524603],[121.0259977,14.5607809],[121.0162927,14.5607809],[121.0162927,14.5524603]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"n1kn0k","uid":"867701","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:44:30Z","reviewed_features":[],"tag_changes":{"access":["yes"],"amenity":["bicycle_parking"],"covered":["no","yes"],"capacity":["11","9","12","22","17"],"cargo_bike":["no"],"bicycle_parking":["rack"]},"create":3,"modify":10,"delete":0,"area":0.0000807514230000848,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix.html","move":2,"theme":"cyclofix","answer":29,"locale":"en","imagery":"CartoDB.Voyager","move:node/8833714080":"improve_accuracy","move:node/10050205479":"improve_accuracy","id":126602917}},{"id":126602805,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[74.7641856,8.9664612],[81.0268407,8.9664612],[81.0268407,21.0944634],[74.7641856,21.0944634],[74.7641856,8.9664612]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"NaanAvanIllai","uid":"14062769","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:33:00Z","reviewed_features":[],"tag_changes":{"name":["K.A.P. Viswanatham Government Medical College"],"email":["office@mkvkschool.com","sbkinternational.school@gmail.com","dianaschoolds@gmail.com","sgpbellary@gmail.com","vnrkghss@gmail.com","kapvgmctry@yahoo.co.in","eps@excelindia.com","ahobilamath@gmail.com","principal@pscschool.in","vws@vikaasa.edu.in","naamrjpm@gmail.com"],"phone":["+91 44 2748 1283","(044) 27481283","+91 44 2621 1888","+914426211888","+91 44 2817 2459","+91 44 28172459","+91 98401 41553","+91 4324 222 004","04324-222004","+91 427 224 0888","+91 427 2240888","+91 83922 66331","08392 266331","+91 4562 243 812","+91 431 240 1011","04312401011","+91 821 400 2288","0821-4002288","+91 44 2726 4422","(044) 27264422","+91 44 2748 8226","(044) 27488226","+91 44 2847 4808","044 2847 4808","+91 431 244 0011","+914312440011","+91 44 2239 3183","04422393183","+91 44 2835 1973","+914428351973","+91 72997 17700","+91-72997 17700","+91 99404 42258","99404 42258","+91 44 2467 0120","+914424670120","+91 44 2498 3450","+914424983450","+91 44 2495 6021","04424956021","+91 44 2493 8040","04424938040","+91 44 2827 5858","+914428275858","+91 44 2815 5715","91- 44 - 2815 5715","+91 44 2491 2510","+914424912510","+91 44 2819 4223","+91 44 2254 9000","+914422549000","+91 44 2435 1048","+914424351048","+91 44 2656 0063","+914426560063","+91 44 2858 9010","04428589010","+91 431 274 3135","04312743135","+91 99861 12977","+919986112977","+91 422 230 0170","04222300170","+91 44 6606 9806","04466069806","+91 421 226 0290","04212260290","+91 44 2471 7555","+91 80 4052 7888","+91 80 40527888","+91 44 2260 1845","04422601845","+91 44 6619 9500","+914466199500","+91 77442 25113","07744-225113","+91 4562 245 327","+91 44 2615 1145","04426151145","+91 90472 22474","+91 9047222474","+91 44 2254 2666","+914422542666","+91 95972 36888","+91 4563 222 805","+91 4829 256 200","+914829256200","+91 452 245 8182","0452 2458182","+91 98440 51880","+91-9844051880"],"amenity":["hospital","school","college"],"barrier":["wall"],"highway":["residential"],"website":["https://sites.google.com/view/saliarschool/home","https://kghss.in/","https://www.bishopcottongirls.com/","https://bishopcottonboysschool.edu.in/","https://pscschool.in/","https://www.vikaasa.edu.in/vikaasa-world-school/","https://naamhs.org.in/"],"building":["yes","house"],"school:gender":["male","female","mixed"]},"create":0,"modify":73,"delete":0,"area":75.9534948306411,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":98,"locale":"en","imagery":"CartoDB.Voyager","id":126602805}},{"id":126602758,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[77.3053079,8.7017964],[77.8077405,8.7017964],[77.8077405,8.9664612],[77.3053079,8.9664612],[77.3053079,8.7017964]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"NaanAvanIllai","uid":"14062769","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:29:23Z","reviewed_features":[],"tag_changes":{"email":["lrgscbse@gmail.com","rosemarybranch_school@yahoo.in"],"phone":["+91 73730 88826","+91 462 253 0837"],"amenity":["school"],"website":["https://iiplrgscbse.com/","https://rmn.rosemaryschools.com/"],"school:gender":["mixed"]},"create":0,"modify":7,"delete":0,"area":0.132976223592478,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":10,"locale":"en","imagery":"CartoDB.Voyager","id":126602758}},{"id":126602724,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[77.4308304,8.3315091],[77.8648627,8.3315091],[77.8648627,8.7142092],[77.4308304,8.7142092],[77.4308304,8.3315091]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"NaanAvanIllai","uid":"14062769","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:24:36Z","reviewed_features":[],"tag_changes":{"email":["info@scadinternationalschool.com"],"phone":["+91 76395 95000","+91 4637 271 377","+91 4634 250 450"],"amenity":["school"],"website":["https://www.scadinternationalschool.com/","https://danielthomasschool.org/","https://avrmvschool.in/"],"school:gender":["mixed"]},"create":0,"modify":7,"delete":0,"area":0.16610420461323,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":10,"locale":"en","imagery":"CartoDB.Voyager","id":126602724}},{"id":126602679,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[78.0855215,8.5866289],[78.0855215,8.5866289],[78.0855215,8.5866289],[78.0855215,8.5866289],[78.0855215,8.5866289]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"NaanAvanIllai","uid":"14062769","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:19:00Z","reviewed_features":[],"tag_changes":{"phone":["+91 4639 280 227"],"amenity":["school"]},"create":0,"modify":1,"delete":0,"area":0,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":1,"locale":"en","imagery":"CartoDB.Voyager","id":126602679}},{"id":126602556,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[78.0855215,8.5866289],[78.1474588,8.5866289],[78.1474588,9.9342368],[78.0855215,9.9342368],[78.0855215,8.5866289]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"NaanAvanIllai","uid":"14062769","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:07:33Z","reviewed_features":[],"tag_changes":{"email":["bmcschools@gmail.com"],"phone":["+91 452 269 4040"],"amenity":["school","college"],"school:gender":["mixed"]},"create":0,"modify":6,"delete":0,"area":0.0834671947846657,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":6,"locale":"en","imagery":"CartoDB.Voyager","id":126602556}},{"id":126602500,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[121.0176617,14.5569129],[121.0263884,14.5569129],[121.0263884,14.5611469],[121.0176617,14.5611469],[121.0176617,14.5569129]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"n1kn0k","uid":"867701","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #cyclofix","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:02:49Z","reviewed_features":[],"tag_changes":{"fixme":["Freeform used on 'bicycle_parking'-tag: possibly a wrong value"],"access":["yes"],"amenity":["bicycle_parking","bicycle_rental"],"covered":["no"],"capacity":["22","50","11","20"],"bicycle_parking":["informal"]},"create":11,"modify":11,"delete":2,"area":0.0000369488477999893,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/cyclofix.html","move":2,"theme":"cyclofix","answer":44,"locale":"en","imagery":"CartoDB.Voyager","deletion":2,"move:node/10050240351":"improve_accuracy","move:node/10050248822":"improve_accuracy","deletion:node/9470765280":"not found","deletion:node/10050255051":"duplicate","id":126602500}},{"id":126602489,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[78.0993036,9.9005654],[79.6920216,9.9005654],[79.6920216,11.6221892],[78.0993036,11.6221892],[78.0993036,9.9005654]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"NaanAvanIllai","uid":"14062769","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #education","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T05:01:02Z","reviewed_features":[],"tag_changes":{"amenity":["school"],"school:gender":["male","mixed","female"]},"create":0,"modify":8,"delete":0,"area":2.74206121548841,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/education.html","theme":"education","answer":8,"locale":"en","imagery":"CartoDB.Voyager","id":126602489}},{"id":126600747,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-111.898196,41.3207307],[-111.7810173,41.3207307],[-111.7810173,41.3797015],[-111.898196,41.3797015],[-111.898196,41.3207307]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"kevinp2","uid":"956637","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #maxspeed","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T01:53:17Z","reviewed_features":[],"tag_changes":{"highway":["secondary","tertiary"],"maxspeed":["40 mph","30 mph"]},"create":0,"modify":2,"delete":0,"area":0.00691012168196032,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/maxspeed.html","theme":"maxspeed","answer":3,"locale":"en","imagery":"osm","id":126600747}},{"id":126600715,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[1.4405203,43.6012759],[1.4420225,43.6012759],[1.4420225,43.6046044],[1.4405203,43.6046044],[1.4405203,43.6012759]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"GeoMechain","uid":"10398640","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #etymology","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T01:49:04Z","reviewed_features":[],"tag_changes":{"highway":["living_street"],"name:etymology:wikidata":["Q524840","Q707285"]},"create":0,"modify":5,"delete":0,"area":0.00000500007270000313,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/etymology.html","theme":"etymology","answer":7,"locale":"fr","imagery":"osm","id":126600715}},{"id":126600197,"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[-111.9239034,41.2363192],[-111.8264459,41.2363192],[-111.8264459,41.3061905],[-111.9239034,41.3061905],[-111.9239034,41.2363192]]]},"properties":{"check_user":null,"reasons":[],"tags":[],"features":[],"user":"kevinp2","uid":"956637","editor":"MapComplete 0.23.2","comment":"Adding data with #MapComplete for theme #maxspeed","comments_count":0,"source":"Not reported","imagery_used":"Not reported","date":"2022-09-25T00:46:57Z","reviewed_features":[],"tag_changes":{"highway":["secondary","tertiary"],"maxspeed":["40 mph","45 mph"]},"create":0,"modify":3,"delete":0,"area":0.00680948221975057,"is_suspect":false,"harmful":null,"checked":false,"check_date":null,"host":"https://mapcomplete.osm.be/maxspeed.html","theme":"maxspeed","answer":3,"locale":"en","imagery":"osm","id":126600197}}] \ No newline at end of file diff --git a/Logic/Actors/AvailableBaseLayersImplementation.ts b/Logic/Actors/AvailableBaseLayersImplementation.ts index 5a107d551..3eabfa29e 100644 --- a/Logic/Actors/AvailableBaseLayersImplementation.ts +++ b/Logic/Actors/AvailableBaseLayersImplementation.ts @@ -137,10 +137,13 @@ export default class AvailableBaseLayersImplementation implements AvailableBaseL l("Stamen.TonerBackground", "Toner Background - no labels (by Stamen)"), l("Stamen.Watercolor", "Watercolor (by Stamen)"), l("Stadia.OSMBright", "Osm Bright (by Stadia)"), + l("Stadia.AlidadeSmoothDark", "Alidade Smooth Dark (by Stadia)"), l("CartoDB.Positron", "Positron (by CartoDB)"), l("CartoDB.PositronNoLabels", "Positron - no labels (by CartoDB)"), l("CartoDB.Voyager", "Voyager (by CartoDB)"), l("CartoDB.VoyagerNoLabels", "Voyager - no labels (by CartoDB)"), + l("CartoDB.DarkMatter", "Dark Matter (by CartoDB)"), + l("CartoDB.DarkMatterNoLabels", "Dark Matter - no labels (by CartoDB)"), ] return Utils.NoNull(layers) } diff --git a/Logic/GeoOperations.ts b/Logic/GeoOperations.ts index b45f53626..80371f9af 100644 --- a/Logic/GeoOperations.ts +++ b/Logic/GeoOperations.ts @@ -13,7 +13,7 @@ import { Polygon, Properties, } from "@turf/turf" -import {GeoJSON, LineString} from "geojson"; +import {GeoJSON, LineString, Point} from "geojson"; export class GeoOperations { private static readonly _earthRadius = 6378137 @@ -27,8 +27,8 @@ export class GeoOperations { * Converts a GeoJson feature to a point GeoJson feature * @param feature */ - static centerpoint(feature: any) { - const newFeature = turf.center(feature) + static centerpoint(feature: any): Feature { + const newFeature : Feature = turf.center(feature) newFeature.properties = feature.properties newFeature.id = feature.id return newFeature diff --git a/Logic/SimpleMetaTagger.ts b/Logic/SimpleMetaTagger.ts index 2e2d257f0..33210ceaa 100644 --- a/Logic/SimpleMetaTagger.ts +++ b/Logic/SimpleMetaTagger.ts @@ -9,6 +9,7 @@ import LayerConfig from "../Models/ThemeConfig/LayerConfig" import { CountryCoder } from "latlon2country" import Constants from "../Models/Constants" import { TagUtils } from "./Tags/TagUtils" +import {Feature, LineString} from "geojson"; export class SimpleMetaTagger { public readonly keys: string[] @@ -420,6 +421,38 @@ export default class SimpleMetaTaggers { return true } ) + + private static directionCenterpoint = new SimpleMetaTagger( + { + keys:["_direction:centerpoint"], + isLazy: true, + doc: "_direction:centerpoint is the direction of the linestring (in degrees) if one were standing at the projected centerpoint." + }, + (feature: Feature) => { + if(feature.geometry.type !== "LineString"){ + return false + } + + const ls = > feature; + + Object.defineProperty(feature.properties, "_direction:centerpoint", { + enumerable: false, + configurable: true, + get: () => { + const centroid = GeoOperations.centerpoint(feature) + const projected = GeoOperations.nearestPoint(ls, <[number,number]> centroid.geometry.coordinates) + const nextPoint = ls.geometry.coordinates[projected.properties.index + 1] + const bearing = GeoOperations.bearing(projected.geometry.coordinates, nextPoint) + delete feature.properties["_direction:centerpoint"] + feature.properties["_direction:centerpoint"] = bearing + return bearing + }, + }) + + return true + } + ) + private static currentTime = new SimpleMetaTagger( { keys: ["_now:date", "_now:datetime", "_loaded:date", "_loaded:_datetime"], @@ -457,6 +490,7 @@ export default class SimpleMetaTaggers { SimpleMetaTaggers.country, SimpleMetaTaggers.isOpen, SimpleMetaTaggers.directionSimplified, + SimpleMetaTaggers.directionCenterpoint, SimpleMetaTaggers.currentTime, SimpleMetaTaggers.objectMetaInfo, SimpleMetaTaggers.noBothButLeftRight, diff --git a/Models/ThemeConfig/LayerConfig.ts b/Models/ThemeConfig/LayerConfig.ts index 389a7854f..b725ea4c2 100644 --- a/Models/ThemeConfig/LayerConfig.ts +++ b/Models/ThemeConfig/LayerConfig.ts @@ -371,7 +371,7 @@ export default class LayerConfig extends WithContextLoader { throw "Error in " + context + ": use 'filter' instead of 'filters'" } - this.titleIcons = this.ParseTagRenderings(json.titleIcons, { + this.titleIcons = this.ParseTagRenderings(json.titleIcons ?? [], { readOnlyMode: true, }) diff --git a/UI/BaseUIElement.ts b/UI/BaseUIElement.ts index ce720f957..a5541aa4d 100644 --- a/UI/BaseUIElement.ts +++ b/UI/BaseUIElement.ts @@ -148,7 +148,7 @@ export default abstract class BaseUIElement { } catch (e) { const domExc = e as DOMException if (domExc) { - console.log("An exception occured", domExc.code, domExc.message, domExc.name) + console.error("An exception occured", domExc.code, domExc.message, domExc.name, domExc) } console.error(e) } diff --git a/UI/Input/Checkboxes.ts b/UI/Input/Checkboxes.ts index 94e689935..1a9253263 100644 --- a/UI/Input/Checkboxes.ts +++ b/UI/Input/Checkboxes.ts @@ -8,7 +8,7 @@ import Translations from "../i18n/Translations"; export class CheckBox extends InputElementMap { constructor(el: (BaseUIElement | string), defaultValue?: boolean) { super( - new CheckBoxes([Translations.T(el)]), + new CheckBoxes([Translations.W(el)]), (x0, x1) => x0 === x1, (t) => t.length > 0, (x) => (x ? [0] : []) diff --git a/UI/LanguagePicker.ts b/UI/LanguagePicker.ts index 40c6531b0..84fb17467 100644 --- a/UI/LanguagePicker.ts +++ b/UI/LanguagePicker.ts @@ -10,16 +10,15 @@ import Toggle from "./Input/Toggle" export default class LanguagePicker extends Toggle { constructor(languages: string[], label: string | BaseUIElement = "") { + console.log("Constructing a language pîcker for languages", languages) if (languages === undefined || languages.length <= 1) { super(undefined, undefined, undefined) - return undefined + }else { + const normalPicker = LanguagePicker.dropdownFor(languages, label) + const fullPicker = new Lazy(() => LanguagePicker.dropdownFor(allLanguages, label)) + super(fullPicker, normalPicker, Locale.showLinkToWeblate) + const allLanguages: string[] = used_languages.languages } - - const allLanguages: string[] = used_languages.languages - - const normalPicker = LanguagePicker.dropdownFor(languages, label) - const fullPicker = new Lazy(() => LanguagePicker.dropdownFor(allLanguages, label)) - super(fullPicker, normalPicker, Locale.showLinkToWeblate) } private static dropdownFor(languages: string[], label: string | BaseUIElement): BaseUIElement { diff --git a/UI/Popup/FeatureInfoBox.ts b/UI/Popup/FeatureInfoBox.ts index bf40fd32d..be00c7cb9 100644 --- a/UI/Popup/FeatureInfoBox.ts +++ b/UI/Popup/FeatureInfoBox.ts @@ -248,31 +248,29 @@ export default class FeatureInfoBox extends ScrollableFullScreen { ) editElements.push( - new VariableUiElement( - state.featureSwitchIsDebugging.map((isDebugging) => { - if (isDebugging) { - const config_all_tags: TagRenderingConfig = new TagRenderingConfig( - { render: "{all_tags()}" }, - "" - ) - const config_download: TagRenderingConfig = new TagRenderingConfig( - { render: "{export_as_geojson()}" }, - "" - ) - const config_id: TagRenderingConfig = new TagRenderingConfig( - { render: "{open_in_iD()}" }, - "" - ) + Toggle.If(state.featureSwitchIsDebugging, + () => { + const config_all_tags: TagRenderingConfig = new TagRenderingConfig( + { render: "{all_tags()}" }, + "" + ) + const config_download: TagRenderingConfig = new TagRenderingConfig( + { render: "{export_as_geojson()}" }, + "" + ) + const config_id: TagRenderingConfig = new TagRenderingConfig( + { render: "{open_in_iD()}" }, + "" + ) - return new Combine([ - new TagRenderingAnswer(tags, config_all_tags, state), - new TagRenderingAnswer(tags, config_download, state), - new TagRenderingAnswer(tags, config_id, state), - "This is layer " + layerConfig.id, - ]) - } - }) - ) + return new Combine([ + new TagRenderingAnswer(tags, config_all_tags, state), + new TagRenderingAnswer(tags, config_download, state), + new TagRenderingAnswer(tags, config_id, state), + "This is layer " + layerConfig.id, + ]) + } + ) ) return new Combine(editElements).SetClass("flex flex-col") diff --git a/UI/Popup/TagApplyButton.ts b/UI/Popup/TagApplyButton.ts index 8d73e893a..df5d22f34 100644 --- a/UI/Popup/TagApplyButton.ts +++ b/UI/Popup/TagApplyButton.ts @@ -43,6 +43,38 @@ export default class TagApplyButton implements AutoAction { public readonly example = "`{tag_apply(survey_date=$_now:date, Surveyed today!)}`, `{tag_apply(addr:street=$addr:street, Apply the address, apply_icon.svg, _closest_osm_id)" + /** + * Parses a tag specification + * + * TagApplyButton.parseTagSpec("key=value;key0=value0") // => [["key","value"],["key0","value0"]] + * + * // Should handle escaped ";" + * TagApplyButton.parseTagSpec("key=value;key0=value0\\;value1") // => [["key","value"],["key0","value0;value1"]] + */ + private static parseTagSpec(spec: string): [string, string][]{ + const tgsSpec : [string, string][] = [] + + while(spec.length > 0){ + const [part] = spec.match(/((\\;)|[^;])*/) + spec = spec.substring(part.length + 1) // +1 to remove the pending ';' as well + const kv = part.split("=").map((s) => s.trim().replace("\\;",";")) + if (kv.length == 2) { + tgsSpec.push(<[string, string]> kv) + }else if (kv.length < 2) { + throw "Invalid key spec: no '=' found in " + spec + }else{ + throw "Invalid key spec: multiple '=' found in " + spec + } + } + + for (const spec of tgsSpec) { + if (spec[0].endsWith(":")) { + throw "The key for a tag specification for import or apply ends with ':'. The theme author probably wrote key:=otherkey instead of key=$otherkey" + } + } + return tgsSpec + } + public static generateTagsToApply(spec: string, tagSource: Store): Store { // Check whether we need to look up a single value @@ -51,19 +83,7 @@ export default class TagApplyButton implements AutoAction { spec = tagSource.data[spec.replace("$", "")] } - const tgsSpec = spec.split(";").map((spec) => { - const kv = spec.split("=").map((s) => s.trim()) - if (kv.length != 2) { - throw "Invalid key spec: multiple '=' found in " + spec - } - return kv - }) - - for (const spec of tgsSpec) { - if (spec[0].endsWith(":")) { - throw "A tag specification for import or apply ends with ':'. The theme author probably wrote key:=otherkey instead of key=$otherkey" - } - } + const tgsSpec = TagApplyButton.parseTagSpec(spec) return tagSource.map((tags) => { const newTags: Tag[] = [] diff --git a/UI/i18n/Translations.ts b/UI/i18n/Translations.ts index 6c5d5922d..f3757507e 100644 --- a/UI/i18n/Translations.ts +++ b/UI/i18n/Translations.ts @@ -41,7 +41,7 @@ export default class Translations { * translation.textFor("nl") // => "Nederlands" * */ - static T(t: string | any, context = undefined): TypedTranslation { + static T(t: string | undefined | null | Translation | TypedTranslation, context = undefined): TypedTranslation { if (t === undefined || t === null) { return undefined } @@ -51,7 +51,7 @@ export default class Translations { if (typeof t === "string") { return new TypedTranslation({ "*": t }, context) } - if (t.render !== undefined) { + if (t["render"] !== undefined) { const msg = "Creating a translation, but this object contains a 'render'-field. Use the translation directly" console.error(msg, t) diff --git a/assets/layers/filters/filters.json b/assets/layers/filters/filters.json index 8a915cd22..6d0e9c8e8 100644 --- a/assets/layers/filters/filters.json +++ b/assets/layers/filters/filters.json @@ -1,7 +1,7 @@ { "id": "filters", "description": "This layer acts as library for common filters", - "mapRendering": [], + "mapRendering": null, "source": { "osmTags": "id~*" }, @@ -94,4 +94,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/assets/layers/hotel/license_info.json b/assets/layers/hotel/license_info.json index 38f47cac6..8c176f524 100644 --- a/assets/layers/hotel/license_info.json +++ b/assets/layers/hotel/license_info.json @@ -1,7 +1,7 @@ [ { "path": "hotel.svg", - "license": "", + "license": "CC0", "authors": [ "Andy Allan", "Michael Glanznig", diff --git a/assets/layers/kerbs/kerbs.json b/assets/layers/kerbs/kerbs.json index 7385fe9e9..de1598680 100644 --- a/assets/layers/kerbs/kerbs.json +++ b/assets/layers/kerbs/kerbs.json @@ -58,6 +58,7 @@ } ], "tagRenderings": [ + "images", { "id": "kerb-type", "question": { @@ -373,4 +374,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/assets/layers/parcel_lockers/parcel_lockers.json b/assets/layers/parcel_lockers/parcel_lockers.json index 9ef7743c6..994abfba5 100644 --- a/assets/layers/parcel_lockers/parcel_lockers.json +++ b/assets/layers/parcel_lockers/parcel_lockers.json @@ -234,4 +234,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/assets/layers/parking_spaces/parking_spaces.json b/assets/layers/parking_spaces/parking_spaces.json index b9f3eaf81..5de8189b2 100644 --- a/assets/layers/parking_spaces/parking_spaces.json +++ b/assets/layers/parking_spaces/parking_spaces.json @@ -173,4 +173,4 @@ "width": "1" } ] -} +} \ No newline at end of file diff --git a/assets/layers/postoffices/postoffices.json b/assets/layers/postoffices/postoffices.json index aafe3503b..45a62b692 100644 --- a/assets/layers/postoffices/postoffices.json +++ b/assets/layers/postoffices/postoffices.json @@ -121,7 +121,7 @@ } ], "filter": [ - "open_now" + "open_now" ], "mapRendering": [ { @@ -145,4 +145,4 @@ "width": "1" } ] -} +} \ No newline at end of file diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json index 74a7f723f..7cd302946 100644 --- a/assets/layers/recycling/recycling.json +++ b/assets/layers/recycling/recycling.json @@ -1189,4 +1189,4 @@ "enableRelocation": false, "enableImproveAccuracy": true } -} +} \ No newline at end of file diff --git a/assets/layers/waste_disposal/waste_disposal.json b/assets/layers/waste_disposal/waste_disposal.json index 360e36ca7..73f150bc6 100644 --- a/assets/layers/waste_disposal/waste_disposal.json +++ b/assets/layers/waste_disposal/waste_disposal.json @@ -187,4 +187,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/assets/themes/width/icon.svg b/assets/themes/width/icon.svg new file mode 100644 index 000000000..7cf01e27b --- /dev/null +++ b/assets/themes/width/icon.svg @@ -0,0 +1,49 @@ + + + + + + + + diff --git a/assets/themes/width/license_info.json b/assets/themes/width/license_info.json new file mode 100644 index 000000000..20cd90555 --- /dev/null +++ b/assets/themes/width/license_info.json @@ -0,0 +1,8 @@ +[ + { + "path": "icon.svg", + "license": "CC0; trivial", + "authors": [], + "sources": [] + } +] \ No newline at end of file diff --git a/assets/themes/width/width.json b/assets/themes/width/width.json new file mode 100644 index 000000000..38d18a58d --- /dev/null +++ b/assets/themes/width/width.json @@ -0,0 +1,271 @@ +{ + "id": "width", + "description": { + "nl": "

De straat is opgebruikt

Er is steeds meer druk op de openbare ruimte. Voetgangers, fietsers, steps, auto's, bussen, bestelwagens, buggies, cargobikes, ... willen allemaal hun deel van de openbare ruimte en de straat.

In deze studie nemen we Brugge onder de loep en kijken we hoe breed elke straat is én hoe breed elke straat zou moeten zijn voor een veilig én vlot verkeer.

Legende

    Straat te smal voor veilig verkeer
    Straat is breed genoeg veilig verkeer
    Straat zonder voetpad, te smal als ook voetgangers plaats krijgen
    Autoluw, autoloos of enkel plaatselijk verkeer


Een gestippelde lijn is een straat waar ook voor fietsers éénrichtingsverkeer geldt.
Klik op een straat om meer informatie te zien." + }, + "title": { + "nl": "Straatbreedtes" + }, + "mustHaveLanguage": [ + "nl" + ], + "hideFromOverview": true, + "enableUserBadge": false, + "enableShareScreen": false, + "enableLayers": false, + "enableMoreQuests": false, + "enableSearch": false, + "enableBackgroundLayerSelection": false, + "icon": "./assets/themes/width/icon.svg", + "startLat": 51.20875, + "startLon": 3.22435, + "startZoom": 14, + "widenFactor": 0.05, + "clustering": false, + "lockLocation": [ + [ + 3.2006263732910156, + 51.22699040520305 + ], + [ + 3.2529830932617188, + 51.190748429411705 + ] + ], + "defaultBackgroundId": "Stadia.AlidadeSmoothDark", + "layers": [ + { + "id": "street_with_width", + "description": "A layer showing street with corresponding widths + an analysis of what this width is used for", + "name": { + "nl": "Straten met een breedte" + }, + "calculatedTags": [ + "_car_width:=2 /* The width that a single car needs */", + "_cyclistWidth:=1.5 /* The width a single cyclist needs to be safely overtaken */", + "_pedestrianWidth:=0.75 /* The width a pedestrian needs if sidewalks are missing */", + "_has_left_parking=(feat.properties['parking:lane:left'] ?? feat.properties['parking:lane:both']) === 'parallel'", + "_has_right_parking=(feat.properties['parking:lane:right'] ?? feat.properties['parking:lane:both']) === 'parallel'", + "_has_other_parking= ['parking:lane:left','parking:lane:right','parking:lane:both'].some(key => ['perpendicular','diagonal'].indexOf(feat.properties[key]) >= 0)", + "_parallel_parking_count=feat.get('_has_right_parking') + feat.get('_has_left_parking') /* in javascript logic: true + true == 2*/", + "_width:needed:parking=feat.get('_parallel_parking_count') * feat.get('_car_width')", + "_has_sidewalk_left=['left','both'].indexOf(feat.properties['sidewalk']) >= 0", + "_has_sidewalk_right=['right','both'].indexOf(feat.properties['sidewalk']) >= 0", + "_pedestrian_flows_in_carriageway= 2 - feat.get('_has_sidewalk_left') - feat.get('_has_sidewalk_right')", + "_width:needed:pedestrians=feat.get('_pedestrianWidth') * feat.get('_pedestrian_flows_in_carriageway')", + "_oneway_car=(feat.properties['oneway:motor_vehicle'] ?? feat.properties['oneway']) == 'yes'", + "_width:needed:cars=feat.get('_car_width') * (2 - feat.get('_oneway_car'))", + "_cycling_allowed=feat.properties.bicycle != 'use_sidepath' && feat.properties.bicycle!='no'", + "_oneway_bicycle=((feat.properties['oneway:bicycle'] ?? feat.properties['oneway']) == 'yes') && feat.properties['cycleway'] != 'opposite'", + "_width:needed:cyclists=feat.get('_cycling_allowed') ? (feat.get('_cyclistWidth') * (2 - feat.get('_oneway_bicycle'))) : 0", + "_width:needed:total:=feat.get('_width:needed:cars') + feat.get('_width:needed:parking') + feat.get('_width:needed:cyclists') + feat.get('_width:needed:pedestrians')", + "_width:difference:=feat.get('_width:needed:total') - feat.get('width:carriageway')", + "_width:difference:no_pedestrians:=feat.get('_width:difference') - feat.get('_width:needed:pedestrians')" + ], + "minzoom": 12, + "source": { + "osmTags": "width:carriageway~*" + }, + "title": { + "render": { + "nl": "{name}" + }, + "mappings": [ + { + "if": "name=", + "then": { + "nl": "Naamloos segment" + } + } + ] + }, + "tagRenderings": [ + { + "id": "carriageway_width", + "render": "Deze straat is {width:carriageway}m breed", + "question": "Hoe breed is deze straat?", + "freeform": { + "key": "width:carriageway", + "type": "distance", + "helperArgs": [ + 21, + "map" + ] + } + }, + { + "id": "too_little_width", + "render": "Deze straat heeft {_width:difference}m te weinig. De ruimte die nodig zou zijn is:", + "mappings": [ + { + "if": { + "or": [ + "_width:difference~-.*", + "_width:difference=0" + ] + }, + "then": "Deze straat is breed genoeg:" + } + ] + }, + { + "id": "needed_for_cars", + "render": "{_width:needed:cars}m voor het autoverkeer", + "mappings": [ + { + "if": "oneway=yes", + "then": "{_width:needed:cars}m voor het éénrichtings-autoverkeer" + }, + { + "if": "oneway=no", + "then": "{_width:needed:cars}m voor het tweerichtings-autoverkeer" + } + ] + }, + { + "id": "needed_for_parking", + "render": "{_width:needed:parking}m voor het geparkeerde wagens", + "condition": "_width:needed:parking!=0" + }, + { + "id": "needed_for_cyclists", + "render": "{_width:needed:cyclists}m voor fietsers", + "mappings": [ + { + "if": "bicycle=use_sidepath", + "then": "Fietsers hebben hier een vrijliggend fietspad en worden dus niet meegerekend" + }, + { + "if": "oneway:bicycle=yes", + "then": "{_width:needed:cyclists}m voor fietsers die met de rijrichting mee moeten" + } + ] + }, + { + "id": "needed_for_pedestrians", + "render": "{_width:needed:pedestrians}m voor voetgangers", + "condition": "_width:needed:pedestrians!=0", + "mappings": [ + { + "if": { + "or": [ + "sidewalk=none", + "sidewalk=no" + ] + }, + "then": "{_width:needed:pedestrians}m voor voetgangers: er zijn hier geen voetpaden" + }, + { + "if": { + "or": [ + "sidewalk=left", + "sidewalk=right" + ] + }, + "then": "{_width:needed:pedestrians}m voor voetgangers: er is slechts aan één kant een voetpad" + } + ] + }, + { + "id": "total_width_needed", + "render": "{_width:needed:total}m nodig in het totaal" + }, + { + "id": "has_sidewalks", + "condition": "id=disabled", + "question": { + "nl": "Heeft deze straat voetpaden?" + }, + "mappings": [ + { + "if": "sidewalk=both", + "then": { + "nl": "Voetpad aan beide zijden" + } + },{ + "if": "sidewalk=none", + "then": { + "nl": "Heeft géén voetpaden" + } + },{ + "if": "sidewalk=left", + "then": { + "nl": "Voetpad aan de linkerkant" + } + }, + { + "if": "sidewalk=right", + "then": { + "nl": "Voetpad aan de rechterzijde" + } + } + ] + } + ], + "mapRendering": [ + { + "location": [ + "point" + ], + "icon": "./assets/themes/width/icon.svg", + "iconSize": "40,40,center" + }, + { + "width": "4", + "color": { + "render": "#00f", + "mappings": [ + { + "if": { + "or": [ + "access=destination", + "highway=pedestrian", + "motor_vehicle=no", + "motor_vehicle=destination" + ] + }, + "then": "lightgrey" + }, + { + "if": { + "and": [ + "_width:difference!~-.*", + "_width:difference:no_pedestrians~-.*" + ] + }, + "then": "orange" + }, + { + "if": "_width:difference~-.*", + "then": "#0f0" + }, + { + "if": "_width:difference!~-.*", + "then": "#f00" + } + ] + }, + "dashArray": { + "render": "", + "mappings": [ + { + "if": { + "and": [ + "oneway=yes", + { + "or": [ + "oneway:bicycle=yes", + "oneway:bicycle=" + ] + } + ] + }, + "then": "5 6" + } + ] + } + } + ] + } + ] +} diff --git a/scripts/generateLicenseInfo.ts b/scripts/generateLicenseInfo.ts index c5e4e03ae..68cbd8ae9 100644 --- a/scripts/generateLicenseInfo.ts +++ b/scripts/generateLicenseInfo.ts @@ -261,7 +261,9 @@ function main(args: string[]) { mkdirSync("./assets/generated") } - let contents = ScriptUtils.readDirRecSync("./assets").filter( + let contents = ScriptUtils.readDirRecSync("./assets") + .filter(p => !p.startsWith("./assets/templates/")) + .filter( (entry) => entry.indexOf("./assets/generated") != 0 ) let licensePaths = contents.filter((entry) => entry.indexOf("license_info.json") >= 0)