Tagging van winkel-ketens

Nog een keer hetzelfde lijstje maar nu met het aantal winkels op OSM in de binnenstad toegevoegd (voor een enigszins arbitraire definitie van ‘binnenstad’):

  1. Amsterdam: Geheel (920).
  2. Rotterdam: Geheel (399).
  3. Den Haag: Geheel (569).
  4. Utrecht: Geheel (605).
  5. Eindhoven: Geheel (303).
  6. Tilburg: Bijna niet (39).
  7. Groningen: Geheel (498).
  8. Almere: Geheel (97).
  9. Breda: Geheel (277).
  10. Nijmegen: Geheel (356).
  11. Enschede: Geheel (306).
  12. Apeldoorn: Bijna niet (48).
  13. Haarlem: Geheel (418).
  14. Amersfoort: Geheel (292).
  15. Zaanstad (Zaandam): Geheel (83).
  16. Arnhem: Bijna niet (93).
  17. Haarlemmermeer (Hoofddorp): Geheel (136).
  18. 's Hertogenbosch: Geheel (474).
  19. Zoetermeer: Geheel (164).
  20. Zwolle: Geheel (280).
  21. Maastricht: Gedeeltelijk (73)
  22. Leiden: Geheel (363).
  23. Dordrecht: Gedeeltelijk (61).
  24. Ede: Bijna niet (33).
  25. Emmen: Bijna niet (19).

Opmerkingen:

  • Heeft Rotterdam echt zo weinig winkels? Alexandrium haalt misschien veel mensen weg uit de binnenstad. Of missen we winkels in osm?
  • Zelfde voor Almere. Shoppen alle Almeerders in Amsterdam?
  • 's Hertogenbosch heeft opvallend veel winkels voor de grootte van de stad.

Voeg Almelo maar toe aan je lijstje met bijna niet. Misschien is de gemeente Almelo niet zo groot, maar het centrum van Almelo is toch aardig groot.

Dit aantal klopt niet denk ik

Wat betekent “Geheel” in bovenstaand geval? Ik zie een heleboel winkels nog niet staan…

Hoe bepaal je de verhouding om tot die conclusie te komen? Vergeleken met de anderen? Misschien hebben die wel opvallend weinig winkels?

Klopt, dit moest 48 staan. Aangepast (zie ook hier).

ik heb een inschatting gemaakt aan de hand van hoeveel winkels ik langs het voetgangersdomein zie. In 's Hertogenbosch is het voetgangersdomein op de kaart vrijwel geheel omgeven door winkels.

Alleen Amsterdam, Den Haag, Utrecht en Groningen hebben meer winkels, in elk geval op de kaart. Er zijn dus een hoop grotere steden met minder winkels. Voorlopig weten we niet of dat iets is uit de werkelijkheid of uit de kaartdata, misschien een combinatie van beiden?

Hoi Math1985 ik ben ook wel benieuwd naar wanneer de winkels gemapt zijn. In Groningen liepen we daar vaak tegenaan. Een straat kan vol lijken, maar inmiddels totaal andere winkels en horeca bevatten. Is dat terug te vinden?

Ik meen me te herinneren dat ik ooit een kaart gezien heb waar per kleur op staat hoe lang geleden een object het laatst gewijzigd is. Ik kan hem nu alleen niet terugvinden.

Ik denk dat we inderdaad een last_checked veld of iets dergelijks op winkels moeten gaan toevoegen, zodat makkelijk te zien is wanneer voor het laatst gekeken is of een winkel nog bestaat.

N.a.v. de recente acties rondom Paul de Kantelaar kwam ik erachter dat bij het reverten van zijn changesets ook de onjuist gespelde naam van de EMTÉ supermarkt soms weer als Emté op de kaart stond. Waar mogelijk heb ik Richard erop gewezen, maar bij nader onderzoek kwam ik nog zo’n 30 andere plaatsen tegen waar de naam nog niet goed staat.

Wat doen we ermee? Gaan we die alsnog aanpassen, dwz. Emté → EMTÉ (ook in combinaties met een naam zoals “Emté Mensink” die dus “EMTÉ Mensink” zal moeten worden)?

Hier kun je alle nog te wijzigen zaken vinden.

In Enschede waar Paul actief was heb ik alle 3 verkeerd gespeld EMTÉ’s goed gezet. Bij slechts 1 daarvan had ik inderdaad het niet goed gerevert, bij de andere locaties heeft het nooit goed gestaan.
Waarschijnlijk komt dat doordat deze door anderen zijn toegevoegd nadat de mechanische edit is langsgeweest. Het lijkt me dus noodzakelijk om periodiek deze mechanische edit te blijven draaien.

Het blijkt dat er een hoop winkels (bijna 1500) zijn die met de ongeldige tags (want niet een Engelse key gebruikt) winkelnummer=* zijn gemarkeerd.
Dat moet shop:number=* worden.

Hier vind je ze allemaal.

Voor heel Nederland:

[out:json];
// fetch area “Nederland” to search in
{{geocodeArea:Nederland}}->.searchArea;
// gather results
(
  node["winkelnummer"](area.searchArea);
  way["winkelnummer"](area.searchArea);
);
// print results
out meta;
>;
out meta qt;

In een bbox:

[out:json];
// gather results
(
  node["winkelnummer"]({{bbox}});
  way["winkelnummer"]({{bbox}});
);
// print results
out meta;
>;
out meta qt;

Sommige staan er al heel lang (2009), andere zijn van recentere datum. Soms ook afkomstig van een grotere import waarbij klaarblijkelijk geen controle heeft plaatsgevonden op de juistheid van de keys.

Wat je kunt doen is bovenstaande query uitvoeren (en dan bv. niet met de query voor heel NL, maar de 2e versie waarmee je in je eigen buurt kunt zoeken) en dan de betreffende panden corrigeren. Dwz. verander winkelnummer=* in shop:number=*

We kunnen ook met een mechanical edit de hele zaak in een keer oplossen. Daar is op zich niets tegen, want voor onjuist gebruik van een sleutel (door bv. een typefout of andere vergissing bij een import), is dat de aangewezen manier.

Waarom niet gewoon ref?

Ik zal het er ook op de ref wiki pagina bijzetten, maar ref is niet alleen voor wegen. Zie bijvoorbeeld hier

Het staat nota bene zelfs al beschreven als gebruik voor winkelketens:

Dat vroeg ik me ook af, maar het gebruik van shop:number is al redelijk vaak gebruikt zoals je met deze query kunt zien:

[out:json];
(
  // query part for: “"shop:number"=*”
  node["shop:number"]({{bbox}});
  way["shop:number"]({{bbox}});
);
// print results
out meta;
>;
out meta qt;

Ik zal nog even zoeken naar de ref in combinatie met shop.

[out:json];
// gather results
(
  node["shop"]["ref"~"."]({{bbox}});
  way["shop"]["ref"~"."]({{bbox}});
);
// print results
out meta;
>;
out meta qt;

Hiermee zie je dat in Nederland het gebruik van ref maar 3 of 4 keer voorkomt, maar buiten Nederland is het gebruik van ref weer groter.
Ik voel ook meer voor die ref, want die wordt ook al voor een heleboel andere zaken gebruikt zoals jezelf al aangaf.
Dat betekent dat we ook nog de foutieve shop:number tagging moeten herstellen! :rage:

Ik heb sterk de indruk dat Albert Heijn (of liever iemand van hun PR afdeling) zelf goed is bezig geweest met alle AH’s in OSM te zetten. van daar dat ze redelijk consistent zijn in de benaming, compleet met website, openingstijden en andere gegevens. Ze zijn ook redelijk consistent met hun “winkelnummer” tag. Duidelijk geen standaard OSM tag maar iets wat te maken heeft met filliaalnummers van die winkelketen.

Ik heb ergens gelezen dat de gebruiker vrij is om zelf tags te verzinnen. De niet-standaard tags hebben alleen geen icoontjes op de kaart.

Me dunkt dat de tag winkelnummer de functionaliteit van OSM niet in de weg zit, en de functionaliteit niet in de weg staat. Het zou in de toekomst wel eens heel handig kunnen zijn als je op zoek bent naar een bepaald filiaal van de Albert Heijn. Ik zou ze laten staan.

Tags bestaan uit een key en een value.
Er is afgesproken dat de key in het Engels moet zijn. De value mag in iedere taal zijn.
De bedoeling daarvan is dat iedereen begrijpt wat wereldwijd wordt gemapt (alhoewel dat nog best vaak tot verwarring aanleiding geeft).

Zolang je niet weet waar winkelnummer voor bedoeld is kun je het niet zomaar omzetten.
Is het een intern nummer van de holding organisatie van de keten, een kvk nummer, een nummer op gemeentelijk niveau, …

Aangezien dit soort nummers mogelijk uit een import komen zou er documentatie voor kunnen zijn. Anders is de oorspronkelijke mapper wellicht nog actief en kan nagevraagd worden wat de bedoeling was van het nummer.

Ik zie in ieder geval dat OsmAnd de tag winkelnummer gebruikt om op de AH site winkelinformatie te tonen: https://github.com/brownsys/android-app-modes-osmand/blob/master/DataExtractionOSM/src/net/osmand/osm/util/AHSupermarketResolver.java
Dus bij omzetten is er een impact op tenminste 1 externe applicatie.

Al meen ik winkelnummer ook bij niet AH’s gezien te hebben. Maar dat zijn wellicht Gall&Gall’s die ook onder Ahold vallen…

Algemeen: Winkelnummer staan vaak op je kassabon.

Ik heb alle (1487) winkels (met een winkelnummer) in een database ondergebracht en grootgebruikers zijn AH (454), Gall & Gal (446) en Etos (397).

Het winkelnummer is (in mijn ogen) volstrekt onbelangrijk en een gevolg van het feit dat in de OSM database alles kan worden opgenomen. Voor sommige mappers is dat een reden om ook inderdaad alles op te nemen.
Gaat iemand ooit naar AH 1159? (Dat is het filiaal in Meppel in de Grote Akkerstraat).
Het nummer is alleen van belang voor AH zelf en wordt gebruikt voor interne bedrijfsvoering. En ik weet zeker dat AH daarbij geen gebruik maakt van OSM.

Met Overpass gecheckt: het is een prachtige tool. De meeste POI met winkelnummer zijn AH, G&G en Etos. Er zijn ook enkele restaurants (??) en losse nodes vlak bij een AH.

Niet overal gechecked, maar het is me opgevallen dat dit winkelnummer overeenkomt met de website van het filiaal : www.ah.nl/winkel/xxxx

En zal waarschijnlijk ook overeenkomen met wat er op de kassabon staat.