Over het beschikbaar maken van postcode en gemeentenaam: de postcode wordt reeds meegegeven in de JSON bestanden en de gemeentenaam kan daaraan worden toegevoegd. Met twee regels code heb ik dat voor elkaar. Echter, daarbij moet ik wel de nodige extra checks inbouwen voor de gemeente-id en de naam en de mate waarin deze 1 op 1 matchen om ook hierin eenduidigheid te garanderen. Daarnaast biedt dit ook de mogelijkheid om een extra verwantschap tussen gemeente en postcode te bestuderen. Zoals ik uit de voorgaande mails begrepen heb matchen die niet overal. Dat zorgt voor gesplitste straten met potentieel andere schrijfwijzen. In de suggestie van Jo om iets met straat-relaties te doen kan dit punt ook voor problemen zorgen. Mijn import-script kan deze gevallen signaleren. Daarmee kan weer een aanvullend stuk zekerheid over de kwaliteit van de brondata worden ingebouwd.

In de discussie over discardable keys denk ik dat de sleutel ligt in het gebruik van de addr:flats tag die de lijst met busnummers/appartementnummers weergeeft. Het is namelijk die informatie die door de gebruikers echt gezien moet worden. Voor die functie is een discardable tag ook niet echt inzetbaar, juist omdat de informatie erin verborgen wordt voor de gebruiker. Met de lijst van busnr/apptnr is dat afgedekt. De rest kan dan inderdaad met een discardable key en wat mapCSS worden weergegeven.

De CRAB:huisnrlabel kan als als tag weggehaald worden uit de javascript. Voorlopig kan dit in de JSON blijven staan. Op die manier kan de informatie gebruikt worden door het script van Sander om verder gegevens aan elkaar te matchen. CRAB:message verdwijnt dus met het toevoegen van de addr:flats. CRAB-source heeft weinig inhoudelijke betekenis en kan met een discardable-tag worden vormgegeven met mapCSS ter ondersteuning bij het mappen. De fixme-tag inzetten bij specifieke herkomsten is ook een goed idee, denk ik.

Die afwijkende huisnummerlabels zijn toch iets bijzonders. Dat wijst toch op een vage integratie van verschillende databronnen. Mogelijk dat dat probleem verholpen wordt als alle gemeenten eenmaal hun adressenbestand gevalideerd hebben.

Het standaardiseren van de letters is een lastige kwestie. Die functie inbouwen in het importeer-script is misschien niet heel handig, omdat het matchen met OSM sowieso in de javascript gebeurt. Dit standaardiseren op 2 plaatsen regelen lijkt me zeer onhandig. Daarom ben ik voorstander van de gegevens uit het CRAB niet te standaardiseren naar al dan niet met hoofdletter bij het omzetten naar de JSON bestanden. Ik weet niet hoe consistent de gegevens in OSM zijn op dit punt. Als nu al in OSM beide varianten voor komen, dan zal dat ook in de toekomst mogelijk heel lastig te vermijden zijn, denk ik. Maar dat hangt dus af van de huidige status van OSM en die ken ik niet. Verder deel ik de visie van Sander op de schrijfwijze.

Het script dat Jo beschrijft om gemakkelijker de CRAB-gegevens te mergen met OSM lijkt mij ook zeer handig. Daarbij zou ik wel heel erg opletten met het inladen van informatie uit OSM in de laag die geïmporteerd wordt. Ook de tegenovergestelde handeling van het automatisch doorvoeren van informatie uit de import in de OSM-data-laag lijkt me 'gevaarlijk' omdat eventuele fouten dan weer lastig te spotten zijn. Een wizard die voor elk punt de match weergeeft en slechts een druk op de knop vereist om de tags over te laden lijkt me dan weer prima. Op welke manier zie jij die koppeling tussen de CRAB-adrespunten en de OSM-gebouwcontouren voor je?

Het tweede script vind ik lastiger. Het omzetten van de tags vind ik risicovol omdat op die manier een derde parse plaatsvindt. Er zijn nu al twee omzettingen: CRAB → JSON → JOSM. Ik denk dat die alternatieve tags beter in de javascript gerealiseerd kunnen worden. De associatedStreet-relatie is voor zover ik begrijp toch wat controversieel vanwege de toegevoegde complexiteit en de problemen van beginnende mappers met relaties. Hoewel ik de meerwaarde van een dergelijke relatie zeker zie, is dit ook een extra verwevenheid tussen de brondata en OSM die met de hoogste voorzichtigheid moet worden toegepast. Ook de opmerking van Sander over de potentieel verkeerde relaties lijkt me een aandachtspunt. Wanneer het script hiermee rekening houdt lijkt het me potentieel een zeer waardevolle toevoeging!

Ik ga nu mijn conversie-script aanpassen met de bovengenoemde wijzigingen mbt de tags en de extra informatie. Ik ga een stuk documentatie opstellen over de inhoud en de structuur van de JSON-bestanden zodat mensen die aan andere scripts werken die hierop aansluiten een duidelijke referentie hebben over het hoe en wat van de beschikbare data. Ik ga de extra controle inbouwen voor gemeente-postcode. Daarmee staat het conversie-script dan zo ongeveer op punt. Als dat eenmaal getest is plaats ik mijn conversiescript ook op github. Alle command-line interactie heb ik nu ook bijna op orde, waarmee het script ook geschikt wordt om het daglicht te zien...

Sander: de aanpassingen die je al maakte aan de website vind ik zeer geslaagd. De herbestemming van de Missing w/o pos lijkt mij ook positief. Een punt zonder locatie wordt al afgevangen door mijn conversiescript. Wat voorwaardelijke opmaak van de tabel kan er ook voor zorgen dat de “Wrong” kolom leeg blijft, tenzij er 1 of meer punten gevonden worden. Zo wordt het geheel wat rustiger en wordt tegelijkertijd de aandacht meer gevestigd op specifieke potentiële fouten in OSM. Het proces van de foute adrespunten inladen en OSM verbeteren staat immers wat los van de werkwijze van het toevoegen van nieuwe adrespunten. Door de opmaak echt te laten contrasteren kan daar alsnog de aandacht voor gevestigd worden. Lijkt het je wat om in elk geval die conditional rond die <a> toe te voegen? Het stylen is dan van ondergeschikt belang.

Ik regel ook de toegang voor je tot de repo.

Groeten,
Thomas

Sander Deryckere schreef op 28-10-2014 17:39:
Ik heb mij bezig gehouden met het maken van unit tests. De vele regexen zorgden vaak voor bugs die al eens vroeger opgelost waren.

Er is ondertussen ook ondersteuning voor "bis", "ter" en "/1", "/2", ... Ook straatnamen met een streepje verschil ("Sint-Jansstraat" en "Sint Jansstraat") worden nu vergeleken.

De dubbele huisnummers worden nu ook vergeleken op basis van het huisnrlabel (wat enkel zal werken met de data van Thomas). Een adres wordt dus als "matching" beschouwd indien het huisnummer van OSM overeenkomt met het huisnummer van CRAB, of met het huisnummerlabel van CRAB. Afhankelijk van de lokale situatie kan een mapper dan kiezen om meerdere samenvallende huisnummers te splitsen, of samen te laten. Beiden moeten herkend worden.

Thomas, aangezien het duidelijk is dat we met de adressenlijst gaan verder werken, zou ik commit access kunnen krijgen voor jouw repo? Dan kan ik verder werken met jouw data, en kan mijn adres gesloten worden. Ik denk om de no-position lijst te vervangen door een lijst van samenvallende adressen (a.d.h.v het huisnummerlabel eenvoudig te bepalen). Dat is net zoals vroeger, een simpele splitsing tussen de gemakkelijke gevallen en de moeilijke gevallen, wat de productiviteit enkel maar ten goede kan komen. Daarvoor is natuurlijk jouw data nodig.

Jo, een script dat straten met dezelfde naam zoekt is idd handig. Vooral met straten zonder adres valt dit moeilijk te controleren op de webpagina (tenzij ik een nieuwe overpass query maak, en de gebruikers nog wat langer moeten wachten). Dus is het maar al te gemakkelijk om bij een straat als "Guido Gezellestraat" de adressen met "G. Gezellestraat" te importeren. Dat is zeker iets wat we moeten voorkomen. Ik denk echter niet dat die associatedStreet relaties nodig zijn (en dan heb je ook de postcode niet nodig).

Groeten,
Sander

Op 28 oktober 2014 14:44 schreef Jo <winfi...@gmail.com <mailto:winfi...@gmail.com>>:

    > 2) CRAB:message. Deze bevat informatie over het al dan niet aanwezig zijn 
van
    busnummers en appartementnummers op dat specifieke adrespunt. Deze
    gegevens hoeven niet in OSM opgenomen te worden maar kunnen (zeker
    nu in de testfase) verhelderend werken.

        Er is een addr:flats tag die kan gebruikt worden (
        
http://wiki.openstreetmap.org/wiki/Key:addr:housenumber#Detailed_subkeys).
        Ik weet niet wat nu net het verschil is tussen een busnummer
        en een appartementsnummer, maar het is volgens mij objectieve,
        verifieerbare een geografische info, dus als die beschikbaar
        is, dan moeten we ze niet persé uit OSM weren.


    Het lijkt mij ook het beste om deze info te parsen en onder te
    brengen onder addr:flats, waarbij we geen onderscheid hoeven te
    maken tussen apartmentnrs of busnrs.

    Wellicht best wel sorteren en dan gescheiden door komma's zonder
    verdere spaties.

    Mijn eerste CRAB: crap is ondertussen (per ongeluk) doorgestuurd
    naar de server. Daar gaan zeker en vast nog meer ongelukken mee
    gebeuren.

    Verder werk ik aan een Pythonscript dat binnen JOSM werkt om te
    helpen bij het integreren van de CRAB-data met wat er reeds in OSM
    zit. Om zoveel mogelijk adressen automatisch te koppelen aan
    gebouwcontouren. Zo blijft er meer tijd over om de gebouwcontouren
    zelf dan nauwkeuriger in te tekenen.

    De MapCSS is bijna klaar.

    Ik heb ook een pythonscriptje gemaakt (eigenlijk Jython) dat
    jullie output omzet naar data met discardable tags en dat een
    associatedStreetrelatie aanmaakt. Waarbij hij ook meteen op zoek
    gaat naar straten met dezelfde naam.
    Het zou daarbij helpen om postcode en gemeente ook aangeleverd te
    krijgen in discardable tags.

    Jo

    _______________________________________________
    Talk-be mailing list
    Talk-be@openstreetmap.org <mailto:Talk-be@openstreetmap.org>
    https://lists.openstreetmap.org/listinfo/talk-be




_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-be

_______________________________________________
Talk-be mailing list
Talk-be@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-be

Reply via email to