Wenn ich das richtig verstehe, brauchst Du nur irgendwelchen Adressen, und davon viele…
Es ist ein bisschen schwierig, alle Adressdaten in eine Datei zu bekommen, die sind recht unterschiedlich eingetragen. Zum Beispiel hängt oft nicht die Postleitzahl am Node, sondern muss über eine “liegt innerhalb dieser Grenzen”-Abfrage ermittelt werden. Oft ist es auch kein einzelner Knoten, der die Hausnummer trägt, sondern eine Fläche… Dafür nimmt man geschickterweise eine echte Datenbank.
Wenn es aber auf Vollständigkeit nicht ankommt, sondern nur darum geht, irgendwelche Adressen zu bekommen, würde ich mir einfach die Einträge mit allen Daten raussuchen und den Rest wegwerfen…
Runterladen und Auspacken einer kleinen Beispieldatei:
wget http://download.geofabrik.de/europe/germany/bayern/schwaben-latest.osm.bz2
bunzip2 schwaben-latest.osm.bz2
Rausfiltern aller Objekte mit einer Hausnummer
osmfilter schwaben-latest.osm --keep="addr:housenumber" -o=hausnummern.osm
Alles zu Punkten machen und die relevanten Informationen als CSV rausschreiben, das Ergebnis ist eine TAB-getrennte Liste von lon lat und Adressen.
osmconvert hausnummern.osm --all-to-nodes --csv="@lon @lat addr:postcode addr:city addr:street addr:housenumber" --out-csv
Da kommt allerhand Müll mit raus, wo irgendwas fehlt (950000 Einträge). Wenn man da die Sätze rausfiltert, die alle 6 Spalten belegt haben, bleiben 100000 übrig. Hochgerechnet auf DE genug um “riesige Datenmenge” zu sein, hoffe ich.
Verwendete Software:
osmfilter http://wiki.openstreetmap.org/wiki/DE:Osmfilter
osmconvert http://wiki.openstreetmap.org/wiki/DE:Osmconvert
Ich hab aus Bequemlichkeit die .osm-Datei genommen, Du kannst mit osmconvert auch Deine pbf umwandeln. Vielleicht findest Du auch noch ein paar Optionen für die Programme um noch mehr Daten zu bekomme, wenn du schon die Gebrauchsanweisung der beiden Programme liest. Ich bin nicht sehr geübt im Umgang mit den beiden und kenne nur 3 oder 4 Optionen…
Grüße, Max