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
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-nl