Adressen vervollständigen
Hi, wie wichtig erachtet ihr eigentlich das alle Adressen (node oder way) auch ein addr:postcode haben? Ich habe aus anderen gründen mir mal eine Auswertung geschrieben die einfach alle Adressen aus einem PBF als csv raus wirft. Man kann ja immer mal Adresslisten gebrauchen. Natürlich spiele ich gerade damit zu gucken sind die vollständig, d.h. sind addr:postcode und addr:city da, und vor allem - passen die zu den entsprechenden postcode und city boundarys. Dabei ist mir aufgefallen das scheinbar ein großteil z.b. von Bad Oeynhausen keinerlei postcodes trägt. Ich habe die bisher immer mitgetagged und auch addr:country wobei die wohl wirklich "obsolete" zu sein scheint - aber ich machs halt im moment. Flo -- Florian Lohoff f@zz.de UTF-8 Test: The 🐈 ran after a 🐁, but the 🐁 ran away
On Mon, Nov 26, 2018 at 09:30:56PM +0100, Florian Lohoff wrote:
Hi, wie wichtig erachtet ihr eigentlich das alle Adressen (node oder way) auch ein addr:postcode haben?
Wer mit den Daten für OWL mal spielen möchte: http://silicon-verl.de/home/flo/tmp/20181126-flo-adressen-owl.zip 548671 Adressen So sieht das aus: addr:postcode,addr:city,addr:street,addr:housenumber,lat,lon,node/way,osmid,postcodemp,citymp,, 33098,Paderborn,Marienplatz,2a,51.717383,8.752651,node,25906061,33098,Paderborn,, 33098,Paderborn,Am Busdorf,7,51.719169,8.760393,node,25906084,33098,Paderborn,, 33154,Salzkotten,Widey,11,51.698166,8.638948,node,26124823,33154,Salzkotten,, 32657,,Bahnhofsplatz,2,52.022491,8.895001,node,28384804,32657,Lemgo,, 33100,Paderborn,Detmolder Straße,75,51.732288,8.764805,node,31260704,33100,Paderborn,, 32130,Enger,Ringstraße,75,52.142784,8.555094,node,32243120,32130,Enger,, 32130,Enger,Ringstraße,75,52.142368,8.554363,node,32243122,32130,Enger,, Ich habe nur Adressen ausgegeben die wirklich addr:housenumber und addr:street haben. Ich habe gesehen das es auch ganze Dörfer gibt wo keine addr:street dran sind. Die sind natürlich absolut wertlos die Adressen. Die beiden letzten postcodemp und citymp sind die jeweiligen postcode und city namen aus den jeweiligen Multipolygonen. Die sollten gleich sein. Sind sie aber nicht immer. Auch so eine Untersuchungsmöglichkeit. Der nächste Schritt ist dann sowas wie addr:suburb noch dazuzunehmen und ggfs da dann admin_level=9/10 einzubeziehen. Flo -- Florian Lohoff f@zz.de UTF-8 Test: The 🐈 ran after a 🐁, but the 🐁 ran away
On Mon, Nov 26, 2018 at 10:19:16PM +0100, Florian Lohoff wrote:
On Mon, Nov 26, 2018 at 09:30:56PM +0100, Florian Lohoff wrote:
Hi, wie wichtig erachtet ihr eigentlich das alle Adressen (node oder way) auch ein addr:postcode haben?
Wer mit den Daten für OWL mal spielen möchte:
Also - Die updaten jetzt alle 2 Stunden in meiner normalen processing pipeline: https://osm.zz.de/static/addressextract/owl.zip Da ist jetzt jeweils das json und ein stderr file mit drin was den output vom processing enthält. Wer das filtern möchte - Die schnelle variante: Hier ist ein Perl script was ich benutze: https://raw.githubusercontent.com/flohoff/addressextract/master/addrfilter Braucht ein paar perl module sudo apt-get -fuy install unzip wget libfile-slurp-perl libjson-perl \ libarray-utils-perl libgetopt-long-descriptive-perl \ libmodern-perl-perl wget https://raw.githubusercontent.com/flohoff/addressextract/master/addrfilter chmod 755 addrfilter wget https://osm.zz.de/static/addressextract/owl.zip unzip owl.zip ./addrfilter -i owl.json -p 33334 -e -c >33334.errors.csv Dann kann man den json blob sauber filtern: Um z.b. nur die Fehler im postcode 33334 (im addr:postcode oder geometrie) zu bekommen. addrfilter [-ceip] [long options...] <some-arg> -i STR --input STR Input file -e --errors Only extract addresses with errors -p STR... --postcode STR... Extract only postcode -c --csv Output as csv --help print usage message and exit ./addrfilter -i owl.json -p 33334 -e -c >33334.errors.csv Wenn man kein "-c" angibt kommt halt wieder das json raus. Den postcode kann man mehrfach angeben. Das csv sollte jetzt halbwegs tun - Ich escape da einiges raus. Ich konnte jedenfalls OWL error addresses aufmachen. $ wc -l owl-all.csv owl-error.csv 551817 owl-all.csv 57531 owl-error.csv Finde ich schon erschreckend das mehr als 10% der Adressen einen wie auch immer gearteten defekt haben. Man kann jetzt diskutieren ob "10A" anstatt "10a" oder "10 A" anstatt "10a" ein wirklicher Fehler ist aber Nominatim nimmt das IIRC komplett als string. D.h. suche nach "10a" findet "10 A" eben nicht. Flo -- Florian Lohoff f@zz.de UTF-8 Test: The 🐈 ran after a 🐁, but the 🐁 ran away
On Mon, Nov 26, 2018 at 09:30:56PM +0100, Florian Lohoff wrote:
Hi, wie wichtig erachtet ihr eigentlich das alle Adressen (node oder way) auch ein addr:postcode haben?
Neuer Wurf - Dieses mal als json - Als CSV geht da zu viel kaputt in den Dateien - "," finden sich in addr:street, addr:city und vor allem addr:housenumber. So ist es sauber escaped: http://silicon-verl.de/home/flo/tmp/20181127-flo-addressen-owl.zip Ich ergänze mittlerweile suburb, county und city aus den geometrieen. Das ist noch nen bisschen Work in progress - Als unterscheidung für Kreisfreie Städte scheint es ein "de:place=city" vs "de:place=county" auf den Relationen zu geben. Das wird demnächst dann ausgewertet. Habe ich für die Kreisgrenzen von Höxter und Lippe ergänzt. Die anderen in OWL hatten das schon. Es kommt auch kein Fehler mehr wenn statt addr:street ein addr:place getagged ist (Das ist in Bosfeld so - Da gibts keinen Straßennamen). Ach ja - Weiss jemand die einwandfreie Schreibweise von Werther? Da passen viele Adressen nicht weil das mal "Werther" mal "Werther (Westf.)" und mal "Werther (Westfalen)" ist. Sollte IMHO ja zur relation passen. In Halle/Westf. gibts auch einige Adressen mit "Halle (Westfalen)" statt "Halle (Westf.)" Flo -- Florian Lohoff f@zz.de UTF-8 Test: The 🐈 ran after a 🐁, but the 🐁 ran away
participants (1)
-
Florian Lohoff