Ich denke, an das Problem mit den Ortsnamen und den dazugehörigen Straßen müsste man anders heran gehen:
Beispiel jetzt für Deutschland:
Man bräuchte zunächst einen Datensatz, der alle Postleitzahlen und alle dazugehörigen Ortsnamen in Deutschland enthalt, mit einer Spalte für die PLZ und die nächste Spalte für den Ortsnamen.
Diese Daten dann so reduzieren, dass man alle mehrfach vorkommenden Ortsnamen löscht und die PLZ erstmal unter den Tisch fallen lässt. So bekommt man erstmal eine Liste mit allen postalisch vorhandenen Orten in Deutschland.
Das bedeutet: nur EIN einziger Eintrag für z.B. Berlin, Hamburg, Bremen, Bremerhaven, Düsseldorf, München etc.
Dann müsste man schauen, welche Orts-Relation man jedem einzelnen Ort laut Liste zuordnet.
Dann folgt die Straßenzuordnung
Wäre das experimentell machbar, probeweise mal nur für ein Bundesland innerhalb von Deutschland?