[OSM-talk-nl] Postcodes semi-automatisch toevoegen aan adrespunten

Frank Steggink steggink at steggink.org
Wed Feb 1 18:59:35 GMT 2012


On 1-2-2012 10:44, Ruud den Blanken wrote:
> Vorig jaar heb ik OSM rondom Gorinchem aangepast door panden en 
> adressen uit de BAG toe te voegen.
> Ik had ook de beschikking over postcodes maar die mochten vanwege 
> licentiebezwaren nog niet worden toegevoegd.
> Vandaag, per 1 februari 2012, mag het wel.
>
> De vraag is nu hoe ik dit het beste kan aanpakken.
> Alle adrespunten die ik wil uitbreiden met een "addr:postcode" tag, 
> hebben nu in principe al een tag "bag:vbo_id".
> Ik kan een lijst genereren van alle verblijfsobject_id's met 
> bijbehorende postcodes.
>
> Liefst zou ik hieruit een script met update-query's genereren die ik 
> kan loslaten op OSM.
> Ik maak voornamelijk gebruik van JOSM en kon geen plugins vinden die 
> in dit soort functionaliteit voorzien.
> Waarschijnlijk moet ik dit vanuit een andere invalshoek benaderen.
>
> Iemand hints hoe dit aan te pakken?
>
>
> Met vriendelijke groet,
>
> Ruud den Blanken
> Gorinchem
>
Hoi Ruud,

Zoals je weet, kun je niet zomaar een script met update-queries 
uitvoeren tegen de OSM-database aan ;) Je moet de adrespunten downloaden 
als OSM file, bewerken en vervolgens uploaden. Ik geloof niet dat er 
tools beschikbaar zijn om een "join" uit te voeren van OSM-data met een 
externe databron. Dit zou je moeten scripten.

Voor upload met JOSM kun je gebruik maken van het eigen file formaat: 
http://wiki.openstreetmap.org/wiki/JOSM_file_format . Dit lijkt erg op 
het standaard OSM XML-formaat. D.m.v. een action-attribuut kun je 
aangeven wat er met de data moet gebeuren. Voorbeeldje:
<node id='1608043892' action='modify' timestamp='2012-01-28T00:16:32Z' 
uid='210260' user='jotpe' visible='true' version='1' 
changeset='10517630' lat='52.3024097' lon='7.1756024'>
<tag k='bag:vbo_id' v='abcdef' />
<tag k='addr:housenumber' v='yyy' />
<tag k='addr:street' v='xxx' />
<tag k='addr:postcode' v='zzz' />
</node>

De attributen id, timestamp, uid, user, visible, version, changeset, lat 
en lot zijn standaard-attributen. Deze waren al aanwezig in de download. 
Het action-attribuut geeft aan dat de betreffende node moet worden 
geupdate. De tags geven aan welke tags de nieuwe versie moet hebben. Je 
kunt aan de tags niet zien welke nieuw is, dus je moet gewoon die van 
jou toevoegen.

BELANGRIJK: aangezien je bestaande data wijzigt, zorg ervoor dat je de 
bewerkingstijd zo kort mogelijk houdt! Het heeft dus de voorkeur om 
kleine gebieden tegelijk te updaten, omdat in theorie de kans aanwezig 
is dat anderen tussentijds de data bewerken. Je kunt de database immers 
niet freezen. Dit heeft als gevolg dat jij conflicten moet oplossen 
indien nodig. Dat is zonde van de tijd. Let er dan ook op dat je na een 
upload eerst nieuwe data downloadt, om eventuele wijzigingen mee te pakken.

Mogelijk is in jouw geval FME een optie. Ik ben niet bekend met de 
OSM-writer, maar als je zelf het action-attribuut in het node-element 
weet te krijgen i.p.v. als tag, dan zou het wel eens kunnen werken. De 
andere attributen moeten dan niet wijzigen. Als dit klaar is, zou je de 
wijzigingen met JOSM kunnen uploaden.

Groeten,

Frank




More information about the Talk-nl mailing list