GIS-Akademie Geocoder Dokumentation v1.0.2

Überblick

Dieses QGIS-Plugin ordnet Adressen aus Tabellendateien (CSV, Excel, OpenDocument, Tab-getrennt) Koordinaten zu – man spricht von Geocodierung – und speichert das Ergebnis als Punkt-Layer in einem GeoPackage.

Grundlage ist eine lokale Datenbank amtlicher Hauskoordinaten aller 16 Bundesländer. Das Plugin lädt diese Daten selbst aus den freien Angeboten (Open Data) der Länder; Bayern stammt aus OpenStreetMap, weil amtliche Adressen dort kostenpflichtig sind. Adressen ohne lokalen Treffer können wahlweise beim Online-Dienst Nominatim (OpenStreetMap) nachgeschlagen werden.

Auf Wunsch arbeitet das Plugin vollständig DSGVO-konform: Mit der Option „DSGVO-konformes Geocodieren“ wird nur die lokale Datenbank genutzt — keine Adresse verlässt den Rechner (siehe Optionen).

Diese Hilfe öffnen Sie im Plugin jederzeit über Hilfe. Entwickelt von der GIS-Akademie.

Schnellstart in 3 Schritten

  1. Datenbank einrichten (einmalig). Reiter „Datenbank & Quellen“ öffnen und Alle eingetragenen Quellen aktualisieren klicken. Das Plugin lädt alle 16 Bundesländer nacheinander. Beim ersten Mal dauert das rund 2,5–3 Stunden (siehe Aufwand je Bundesland) — am besten über Nacht. Wer die Einrichtung sparen möchte, kann eine fertige Datenbank einbinden (siehe Geodatenabo Plus).
  2. Datei geocodieren. Im Reiter „Geocodierung“ die Adressdatei wählen, die Spaltenzuordnung prüfen, Ziel-GeoPackage und Layer-Name angeben und Geocodierung starten klicken.
  3. Ergebnis prüfen. Der fertige Layer wird in QGIS geladen. Die Felder accuracy_level (Genauigkeit) und local_score (Übereinstimmung) zeigen, wie gut jeder Treffer ist; nicht gefundene Adressen lassen sich gezielt nacharbeiten (siehe Ergebnis).

Datenbank einrichten

Die lokale Suche braucht eine Geocodierungsdatenbank: eine einzelne Datei mit den Adressen und Koordinaten aller geladenen Bundesländer. Sie wird einmal eingerichtet und danach nur noch aktualisiert. Ohne Datenbank kann das Plugin nur über Nominatim (Internet) geocodieren; im DSGVO-Modus findet es dann nichts.

Schritt 1: Speicherort festlegen

Im Reiter „Datenbank & Quellen“ zeigt der Rahmen Geocodierungsdatenbank den Pfad der Datenbankdatei. Standard ist ein Ordner im QGIS-Profil (<QGIS-Profil>/gis_akademie_geocoder/geocoder.db); dort übersteht die Datenbank Plugin-Updates. Meist können Sie diesen Pfad unverändert lassen.

Soll die Datenbank woanders liegen (z. B. auf einem Laufwerk mit mehr Platz), tragen Sie den Pfad unter Pfad zur Datenbankdatei ein und klicken Pfad speichern und Datenbank verwenden. Gibt es die Datei noch nicht, meldet das Plugin „Pfad gespeichert. Datei wird beim ersten Import angelegt.“

Schritt 2: Daten laden

Nur benötigte Länder laden spart Zeit. Wenn Ihre Adressen nur aus wenigen Bundesländern stammen, reichen diese. Adressen aus Ländern ohne Daten in der Datenbank gehen sonst an Nominatim — oder bleiben im DSGVO-Modus „nicht gefunden“.

Empfehlungen für den ersten Lauf

Nach dem ersten Einrichten

Aufwand je Bundesland

Messwerte vom 26.10.2026 auf einem Rechner mit schneller Internetleitung, gemessen mit einer bereits gefüllten bundesweiten Datenbank. Die Dauer umfasst Download, Umwandlung und Import einschließlich PLZ-Ergänzung und ist als ungefährer Wert zu verstehen. Am meisten Zeit kostet bei Ländern ohne Postleitzahlen in der Quelle das Ergänzen der PLZ, nicht der Download.

BundeslandDaten (Download)Dauer ca.AdressenPLZ
Baden-Württemberg73 MBca. 11 min3,09 Mio.ergänzt
Bayern860 MB (OpenStreetMap)ca. 15 min2,57 Mio.aus OSM, Rest ergänzt
Berlin10 MB< 1 min0,39 Mio.enthalten
Brandenburgca. 1,7 GB (WFS, Kacheln)ca. 30 min0,87 Mio.ergänzt
Bremen11 MBca. 1 min0,18 Mio.enthalten
Hamburgca. 1,6 GB (WFS)10–15 min0,30 Mio.enthalten
Hessen29 MBca. 4 min1,63 Mio.ergänzt
Mecklenburg-Vorpommernca. 2,3 GB (WFS, Kacheln)ca. 25 min0,52 Mio.ergänzt
Niedersachsen4,4 GB (45 Kreisdateien)ca. 18 min2,56 Mio.ergänzt
Nordrhein-Westfalen97 MBca. 5 min4,51 Mio.ergänzt
Rheinland-Pfalz27 MBca. 6 min1,41 Mio.ergänzt
Saarlandca. 160 MB (OGC API, Seiten)ca. 10 min0,33 Mio.enthalten
Sachsen22 MB< 1 min0,99 Mio.enthalten
Sachsen-Anhalt19 MBca. 5 min0,66 Mio.ergänzt
Schleswig-Holstein16 MBca. 1 min0,95 Mio.enthalten
Thüringen11 MB (Ersatz: 26 MB INSPIRE)ca. 5 min0,62 Mio.ergänzt
Alle 16 Länderrund 11 GBrund 2,5–3 hrund 21,5 Mio.

PLZ: „enthalten“ = die Quelle liefert Postleitzahlen mit; „ergänzt“ = das Plugin ergänzt sie automatisch aus den mitgelieferten PLZ-Gebieten (siehe Postleitzahlen). WFS (Web Feature Service) ist ein Internetdienst, der Geodaten in Teilen ausliefert; bei „Kacheln“ lädt das Plugin das Land Stück für Stück in räumlichen Ausschnitten.

Mit langsamerer Leitung oder einem langsameren Rechner dauert es entsprechend länger. Ist der Server eines Landes vorübergehend nicht erreichbar (z. B. wegen Wartung), das Land einfach später erneut laden; der übrige Bestand bleibt davon unberührt.

Alternative ohne Einrichtung: Geodatenabo Plus

Optionales Angebot der GIS-Akademie. Das Plugin funktioniert ohne Abo vollständig — alle Daten lassen sich wie oben beschrieben selbst laden und aktualisieren.

Wer die Datenbank nicht selbst einrichten und pflegen möchte, kann sie mit dem Geodatenabo Plus fertig beziehen: eine Geocodierungsdatenbank für alle 16 Bundesländer, die monatlich aktualisiert wird.

Einbinden: Datenbankdatei speichern, im Reiter „Datenbank & Quellen“ unter Pfad zur Datenbankdatei eintragen und Pfad speichern und Datenbank verwenden klicken. Ein eigener Download oder Import ist nicht nötig.

Informationen: GIS-Akademie – Geodatenabo Plus

Geocodierung: Eingabedatei

Alle Schritte des Geocodierens finden im Reiter „Geocodierung“ statt. Im Rahmen 1 · Eingabedatei wählen Sie die Datei über Durchsuchen … oder tippen den Pfad ein. Ein roter Rahmen zeigt einen ungültigen Pfad an.

FormatEndungHinweis
CSV.csvTrennzeichen (Komma, Semikolon, Tab, senkrechter Strich) und Zeichenkodierung (UTF-8, CP1252, Latin-1) werden automatisch erkannt.
Tab-getrennt.txt .tsv .tabTabulator als Trennzeichen.
Excel.xlsx .xlsBei mehreren Tabellenblättern erscheint eine Auswahl. .xlsx wird mit dem Python-Paket openpyxl gelesen, fehlt es, mit GDAL (Teil von QGIS). Das alte Format .xls benötigt das Paket xlrd.
OpenDocument-Tabelle.odsOffenes Format, z. B. aus LibreOffice Calc. Wird mit GDAL gelesen (Teil von QGIS, keine Zusatzpakete); alle Zellen werden als Text übernommen, führende Nullen der PLZ bleiben erhalten. Bei mehreren Tabellenblättern erscheint eine Auswahl.

Nach dem Laden zeigt Erkannter Dateityp Format und Tabellenblatt; die Vorschau zeigt die ersten Felder der ersten Zeile.

Geocodierung: Spaltenzuordnung

Im Rahmen 2 · Spaltenzuordnung legen Sie fest, welche Spalte welche Adressangabe enthält. Häufige Spaltennamen werden automatisch erkannt.

Unterreiter „Mehrere Spalten“

FeldPflichtBeschreibung
Straße (+ Hausnummer)*Straßenname, gern mit Hausnummer in derselben Spalte („Lindenstraße 12“). Die Hausnummer wird automatisch abgetrennt; bei Bereichen wie „12-14“ oder „12/14“ zählt die erste Nummer.
Hausnummer (eigene Spalte)–Optional. Empfohlen bei Straßennamen mit Zahl („Straße 10“, „An der B 5“), damit die Zahl im Namen nicht als Hausnummer gelesen wird.
Postleitzahl–Optional, aber empfohlen: Sie verbessert die Trefferquote und dient zur Erkennung des Bundeslands.
Stadt / Ort*Gemeinde, Ortsteil oder Bezirk („Blankenese“, „Pankow“, „Berlin-Mitte“). Gleichnamige Orte werden über PLZ bzw. Bundesland unterschieden, sonst gilt der größte.
Bundesland–Optional, z. B. „Nordrhein-Westfalen“ oder „NRW“. Angaben wie „Deutschland“ werden ignoriert.

* Mindestens Straße oder Stadt muss zugeordnet sein.

Die besten Ergebnisse liefert die Kombination Straße + Hausnummer + PLZ + Stadt.

Unterreiter „Eine Spalte“

Steht die komplette Adresse in einer einzigen Spalte (z. B. Lorettoplatz 7, 81377 München), wählen Sie den Unterreiter Eine Spalte und ordnen nur die Adressspalte zu. Straße, Hausnummer, PLZ und Ort werden dann automatisch erkannt — mit oder ohne Komma.

Die automatische Zerlegung kann bei ungewöhnlichem Aufbau (z. B. Ort vor der Straße) danebenliegen. Getrennte Spalten sind dann zuverlässiger.

Geocodierung: Ausgabe

Im Rahmen 3 · Ausgabe geben Sie an, wohin das Ergebnis geschrieben wird.

Geocodierung: Optionen

Layer nach Geocodierung in QGIS laden

Lädt den fertigen Layer automatisch ins aktuelle QGIS-Projekt.

Nicht gefundene Adressen aussortieren und als CSV ablegen

Ohne diese Option stehen nicht gefundene Adressen mit leerer Geometrie im Ergebnis-Layer. Mit der Option enthält der Layer nur Treffer; die übrigen Adressen landen als CSV-Datei <Layer-Name>_nicht_gefunden.csv im Ordner des GeoPackages (Semikolon-getrennt, UTF-8) — mit den ursprünglichen Spalten, der zusammengesetzten Abfrage und einem Hinweis zum Grund.

Punkte mit identischen Koordinaten um 1 m versetzen

Erhalten mehrere Adressen genau dieselben Koordinaten, werden die weiteren Punkte auf einem Kreis mit 1 m Radius verteilt (bis zu 8 Positionen). Der erste Treffer bleibt an seiner Stelle. Der Versatz dient nur der Darstellung; die Original-Koordinaten stehen weiter in lat und lon.

DSGVO-konformes Geocodieren (nur lokale Quellen)

Es wird ausschließlich die lokale Datenbank genutzt, keine Online-Abfrage — keine Adresse verlässt den Rechner. Adressen ohne lokalen Treffer bleiben „nicht gefunden (nur lokal)“. Geeignet für datenschutzsensible Bereiche wie Verwaltung, Gesundheit oder Soziales.

Ohne lokale Datenbank liefert dieser Modus keine Treffer. Richten Sie zuerst die Datenbank ein (siehe Datenbank einrichten).

Geocodierung starten / Abbrechen

Geocodierung starten arbeitet im Hintergrund — QGIS bleibt bedienbar. Das Protokoll zeigt für jede Adresse die verwendete Quelle und am Ende eine Zusammenfassung. Abbrechen beendet den Lauf; das Plugin fragt dann, ob das Teilergebnis gespeichert werden soll — als eigener Layer mit der Endung _teil, ein vorhandener Layer gleichen Namens bleibt unverändert.

Während Daten in die Datenbank importiert werden (Reiter „Datenbank & Quellen“), ist die Datenbank gesperrt: Geocodieren und Aktualisieren schließen sich deshalb gegenseitig aus.

Laufzeit: Lokale Adressen werden sofort verarbeitet. Nominatim braucht ca. 1,1 Sekunden je Adresse — 100 Adressen über Nominatim dauern also rund 2 Minuten.

Lokal oder Nominatim: Welche Quelle wird genutzt?

Der Geocoder entscheidet für jede Adresse selbst:

BedingungQuelleEintrag in geocoder_source
Lokale Datenbank vorhanden und Bundesland der Adresse erkannt (über PLZ oder Feld Bundesland) Lokal Lokal (Hessen), Lokal (Hamburg) …
Lokal gesucht, aber kein Treffer Nominatim Nominatim (Fallback)
Keine lokale Datenbank oder Adresse außerhalb der geladenen Bundesländer Nominatim Nominatim

Im DSGVO-Modus entfallen beide Nominatim-Zeilen.

Bundesland-Erkennung über die PLZ

Fehlt ein Bundesland-Feld (oder steht dort nur „Deutschland“), schätzt der Geocoder das Bundesland aus den ersten Ziffern der PLZ. Es dient nur als Vorfilter, damit die Suche schneller ist; den Ausschlag geben Ort und PLZ.

Eine vollständige 5-stellige PLZ ist bundesweit eindeutig. Die lokale Suche findet die Adresse darüber auch dann, wenn der Ort fehlt oder das aus der PLZ geratene Bundesland falsch wäre (z. B. 21244 Buchholz, deren Präfix 21 sonst Hamburg zugeordnet ist).

Nominatim (Online-Dienst)

Nominatim ist der Geocoder von OpenStreetMap. Er wird für Adressen außerhalb der geladenen Bundesländer genutzt und als Ersatz, wenn die lokale Suche nichts findet. Erlaubt ist höchstens 1 Anfrage pro Sekunde; das Plugin hält das automatisch ein (siehe Nutzungsrichtlinien).

Reiter „Datenbank & Quellen“ im Überblick

Hier richten Sie die Datenbank ein und halten sie aktuell. Der Reiter besteht aus vier Rahmen:

RahmenWofür
GeocodierungsdatenbankPfad der Datenbankdatei und Stand: Zahl der Adressen, Bundesländer und Dateigröße. Pfad speichern und Datenbank verwenden übernimmt einen geänderten Pfad.
Quellen je BundeslandTabelle aller 16 Länder mit Adressen in der Datenbank, Quelle, Bezug und letztem Abruf. Der Stift am Zeilenende (oder ein Doppelklick) öffnet die Detailseite des Landes. Darunter die Knöpfe zum Aktualisieren und Prüfen (siehe unten).
PostleitzahlenOb noch Adressen ohne PLZ vorhanden sind und welche PLZ-Gebiete verwendet werden (siehe Postleitzahlen).
FortschrittFortschrittsbalken und Protokoll des laufenden Abrufs; Abbrechen unten rechts.

Bezug

Knöpfe unter der Tabelle

Vollständigkeitsprüfung bei WFS-Quellen: Vor dem Import vergleicht das Plugin die Zahl der geladenen Adressen mit der Zahl, die der Dienst meldet. Weicht sie ab, bricht der Abruf ab und der bisherige Bestand bleibt erhalten — ein unvollständiger Download ersetzt nie einen vollständigen Bestand.

Detailseite eines Bundeslands

Sie öffnen sie über den Stift in der Tabelle Quellen je Bundesland oder per Doppelklick auf die Zeile. Oben stehen der Stand in der Datenbank und die Standardquelle mit Link. Darunter legen Sie im Rahmen Quelle für dieses Bundesland die Bezugsart fest:

Datei auf diesem Rechner

Eine Adressdatei auf diesem Rechner oder einem Netzlaufwerk: HK-DE-Text (.txt/.csv), INSPIRE-GML, Shapefile, OpenStreetMap-Extrakt (.osm.pbf) oder ein Zip davon (zu den Formaten siehe Datenformate). Das Format wird an der Datei erkannt. Die Vorschau zeigt zwei Adressen und warnt, wenn die Datei Adressen eines anderen Bundeslands enthält; bei Shapefiles erscheint eine Feldzuordnung. Datei importieren speichert die Angaben und importiert sofort. Ersetzen Sie die Datei später durch eine neuere Fassung unter demselben Pfad, importiert Alle eingetragenen Quellen aktualisieren sie automatisch erneut (erkannt an Größe und Änderungsdatum).

Internetquellen

Feste Datei-URL, Verzeichnisindex, Link auf einer Webseite, Atom-/RSS-Feed, CKAN-Datenkatalog, WFS 2.0, Dateiliste als GeoJSON (je Kreis eine Datei), GaiaLight-Downloaddienst oder OGC API Features. Für die Standardquellen ist alles vorbelegt; ändern müssen Sie hier normalerweise nichts.

Knöpfe

Wer nur aktualisiert und nichts ändert, behält die Standardquelle. Geänderte Angaben werden als eigene Quelle im QGIS-Profil gespeichert, ersetzen die Standardquelle des Landes und überstehen Plugin-Updates.

Bitte nur offen lizenzierte Quellen mit unmittelbarem Zugriff eintragen (z. B. dl-de/by-2-0, dl-de/zero-2-0, CC BY 4.0) — keine Shops, Anmeldungen oder Portale mit Bot-Schutz — und die Namensnennung laut Lizenz im Ergebnis bzw. in der Kartenquelle angeben.

Sperre nach Abruf

Das Plugin lädt nie von selbst, sondern nur, wenn Sie Alle eingetragenen Quellen aktualisieren oder auf der Detailseite Jetzt aktualisieren klicken. Einige Quellen melden jedoch keinen Datenstand (z. B. die WFS-Dienste) oder ändern sich täglich (OpenStreetMap für Bayern). Ohne Sperre würde jeder Klick den kompletten Bestand — teils mehrere Gigabyte — neu laden.

Diese Quellen werden beim Aktualisieren deshalb übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Das betrifft derzeit Bayern, Brandenburg, Hamburg, Mecklenburg-Vorpommern, Niedersachsen und das Saarland. Die Zusammenfassung meldet sie als übersprungen.

Die Sperre ist kein Zeitplan — nach 28 Tagen wird nichts automatisch geladen.

Quellenliste online aktualisieren

Welche Download-Adresse für welches Land gilt, steht in einer Quellenliste, die mit dem Plugin geliefert wird. Ändert ein Land seinen Download, kommt die neue Adresse ohne neue Plugin-Version an: Quellenliste prüfen lädt die aktuelle Liste von der Projektseite des Plugins auf GitHub. Das geschieht auch automatisch vor Alle eingetragenen Quellen aktualisieren. Unter der Tabelle steht, welche Liste gilt und von wann sie ist.

Ausweichquellen und Schutz des Bestands

Für ein Land kann eine Ausweichquelle hinterlegt sein, die einspringt, wenn die Hauptquelle scheitert. Derzeit gilt das für Thüringen: Ist die Datei des Landes nicht erreichbar, dient der ältere INSPIRE-Download als Ersatz — aber nur, solange noch keine Thüringer Adressen in der Datenbank sind (er ist älter, und rund 66.000 Adressen fehlt die Koordinate).

Außerdem schützt das Plugin den vorhandenen Bestand:

Die Quellen der 16 Bundesländer

Alle 16 Bundesländer lädt das Plugin selbst — mit einem Klick auf Alle eingetragenen Quellen aktualisieren.

BundeslandDatenPostleitzahlenAbruf
Baden-WürttembergHK-DE-Textergänzt aus den PLZ-Gebieten✅ automatisch
BayernOpenStreetMap (.osm.pbf) (nicht amtlich)aus der Quelle✅ automatisch
BerlinHK-DE-Textaus der Quelle✅ automatisch
BrandenburgINSPIRE-GMLergänzt aus den PLZ-Gebieten✅ automatisch
BremenShapefileaus der Quelle✅ automatisch
HamburgINSPIRE-GMLaus der Quelle✅ automatisch
HessenHK-DE-Textergänzt aus den PLZ-Gebieten✅ automatisch
Mecklenburg-VorpommernINSPIRE-GMLergänzt aus den PLZ-Gebieten✅ automatisch
NiedersachsenALKIS-GeoPackageergänzt aus den PLZ-Gebieten✅ automatisch
Nordrhein-WestfalenHK-DE-Textergänzt aus den PLZ-Gebieten✅ automatisch
Rheinland-PfalzHK-DE-Textergänzt aus den PLZ-Gebieten✅ automatisch
SaarlandGeoJSONaus der Quelle✅ automatisch
SachsenHK-DE-Textaus der Quelle✅ automatisch
Sachsen-AnhaltHK-DE-Textergänzt aus den PLZ-Gebieten✅ automatisch
Schleswig-HolsteinHK-DE-Textaus der Quelle✅ automatisch
ThüringenHK-DE-Textergänzt aus den PLZ-Gebieten✅ automatisch

Wie und wo die Daten abgerufen werden

BundeslandZugriffFormatHinweis
Baden-Württembergopengeodata.lgl-bw.de, feste Datei-URLHK-DE-TextRund 3 Mio. Gebäudepositionen, ohne Postleitzahlen – sie werden automatisch ergänzt. Gebäude ohne echte Hausnummer (Pseudo-Nummern aus Koordinaten) werden übergangen.
Bayerndownload.geofabrik.de, feste Datei-URLOpenStreetMap (.osm.pbf)Nicht amtlich: rund 2,5 Mio. Adressen aus OpenStreetMap (© OpenStreetMap-Mitwirkende, ODbL). Amtliche Hauskoordinaten gibt es in Bayern nur kostenpflichtig. Beim Aktualisieren übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Abruf: rund 15 Minuten.
Berlingdi.berlin.de, Atom-FeedHK-DE-TextRund 395.000 Adressen mit Postleitzahlen.
Brandenburginspire.brandenburg.de, INSPIRE-WFSINSPIRE-GMLRund 870.000 Adressen, ohne Postleitzahlen – sie werden automatisch ergänzt. Beim Aktualisieren übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Abruf: rund eine halbe Stunde (ca. 1,7 GB).
Bremengdi2.geo.bremen.de, feste Datei-URLShapefileRund 176.000 Adressen mit Postleitzahlen (Bremen und Bremerhaven).
Hamburggeodienste.hamburg.de, INSPIRE-WFSINSPIRE-GMLRund 300.000 Adressen mit Postleitzahlen. Beim Aktualisieren übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Abruf: rund 10–15 Minuten.
Hessengds.hessen.de, feste Datei-URLHK-DE-TextRund 1,6 Mio. Adressen, ohne Postleitzahlen – sie werden automatisch aus den mitgelieferten PLZ-Gebieten ergänzt.
Mecklenburg-Vorpommernwww.geodaten-mv.de, INSPIRE-WFSINSPIRE-GMLRund 520.000 Adressen, ohne Postleitzahlen – sie werden automatisch aus den mitgelieferten PLZ-Gebieten ergänzt. Beim Aktualisieren übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Abruf: etwa 25 Minuten.
Niedersachsenarcgis-geojson.s3.eu-de.cloud-object-storage.appdomain.cloud, Dateiliste je KreisALKIS-GeoPackageRund 2,6 Mio. Adressen aus den ALKIS-Gebäuden aller 45 Kreise, ohne Postleitzahlen – sie werden automatisch ergänzt. Beim Aktualisieren übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Abruf: rund 20 Minuten (4,4 GB).
Nordrhein-Westfalenwww.opengeodata.nrw.de, VerzeichnisindexHK-DE-TextRund 4,5 Mio. Adressen, ohne Postleitzahlen – sie werden automatisch aus den mitgelieferten PLZ-Gebieten ergänzt. Abruf: rund 5 Minuten.
Rheinland-Pfalzgeobasis-rlp.de, feste Datei-URLHK-DE-TextRund 1,4 Mio. Adressen, ohne Postleitzahlen – sie werden automatisch ergänzt.
Saarlandgeoportal.saarland.de, OGC API FeaturesGeoJSONRund 335.000 Adressen mit Postleitzahlen; als Ort dient der Postort. Beim Aktualisieren übersprungen, solange der letzte Abruf weniger als 28 Tage zurückliegt. Abruf: rund 10 Minuten.
Sachsenwww.geodaten.sachsen.de, Link auf der DownloadseiteHK-DE-TextRund 990.000 Adressen mit Postleitzahlen.
Sachsen-Anhaltgeodatenportal.sachsen-anhalt.de, feste Datei-URLHK-DE-TextRund 660.000 Adressen (Gebäudereferenzen), ohne Postleitzahlen – sie werden automatisch ergänzt.
Schleswig-Holsteingeodaten.schleswig-holstein.de, Downloaddienst (Auftrag)HK-DE-TextRund 955.000 Adressen mit Postleitzahlen (aus dem Liegenschaftskataster, ohne Abgleich mit der Post).
Thüringengeoportal.geoportal-th.de, feste Datei-URL; Ausweichquelle: www.geoproxy.geoportal-th.deHK-DE-TextRund 620.000 Adressen, ohne Postleitzahlen – sie werden automatisch ergänzt. Ist die Datei des Landes nicht erreichbar, dient der ältere INSPIRE-Download als Ersatz – aber nur, solange noch keine Thüringer Adressen in der Datenbank sind.

Die Dauerangaben in dieser Tabelle stammen aus der Quellenliste; aktuelle Messwerte stehen unter Aufwand je Bundesland. Links und Lizenzen der Quellen: Lizenzen und Quellenvermerke.

Besonderheiten einzelner Länder

Postleitzahlen: mitgelieferte PLZ-Gebiete

Viele amtliche Hauskoordinaten enthalten keine Postleitzahl (z. B. Nordrhein-Westfalen und Mecklenburg-Vorpommern). Damit die PLZ trotzdem für die Suche zur Verfügung steht, liefert das Plugin die PLZ-Gebiete Deutschlands mit und ergänzt fehlende PLZ automatisch anhand der Lage des Adresspunkts:

PLZ aus den amtlichen Quellen haben immer Vorrang und werden nie überschrieben. Bringt eine neue Plugin-Version neuere PLZ-Gebiete mit, werden nur die ergänzten PLZ beim nächsten Aktualisieren neu berechnet. Eine Einstellung ist nicht nötig.

AngabeWert
Daten8.172 PLZ-Gebiete, auf 5 m vereinfacht, Stand 24.10.2026
QuelleDirekt aus OpenStreetMap: die Grenzen der Postleitzahlgebiete, gelesen aus dem Deutschland-Extrakt von Geofabrik
LizenzOpen Database License (ODbL) 1.0 — Namensnennung: © OpenStreetMap-Mitwirkende
Genauigkeit99,8 % Übereinstimmung mit amtlichen PLZ (Stichprobe); Abweichungen vor allem an PLZ-Grenzen

Eigene PLZ-Gebiete: Im Rahmen Postleitzahlen des Reiters „Datenbank & Quellen“ lässt sich über Eigene PLZ-Gebiete … eine eigene Datei setzen (GeoPackage, Shapefile, GeoJSON), z. B. lizenzierte PLZ-Gebiete der Deutschen Post. Mitgelieferte verwenden stellt den Standard wieder her.

Lizenzhinweis: Die ergänzten Postleitzahlen beruhen auf OpenStreetMap-Daten (© OpenStreetMap-Mitwirkende, ODbL). Bei Weitergabe von Ergebnissen ist die Namensnennung anzugeben. Wird eine Geocodierungsdatenbank mitsamt PLZ-Gebieten weitergegeben, gilt für diesen Teil die ODbL.

OpenStreetMap als Quelle (Bayern)

Für Bayern lädt das Plugin den Extrakt bayern-latest.osm.pbf von Geofabrik (rund 860 MB) und wandelt ihn mit den Werkzeugen von QGIS in Adressen um:

Download, Umwandlung und Import dauern zusammen rund 15 Minuten (zuletzt rund 2,57 Mio. Adressen). Da sich OpenStreetMap täglich ändert, gilt eine Sperre nach Abruf von 28 Tagen. Die Bayern-Daten sind nicht amtlich und stehen unter der ODbL (siehe Lizenzen).

Amtliche Hauskoordinaten kaufen: Die Zentrale Stelle Hauskoordinaten und Hausumringe (ZSHH) beim Landesamt für Digitalisierung, Breitband und Vermessung Bayern vertreibt die amtlichen Hauskoordinaten aller Länder als bundesweit einheitliche HK-DE-Datei (rund 23 Mio. Adressen, zweimal jährlich aktualisiert; laut Anbieter ab 6.000 €): ZSHH – Hauskoordinaten Deutschland (HK-DE). Wer amtliche Daten für Bayern (oder ein anderes Land) erworben hat, trägt die Datei auf der Detailseite des Landes als Datei auf diesem Rechner ein — sie ersetzt dann die Standardquelle.

Ergebnis: Ausgabefelder im GeoPackage-Layer

Zusätzlich zu den Spalten der Eingabedatei enthält der Layer diese Felder:

FeldnameTypQuelleBeschreibung
geocoder_addressTextBeideGesendete Adressanfrage.
geocoder_sourceTextBeideVerwendete Quelle: Lokal (…), Nominatim oder Nominatim (Fallback).
geocodedGanzzahlBeide1 = Treffer, 0 = nicht gefunden.
nameTextBeideLokal: Straße + Hausnummer des Treffers; Nominatim: Name des OSM-Objekts.
addresstypeTextNominatimArt des Treffers: building, road, city usw.
importanceDezimalNominatimRelevanz 0–1. Bei lokal immer leer.
typeTextNominatimOSM-Untertyp: fire_station, residential usw.
categoryTextNominatimOSM-Hauptkategorie: amenity, highway usw.
accuracy_levelGanzzahlBeideGenauigkeitsstufe 0–5 (siehe unten).
accuracy_labelTextBeideGenauigkeit in Worten: Hausnummer, Straße, Stadt usw.
local_scoreDezimalLokalÜbereinstimmung 0–1 (siehe Fuzzy-Score). Bei Nominatim leer.
local_score_labelTextLokalExakt / Sehr gut / Gut / Unsicher / Schwach.
latDezimalBeideBreitengrad WGS84 (auch bei aktivem Versatz unverändert).
lonDezimalBeideLängengrad WGS84 (auch bei aktivem Versatz unverändert).

Ergebnis: Genauigkeitsstufen (accuracy_level)

StufeLabelBedeutung
5Haus / Gebäude / Hausnummer / EinrichtungHöchste Genauigkeit. Lokal: angegebene Hausnummer exakt gefunden. Nominatim: Gebäude oder Einrichtung.
4Straße (Mittelpunkt) / Straße (nächste Hausnummer)Straßenebene. Ohne Hausnummer in der Eingabe: der Adresspunkt, der der Mitte der Straße am nächsten liegt. Hausnummer angegeben, aber nicht vorhanden: der Punkt der numerisch nächsten Hausnummer; deren Nummer steht im Feld name. Es wird keine Hausnummer erfunden.
3PLZLokal: Mitte aller Adresspunkte der PLZ (in Städten feiner als der ganze Ort). Nominatim: Postleitzahl bzw. Stadtteil.
2Stadt / Gemeinde / OrtLokal: Mitte der gesamten Gemeinde (bei reiner Ortsangabe). Nominatim: Stadt, Ort oder Gemeinde.
1Landkreis / BundeslandSehr grob (nur Nominatim).
0Kein Treffer / LandKeine verwertbare Zuordnung.
Bei unvollständigen Angaben setzt die lokale Suche einen Näherungspunkt statt gar keiner Geometrie: nur PLZ → Mitte des PLZ-Gebiets (Stufe 3), nur Ort → Mitte der Gemeinde (Stufe 2). Das gilt auch, wenn die Straße nicht gefunden wird, PLZ oder Ort aber bekannt sind. local_score ist dann leer und local_score_label lautet „Näherung (Schwerpunkt)“.

Ergebnis: Fuzzy-Score der lokalen Suche (local_score)

Die lokale Suche ist fehlertolerant („unscharf“, englisch fuzzy): Sie findet Adressen auch bei Tippfehlern und abweichender Schreibweise und bewertet, wie gut der Treffer zur Eingabe passt.

ScoreLabelBedeutung
≥ 0,92ExaktVollständige Übereinstimmung.
≥ 0,75Sehr gutMinimale Abweichungen (z. B. Abkürzung statt Vollform).
≥ 0,55GutLeichte Abweichungen, Treffer zuverlässig.
≥ 0,40UnsicherMerkliche Abweichungen — bitte prüfen.
< 0,40SchwachGroßer Unterschied zur Eingabe — Treffer zweifelhaft.

Was die Suche ausgleicht

Wie der Score entsteht

AngabeGewichtHinweis
Straßenname45 % (55 % ohne PLZ, bis 85 % ohne Hausnummer)Ähnlichkeit der Schreibweise; das wichtigste Feld.
Hausnummer25 %Exakt = voll, nur Buchstabenzusatz abweichend (12 → 12a) = halb. Zählt nur bei gutem Straßentreffer — eine passende Nummer in einer falschen Straße überholt nicht die richtige Straße.
Gemeinde/Ort15 % (20 % ohne PLZ)Bestätigt den Treffer.
Postleitzahl15 %Nur bei genauer Übereinstimmung.

Fehlt eine Angabe in der Eingabe, wird ihr Gewicht auf die übrigen verteilt — vor allem auf die Straße. Eine Eingabe ohne Hausnummer oder ohne PLZ wird dadurch nicht pauschal abgewertet. Die räumliche Genauigkeit zeigt davon unabhängig accuracy_level (z. B. 4 = Straße, auch wenn der Score „Exakt“ ist).

Ergebnis: Nicht gefundene Adressen

Was mit Adressen ohne Treffer geschieht, steuert die Option „Nicht gefundene Adressen aussortieren und als CSV ablegen“ (siehe Optionen). In beiden Fällen werden sie am Ende im Protokoll aufgelistet.

OptionVerhalten
aus (Standard)Nicht gefundene Adressen bleiben ohne Geometrie im Ergebnis-Layer: geocoded = 0, accuracy_level = 0, accuracy_label = „Nicht gefunden“, lat/lon leer.
anDer Layer enthält nur Treffer; die übrigen Adressen stehen in <Layer-Name>_nicht_gefunden.csv neben dem GeoPackage.
Zeilen ohne Geometrie filtern: "geocoded" = 0 — oder in der Werkzeugkiste Vektorgeometrie → Leergeometrien entfernen.

Häufige Gründe: Das Bundesland der Adresse ist nicht in der Datenbank geladen (im DSGVO-Modus), die Straße ist falsch geschrieben oder neu, oder der Ort ist mehrdeutig und keine PLZ angegeben. Eine PLZ in der Eingabe hilft oft schon.

Anhang: Datenformate (technisch)

Diese Angaben brauchen Sie nur, wenn Sie auf der Detailseite eine eigene Datei oder Internetquelle eintragen.

FormatBeschreibungVerwendet für
HK-DE-Text„Hauskoordinaten Deutschland“: bundesweiter Standard der Vermessungsverwaltungen (AdV), semikolongetrennte Textdatei mit Bundesland, Kreis, Gemeinde, Straße, Hausnummer, Zusatz, UTM-Zone sowie Rechts- und Hochwert.Baden-Württemberg, Berlin, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz, Sachsen, Sachsen-Anhalt, Schleswig-Holstein, Thüringen
INSPIRE-GMLINSPIRE ist die europäische Richtlinie für Geodaten; ihre Adressen werden als GML (eine XML-Datei für Geodaten) geliefert, meist über einen WFS. Eine Datei enthält Adressen, Straßennamen, Postleitzahlen und Verwaltungseinheiten getrennt; das Plugin setzt sie zusammen.Brandenburg, Hamburg, Mecklenburg-Vorpommern; Thüringen (Ausweichquelle)
ShapefileVerbreitetes GIS-Dateiformat (auch als Zip). Adresspunkte oder Gebäudeumrisse; die Feldnamen werden zugeordnet (siehe unten).Bremen
OpenStreetMap (.osm.pbf)Extrakt der freien Weltkarte OpenStreetMap; siehe OpenStreetMap als Quelle.Bayern
ALKIS-GeoPackageALKIS ist das amtliche Liegenschaftskataster. Übernommen werden Gebäude mit Straße und Hausnummer; die Gemeinde kommt aus den Flurstücken derselben Datei.Niedersachsen (je Kreis eine Datei)
OGC API Features (GeoJSON)Moderne Internet-Schnittstelle für Geodaten, die seitenweise GeoJSON liefert.Saarland

Shapefile: Geometrie und Feldzuordnung

Objekte ohne Straßenangabe werden übersprungen. Die Feldzuordnung erscheint auf der Detailseite, sobald eine Shapefile-Datei (oder ein Zip damit) gewählt ist; häufige Feldnamen werden vorbelegt, und die Zuordnung wird mit der Quelle gespeichert. Koordinaten werden bei Bedarf automatisch umgerechnet.

FeldPflichtHinweis
Straße✅Straßenname
Hausnummer✅Angaben wie „12a“, „12-14“ oder „12;14“ werden in Nummer und Zusatz bzw. mehrere Adressen zerlegt; Werte mit mehr als 4 Ziffern (Flurstücks- statt Hausnummern) werden übergangen
Hausnr.-Zusatz–z. B. „a“, „b“
Postleitzahl–
Stadt / Ort–Bleibt dies leer, wird der Name des Bundeslands als Ort gespeichert (wie bei Berlin)

Koordinaten

Die amtlichen Hauskoordinaten liegen je nach Land in UTM Zone 32N (EPSG:25832) oder 33N (EPSG:25833). Das Plugin erkennt die Zone und rechnet die Ergebnisse nach WGS84 (EPSG:4326) um.

Dateien und Speicherorte

WasWo
Geocodierungsdatenbank<QGIS-Profil>/gis_akademie_geocoder/geocoder.db (Standard) oder der gespeicherte Pfad
Vorübergehende Download-DateienOrdner quellen neben der Datenbank; nach erfolgreichem Import gelöscht, nach einem Fehler bis zum nächsten Abruf aufbewahrt
Eigene Quellen und online geladene QuellenlisteOrdner <QGIS-Profil>/gis_akademie_geocoder

Fehlerbehebung und häufige Fragen

Eine Quelle ist nicht erreichbar oder liefert „eine Webseite statt der Datei“

Meist ist der Server des Landes gerade in Wartung oder überlastet. Der bisherige Bestand des Landes bleibt erhalten, die übrigen Länder werden normal geladen. Versuchen Sie es später erneut — über Alle eingetragenen Quellen aktualisieren oder auf der Detailseite mit Jetzt aktualisieren.

Ein Land wird als „übersprungen“ gemeldet

Für dieses Land gilt die Sperre nach Abruf: Der letzte Abruf liegt weniger als 28 Tage zurück. Sofort laden: Auch ohne neue Daten erneut laden anhaken.

Ein Land wird als „unverändert“ gemeldet

Seit dem letzten Abruf gibt es keine neuen Daten — es wurde nichts geladen. Mit Auch ohne neue Daten erneut laden erzwingen Sie den Abruf, z. B. nach einem Plugin-Update mit geändertem Datenbankformat. Jeder Import ersetzt den bisherigen Bestand seines Landes.

Downloads scheitern im Behördennetz (Proxy, Firewall)

Das Plugin lädt direkt von den Servern der Länder (Adressen in der Tabelle Wie und wo die Daten abgerufen werden) und die Quellenliste von GitHub. In abgeschotteten Netzen blockieren Proxy oder Firewall solche Abrufe oft. Möglichkeiten:

Zu wenig Speicherplatz

Für alle Länder braucht die fertige Datenbank rund 5–6 GB, während des Imports zusätzlich bis ca. 2–3 GB (siehe Aufwand). Abhilfe: nur die benötigten Länder laden oder die Datenbank auf ein größeres Laufwerk legen (Pfad speichern und Datenbank verwenden). Download-Dateien werden nach dem erfolgreichen Import gelöscht; nach einem Fehler bleiben sie im Ordner quellen neben der Datenbank bis zum nächsten Abruf liegen.

Wo finde ich technische Details zu einem Fehler?

Das Protokoll im Plugin zeigt Schritte und Ergebnisse in verständlicher Form. Technische Angaben für den Support (Adressen der Dienste, Dateinamen, Fehlerdetails) stehen im QGIS-Meldungsprotokoll: Ansicht → Bedienfelder → Protokollmeldungen, Reiter „GIS-Akademie Geocoder“. Bei einem Fehler weist das Protokoll im Plugin darauf hin.

Kann die Datenbank auf einem Netzlaufwerk liegen?

Die Datenbank ist eine einzelne Datei; ihr Pfad kann frei gewählt werden, auch auf einem Netzlaufwerk. Da sie mehrere Gigabyte groß ist, laufen Einrichten und Aktualisieren auf einem lokalen Laufwerk in der Regel schneller. Eine Möglichkeit: lokal einrichten und die fertige Datei anschließend auf das Netzlaufwerk kopieren. Aktualisieren Sie nicht, während andere damit geocodieren.

Nominatim ist langsam oder liefert wenig

Nominatim erlaubt höchstens eine Anfrage pro Sekunde (rund 2 Minuten je 100 Adressen) und ist nicht für große Mengen gedacht. Laden Sie die betroffenen Bundesländer in die lokale Datenbank — dann wird Nominatim nur noch als Ersatz gebraucht. Für große Mengen über Nominatim ist eine eigene Nominatim-Instanz nötig.

Wie halte ich die Daten aktuell?

Klicken Sie von Zeit zu Zeit (z. B. monatlich) auf Alle eingetragenen Quellen aktualisieren. Geladen wird nur, was neu ist. Das Plugin aktualisiert nie von selbst.

Lizenzen, Quellenvermerke und Nutzungsrichtlinien

Nominatim

Höchstens 1 Anfrage pro Sekunde; das Plugin hält dies automatisch ein (1,1 Sekunden Pause). Für größere Mengen eine eigene Instanz betreiben. Weitere Infos: operations.osmfoundation.org/policies/nominatim/

Lokale Daten

Die amtlichen Hauskoordinaten stehen überwiegend unter der Datenlizenz Deutschland – Namensnennung – Version 2.0 (dl-de/by-2-0); Niedersachsen, Schleswig-Holstein, Thüringen und Bremen nutzen CC BY 4.0, Berlin dl-de/zero-2-0 (keine Namensnennung erforderlich). Bitte geben Sie bei Karten und weitergegebenen Ergebnissen die Namensnennung laut Quellenvermerk an.

Ausnahme Bayern und PLZ-Gebiete: Diese Daten stammen aus OpenStreetMap und stehen unter der ODbL. Neben der Namensnennung (© OpenStreetMap-Mitwirkende) gilt hier Share-alike: Eine daraus abgeleitete, weitergegebene Datenbank muss wieder unter der ODbL stehen.

Quellenvermerke je Bundesland

BundeslandQuellenvermerk
Baden-WürttembergDatengrundlage: LGL, www.lgl-bw.de, dl-de/by-2-0
Bayern© OpenStreetMap-Mitwirkende, ODbL (nicht amtlich; Share-alike beachten)
Berlin© GeoBasis-DE/SenStadt Berlin, dl-de/zero-2-0 (Namensnennung optional)
Brandenburg© GeoBasis-DE/LGB, dl-de/by-2-0
Bremen© Landesamt GeoInformation Bremen, CC BY 4.0
Hamburg© Freie und Hansestadt Hamburg, Landesbetrieb Geoinformation und Vermessung, dl-de/by-2-0
Hessen© Hessische Verwaltung für Bodenmanagement und Geoinformation (HVBG), dl-de/by-2-0
Mecklenburg-Vorpommern© GeoBasis-DE/M-V, dl-de/by-2-0
Niedersachsen© GeoBasis-DE/LGLN <Jahr>, Daten geändert, CC BY 4.0
Nordrhein-Westfalen© Geobasis NRW, dl-de/by-2-0
Rheinland-Pfalz© GeoBasis-DE/LVermGeoRP <Jahr>, dl-de/by-2-0, www.lvermgeo.rlp.de
Saarland© GeoBasis DE/LVGL-SL <Jahr>, dl-de/by-2-0
Sachsen© GeoSN, dl-de/by-2-0
Sachsen-Anhalt© GeoBasis-DE/LVermGeo ST, dl-de/by-2-0
Schleswig-Holstein© GeoBasis-DE/LVermGeo SH/CC BY 4.0
Thüringen© GDI-Th, CC BY 4.0
PLZ-Gebiete (mitgeliefert)© OpenStreetMap-Mitwirkende, ODbL 1.0

Quellen und Lizenzen

BundeslandQuelleLizenz
Baden-WürttembergLGL BW – Hauskoordinaten (opengeodata.lgl-bw.de)dl-de/by-2-0
BayernOpenStreetMap – Geofabrik-Extrakt BayernODbL 1.0 (© OpenStreetMap-Mitwirkende)
BerlinGeoportal Berlin – Hauskoordinaten (gdi.berlin.de)dl-de/zero-2-0
BrandenburgLGB – INSPIRE-Adressen Brandenburg (WFS)dl-de/by-2-0 (© GeoBasis-DE/LGB)
BremenLandesamt GeoInformation Bremen – ALKIS Gebäudeadressen (gdi2.geo.bremen.de)CC BY 4.0
HamburgLGV Hamburg – Adressen Hauskoordinaten (geodienste.hamburg.de)dl-de/by-2-0
HessenHVBG – Hauskoordinaten Hessen (gds.hessen.de)dl-de/by-2-0
Mecklenburg-VorpommernLAiV M-V – Adressen (geodaten-mv.de)dl-de/by-2-0
NiedersachsenLGLN – ALKIS-Vektordaten je Kreis (OpenGeoData Niedersachsen)CC BY 4.0 (© GeoBasis-DE/LGLN)
Nordrhein-WestfalenGeobasis NRW – Gebäudereferenzen (opengeodata.nrw.de)dl-de/by-2-0
Rheinland-PfalzLVermGeo RLP – Hauskoordinaten (geobasis-rlp.de)dl-de/by-2-0
SaarlandLVGL – Hauskoordinaten Saarland (OGC API Features)dl-de/by-2-0 (© GeoBasis DE/LVGL-SL)
SachsenGeoSN – Hauskoordinaten Sachsen (geodaten.sachsen.de)dl-de/by-2-0
Sachsen-AnhaltLVermGeo ST – Gebäudereferenzen (geodatenportal.sachsen-anhalt.de)dl-de/by-2-0 (© GeoBasis-DE/LVermGeo ST)
Schleswig-HolsteinLVermGeo SH – Hauskoordinaten aus ALKIS (geodaten.schleswig-holstein.de)CC BY 4.0 (© GeoBasis-DE/LVermGeo SH)
ThüringenTLBG – Hauskoordinaten Thüringen (geoportal-th.de)CC BY 4.0 (© GDI-Th)

Änderungsprotokoll

Die Änderungen je Version, die neueste zuerst. Dieselben Angaben zeigt QGIS in der Pluginverwaltung bei den Details des Plugins.

VersionÄnderungen
1.0.2Hinweise der Sicherheitsprüfung des Plugin-Verzeichnisses (Bandit, flake8) behoben: Fehlerbehandlung ohne leere except-Blöcke, SQL-Abfragen als feste Texte, nur http/https-Abrufe. Keine Änderung der Funktionen.
1.0.1Hilfe: Aufwand je Bundesland neu gemessen, mit einer bereits gefüllten bundesweiten Datenbank (u.a. Baden-Württemberg ca. 11, Bayern ca. 15, Rheinland-Pfalz ca. 6 Minuten); für alle Länder zusammen rund 2,5–3 Stunden. Angezeigte Dauer beim Abruf von Bayern und Nordrhein-Westfalen angepasst.
1.0Erste Veröffentlichung im QGIS-Plugin-Verzeichnis. Geocodiert Adresstabellen (CSV, Excel, OpenDocument, Tab-getrennt) gegen eine lokale Datenbank amtlicher Hauskoordinaten aller 16 Bundesländer, optional mit Nominatim als Ausweichsuche oder vollständig offline (DSGVO-Modus). Die Datenbank wird im Plugin eingerichtet und aktualisiert: Ein Klick lädt die offenen Daten der Länder und importiert nur, was sich geändert hat; die Quellenliste lässt sich online aktualisieren. Fehlende Postleitzahlen werden aus den mitgelieferten PLZ-Gebieten (OpenStreetMap) ergänzt.