Alle Adressen in SH
Seit einiger Zeit stellt das LVermGeo alle 950.000 Adressen in Schleswig-Holstein mit ihren Koordinaten und einer eindeutigen Kennung in Form einer CSV-Datei zur Verfügung. Damit lassen sich interessante Dinge anstellen.
Einen Dienst für die Hauskoordinaten gab es schon länger. Für eine umfassende Auswertung der Daten eignet der sich aber nicht so richtig. Das hat sich nun geändert, denn jetzt gibt es die gut 950.000 Adressen in Schleswig-Holstein auch als Massendownload in Form einer CSV-Datei.
Download
Der Weg zu der CSV-Datei ist allerdings ein wenig versteckt und erfordert etwas Handarbeit. Im OpenGBD-Portal (GBD steht für Geobasisdaten) gibt es das Thema Hauskoordinaten HK. Wählt man dort den obersten Eintrag (neuster Stand der Daten, zum Zeitpunkt dieses Beitrag 01.06.2026) aus, wird eine ZIP-Datei erstellt, die man nach 20 bis 30 Sekunden Wartezeit herunterladen kann. Richtig gut ist, dass man dort auch ältere Stände der Daten bekommen, um so Änderungen nachvollziehen zu können. In der ZIP-Datei steckt dann wiederum eine ZIP-Datei drin, die die eigentliche CSV-Datei enthält.
Oder man nimmt einfach diese Link: https://opendata.schleswig-holstein.de/data/OpenGBD/202606_HK_aus_ALKIS_ohne_PLZ_Abgleich_UTMo32.zip (16 MB), um die gleiche Datei zu bekommen.
Nach dem Entpacken findet man im Ordner UTM eine 134 MB große Datei adressen-sh.txt mit den Daten. Damit man mit der besser arbeiten kann, sollte man als erste Zeile noch eine Kopfzeile ergänzen:
NBA;OID;QUA;LANDSCHL;LAND;REGBEZSCHL;REGBEZ;KREISSCHL;KREIS;GMDSCHL;GMD;OTTSCHL;OTT;STRSCHL;STR;HNR;ADZ;ZONE;OSTWERT;NORDWERT;POSTPLZ;POSTONM;POSTONMZUS;POSTOTT
Oder man baut sich das mit diesem mini Shell-Skript:
echo "NBA;OID;QUA;LANDSCHL;LAND;REGBEZSCHL;REGBEZ;KREISSCHL;KREIS;GMDSCHL;GMD;OTTSCHL;OTT;STRSCHL;STR;HNR;ADZ;ZONE;OSTWERT;NORDWERT;POSTPLZ;POSTONM;POSTONMZUS;POSTOTT" > adressen-sh.csv
cat adressen-sh.txt >> adressen-sh.csv
Mit der Endung .csv funktionieren die meisten Programme auch besser/einfacher. Dann kann man die Datei z.B. mit QGIS anzeigen lassen. Oder man führt mit DuckDB Abfragen in den Daten durch. Ein paar Abfragen habe ich weiter unten schon ausprobiert.
Inhalt
Jede Adresse hat eine eindeutige Kennung OID, mit der man sie aus anderen Systemen referenzieren kann. Angegeben ist zu jeder Adresse jeweils mit Name und Schlüssel:
- Bundesland (hier immer
Schleswig-Holstein) - Regierungsbezirk (Haben wir in Schleswig-Holstein nicht, aber das Format der Datei ist deutschlandweit einheitlich)
- Kreis
- Gemeinde
- Ortsteil (nur in Kiel, Lübeck, Flensburg und Neumünster)
- Straße
Dann die Hausnummer, ein möglicher Zusatz wie a, die Koordinate in EPSG:25832 und die Postleitzahl, wie sie aus alten ALKIS-Informationen stammt und zum Glück nie mit den geschützten Daten der Post abgeglichen wurde - nur so können es offene Datei sein. Hier ist ein Beispiel, welche Informationen für eine Adresse vorhanden sind:
| Angabe | Schlüssel | Wert |
|---|---|---|
| OID | DESHPDHK0002bs6A | |
| Land | 01 | Schleswig-Holstein |
| Kreis | 02 | Kiel, Landeshauptstadt |
| Gemeinde | 000 | Kiel, Landeshauptstadt |
| Ortsteil | 0600 | Düsternbrook |
| Straße | 00232 | Düsternbrooker Weg |
| Hausnummer | 104 | |
| Koordinate | 575129.214 / 6021651.517 | |
| PLZ | 24105 |
Auswertungen
Welches sind die zehn häufigsten Straßennamen?
SELECT STR, count(*) AS n FROM ( SELECT distinct GMD,STR FROM 'adressen-sh.csv' ) GROUP BY STR ORDER BY n DESC LIMIT 10;
Hier ist das Ergebnis:
| Name | Anzahl |
|---|---|
| Dorfstraße | 605 |
| Hauptstraße | 317 |
| Schulstraße | 243 |
| Birkenweg | 194 |
| Bahnhofstraße | 184 |
| Mühlenweg | 146 |
| Mühlenstraße | 127 |
| Wiesengrund | 116 |
| Grüner Weg | 110 |
| Am Sportplatz | 105 |
Welche Gemeinde hat die wenigsten Straßen?
SELECT GMD, count(*) as n FROM ( select distinct GMD,STR from 'adressen-sh.csv' ) GROUP BY GMD ORDER BY n LIMIT 10;
Erstaunlich, es gibt fünf Gemeinden, die nur einen Straßennamen haben:
| Gemeinde | Anzahl Straßen |
|---|---|
| Wiedenborstel | 1 |
| Neufelderkoog | 1 |
| Süderhöft | 1 |
| Kollmoor | 1 |
| Dreggers | 1 |
| Friedrichsgraben | 2 |
| Kronsmoor | 2 |
| Wittenbergen | 2 |
| Störkathen | 2 |
| Tümlauer Koog | 2 |
Schauen wir uns die Gemeinden mit nur einer Straße mal an:
SELECT DISTINCT GMD,STRSCHL,STR FROM 'adressen-sh.csv' WHERE GMD in ( 'Wiedenborstel' ,'Neufelderkoog','Süderhöft','Kollmoor','Dreggers' );
Ich hatte es schon erwartet: entweder ist es der Name der Gemeinde selbst oder die Dorfstraße:
| Gemeinde | Straßenschlüssel | Straßenname |
|---|---|---|
| Kollmoor | 00005 | Dorfstraße |
| Süderhöft | 00010 | Dorfstraße |
| Neufelderkoog | 00089 | Neufelderkoog |
| Dreggers | 00050 | Dorfstraße |
| Wiedenborstel | 00005 | Gut Wiedenborstel |
Welche Stadtteile hat Kiel?
SELECT DISTINCT OTTSCHL, OTT FROM 'adressen-sh.csv' WHERE KREISSCHL='02' AND GMDSCHL='000' AND OTT IS NOT NULL ORDER BY OTTSCHL;
Es sind diese 30:
| Schlüssel | Stadtteil |
|---|---|
| 0100 | Altstadt |
| 0200 | Vorstadt |
| 0300 | Exerzierplatz |
| 0400 | Damperhof |
| 0500 | Brunswik |
| 0600 | Düsternbrook |
| 0700 | Blücherplatz |
| 0800 | Wik |
| 0900 | Ravensberg |
| 1000 | Schreventeich |
| 1100 | Südfriedhof |
| 1200 | Gaarden-Ost |
| 1300 | Gaarden-Süd und Kronsburg |
| 1400 | Hassee |
| 1500 | Hasseldieksdamm |
| 1600 | Ellerbek |
| 1700 | Wellingdorf |
| 1800 | Holtenau |
| 1900 | Pries |
| 2000 | Friedrichsort |
| 2100 | Neumühlen-Dietrichsdorf |
| 2200 | Elmschenhagen |
| 2300 | Suchsdorf |
| 2400 | Schilksee |
| 2500 | Mettenhof |
| 2600 | Russee |
| 2700 | Meimersdorf |
| 2800 | Moorsee |
| 2900 | Wellsee |
| 3000 | Rönne |
Gibt es Hausnummer über tausend?
SELECT GMDSCHL, GMD, OTTSCHL, OTT, STRSCHL, STR, HNR, ADZ from 'adressen-sh.csv' WHERE HNR>1000;
Ja, die gibt es. Insgesamt sind es 202. Die meisten gibt es auf Helgoland. Dort ist mit 1500 auch die höchste Hausnummer zu finden. Aber ein paar weitere gibt es auch in der Schweriner Straße in Büsum und in Kaltenkirchen die Adresse Barmstedter Straße 1001.
Ausblick
Schon jetzt könnten die Kennungen für die Adressen auch in andere Datenbestände (wie z.B. OpenStreetMap und Wikidata) übernommen werden und so eindeutige Zuordnungen auch über wechselnde Verwaltungszugehörigkeiten und Wechsel von Straßennamen ermöglichen. Es wäre wünschenswert, wenn aus den Kennungen auflösbare URI würden und die Daten als Linked Open Data zur Verfügung stehen würden.
Falls euch weitere interessante Abfragen einfallen, so kann ich die gerne mit in diese Sammlung aufnehmen.
Kommentare
Mit einem Konto im Fediverse oder auf Mastodon kannst du auf diesen Beitrag antworten. Da Mastodon dezentral funktioniert, kannst du dein bestehendes Konto auf einem Mastodon-Server oder einer kompatiblen Plattform verwenden.
Nach einem Klick auf "Lade Kommentare" werden nicht-private Antworten vom Server norden.social geladen und unten angezeigt.
Wie das technisch funktioniert, kann man hier erfahren.