Adressdefekte // processing pipeline - filtering Was: Adressen vervollständigen

Florian Lohoff f at zz.de
Mi Nov 28 15:31:46 CET 2018


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 at zz.de
        UTF-8 Test: The 🐈 ran after a 🐁, but the 🐁 ran away


Mehr Informationen über die Mailingliste OSM