Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sanitize street and house numbers #468

Merged
merged 7 commits into from
Jan 31, 2022

Conversation

steffenkleinle
Copy link
Member

Fixes #467

@steffenkleinle
Copy link
Member Author

steffenkleinle commented Jan 21, 2022

Log

| corresponds to separation between street, house number and additional address information

Good results (187)

Address of 'Elektro Hammer, Ebermannsdorf' changed to 'Untere Zell' from 'Untere|Zell'
Address of 'Gut Bohmerhof, Wackersberg' changed to 'Burgfrieden|20' from 'Burgfrieden|20-'
Address of 'HAIX Fabrikverkauf GmbH, Mainburg' changed to 'Ebrantshauser Straße|6a' from 'Ebrantshauser Straße 6a|6a'
Address of 'Isartaler Elektromarkt, Geretsried' changed to 'Bayerwaldstraße|3' from 'Bayerwaldstraße|3-'
Address of 'Klosterschänke Kloster Banz, Bad Staffelstein' changed to 'Kloster Banz' from 'Kloster|Banz'
Address of 'Leos Modellbahnstube, Siegelsdorf' changed to 'Fürther Str.|27 a' from 'Fürther Str. 27|a'
Address of 'NähArt !, Oberasbach' changed to 'Dresdener Str.|29 a' from 'Dresdener Str. 29|a'
Address of 'Optello-optik, Oberasbach' changed to 'Rothenburger Str.|62 b' from 'Rothenburger Str. 62|b'
Address of 'Optello-optik, Oberasbach' changed to 'Rothenburger Str.|62 b' from 'Rothenburger Str. 62|b'
Address of 'Reisebüro Mitterer, Straubing' changed to 'Dornierstraße|18 a' from 'Dornierstraße 18|a'
Address of 'Römische Thermen, Weißenburg i. Bay.' changed to 'Am Römerbad|17 a' from 'Am Römerbad 17|a'
Address of 'Schloss Seehof, Memmelsdorf' changed to 'Schloss Seehof' from 'Schloss|Seehof'
Address of 'See- und Warmbad Rottach-Egern, Rottach-Egern' changed to 'Nördliche Hauptstraße' from 'Nördliche|Hauptstraße'
Address of 'Zweck - Gardinen-Zubeh�r & Sonnenschutz, Amberg' changed to 'Lange Gasse' from 'Lange|Gasse'
Address of 'Kletterpark Prien am Chiemsee, Prien' changed to 'Harrasser Straße' from 'Harrasser|Straße'
Address of 'Seebad Tengling, Taching/Tengling' changed to 'Am Strandbad' from 'Am|Strandbad'
Postal code of 'Kletterpark Waldbad Anif, Anif' changed to 'null' from 'A-5081'
Address of 'Stadt Penzberg - Bergwerksmuseum, Penzberg' changed to 'Karlstr.|36|Rgb. Realschule' from 'Karlstr. 36/Rgb.|Realschule'
Address of 'Hallenbad Gerbrunn, Gerbrunn' changed to 'Kopernikusstraße|15 a' from 'Kopernikusstraße 15|a'
Address of 'Geisbergbad Veitshöchheim, Veitshöchheim' changed to 'Am Geisberg' from 'Am|Geisberg'
Address of 'Schwimmbad Albertshausen - Markt Reichenberg, Reichenberg' changed to 'Badstraße|12|Albertshausen' from 'Badstraße 12|Albertshausen'
Postal code of 'Campingwelt Stiller GmbH, Sonderhofen' changed to '97232' from '97232 Giebelstadt'
Address of 'Tierpark Sommerhausen, Sommerhausen' changed to 'An der Tränk' from 'An der|Tränk'
Address of 'Fichtelgebirgsmuseum Wunsiedel, Wunsiedel' changed to 'Spitalhof|5 - 7' from 'Spitalhof 5 -|7'
Address of 'Zweirad Schneider, Wunsiedel' changed to 'Kemnather Straße' from 'Kemnather|Straße'
Address of 'TSV Neudrossenfeld e.V., Neudrossenfeld' changed to 'Am Sportplatz' from 'Am|Sportplatz'
Address of 'Schulz-Radsportshop, Neuenmarkt' changed to 'Laubenstr.|3 und 5' from 'Laubenstr. 3 und|5'
Address of 'Landshuter Kurzfilmfestival, Landshut' changed to 'Am Alten Viehmarkt' from 'Am Alten|Viehmarkt'
Address of 'Zweirad-Center Stadler GmbH, Nürnberg' changed to 'Nopitschstr.|82' from 'Nopitschstr.82|null'
Address of 'BeautyCon Med Kosmetik, Schrobenhausen' changed to 'Bgm.-Stocker-Ring|11 a' from 'Bgm.-Stocker-Ring 11|A'
Address of 'Gebäudereinigung Lengler GmbH, Gachenbach' changed to 'Bachstraße|5 a' from 'Bachstraße 5|a'
Address of 'LEGOLAND Deutschland Freizeitpark GmbH, Günzburg' changed to 'LEGOLAND Allee' from 'LEGOLAND|Allee'
Address of 'Planungs- u. Sachverständigenbüro Aschenbrenner, Schrobenhausen' changed to 'Max-Emanuel-Straße|7 a' from 'Max-Emanuel-Straße 7|a'
Address of 'RUMINIY Raum und Idee, Schrobenhausen' changed to 'Bartengasse|2 - 4' from 'Bartengasse 2 -|4'
Address of 'Walter Spezial Damen- und Herrensalon, Neuburg/Donau' changed to 'Schrannenplatz|153 1/2' from 'Schrannenplatz 153|1/2'
Address of 'Wellnessträume Karin Aschenbrenner, Schrobenhausen' changed to 'Max-Emanuel-Straße|7 a' from 'Max-Emanuel-Straße 7|a'
Address of 'Beauty Lounge, Fürth' changed to 'Königstr.|5' from 'Königstr.5|null'
Address of 'Garbo - Altstadtkino, Regensburg' changed to 'Weißgerbergraben|11 a' from 'Weißgerbergraben 11|a'
Address of 'document Reichstag, Regensburg' changed to 'Altes Rathaus' from 'Altes|Rathaus'
Address of 'DEVK Geschäftsstelle Martin Herrmann, Regensburg' changed to 'Bischof-von-Henle-Straße|2 b' from 'Bischof-von-Henle-Straße 2|B'
Address of 'PETRA HOMEIER FOTOGRAFIE, Regensburg' changed to 'Hermann-Köhl-Straße|3 b' from 'Hermann-Köhl-Straße 3|B'
Address of 'Zweirad Ehrl GmbH, Regensburg' changed to 'Am Protzenweiher|5 - 7' from 'Am Protzenweiher 5 -|7'
Address of 'Theater rote Bühne, Nürnberg' changed to 'Vordere Cramergasse|11|RG' from 'Vordere Cramergasse 11 /|RG'
Address of 'Legoland Deutschland, Günzburg' changed to 'LEGOLAND Allee' from 'LEGOLAND|Allee'
Address of 'Museen der Stadt Nürnberg: Mittelalterliche Lochgefängnisse, Nürnberg' changed to 'Altes Rathaus' from 'Altes|Rathaus'
Address of 'Roither See, Mintraching' changed to 'bei Neuallkofen' from 'bei|Neuallkofen'
Address of 'Sarchinger See, Barbing' changed to 'zwischen Sarching und Friesheim' from 'zwischen Sarching und|Friesheim'
Address of 'KunstKulturQuartier Nürnberg KUNSTHALLE, Nürnberg' changed to 'Lorenzer Str.|32' from 'Lorenzer|Str.32'
Address of 'Herzwerk, Pfaffenhofen' changed to 'Scheyerer Str.|3' from 'Scheyerer|Str.3'
Address of 'Turm der Sinne, Nürnberg' changed to 'Kappengasse / Ecke Westtor' from 'Kappengasse / Ecke|Westtor'
Address of 'Tonstudio- und Musikhaus MARTIN, Bad Reichenhall' changed to 'Frühlingstr.|101 + 103' from 'Frühlingstr. 101 +|103'
Address of 'Thomas Huss Autohas und Kfz-Werkstatt, Piding' changed to 'Salzburger Str.|12 a' from 'Salzburger Str. 12|a'
Address of 'DIE BRILLE Augenoptik GmbH, Schweinfurt' changed to 'Albrecht-Dürer-Platz|2 1/2' from 'Albrecht-Dürer-Platz 2|1/2'
Address of 'Tauchshop u. Tauchschule W. u. G. Knorr GbR, Bergrheinfeld' changed to 'Schweinfurterstr.|32 a' from 'Schweinfurterstr. 32|a'
Address of 'Möbelhaus Andreas Mager, Schweinfurt' changed to 'Wolfsgasse|22 - 26' from 'Wolfsgasse 22 -|26'
Address of 'Photo Porst Fachgeschäft, Schweinfurt' changed to 'Markt|12 - 18' from 'Markt 12 -|18'
Address of 'IT Solutions Winter, Euerbach' changed to 'Hauptstr.|55 a' from 'Hauptstr. 55|a'
Address of 'Karosseriebau Uwe Müller, Grettstadt' changed to 'Bahnhofstr.|40 a' from 'Bahnhofstr. 40|a'
Address of 'KREIS DIE FRISEURE, Schweinfurt' changed to 'Seestr.|1 1/2' from 'Seestr. 1|1/2'
Address of 'Friseursalon Treffpunkt Haarpflege, Bergrheinfeld' changed to 'St.-Georgen-Straße|2 a' from 'St.-Georgen-Straße 2|a'
Address of 'REICHERT Möbelwerkstätte GmbH, Bürgstadt' changed to 'Freudenberger Str.|56 - 58' from 'Freudenberger Str. 56 -|58'
Address of 'Alexander Schüßler - Die Traditionsmetzgerei, Elsenfeld' changed to 'Erlenbacher Str.|25 - 46' from 'Erlenbacher Str. 25 -|46'
Address of 'Uhren-Schmuck Fornahl, Ansbach' changed to 'Uzstraße|25 u. 29' from 'Uzstraße 25 u.|29'
Address of 'Die Vitalpraxis, Peißenberg' changed to 'Rigistr.|13 a' from 'Rigistr. 13|a'
Address of 'Wellness-Massagen und Kosmetikstudio Irina Maltsev, Ergolding' changed to 'Industriestr.|7' from 'Industriestr.7|null'
Address of 'Freibad Obersüßbach, Obersüßbach' changed to 'Weinbergsiedlung|1' from 'Weinbergsiedlung1|null'
Address of 'Fitness-Zentrum Get Well, Georgensgmünd' changed to 'Pleinfelder Str.|68 d' from 'Pleinfelder Str. 68|d'
Address of 'Hallenschwimmbad des Schulverbandes Faulbach, Faulbach' changed to 'Speckspitze|12 a' from 'Speckspitze 12|a'
Address of 'Brauerei Müllerbräu GmbH & Co. KG, Pfaffenhofen' changed to 'Kellerstraße|25|Rampe' from 'Kellerstraße 25|(Rampe)'
Address of 'Dauphin-Druck GmbH, Großheubach' changed to 'Auweg|23 a' from 'Auweg 23|a'
Address of 'Drachenstube, Ebersberg' changed to 'Eberhardstraße|6 a' from 'Eberhardstraße 6|A'
Address of 'Wolfstetter - Intersport -Sporthaus, Obernburg a.Main' changed to 'Römerstraße|2 a' from 'Römerstraße 2|a'
Address of 'AWO Seniorenzentrum Kirchseeon, Kirchseeon' changed to 'Am Dachsberg|1 - 3' from 'Am Dachsberg 1 -|3'
Address of 'Moser Trachten GmbH, Erding' changed to 'Johann-Auer-Str.|2 - 4' from 'Johann-Auer-Str. 2 -|4'
Address of 'DEVK Versicherungen Zöller, Aschaffenburg' changed to 'Würzburgerstr.|27' from 'Würzburgerstr.27|null'
Address of 'Intersport Leister, Aschaffenburg' changed to 'Goldbacher Str.|2' from 'Goldbacher|Str.2'
Address of 'Kirchliche Bücherei St. Michael, Aschaffenburg' changed to 'Schulstr.|42' from 'Schulstr.42|null'
Address of 'Krainz Hörgeräte Aschaffenburg, Aschaffenburg' changed to 'Weißenburger Str.|20' from 'Weißenburger|Str.20'
Address of 'Tanzsportclub "Schwarz-Gold" Aschaffenburg, Aschaffenburg' changed to 'Lange Str.|7' from 'Lange|Str.7'
Address of 'Udo Gentil Bike Depot, Aschaffenburg' changed to 'Würzburger Str.|64' from 'Würzburger|Str.64'
Address of 'Recknagel GmbH, Obernburg a.Main' changed to 'Römerstr.|14 - 16' from 'Römerstr. 14 -|16'
Address of 'THERME ERDING, Erding' changed to 'Thermenallee|1 - 5' from 'Thermenallee 1 -|5'
Address of 'Event3, Kirchzell' changed to 'Forsthausenstr.|6' from 'Forsthausenstr.6|null'
Address of 'Fliesen Strauß, Wallerstein' changed to 'Hermann-Ritzer-Str.|7 a' from 'Hermann-Ritzer-Str. 7|a'
Address of 'Ristorante Buonissimo, Asbach-Bäumenheim' changed to 'Bürgermeister-Müller-Str.|2 a' from 'Bürgermeister-Müller-Str. 2|a'
Address of 'Cibi & Bontá Cantatore GmbH, Asbach-Bäumenheim' changed to 'Bürgermeister-Müller-Str.|2 b' from 'Bürgermeister-Müller-Str. 2|b'
Address of 'die gesundheitstrainer, Großheubach' changed to 'Auweg|23 b' from 'Auweg 23|b'
Address of '4 SELLERS logic-base GmbH, Rain am Lech' changed to 'Nelkenweg|6 a' from 'Nelkenweg 6|a'
Address of 'Heller & Straulino Regeltechnik GmbH, Donauwörth' changed to 'Zirgesheimer Str.|31 b' from 'Zirgesheimer Str. 31|B'
Address of 'Bücher Lehmann, Nördlingen' changed to 'Schrannenstr.|8 a' from 'Schrannenstr. 8|A'
Address of 'Merkle Druck + Service GmbH & Co. KG, Donauwörth' changed to 'Kaiser-Karl-Str.|3 a' from 'Kaiser-Karl-Str. 3|A'
Address of 'WEIN-ENGELHARDT, Nördlingen' changed to 'Augsburger Str.|59 b' from 'Augsburger Str. 59|B'
Address of 'Trachtenhof Nübler Würzburg, Würzburg' changed to 'Gerberstr.|19|Eingang Pleichtorstraße' from 'Gerberstr. 19 (Eingang|Pleichtorstraße)'
Address of 'Zimmerei - Holzbau Volker Spenninger, Monheim' changed to 'Donauwörther Str.|61 b' from 'Donauwörther Str. 61|B'
Address of 'Kletterwald Prien am Chiemsee, Prien am Chiemsee' changed to 'Harrasserstraße|39 +49' from 'Harrasserstraße 39|+49'
Address of 'Trucker Akademie GmbH, Taufkirchen' changed to 'Ludwig Bölkow Allee|40 a' from 'Ludwig Bölkow Allee 40|a'
Address of 'Kreisjugendring Erding, Erding' changed to 'Lange Zeile|10|Innenhof' from 'Lange Zeile 10|(Innenhof)'
Address of 'Markt Essenbach Freibad Ahrain, Essenbach' changed to 'Badstraße|22 a' from 'Badstraße 22|a'
Address of 'KUF/2: Erfahrungsfeld zur Entfaltung der Sinne, Nürnberg' changed to 'An der Wöhrder Wiese, unterhalb des Prinzregentenufers' from 'An der Wöhrder Wiese, unterhalb des|Prinzregentenufers'
Address of 'Autoschilder Christoph Kroschke GmbH, Traunstein' changed to 'Industriestraße|2|Zugang über Kotzinger Straße 6 - ZLS' from 'Industriestraße 2 (Zugang über Kotzinger Straße 6 -|ZLS)'
Address of 'Kroschke GmbH Servicepartner für Kfz Schilder und mehr, Weilheim' changed to 'Stainhartstr.|5 b' from 'Stainhartstr. 5|b'
Address of 'Museum für Franken, Würzburg' changed to 'Festung Marienberg' from 'Festung|Marienberg'
Address of 'Stadtkasino Stadt Würzburg, Würzburg' changed to 'Rückermainstr.|2|1. OG' from 'Rückermainstr. 2; 1.|OG'
Address of 'Optik Seidel, Poing' changed to 'Alte-Gruber-Straße|2 - 4' from 'Alte-Gruber-Straße 2 -|4'
Address of 'Gärtnerei Clemens Friedrich, Marktleugast' changed to 'Siedlungsstraße|1|Hohenberg' from 'Siedlungsstraße 1 -|Hohenberg'
Address of 'SK Colours, Neudrossenfeld' changed to 'Hauptstr.|8|Waldau' from 'Hauptstr. 8 /|Waldau'
Address of 'Soccerpark Rehling GmbH, Rehling' changed to 'Auer Bergstraße' from 'Auer|Bergstraße'
Address of 'Salatblatt, Augsburg' changed to 'Fuggerstr.|12 a' from 'Fuggerstr. 12|a'
Address of 'Jüdisches Kulturmuseum Augsburg Schwaben, Augsburg' changed to 'Halderstr.|6 - 8' from 'Halderstr. 6 -|8'
Address of 'Agentur EMV, Augsburg' changed to 'Mittelstr.|2 a' from 'Mittelstr. 2|a'
Address of 'Stadt Augsburg Forstverwaltung – Waldpavillon, Augsburg' changed to 'Ilsungstraße|15 a' from 'Ilsungstraße 15|a'
Address of 'Malermeister M.T.R, Diedorf' changed to 'Bahnhofstr.|8 a' from 'Bahnhofstr. 8|a'
Address of 'Life Kinetik Trainer Pro – Kurs, Augsburg' changed to 'Kirchbergstr.|17 a' from 'Kirchbergstr. 17|a'
Address of 'Life Kinetik Trainer Pro – Coaching, Fischach' changed to 'Zugspitzstr.|2 a' from 'Zugspitzstr. 2|a'
Address of 'HypoVereinsbank, Nürnberg' changed to 'Mögeldorfer Hauptstr.|42 - 44' from 'Mögeldorfer Hauptstr. 42 -|44'
Address of 'Dreiflüsse-Ballooning e.K., Passau' changed to 'Malerweg|2 a' from 'Malerweg 2|a'
Address of 'Wein Erlebniswelt, Passau' changed to 'Ludwig-Schmidseder Str.|30' from 'Ludwig-Schmidseder|Str.30'
Address of 'Groove & Move, Adelsdorf' changed to 'Peter-Rosegger-Str.|1 a' from 'Peter-Rosegger-Str. 1|A'
Address of 'Lingva Eterna Institut für bewusste Sprache, Erlangen' changed to 'Anderlohrstr.|42 a' from 'Anderlohrstr. 42|a'
Postal code of 'Christoph Kroschke GmbH, Erlangen' changed to '91052' from '91052 91054'
Address of 'Christoph Kroschke GmbH, Erlangen' changed to 'Rathausplatz|4|Dreikönigstr. 3' from 'Rathausplatz 4, Dreikönigstr.|3'
Address of 'Mehler GmbH, Herzogenaurach' changed to 'Einsteinstr.|15 b' from 'Einsteinstr. 15|b'
Address of 'herzoYOGA GbR, Herzogenaurach' changed to 'Hauptstr.|13' from 'Hauptstr.13|null'
Address of 'Unicredit Bank AG, Würzburg' changed to 'Erthalstr.|32 a' from 'Erthalstr. 32|a'
Address of 'HypoVereinsbank, Illertissen, Illertissen' changed to 'Hauptstraße|7 1/2' from 'Hauptstraße 7|1/2'
Address of 'Bäckerei Dippold, Kulmbach' changed to 'Hauptstr.|15|Melkendorf' from 'Hauptstr. 15 -|Melkendorf'
Address of 'Unicredit Bank AG Ochsenfurt, Ochsenfurt' changed to 'Kolpingstr.|4 - 6' from 'Kolpingstr. 4 -|6'
Address of 'Mc Donald's, Neudrossenfeld' changed to 'An der Autobahn|2|Unterbrücklein' from 'An der Autobahn 2 -|Unterbrücklein'
Address of 'Die Brille Augenoptik, Würzburg' changed to 'Ludwigstraße|1|Ecke Theaterstraße' from 'Ludwigstraße 1/Ecke|Theaterstraße'
Address of 'Jamie´s Tee & Spezialitätenhaus Augsburg, Augsburg' changed to 'Annastr.|12|RGB/Ernst-Reuter-Platz' from 'Annastr. 12|RGB/Ernst-Reuter-Platz'
Address of 'Burgerheart Würzburg, Würzburg' changed to 'Semmelstr.|12 - 14|Neubaustraße 8' from 'Semmelstr. 12 - 14 / Neubaustraße|8'
Address of 'palmbeach, Regensburg' changed to 'Dr.-Gessler-Str.|18' from 'Dr.-Gessler-Str.18|null'
Address of 'Weingut Leininger, Eibelstadt' changed to 'Theilheimer Weg|3 - 5' from 'Theilheimer Weg 3 -|5'
Address of 'KONZEPT SCHÖN - Kerstin Schrauth, Thüngersheim' changed to 'Veitshöchheimer Str.|26 a' from 'Veitshöchheimer Str. 26|a'
Address of 'Sparkasse Mainfranken Würzburg, Würzburg' changed to 'Hofstraße|7 - 9' from 'Hofstraße 7 -|9'
Address of 'Knauf Museum, Iphofen' changed to 'Am Marktplatz' from 'Am|Marktplatz'
Address of 'Minigolf-Anlage Seeblick, Iphofen' changed to 'Birklinger Straße' from 'Birklinger|Straße'
Address of 'Sparkasse Bürgstadt, Bürgstadt' changed to 'Hauptstr.|1 a' from 'Hauptstr. 1|a'
Address of 'Sparkasse Elsenfeld, Elsenfeld' changed to 'Marienstr.|8 - 10' from 'Marienstr. 8 -|10'
Address of 'Sparkasse Erlenbach, Erlenbach a.Main' changed to 'Bahnhofsplatz|6 - 8' from 'Bahnhofsplatz 6 -|8'
Address of 'Sparkasse Miltenberg, Miltenberg' changed to 'Hauptstr.|85 - 87' from 'Hauptstr. 85 -|87'
Address of 'Sparkasse Mömlingen, Mömlingen' changed to 'Hauptstr.|58 - 60' from 'Hauptstr. 58 -|60'
Address of 'Sparkasse Sulzbach, Sulzbach a.Main' changed to 'Hauptstr.|26 - 28' from 'Hauptstr. 26 -|28'
Address of 'Anwaltskanzlei Czirnich, Kirchseeon' changed to 'Hubertustraße|8 a' from 'Hubertustraße 8|a'
Address of 'Augenoptik Schuhmann, Stein' changed to 'Hauptstr.|7' from 'Hauptstr.7|null'
Address of 'Der Raum der Wünsche, Obernburg a.Main' changed to 'Römerstr.|6 a' from 'Römerstr. 6|A'
Address of 'Kleinstkunstbühne Kochsmühle Obernburg, Obernburg a.Main' changed to 'Untere Wallstr.|8 - 10' from 'Untere Wallstr. 8 -|10'
Address of 'Schneidstube - Stickerei - Schneiderei, Bürgstadt' changed to 'Große Maingasse|7 a' from 'Große Maingasse 7|a'
Address of 'Eiscafe Pineta, Altötting' changed to 'Trostberger Str.|1 a' from 'Trostberger Str. 1|a'
Address of 'Berufsprofi Vogel, Ingolstadt' changed to 'Beckerstraße|2 1/2' from 'Beckerstraße 2|1/2'
Address of 'Tom Tailor Casual Store, Ingolstadt' changed to 'Am Westpark|6|OG' from 'Am Westpark|6/OG'
Address of 'Tom Tailor Denim Store, Ingolstadt' changed to 'Am Westpark|6|OG' from 'Am Westpark|6/OG'
Address of 'Firma dm-drogerie markt GmbH + Co. KG, Garching a. d. Alz' changed to 'Am Binderfeld|6 a' from 'Am Binderfeld 6|a'
Address of 'Heimdecor Wiesenbart GmbH, Altötting' changed to 'Hillmannstr.|23 b' from 'Hillmannstr. 23|B'
Address of 'Bücher- und Schreibwaren Fraundorfner, Altötting' changed to 'Marienstr.|2 a' from 'Marienstr. 2|a'
Address of 'Fruchthaus Alisch, Altötting' changed to 'Trostberger Str.|2 b' from 'Trostberger Str. 2|b'
Address of 'F. X. Bruckner Agrar, Baustoffe, Getränke, Garten, Haiming' changed to 'Marktler Str.|6 b' from 'Marktler Str. 6|b'
Address of 'Sixt Autovermietung Donauwörth, Donauwörth' changed to 'Bahnhofstraße|24 a' from 'Bahnhofstraße 24|A'
Address of 'Sixt rent a car, München - Flughafen' changed to 'Terminalstraße Mitte' from 'Terminalstraße|Mitte'
Address of 'Asamkirche Maria de Victoria, Ingolstadt' changed to 'Neubaustr.|1 1/2' from 'Neubaustr. 1|1/2'
Address of 'Silencio-Hautästhetik Kosmetikstudio Spatz, Wörth a.Main' changed to 'Raiffeisenstr.|1' from 'Raiffeisenstr.1|null'
Postal code of 'Christoph Kroschke GmbH, Erlangen' changed to '91052' from 'Rathausplatz 4,91052'
Address of 'Christoph Kroschke GmbH, Erlangen' changed to 'Dreikönigstraße|3|91054 Erlangen' from 'Dreikönigstraße 3,91054|Erlangen'
Address of 'ALGA Soziale Dienstleistungen, Aindling' changed to 'Am Hangenbrunnen|8 a' from 'Am Hangenbrunnen 8|a'
Address of 'Aindlinger Musikkeller, Aindling' changed to 'Am Hangenbrunnen|8 a' from 'Am Hangenbrunnen 8|a'
Address of 'Sanitätshaus Wöber, Obernburg a.Main' changed to 'Rund-Turm-Straße|2 a' from 'Rund-Turm-Straße 2|A'
Address of 'Sanitätshaus Wöber, Großwallstadt' changed to 'Einsteinstr.|2 a' from 'Einsteinstr. 2|A'
Address of 'music-center Miltenberg, Miltenberg' changed to 'Hauptstr.|157 a' from 'Hauptstr. 157|a'
Address of 'Neuberger Gartengeräte GmbH, Großheubach' changed to 'Industriestr.|10 c' from 'Industriestr. 10|c'
Address of 'Eggen Raum und Idee GmbH, Erlenbach a.Main' changed to 'Bahnstr.|5 - 7' from 'Bahnstr. 5 -|7'
Address of 'Zoo & Co Bürgstadt, Bürgstadt' changed to 'Am Stadtweg|4 b' from 'Am Stadtweg 4|b'
Address of 'Sixt Autovermietung - Nürnberg Flughafen, Nürnberg' changed to 'Flughafenstraße / Mietwagenzentrum' from 'Flughafenstraße /|Mietwagenzentrum'
Address of 'Sixt Autovermietung - Nürnberg Hauptbahnhof, Nürnberg' changed to 'Bahnhofsplatz|9|im Hauptbahnhof' from 'Bahnhofsplatz 9 im|Hauptbahnhof'
Address of 'Ziptransfer, Spain' changed to 'C. Llovera|53|5º 1ª 43201 Reus' from 'C. Llovera 53, 5º 1ª 43201|Reus'
Address of 'Maschinenring Arnstein GmbH, Arnstein' changed to 'Schweinfurter Straße|19 a' from 'Schweinfurter Straße 19|a'
Address of 'Huber Optik, Grafing' changed to 'Rotter Straße|12 a' from 'Rotter Straße 12|A'
Address of 'St. Kilian Distillers GmbH, Rüdenau' changed to 'Hauptstr.|1 - 5' from 'Hauptstr. 1 -|5'
Address of 'Tanzstudio Deike, Kleinwallstadt' changed to 'Wallstr.|1 b' from 'Wallstr. 1|B'
Address of 'Reservistenverband e.V., Roth' changed to 'Otto-Lilienthal-Kaserne - Straße der Luftwaffe' from 'Otto-Lilienthal-Kaserne - Straße der|Luftwaffe'
Address of 'SW-Tech Eventtechnik Sebastian Wutz, Penzberg' changed to 'Flohbühlweg|7 b' from 'Flohbühlweg 7|b'
Postal code of 'Confiserie Dengel, Erding' changed to '85443' from '854435'
Address of 'Driver Reifen und KFZ-Technik GmbH, Amberg' changed to 'Gerberstr.|1 a' from 'Gerberstr. 1|a'
Address of 'Kfz. Meisterbetrieb - Horst Scherer, Amberg' changed to 'Deinfelderstr.|8 a' from 'Deinfelderstr. 8|a'
Address of 'Malteser Hilfsdienst e.V. Amberg, Amberg' changed to 'Sulzbacher Str.|15 a' from 'Sulzbacher Str. 15|A'
Address of 'KONVENTUM-Klosterfeinkost, Amberg' changed to 'Pfistermeisterstr.|13' from 'Pfistermeisterstr.13|null'
Address of 'Haus der Geschenke-Willi Götz, Amberg' changed to 'Obere Nabburger Str.|7' from 'Obere Nabburger|Str.7'
Address of 'Pizza Mizza, Amberg' changed to 'Barbarastr.|2' from 'Barbarastr.2|null'
Address of 'Apotheke auf der Wart, Amberg' changed to 'Bahnhofstraße|1 b' from 'Bahnhofstraße 1|b'
Address of 'Clever Fit Amberg Plus Lichtenauer & Lindner GbR, Amberg' changed to 'Bayreuther Straße|78 a' from 'Bayreuther Straße 78|A'
Address of 'Ristorante Portofino, Amberg' changed to 'Fleurystr.|1' from 'Fleurystr.1|null'
Address of 'Optic Hasler, Amberg' changed to 'Untere Nabburger Str.|4' from 'Untere Nabburger|Str.4'
Address of 'Rupprecht Blumen, Amberg' changed to 'Am Katharinenfriedhof' from 'Am|Katharinenfriedhof'

Okayish results (2)

Address of 'Brenner Bekleidungshaus, Neuburg/Donau' changed to 'Schrannenplatz C|126 - 128' from 'Schrannenplatz C 126 -|128'
Address of 'Cineplex Freyung, Freyung' changed to 'Stadtplatz|8|9, 10' from 'Stadtplatz 8, 9,|10'

Not so good results (3)

Address of 'Foolskino Holzkirchen, Holzkirchen' changed to 'Marktplatz|18|a' from 'Marktplatz|18 a' (two spaces)
Address of 'Stadt Apotheke am Ronkarzgarten, Gemünden' changed to 'Obertorstra|0e|23' from 'Obertorstra0e|23' (typo, 0 instead of ß)
Address of 'Modehaus Stefan Schick, Forchheim' changed to 'Marktplatz|6|amp;amp; 7' from 'Marktplatz|6 & 7'

Postal code (5, previously not logged)

Postal code of 'Kletterpark Waldbad Anif, Anif' changed to 'null' from 'A-5081'
Postal code of 'Campingwelt Stiller GmbH, Sonderhofen' changed to '97232' from '97232 Giebelstadt'
Postal code of 'Christoph Kroschke GmbH, Erlangen' changed to '91052' from '91052 91054'
Postal code of 'Christoph Kroschke GmbH, Erlangen' changed to '91052' from 'Rathausplatz 4,91052'
Postal code of 'Confiserie Dengel, Erding' changed to '85443' from '854435'

@steffenkleinle
Copy link
Member Author

steffenkleinle commented Jan 21, 2022

Quite some regex magic in use here, but I think the results turned out way better than I expected. I won't be sad if we don't want to merge this. But just let me know what you think :)

Some things I'd do if these changes work for you:

  • Store new property additionalAddressInformation to DB and show it in the frontend separately
  • Perhaps rename the pipeline steps, e.g. Map -> Sanitize and Sanitize -> Geocoding?

It would also be possible to handle the edge cases listed in the comment above but I don't think that would be worth it.

@steffenkleinle steffenkleinle force-pushed the 467-sanitize-street-location-house branch from a038d82 to 4e43759 Compare January 21, 2022 15:25
@steffenkleinle steffenkleinle force-pushed the 467-sanitize-street-location-house branch from 4e43759 to 2e8b69e Compare January 21, 2022 15:34
@steffenkleinle steffenkleinle marked this pull request as ready for review January 21, 2022 16:00
@michael-markl
Copy link
Member

Am I correct in my assumption, that the main benefit of sanitizing street and housenumbers is that the actual geocoding sanitization of coordinates works better?

@maxammann
Copy link
Member

Initially, while developing the backend we had discussions about the address format. Because there is quite a lot of complexity the current format probably would not be able to cover addresses outside of Germany. French people for example put the house number befor the street (or used to).

My opinion back then was to just use a single string to represent addresses, because it will be hopeless to support ANY address worldwide. We decided to go with the current solution because we focused on Bavaria.
I would like to discuss this problem here again and possible solutions. We could also discuss the problem of geocoding, which we did not have back then.

I don't have experience with addresses or how it is for example in border areas around germany. But my feeling is that we will have problems again in the future with our data/address format.

@steffenkleinle
Copy link
Member Author

Am I correct in my assumption, that the main benefit of sanitizing street and housenumbers is that the actual geocoding sanitization of coordinates works better?

Yes, that should be the main benefit/was the reasoning behind the issue. However, it does not really make a big difference and provides better coordinates for only two stores I think :/. I think there are a few smaller benefits like removal of wrong/duplicated information from the address/separation of additional hints, e.g.

Address of 'HAIX Fabrikverkauf GmbH, Mainburg' changed to 'Ebrantshauser Straße|6a' from 'Ebrantshauser Straße 6a|6a'
Address of 'Christoph Kroschke GmbH, Erlangen' changed to 'Dreikönigstraße|3|91054 Erlangen' from 'Dreikönigstraße 3,91054|Erlangen'
Address of 'Sixt Autovermietung - Nürnberg Hauptbahnhof, Nürnberg' changed to 'Bahnhofsplatz|9|im Hauptbahnhof' from 'Bahnhofsplatz 9 im|Hauptbahnhof'

@steffenkleinle
Copy link
Member Author

steffenkleinle commented Jan 24, 2022

Initially, while developing the backend we had discussions about the address format. Because there is quite a lot of complexity the current format probably would not be able to cover addresses outside of Germany. French people for example put the house number befor the street (or used to).

My opinion back then was to just use a single string to represent addresses, because it will be hopeless to support ANY address worldwide. We decided to go with the current solution because we focused on Bavaria. I would like to discuss this problem here again and possible solutions. We could also discuss the problem of geocoding, which we did not have back then.

I don't have experience with addresses or how it is for example in border areas around germany. But my feeling is that we will have problems again in the future with our data/address format.

Isn't this only a problem if we have a berechtigungskarte ouside of germany? In the app we also just have a single street string (street + house number), location and postal code are still handled separately.

@steffenkleinle
Copy link
Member Author

Another thing that this MIGHT be important for (did not look into it yet): we have lots of duplicates in our data, i.e. multiple stores in the data for the same actual stores. If we have sanitized sanitized addresses, it might be easier to decide which duplicates are redundant.

@michael-markl
Copy link
Member

michael-markl commented Jan 24, 2022

What we might also do (although a bit unrelated to this specific PR):
We could regard these "sanitizations" as warnings + suggested auto-correction and send all these warnings out to the corresponding landkreis/stadt and ask them to fix their data entry in their source (+ add a contact email in case a warning is a false positive).
That way, we would never automagically sanitize addresses in a possibly wrong way, but we would have some human^TM to check whether our suggested change makes sense (and that human is not us, but the person creating the problematic entry).

@maxammann
Copy link
Member

Isn't this only a problem if we have a berechtigungskarte ouside of germany? In the app we also just have a single street string (street + house number), location and postal code are still handled separately.

I would say yes, but we already have the first Akzeptanzstelle in Spain :D Ofc this is an extreme corner case, but worth discussing :)

What we might also do (although a bit unrelated to this specific PR):
We could regard these "sanitizations" as warnings + suggested auto-correction and send all these warnings out to the corresponding landkreis/stadt and ask them to fix their data entry in their source (+ add a contact email in case a warning is a false positive).
That way, we would never automagically sanitize addresses in a possibly wrong way, but we would have some human^TM to check whether our suggested change makes sense (and that human is not us, but the person creating the problematic entry).

@Schedulaar can you create a User Story for this? I think we actually do not have an issue about this feature which is kind of possible to do now.

@michael-markl
Copy link
Member

@maxammann I created the brain-storming issue #473 .

@steffenkleinle
Copy link
Member Author

steffenkleinle commented Jan 28, 2022

As discussed yesterday in the call I'll merge this. This (slightly) improves sanitation with geocoding and has the benefit of removing stuff from the addresses that should not be part of the address. It works really well for german addresses and stores outside of germany have to be handled differently anyway at some point anyway if we remove filtering (#447).

@maxammann @Schedulaar should I rename the steps? e.g. Map -> Sanitize and Sanitize -> Geocode? Or should we leave it like it currently is?

…ocation-house

# Conflicts:
#	backend/src/main/kotlin/app/ehrenamtskarte/backend/stores/importer/steps/Map.kt
@maxammann
Copy link
Member

maxammann commented Jan 28, 2022

@maxammann @Schedulaar should I rename the steps? e.g. Map -> Sanitize and Sanitize -> Geocode? Or should we leave it like it currently is?

Hm I think this requires some cleanup in naming yes. So I think we should strive for small and fine-grained steps in the pipeline.
The name should always include the What? and How?.

Proposal:

  • MapFromLbe: List<LbeAcceptingStore> => List<AcceptingStore>
    • How? By using Lbe format
  • SanitizeCommon: List<AcceptingStore> => List<AcceptingStore>
    • How? Common cleanups
  • SanitizeHousenumbers: List<AcceptingStore> => List<AcceptingStore>
    • How? Move housenumbers to correct field
  • SanitizeGeocode: List<AcceptingStore> => List<AcceptingStore>
    • How? Geocoding!

If we suppose that AcceptingStore is immutable then we need to recreate AcceptingStores.

Should be done in a separate task though.

@steffenkleinle
Copy link
Member Author

@maxammann I'll do the renaming/splitting up of steps in a separate PR

@steffenkleinle
Copy link
Member Author

If we suppose that AcceptingStore is immutable then we need to recreate AcceptingStores.

Should be done in a separate task though.

What do you mean by this?

@maxammann
Copy link
Member

If we suppose that AcceptingStore is immutable then we need to recreate AcceptingStores.
Should be done in a separate task though.

What do you mean by this?

Just that if AcceptingStore is an immutable data class, then you can not modify it in a pipeline step. This means when changing a field of an AcceptingStore you have to "deep-copy" it

@steffenkleinle
Copy link
Member Author

steffenkleinle commented Jan 30, 2022

If we suppose that AcceptingStore is immutable then we need to recreate AcceptingStores.
Should be done in a separate task though.

What do you mean by this?

Just that if AcceptingStore is an immutable data class, then you can not modify it in a pipeline step. This means when changing a field of an AcceptingStore you have to "deep-copy" it

I think we do this already using the copy method, don't we? @maxammann can/should I merge this?

@maxammann
Copy link
Member

Yes, feel free to merge. That comment was not important.

@steffenkleinle steffenkleinle merged commit 6bd717e into main Jan 31, 2022
@steffenkleinle steffenkleinle deleted the 467-sanitize-street-location-house branch January 31, 2022 09:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sanitize street and house number
3 participants