DeusoftheWired
Fleet Admiral
- Registriert
- Juni 2009
- Beiträge
- 13.798
Hallihallo,
beim Abgleichen von zwei Adreßdatensätzen aus unterschiedlichen Quellen bin ich aufgrund der Größe beider Sätze mittlerweile an die Grenze des in vertretbarer Zeit händisch Machbaren gestoßen. Ohne viel Brimborium und etwas vereinfacht:
Satz 1:
Satz 2:
Das Ziel ist es, Satz 1 mit Satz 2 zu vergleichen und für eine passende einzigartige Adresse die ID in den Satz 1 zu übernehmen. Die ID ist dabei keine fortlaufende Nummer, sondern ein wichtiges technisches Merkmal, mit dem die Erkennung im Projekt steht und fällt.
Satz 1 stammt aus einer hoheitlichen Quelle, nämlich dem Vermessungsamt eines Bundeslandes, und ist dementsprechend die Referenz. Weniger als ein Jahr seit der Datenerhebung. Mittlere sechsstellige Zahl an Adressen.
Satz 2 stammt von einem hptsl. deutschen Konzern mit einem höheren zweistelligen Milliardenumsatz im Jahr 2016. Erhebungsdatum unbekannt, aber nicht älter als fünf Jahre. Höhere sechsstellige Zahl an Adressen.
Das Problem an der ganzen Sache ist nun, daß Satz 2 zwar weitgehend kompatibel mit Satz 1 ist, aber eben nur zu ca. 80 %. Die Nicht-Übereinstimmungen kommen vor allem durch Straßenumbenennungen, Gemeindeumstrukturierungen, Postleitzahlenänderungen und Gebietsreformen zustande, die zwar schon in Satz 1 aber noch nicht in Satz 2 vorhanden sind. Wichtiger Unterschied im Satz 2 ist außerdem, daß Straßennamen nicht ausgeschrieben, sondern auf eine mittlere zweistellige Zahl von Zeichen begrenzt sind. Die Entsprechung einer Professor-Konrad-von-Bergemann-Straße in Satz 1 ist also eine Prof.-K.-v.-Bergem.-Straße in Satz 2, um mal ein absichtlich krasses Beispiel zu wählen. Leider folgt die Einkürzung keinem maschinenerkennbaren Muster, sondern wird in Satz 2 immer von Menschenhand vorgenommen. Immerhin ist sie aber einheitlich, d. h., eine Straße mit einem bestimmten Namen wird in Satz 2 immer mit dem gleichen gekürzten Namen auftauchen. Die üblichen Sachen wie Kurze Gasse statt Kurzegasse oder Wilhelmsstieg statt Wilhelmstieg sind natürlich auch mit dabei.
Bisher habe ich den Spaß immer mit einem SVERWEIS in Excel gelöst, der den vollen Namen (PLZ&" "&Ort&" "&Straße&" "&Hausnummer&" "&Hausnummernzusatz) aus Satz 1 mit allen vollen Namen aus Satz 2 vergleicht und bei einer Übereinstimmung die ID in eine Zelle neben neben vollen Namen von Satz 1 schreibt. Die, die nicht zugeordnet werden konnten, wurden per Hand korrigiert, wofür meist zeitaufwändige Recherche zu Straßenumbenennungen, Gemeindeumstrukturierungen, Postleitzahlenänderungen und Gebietsreformen nötig war. Blieb aber immer noch im Rahmen. Beim aktuellen Projekt (und absehbaren noch größeren in Zukunft) ist das aber nicht mehr vertretbar, weshalb ich nach einer automatisierten Lösung suche.
Wie das ganze technisch umgesetzt wird, ist ziemlich egal, solange es auf einem zeitgemäßen Desktop-Office-Rechner mit Windows 7 lauffähig ist. RegEx in Notepad++, Excel, SQL, alles kein Problem. Freie/quelloffene Lösungen werden bevorzugt, aber es darf auch gern etwas Proprietäres und/oder Kostenpflichtiges im vierstelligen Rahmen sein. Eine Recherche zu Adreßdienstleistern hat bisher nur welche zu Tage gefördert, die Dubletten, Umzieher oder Ähnliches bereinigen, aber keinen Vergleich zwischen zweien anstellen.
Näheres gern auch per PN.
Grüße und schon mal Danke für eure Denkanstöße
beim Abgleichen von zwei Adreßdatensätzen aus unterschiedlichen Quellen bin ich aufgrund der Größe beider Sätze mittlerweile an die Grenze des in vertretbarer Zeit händisch Machbaren gestoßen. Ohne viel Brimborium und etwas vereinfacht:
Satz 1:
Code:
PLZ Ort Straße Hausnummer Hausnummernzusatz X-Koordinate Y-Koordinate
Satz 2:
Code:
PLZ Ort Straße Hausnummer Hausnummernzusatz ID
Das Ziel ist es, Satz 1 mit Satz 2 zu vergleichen und für eine passende einzigartige Adresse die ID in den Satz 1 zu übernehmen. Die ID ist dabei keine fortlaufende Nummer, sondern ein wichtiges technisches Merkmal, mit dem die Erkennung im Projekt steht und fällt.
Satz 1 stammt aus einer hoheitlichen Quelle, nämlich dem Vermessungsamt eines Bundeslandes, und ist dementsprechend die Referenz. Weniger als ein Jahr seit der Datenerhebung. Mittlere sechsstellige Zahl an Adressen.
Satz 2 stammt von einem hptsl. deutschen Konzern mit einem höheren zweistelligen Milliardenumsatz im Jahr 2016. Erhebungsdatum unbekannt, aber nicht älter als fünf Jahre. Höhere sechsstellige Zahl an Adressen.
Das Problem an der ganzen Sache ist nun, daß Satz 2 zwar weitgehend kompatibel mit Satz 1 ist, aber eben nur zu ca. 80 %. Die Nicht-Übereinstimmungen kommen vor allem durch Straßenumbenennungen, Gemeindeumstrukturierungen, Postleitzahlenänderungen und Gebietsreformen zustande, die zwar schon in Satz 1 aber noch nicht in Satz 2 vorhanden sind. Wichtiger Unterschied im Satz 2 ist außerdem, daß Straßennamen nicht ausgeschrieben, sondern auf eine mittlere zweistellige Zahl von Zeichen begrenzt sind. Die Entsprechung einer Professor-Konrad-von-Bergemann-Straße in Satz 1 ist also eine Prof.-K.-v.-Bergem.-Straße in Satz 2, um mal ein absichtlich krasses Beispiel zu wählen. Leider folgt die Einkürzung keinem maschinenerkennbaren Muster, sondern wird in Satz 2 immer von Menschenhand vorgenommen. Immerhin ist sie aber einheitlich, d. h., eine Straße mit einem bestimmten Namen wird in Satz 2 immer mit dem gleichen gekürzten Namen auftauchen. Die üblichen Sachen wie Kurze Gasse statt Kurzegasse oder Wilhelmsstieg statt Wilhelmstieg sind natürlich auch mit dabei.
Bisher habe ich den Spaß immer mit einem SVERWEIS in Excel gelöst, der den vollen Namen (PLZ&" "&Ort&" "&Straße&" "&Hausnummer&" "&Hausnummernzusatz) aus Satz 1 mit allen vollen Namen aus Satz 2 vergleicht und bei einer Übereinstimmung die ID in eine Zelle neben neben vollen Namen von Satz 1 schreibt. Die, die nicht zugeordnet werden konnten, wurden per Hand korrigiert, wofür meist zeitaufwändige Recherche zu Straßenumbenennungen, Gemeindeumstrukturierungen, Postleitzahlenänderungen und Gebietsreformen nötig war. Blieb aber immer noch im Rahmen. Beim aktuellen Projekt (und absehbaren noch größeren in Zukunft) ist das aber nicht mehr vertretbar, weshalb ich nach einer automatisierten Lösung suche.
Wie das ganze technisch umgesetzt wird, ist ziemlich egal, solange es auf einem zeitgemäßen Desktop-Office-Rechner mit Windows 7 lauffähig ist. RegEx in Notepad++, Excel, SQL, alles kein Problem. Freie/quelloffene Lösungen werden bevorzugt, aber es darf auch gern etwas Proprietäres und/oder Kostenpflichtiges im vierstelligen Rahmen sein. Eine Recherche zu Adreßdienstleistern hat bisher nur welche zu Tage gefördert, die Dubletten, Umzieher oder Ähnliches bereinigen, aber keinen Vergleich zwischen zweien anstellen.
Näheres gern auch per PN.
Grüße und schon mal Danke für eure Denkanstöße