Winkelnummer tag onlogisch?

Ik was mijn dichtsbijzijnde Albert Heijn aan het bijwerken in MapComplete en toen viel mij daar het volgende op:

Er zijn zo’n 1200 winkels (supermarkten gok ik voornamelijk), enkel in nederland, die met de specifieke tag “winkelnummer” getagd zijn. (winkelnummer | Keys | OpenStreetMap Taginfo). Dit lijkt me een beetje onlogisch:

  1. De key is specifiek voor Nederland en de naam ervan is in het Engels
  2. De tag is niet gedocumenteerd; er bestaat geen wiki-pagina voor
  3. Voor dit soort referenties bestaat er al de veel gangbaardere tag “ref” en/of variaties daarop

Wat moeten we hiermee? We zouden bijvoorbeeld winkelnummer=1515 kunnen vervangen door ref=AH1515 voor Way: ‪Albert Heijn‬ (‪842112895‬) | OpenStreetMap, of dan toch maar proberen de tag wat “officiëler” te maken… Overigens is voor dit voorbeeld de referentie toch al aanwezig in de website-URL: Albert Heijn heeft voor elk winkelnummer een informatiepagina.

1 Like

Vraag het eens aan iemand die die nummers er bij zet. Deze is redelijk recent: Node History: ‪Albert Heijn to go‬ (‪11358359466‬) | OpenStreetMap

ref=AH1515

Dat zou dan ref=1515 moeten zijn, of als je hem wil namespacen, ref:shop=1515, maar dat is denk ik niet nodig.

winkelnummer lijkt me inderdaad geen geschikte tag-naam.

Er was ook ref:shop:num, maar die lijkt deprecated, met ref als voorgedragen vervanging.

winkelnummer is naar mijn idee niet goed, de wiki geeft:

Ideally, a key is one word, in lowercase, using British English if possible.

Taginfo laat zien dat winkelnummer er met “2 commits” in gekomen is maar dat het besef er wel is dat een alternatief beter is en dat opruimen langzaam gaat:

Bron: winkelnummer#chronology

Als je kijkt wat in combinatie met shop=* wordt gebruikt dan zijn er drie opties:

  • ref – 1419 in combinatie met shop=*
  • ref:storeid – 263 in combinatie met shop=*
  • ref:<bedrijf> – ~200 in combinatie met shop=*

Ik zou er wel voor voelen alles in één keer om te taggen.

Als ik winkelnummer=* tegen kom dan tag ik dat om naar ref=*. Om het in één keer om te taggen ben ik niet tegen, maar liever zou ik het handmatig langslopen. Bijvoorbeeld bij deze gevallen:
image

2 Likes

Punt was al eens eerder opgemerkt door @marczoutendijk

Zoals ook te lezen is, @Sander_H heeft gevonden dat winkelnummer ooit eens in OsmAND gekomen en wel via deze commit maar als ik de huidige OsmAND sources check dan is die code niet meer terug te vinden.

Over de oorsprong:

ik zag dat AH te checken is met ah.nl/winkel/, misschien geldt dat ook voor Gall&Gall en Etos. Ik zal eens kijken of ik er een script voor kan schrijven.

1 Like

Begonnen met een script en daar vielen als eerste de nodes en enkele ways uit met winkelnummer= maar zonder name=.

Die binnengeladen in josm en óf winkelnummer= verwijdert, óf de node compleet verwijderd óf samengevoegd met een shop.

https://overpass-api.de/achavi/?changeset=156150132

3 Likes

Een “AH shop resolver” staat daar, ben benieuwd wat daar de intentie van is, speciale code voor één specifieke winkelketen in Nederland (en eentje in België dacht ik).

@emvee bedankt dat je het zo gemakkelijk om wist te taggen, daar had ik nou om gehoopt toen ik dit topic maakte (ik kan wel programmeren maar heb nog nooit zo iets gedaan binnen OSM). Ik hoop wel dat de semi-automatische changeset niks heeft ‘gesloopt’.

En inderdaad @JeroenHoek de combi brand=“Albert Heijn” en ref=“1432” is duidelijk genoeg. Daar hoeft geen andere poespas als een AH-afkorting bij of ref:shop:num. Bedankt voor het meedenken.

Voor de gemelde changeset alles met de hand gecontroleerd. Dat wil niet zeggen dat het 100% goed is, ook ik maak zo af en toe fouten.

Ik wil het script wel nog uitbreiden om AH/Etos/G&G te checken tegen de website en als dat klopt winkelnummer omtaggen naar ref maar voor ik dat doe zal ik me hier nog melden.

Okee, top. Heel erg bedankt voor de inzet.

Volgende stap was nodes met winkelnummer= maar met een unieke naam, die alle handmatig nagekeken en winkelnummer kwam van óf een oude import (winkel overgegaan) of het was onduidelijk waar het vandaan kwam en in ieder geval niet terug te vinden.

38 nodes aangepast

Daarna blijven eigenlijk alleen AH/Etos/Gall&Gall over.

Voor AH is een winkelnummer op de site te vinden maar voor Etos + Gall&Gall heb ik het niet op de site kunnen vinden, dus mijn voorstel is voor Etos + Gall&Gall winkelnummer= te verwijderen. Ik heb diegene die de import van Etos/Gall & Gall 15 jaar geleden heeft gedaan via de changeset op dit topic gewezen.

Voor AH heb ik het script uitgebreid om het winkelnummer tegen https://www.ah.nl/winkel/<winkelnummer> te houden en dat vond in de 490 AH winkels met winkelnummer in OSM:

  • 37 winkelnummers zijn niet meer op de AH site terug te vinden? AH verdwenen?
  • 8 winkel missen adres gegevens
  • voor 18 winkels klopt het telefoon niet/niet meer
  • voor ~30 winkels stemt het huisnummer niet overeen
  • Enkele postcodes/straatnamen komen niet overeen

Voor details zie:

Lijst van gevonden problemen

Winkel 1617: n34044328 has no addr:street
Winkel 1617: n34044328 has no addr:housenumber
Winkel 1617: n34044328 has no addr:postcode
Winkel 1617: n34044328 has no addr:city
Winkel 1045: 2 (osm) != 2b (ah)
Winkel 8782: +31 183 408 410 (osm) != 0183409421 (ah)
Winkel 8689: n34044437 has no addr:street
Winkel 8689: n34044437 has no addr:housenumber
Winkel 8689: n34044437 has no addr:postcode
Winkel 8689: n34044437 has no addr:city
Winkel 8508: Burgemeester Magneestraat (osm) != Hof (ah)
Winkel 8508: 37 (osm) != 94 (ah)
Winkel 8508: 5571HB (osm) != 5571CA (ah)
Winkel 8511: +31 485 571 113 (osm) != 886588511 (ah)
Winkel 1214: n34044555 has no addr:housenumber
Winkel 1214: n34044555 has no addr:postcode
Winkel 1316: 3533GH (osm) != 3533GJ (ah)
Winkel 1467: 66 (osm) != 64 (ah)
Winkel 1533: n34044627 has no addr:street
Winkel 1533: n34044627 has no addr:housenumber
Winkel 1533: n34044627 has no addr:postcode
Winkel 1533: n34044627 has no addr:city
Winkel 8578: n34044631 has no addr:street
Winkel 8578: n34044631 has no addr:housenumber
Winkel 8578: n34044631 has no addr:postcode
Winkel 8578: n34044631 has no addr:city
Winkel 1393: 2 (osm) != 8 (ah)
Winkel 1474: 23 (osm) != 25 (ah)
Winkel 1626: n34044663 has no addr:housenumber
Winkel 8675: 1-3 (osm) != 13 (ah)
Winkel 1302: 149 (osm) != 149-1 (ah)
Winkel 1289: 65 (osm) != 65H (ah)
Winkel 1460: 116-124 (osm) != 116H (ah)
Winkel 8718: Nijkerk (osm) != Nijkerk Gld (ah)
Winkel 1602: n34044793 has no addr:housenumber
Winkel 1822: n34045486 has no addr:housenumber
Winkel 1402: Laan van Ouderzorg (osm) != Winkelhof (ah)
Winkel 1402: 2 (osm) != 29 (ah)
Winkel 1402: 2352HT (osm) != 2353TS (ah)
Winkel 5838: +31 513 650 359 (osm) != 0886714511 (ah)
Winkel 5814: +31 24 329 6060 (osm) != 0246714410 (ah)
Winkel 5804: +31 23 551 8744 (osm) != 0886711511 (ah)
Winkel 5805: +31 20 684 6544 (osm) != 0886713422 (ah)
Winkel 5820: +31 20 417 5275 (osm) != 0886714510 (ah)
Winkel 1328: 132 (osm) != 454H (ah)
Winkel 1328: 1054MJ (osm) != 1054JW (ah)
Winkel 1328: +31 20 612 3030 (osm) != 0206183065 (ah)
Winkel 5833: 1009 (osm) != 9 (ah)
Winkel 5833: +31 20 697 3132 (osm) != 0886711384 (ah)
Winkel 5821: +31 20 690 3964 (osm) != 0886714089 (ah)
Winkel 5608: 1 (osm) != 36 (ah)
Winkel 5840: +31 35 695 2361 (osm) != 0886714332 (ah)
Winkel 5809: +31 33 462 7744 (osm) != 0886712720 (ah)
Winkel 1623: 16 (osm) != 36 (ah)
Winkel 1547: 46 (osm) != 46A (ah)
Winkel 5801: +31 73 513 4953 (osm) != 0886714083 (ah)
Winkel 5816: +31 40 237 6060 (osm) != 0886713949 (ah)
Winkel 5803: n429798206 has no addr:street
Winkel 5803: n429798206 has no addr:housenumber
Winkel 5803: n429798206 has no addr:postcode
Winkel 5803: n429798206 has no addr:city
Winkel 5803: +31 43 310 0195 (osm) != 0886714301 (ah)
Winkel 5839: 3c (osm) != 32 (ah)
Winkel 5839: +31 71 514 0330 (osm) != 0886713270 (ah)
Winkel 1406: 139-155 (osm) != 139 (ah)
Winkel 5609: 47 (osm) != 46 (ah)
Winkel 1134: n1881461468 has no addr:street
Winkel 1134: n1881461468 has no addr:housenumber
Winkel 1134: n1881461468 has no addr:postcode
Winkel 1134: n1881461468 has no addr:city
Winkel 8616: 137 (osm) != 137A (ah)
Winkel 5812: 16A (osm) != 19B (ah)
Winkel 5812: +31 10 240 9402 (osm) != 0886714015 (ah)
Winkel 1068: 2741EB (osm) != 2741EC (ah)
Winkel 1519: 421-1 (osm) != 421 (ah)
Winkel 8634: 16 (osm) != 18 (ah)
Winkel 8634: 1018LV (osm) != 1018LW (ah)
Winkel 8542: 22 (osm) != 2022 (ah)
Winkel 5589: 2 (osm) != 1 (ah)
Winkel 4159: 5 (osm) != 45 (ah)
Winkel 1328: 454 (osm) != 454H (ah)
Winkel 5831: +31 26 370 1830 (osm) != 0886714056 (ah)
Winkel 4140: 62A02 (osm) != 62a (ah)
Winkel 5587: 4 (osm) != 2 (ah)
Winkel 5543: Smalhorst (osm) != Rijksweg A28 OZ (ah)
Winkel 5322: Dassenbaan (osm) != Rijksweg A50 (ah)
Winkel 5322: +31 486 463 774 (osm) != 0486462112 (ah)
Winkel 5595: 1-pomp (osm) != 1 (ah)
Winkel 5343: 1 (osm) != 2 (ah)
Winkel 5349: Rijksweg A1 (osm) != Rijksweg A1 55 (ah)
Winkel 5349: 5 (osm) != 55 (ah)

Naar die problemen wil ik wel eens kijken maar voor de overige wil ik winkelnummer= in één changeset omzetten naar ref=

Zolang je alle uitzonderingen los langsloopt, klinkt het als een prima plan!

qua Etos kan ik de ref wel terug vinden in de url, de laatste 4 nummers:

https://www.openstreetmap.org/node/467096134
https://www.etos.nl/winkels/amsterdam/jan-v-galenstraat-98-100-8411/

Maar ik heb verder geen api gevonden waar je dan ook iets kan met dat nummer. Dus wat mij betreft mag het weg.