[OSM-talk-nl] Huisnummers AND in Karlsruhe formaat

Freek freek_osm at vanwal.nl
Tue Jul 29 09:23:04 UTC 2008


Hoi,
Op talk at osm woedt alweer de zoveelste discussie over huisnummer-schema's [1], 
en wij zitten nog steeds met onze data van AND [2]. Omdat het mij leek dat 
het Karlsruhe schema [3] de grootste kans op succes (=gebruik) heeft, ben ik 
begonnen het AND conversie tool aan te passen om huisnummers uit te schrijven 
in dit formaat. Een eerste resultaat is hier te vinden:
http://www.vanwal.nl/osm/huisnummers_AND_Eindhoven.osm
(Deel van het centrum en noorden van Eindhoven, alleen huisnummers, andere 
data kan je er met JOSM zelf overheen laden. Als je graag een ander gebied 
ziet genereer ik die zo, gegeven een bounding box.)

Het grote voordeel van dit formaat voor ons (osm-nl) is dat de conversie 
onafhankelijk van de eerder geimporteerde data gegenereerd en geupload kan 
worden. Voor nadelen, zie o.a. de thread op talk [2]. Het belangrijkste 
nadeel voor de Nederlandse situatie lijkt me de hoeveelheid data: elke weg 
met huizen aan beide kanten zorgt voor twee nieuwe ways (om een indicatie te 
geven: heel Nederland genereerd een .osm-file van zo'n 300 a 400 MB). In mijn 
huidige versie wordt dan ook de naam van de straat (addr:street) en het 
AND_nosr_r veld herhaalt om de adressen later met de juiste weg te kunnen 
koppelen. Een alternatief zou zijn om relaties te gebruiken, maar dat zou nog 
meer data genereren, dus dat heb ik nog maar niet gedaan.

  Details van de conversie
De huidige implementatie verschuift de nodes van een weg met huisnummers naar 
links of rechts over een voorgedefinieerde afstand (op dit moment kan maar 
één van die twee gekozen worden, ik draai het tool twee keer en voeg de data 
samen). De weg wordt niet als geheel verplaatst (dat zou rare resultaten 
geven bij kronkelenende wegen), maar elke node op zich wordt verplaatst in de 
richting van de normaal op de hoek waar die node zit. Dit resulteert in 
netjes "geëxplodeerde" en "geïmplodeerde" wegen. Daarna wordt de weg aan 
beide uiteinden nog een beetje ingekort (weer met een vaste afstand) omdat 
dat in de meeste gevallen een resultaat geeft dat het meeste met de 
werkelijkheid overeen komt.

  Problemen/Hoe verder?
De huidige implementatie is niet perfect (en de gegenereerde data zal altijd 
nabewerking vergen), maar zoals je in bovenstaand voorbeeld kan zien ziet het 
er in de meeste gevallen al best aardig uit. Dingen die ik eventueel nog zou 
aanpassen als we echt met deze data willen gaan werken zijn
- simplificatie van de gegenereerde huisnummer-ways om de hoeveelheid 
nutteloze nodes een beetje in de perken te houden,
- verfijning van de gegenereerde tags (addr:range_odd en addr:range_even 
kunnen weg, AND_nosr_r moet misschien ook geprefixt worden, etc.).

Verder denk ik dat een eventuele import op twee manieren gedaan zou kunnen 
worden:
- Big bang, alles in één keer zoals met de originele AND import. Nadeel 
hiervan is dat het op sommige plaatsen misschien een beetje een rotzooitje 
kan worden door bijv. slechte conversie of bestaande data die is aangepast en 
de huisnummers niet meer netjes langs de straten lopen.
- Stuksgewijs, waarbij iedereen een gebiedje kan downloaden, bekijken, 
aanpassen en dan uploaden. Voordelen en nadelen worden als oefening voor de 
lezer gelaten ;-)

P.S. Ik wil hier best in Veenendaal of Baarn (maar dat duurt weer zo lang) met 
mensen over doorpraten, laat het even weten als je dat een goed idee lijkt.

[1] Begonnen met 
http://lists.openstreetmap.org/pipermail/talk/2008-July/028151.html
[2] http://wiki.openstreetmap.org/index.php/AND_Data/Spec#Roads_file
    (zie RD_23, hn#...)
[3] 
http://wiki.openstreetmap.org/index.php/Proposed_features/House_numbers/Karlsruhe_Schema

-- 
Freek




More information about the Talk-nl mailing list