Tagging rustpunt.nu locaties

De Rustpunten moeten toiletten bieden, en zitplaatsen voor een gezelschap, en ze verkopen ‘beverages and light meals and or snacks’. Het is allemaal kleinschalig, maar ze voldoen er wel aan, en de organisatie kontroleert erop.

2 Likes

Zeker goed uitgewerkt plan, ik zou wel graag iets willen zien van een (semi-)automatische herimport voor specifieke cases. Als er bijvoorbeeld de eigenaar aangeeft dat een rustpunt ermee stopt dan moet die eigenlijk direct automatisch verwijderd worden. We kunnen natuurlijk alles wel met de hand blijven doen, maar dat is op de lange termijn niet houdbaar en ik denk dat dit een mooie kans is om na te denken over integraties met organisaties/bedrijven over het beheren van alle filialen in OSM. Want als we daar nu niet over na denken zetten we over 10 jaar met achterhaalde POIs.

Ik heb automatisch verwijderen niet opgenomen, daar zitten teveel haken en ogen aan. Bijvoorbeeld, het kan een losse node zijn met alleen de standaard kenmerken eraan, maar het kan op basis van survey ook gemapt zijn als de polygoon van een bouwwerk, met of zonder de aparte voorzieningen die ofwel op de polygoon, ofwel apart als nodes of andere polygonen (shelter, picnic_site, picnic_table, toilet, bin,…) gemapt zijn. En dan kan het nog zijn dat de rustplaats blijft bestaan (bv als picknickplaats, maar alleen niet meer als door die stichting erkend Rustpunt.)

Al bij al is bij automatisch verwijderen het risiko gewoon te groot dat je ten onrechte informatie verwijdert.
Dus dat is nu voorzien als: bij een update van de dataset eerst bekijken welke punten niet meer in de dataset zitten maar wel in OSM, en die eerst goed verifiëren, vervolgens afhankelijk van de bevindingen ofwel alleen de Rustpunt-informatie verwijderen ofwel het hele gebeuren (bahalve als het op een object getagd is wat blijft bestaan).

De punten die al in OSM zitten worden ook niet automatisch bijgewerkt, want in pricipe is wat mappers in het veld tegenkomen en mappen nieuwere informatie. We hebben afgesproken belangrijke wijzigingen terug te koppelen naar de Rustpunt website.

Als laatste heb je dan toegevoegde punten, en daarover gaat het importvoorstel. Als dat eenmaal gebeurd is, zal het daarna periodiek om zo weinig toevoegingen gaan dat we het beste kunnen zeggen “wie gaat daar even kijken” en dan in 1x handmatig en volledig invoeren. We kunnen er ook een JOSM preset voor maken, maar voor mezelf vind ik dat nauwelijks de moeite waard.

Met deze automated edit kan ik instemmen, wellicht heb ik je (goede) voorstel niet goed genoeg gelezen. :expressionless:

1 Like

Mijn reactie was mogelijk te kort, laat ik het even iets uitgebreider uitleggen. Wat ik hieronder uitleg is niet iets was we zouden moeten doen voor de rustpunten aangezien de hoeveelheid data nog te beheren valt. Maar voor grotere imports zou ik het zo aanpakken:

Je moet het zo zien: Je hebt twee soorten data. Data van de mappers en data vanuit de data source (toegevoegd door de import).

Bij data heb je: aanmaken, lezen, updaten en verwijderen. Om de aangemaakte geïmporteerde data automatisch te kunnen updaten en verwijderen is het cruciaal om de twee soorten data apart te houden. Bijvoorbeeld met een id.

Op het moment dat een mapper een geïmporteerd object aanpast dan moet je vanaf dan het object behandelen als data toegevoegd door de mapper. En dus nooit meer automatisch aanpassen of verwijderen. Het object is dan afgesplitst van de source in niet meer in sync.

Dit kun je doen door bij het importeren ook het versie nummer van het object op te slaan als het nummer niet overeenkomt dan is het object geupdate door een mapper.

Als er een object toegevoegd wordt moet er eerst gekeken worden of dit object al in OSM staat. En mogelijk moet het object dan in sync gebracht worden met de data source en anders laat je het met rust.

Op deze manier voorkom je alle haken en ogen en behoud je het single source of truth principe zonder daarmee de vrijheid van mappers in te perken. En hou de data in sync met de source.

Op het moment dat er een wijziging of verwijdering is van een object die niet meer in beheer is van de datasource of het object is niet in sync met de datasource. Dan kan je een notitie plaatsen bij het object.

Om de bovenstaande strategie foutloos uit te kunnen voeren heb je eigenlijk een laag tussen de data source en de eindbestemming nodig. (En bijbehorende integratie SDK) Daar moet je dan de osm id + version koppelen met het id van de data source. Zo kan je bijvoorbeeld een delay toevoegen en de mechanische edits reviewen en objecten toevoegen aan de set van beheerde objecten.

1 Like

Ik ben het grotendeels met je eens, tegelijk denk ik dat de rustpunten-casus laat zien hoeveel haken en ogen er aanzitten. Ook interessant is de methodiek die Friso Smits in een tool gegoten heeft, Update knooppunten tool , die in feite hetzelfde probleem aanpakt. Misschien dat we deze diskussie -die natuurlijk al eerder gevoerd is, maar altijd aktueel blijft- apart moeten voeren.

Vooralsnog denk ik dat wb de rustpunten best veel van jouw gedachten aan de orde zijn geweest, bijvoorbeeld het koppelen dmv een unieke sleutel, detekteren van al bestaande objecten en bepalen wat je daarme doet, detekteren van objecten die uit de source wegzijn en bepalen wat je daarmee doet. En: hoe gaat het verder na de eerste import, hoe verifieren we het en wat doen we met latere mutaties.

Deze koppeling kun je eenvoudiger maken zonder externe database, namelijk door het id van de data source als tag op de OSM-changeset te specificeren. Dan kun je in OSM altijd achterhalen wat de laatste import was en wat de wijzigingen sinds de laatste import zijn.

In de jit.si ontmoeting vanmorgen zijn geen nieuwe punten ingebracht, dus we gaan ervoor!
Ik zal een wiki maken zoals dat hoort bij een import.
Voor de indeling per provincie heb ik een intekenlijstje gemaakt. Het staat in Het Dokument. Als het goed s kan iedereen daarin nu wijzigen, en het verzoek is om als je mee wil werken, zelf je naam achter de provincie(s) te zetten.

Wat er verwacht wordt:

  • de Rustpunten voor jouw provincie inlezen in JOSM
  • Een snelle kontrole of ze allemaal dicht genoeg bij het juiste adres staan (tot ca 30m); zo niet, schuiven tot het wél in de buurt is (exacte lokatie is voor de latere surveyronde)
  • Tagging aanpassen voor zover dat niet al in het geïmporteerde bestand geregeld was
  • Uploaden onder vermelding van de wikipagina (die ik nog moet maken, maar dat komt goed)
  • Inschatten hoeveel survey er op de weg nodig gaat zijn, en wat er vanuit de leunstoel goed genoeg is.
  • Na de import komt de survey voor de detaillering en de exakte positie (tot ca 6m). Daar moeten we nog over overleggen hoe we de voortgang erin houden.

@emvee ik stuur je even een PB, want ik merk dat ik wel erg gemakkelijk heb aangenomen dat jij van alles kan leveren…

Ook de wiki is hierin raadselachtig, maar wat is het verschil tussen:
self_service=yes
en
self_service=only

in “Het Document” zie ik ook nog staan:

website=url uit dataset
en
brand:website =https://www.rustpunt.nu/p_id=x
Volgens mij zijn die identiek.

Voor mij is self_service=yes, dat je zowel bediend kan worden als het zelf doen.
Bijv. bij AhtoGo kun je je aan de kassa laten helpen, maar je kunt ook dingen zelf pakken en zelf scannen.
De gewone supermarkt heeft vaak zelfscannen en ook nog kassa’s.
Dus self_service=yes in zo’n geval.

Bij self_service=only is het alleen mogelijk om je zelf te helpen. Je moet alles zelf doen.
Bijv. een AhtoGo met alleen zelf scannen, een automatisch tankstation.

1 Like

Bij Rustpunten mogen ze zelfs niet bedienen, hoorde ik van de beheerder van de site.

Raar, ik wist toch zeker dat ik het goed gedaan had… zo zie je maar. Toch even de wiki nagekeken:
“In case a feature is part of a brand/chain, brand:website=* can be used to specify the general website for the whole brand” Aangepast!

Dat was indertijd een eis van de gevestigde horeca, die concurrentie vreesde.

Begrijpelijk.
Mag ik jou noteren voor een provincie of regio, of heb je geen tijd / zin?

Het is alweer een tijd geleden dat dit speelde, we wachtten eigenlijk op de beheerder van de Rustpunten, die zou nog een serie “verre matches” beoordelen, maar daar hebben we niks meer van gehoord.
Inmiddels zijn er weer veel nieuwe Rustpunten bijgekomen in Zuid-Holland en Utrecht, ik kom ze ook tijdens fiets- en wandeltochten telkens tegen.

@emvee stelde mij per persoonlijk bericht voor om daar niet meer op te wachten en gewoon aan de slag te gaan. Ik ben helemaal voor.

Emvee’s script verwerkt het aktuele Rustepuntenbestand van hun site, en geeft

  1. Goede matches dwz OSM en het bestand geven het punt op korte afstand van elkaar
  2. Verre matches dwz OSM en het bestand geven hetzelfde rustpunt maar ze liggen vrij ver uit elkaar
  3. Verdwenen rustpunten, dwz OSM heeft ze maar het bestand niet (meer).
  4. Nieuwe rustpunten dwz OSM heeft ze niet maar het bestand wel.

Van 1 hebben we de afspraak dat wij de lokatie preciezer maken en dat terugkoppelen naar Rustpunt.nu, in ruil voor de toestemming om het bestand voor OSM te gebruiken.

2 ligt eraan dat de rustpuntensite niet precies genoeg is in de lokatiebepaling

Van 2 hadden we de afspraak dat Rustpunt.nu ze zou nakijken en verbeteren, heeft dat ook voor de helft gedaan maar er staan er nog open en hij lijkt het vergeten te zijn.

3 Emvee heeft die al uit OSM verwijderd. Als het niet (meer) in het bestand staat is het geen officieel rustpunt (meer).

4 kan geïmporteerd worden.

We hadden een plan om dit per provincie te doen, maar dat is extra werk wat Emvee en mij nu eigenlijk niet nodig lijkt. We kunnen ze gewoon allemaal importeren (de benodigde dokumentatie is er al, en vraagt maar een kleine aanpassing wb de afhandeling van de checks) en daarbij inbouwen dat ze gecheckt worden. De check houdt in dat de lokatie gepreciseerd wordt. Niet op het huisadres, maar ofwel de precieze plek ofwel de plek van het toegangsbord, ter beoordeling van de mapper.
De mapper kan ook bijkomende voorzieningen checken en aanvullen, maar dat is extra; lokatie is essentieel.

Dit kan met een Maproulette challenge, of met een overpass-query (als we afspreken welk kenmerk we daarvoor gebruiken, bijvoorbeeld check:date of een fixme.)

Voor toevoegingen in de toekomst heeft Emvee een mooie Maproulette challenge gemaakt op basis van een gpx die de toevoegingen bevat. Hij kan zijn script dan periodiek draaien en de gpx naar de challenge overzetten, waarna mappers ze kunnen afhandelen. We kunnen dat zo’n rondje in deze rubriek signaleren of aanvragen als iemand een nieuw Rustpunt tegengekomen is.

Vragen, opmerkingen, aanvullingen?

Bij afwezigheid van verdere op- en aanmerkingen kunnen we denk ik gaan uploaden. #gaanmetdiebanaan

Ik heb de import pagina bijgewerkt.

@emvee kan jij de url daarvan in de changeset van de upload meegeven?

Wat meer informatie over de keuze voor een Maproulette keuze.

Rond oktober vorig jaar had ik het .gpx bestand gevonden en een script gemaakt de punten te vergelijken met die al in OSM zitten en om er een .osm file te maken voor die punten die nog niet in OSM zitten. Die .osm file kan in Josm geladen kan worden en laat dan alle nieuwe punten en zo zomaar ingecheckt kunnen worden ware het niet dat met dat geen goed idee leek.

Recent kwam ik bij Maproulette de mogelijkheid tegen om een zogenaamde Cooperative Challenge te maken waarbij:

Data die zo ingecheckt zou kunnen worden wordt opgesplitst in taken waarbij de mappers niet al het werk vanaf nul zelf hoeven doen. Wanneer een mapper ervoor kiest om de taak in MapRoulette te bewerken, zal het het nieuwe object (een amentity=cafe in dit geval) in de editor van de mapper geladen waarna het gecontroleerd en bewerkt kan worden en daarna worden ingecheckt

@Peter_Elderson en ik hebben wat proefgedraaid voor Zuid-Holland, zie als voorbeeld daarvan bijv.

Op basis daarvan wil ik nu een “Cooperative Challenge” maken voor heel Nederland.

.

Oeps, we hadden even een misverstandje. We hebben nog wat overlegd. De Coöperatieve
MapRoulette challenge werkt prima en is heel nuttig voor het kompleet houden van de Rustpunten in OSM in de toekomst. Er komen komende tijd tientallen nieuwe Rustpunten aan.

Maar om er profijt van te hebben moeten OSM-gebruikers erop kunnen rekenen dat de meeste er inzitten. Dus we beginnen met een import, daarna de nacontrole planmatig opzetten. Dat kan ook met een (gewone) Maproulette challenge, of met een overpass-turbo query.

Mazzel is dat de kwaliteit van de data heel goed is, en op grote lokatie-afwijkingen wordt vooraf gecheckt. De nacontrole dient echt voor het fijnslijpen van de precieze lokatie: het zitje zelf, of de plek van de koffiekan, of de plek van het speciale rustpuntbord, dat is aan de mapper. De mapper mag er ook een closed way van maken als zhij dat beter vindt.

Import uitgevoerd, OSMCha
Met dank aan @emvee voor het voorbereidende werk en het maken van het .osm bestand.
Alles in één changeset, mocht er onverhoopt iets totaal mis zijn dan kan het in één keer teruggedraaid worden.

De website url van een aantal rustpunten was ongeldig, die heb ik vóór de upload handmatig verbeterd waar dat mogelijk was, en anders heb ik hem eruitgegooid.
De extra voorzieningen zijn als note opgenomen, en waar mogelijk ook naar tags omgezet:

  • Boerderijwinkel => shop=farm (ongeacht of ze kaas&zuivel dan wel groenten en fruit aanbieden)
  • Camping => tourism=camp_site
  • Camperplekken => tourism=caravan_site + motorhome=designated
  • B&B => tourism=guest_house

Vanaf vandaag start dus de nacontrole. Het zou fijn zijn als we dit binnen afzienbare tijd weg kunnen werken! Daarna komt het terugrapporteren aan Rustpunt.nu. We hebben toegezegd om locatiewijzigingen > 6 meter aan hen door te geven.

De nacontrole gaat hierom:

  1. De geolocatie verifiëren en indien mogelijk verbeteren. De mapper bepaalt zelf wat de beste plek voor de node is: het zitje, of de schuilplek, of waar de koffiekan staat, of de plek van het speciale Rustpuntbord. In ieder geval niet het woonhuis. Als het echt niet vast te stellen is, kan je een fixme zetten bv fixme=verify exact location.

  2. Check de note en kijk of de bijbehorende tags kloppen. Daarna de note weghalen.

  3. Zet check:date= . Dat zorgt ervoor dat de al gecheckte rustpunten uit de challenge of de overpass-query vallen.

Ik heb nog nooit een Maproulette challenge gemaakt, dus ik zal om te beginnen een overpass-query maken. Daarna eens kijken of het mij lukt een challenge aan te maken. Tenzij iemand mij voor is natuurlijk.