x

OSMSuspects - Qualitätssicherung Adressen (Deutschland)


Geschrieben von dooley (Gast) am 04. Oktober 2016 19:03:02: [flux]

Edit: Subjekt angepasst und direkter Link zur Webseite: https://osm-suspects.gbconsite.de eingefügt

Mir sind beim wochenendlichen Rumspielen mit der brandneuen PostgreSQL 9.6 und einem Datenextrakt der Geofabrik von Baden-Württemberg jede Menge fehlerhafte Adress-Einträge aufgefallen, welche durch eine regelmäßge Qualitätskontrolle sicherlich in den Griff zu bekommen wären. Ich habe jetzt nur die addr:city-Einträge geprüft.

Von Schreibfehlern angefangen "stutgart" statt "Stuttgart", Einträge von Stadtteilnamen als addr:city, "all-in-one"- Einträgen "79868 Feldberg (Schwarzwald) - Falkau", uneinheitliche Schreibweisen "Baden Baden" vs. "Baden-Baden" bis zu dem Oberhammer schlechthin: In Gschwend http://www.openstreetmap.org/relation/55190 sind über 500 Adress-Einträge mit addr:city "Geschwend" getaggt - man beachte das zusätzliche falsche "e" im Ortsnamen.

Ferner ist mir aufgefallen, das selbst innerhalb einer Stadt city und suburb unterschiedlich gehandhabt werden. Manche schreiben Stadt und Stadtteil in city rein, andere Stadt in city und Stadtteil in suburb (wie es IMHO richtig wäre).

Meiner Meinung nach muß hier dringend was passieren. Ich bin auch gerne bereit, soweit es meine Zeit und mein Wissen zulässt, bei so einem Projekt mitzuarbeiten.

Zur Info das verwendete SQL (auf das osm2pgsql-Schema):

SET␣max_parallel_workers_per_gather␣TO␣4;
WITH
x␣AS␣(
SELECT␣osm_id,␣tags␣->␣'addr:city'␣AS␣city,␣tags␣->␣'addr:postcode'␣AS␣postcode,␣tags␣->␣'addr:suburb'␣AS␣suburb␣FROM␣bawue_point␣WHERE␣tags␣->␣'addr:city'␣IS␣NOT␣NULL
UNION␣ALL
SELECT␣osm_id,␣tags␣->␣'addr:city'␣AS␣city,␣tags␣->␣'addr:postcode'␣AS␣postcode,␣tags␣->␣'addr:suburb'␣AS␣suburb␣FROM␣bawue_polygon␣␣WHERE␣tags␣->␣'addr:city'␣IS␣NOT␣NULL
)
SELECT␣DISTINCT␣ON␣(city,␣suburb)
count(*)␣AS␣count
,␣city␣AS␣"addr:city"
,␣suburb␣AS␣"addr:suburb"
,␣array_agg(DISTINCT␣postcode)␣AS␣"postalcodes"
--␣,␣json_object_agg('osm_id',␣osm_id)␣AS␣osm_ids
FROM␣x
GROUP␣BY␣city,␣suburb
ORDER␣BY␣city,␣suburb␣ASC;

Antworten: