Zum Inhalt springen
AI Segmentation
QGIS
Tutorial

PV-Anlagen aus Luftbildern in QGIS erkennen: 5 Methoden

Veröffentlicht am Aktualisiert am

Drei Ansichten derselben Vorstadtdächer: reines Luftbild, dieselben Dächer mit OpenStreetMap-Solargeneratoren als dünne Umrisse, und dieselben Dächer noch einmal mit jedem erkannten Array als eigenem Polygon.

Um Dach-PV in QGIS zu kartieren, beginnen Sie mit dem, was bereits jemand kartiert hat. Öffnen Sie Vektor > QuickOSM > QuickOSM… (englische Oberfläche: Vector > QuickOSM > QuickOSM…), tragen Sie generator:source in das Schlüsselfeld und solar in das Wertfeld ein und führen Sie die Abfrage für Ihr Gebiet aus. OpenStreetMap enthält 6.143.024 Objekte mit diesem Tag, Stand 3. September 2026, sodass Sie in einer gut erfassten Stadt in zwei Minuten fertig sind. Wo die Abdeckung dünn ist, erkennen Sie die Arrays selbst, und die Methode hängt von Ihren Kanälen und Ihrer Pixelgröße ab.

Ihre EingabeMethodeKosten
Ein Gebiet, das OpenStreetMap bereits gut erfasstMethode 1, QuickOSMKostenlos
Jedes Raster, das die Kartenansicht zeigt, auf jedem RechnerMethode 2, ein Cloud-Segmentierungsmodell1,5 km² pro Monat kostenlos, dann 39 €
Multispektrale Bilder mit NahinfrarotkanalMethode 3, Raster > Rasterrechner…Kostenlos, QGIS-Kern
Vier oder mehr Kanäle und Zeit für TrainingsgebieteMethode 4, Semi-Automatic Classification PluginKostenloses Plugin
Ein RGB-Orthofoto um 20 cm, und eine GPU oder GeduldMethode 5, Deepness plus sein Solar-PV-ModellKostenlos

Preise, Plugin-Versionen und Tag-Zahlen Stand 3. September 2026.

Methode 1: Nutzen Sie, was bereits kartiert ist

QGIS hat seinen eigenen OSM-Downloader in 3.0 entfernt und Nutzer auf QuickOSM verwiesen, also installieren Sie dieses Plugin zuerst.

Generatoren abfragen

Vektor > QuickOSM > QuickOSM…, Schlüssel generator:source, Wert solar, ausführen für Ihre Ausdehnung oder ein benanntes Gebiet. Dach-Arrays tragen power=generator und oft generator:method=photovoltaic.

Kraftwerke separat abfragen

Freiflächenanlagen sind mit power=plant und plant:source=solar getaggt, eine andere Abfrage. Lassen Sie sie weg, fehlt jeder Solarpark in Ihrem Layer.

Für Kilowatt ins Register schauen

Deutschlands Marktstammdatenregister erscheint täglich als XML, unterdrückt aber Koordinaten für jede Einheit mit 30 kW oder weniger, sodass ein Dach auf einer Postleitzahl landet. Frankreichs Register stoppt auf IRIS-Zonenebene und fasst alles unter 36 kW in Aggregatzeilen zusammen.

Der QuickOSM-Dialog in QGIS mit dem Schlüssel generator:source und dem Wert solar sowie den daraus entstandenen Polygonen der Solargeneratoren über einem Luftbild einer Kleinstadt.
Eine QuickOSM-Abfrage, Schlüssel generator:source, Wert solar. Wo ein lokaler Mapper schon war, ist das die ganze Arbeit.

Drei offene Datensätze dienen als Trainingsdaten oder Benchmark. Bradbury et al., 19.863 annotierte PV-Polygone über vier kalifornischen Städten mit 30 cm, CC0. BDAPPV, 28.807 französische Anlagen mit Masken, CC BY 4.0. DeepSolar zählte 1,47 Millionen Systeme in den zusammenhängenden USA, veröffentlichte aber Zählungen pro Census-Tract, keine Polygone.

Nutzen Sie es, wenn: jemand Ihr Gebiet erfasst hat oder Sie Leistung statt Formen brauchen.

Lassen Sie es, wenn: die Abdeckung lückenhaft ist, was Sie nur durch Hinsehen erfahren.

Methode 2: Ein Cloud-Segmentierungsmodell

Ein Segmentierungsmodell hat gelernt, wie ein Array aussieht, also trennt es eines von einem dunklen Dach, wo Methoden 3 und 4 es nicht können. Wir bauen eines davon, AI Segmentation. Dieser Abschnitt handelt von unserem eigenen Tool.

Zeichnen Sie eine Zone über ein beliebiges Raster in der Kartenansicht, geben Sie solar panel ein, und jedes Array kommt als Polygon im Projekt-KBS mit Fläche und Konfidenzwert zurück. Das Modell läuft auf unseren Servern in Europa, also brauchen Sie weder eine GPU noch eine Python-Umgebung.

Das Dach eines Hofgebäudes auf einem Luftbild in QGIS, mit fünf getrennten Gruppen von Solarmodulen, die jeweils als eigenes farbiges Polygon umrandet sind, während das freie Dach dazwischen unberührt bleibt.
Eine Ausführung auf einem Hofdach. Fünf Array-Gruppen, jede ein eigenes Polygon, das freie Dach dazwischen bleibt unberührt.

Zwischen dem 5. Juli und dem 1. September 2026 führten 47 Personen außerhalb unseres Teams solar panel 104 Mal aus, und 15,6 % der Kacheln kamen leer zurück. Über 96 exportierte Ausführungen fand das Modell 40.088 Kandidaten und sie behielten 14.245 oder 35,5 %, entsprechend 496.931 m² Panel.

Geben Sie solar panel ein, nicht solar farm. Das zweite fragt nach der Anlage, und das Modell antwortet mit einer einheitlichen Fläche oder nichts. In den wenigen Ausführungen, die wir haben, ließ es 21 von 24 Kacheln leer.

Am besten für: Dach-Arrays über einen Stadtteil, auf jedem Rechner.

Nicht für: eine Modulzahl. Ein dichtes Array kommt als eine Fläche zurück, also teilen Sie es in QGIS oder dividieren Sie durch die Ihnen bekannte Modulgrundfläche. Ein Wohnmodul ist etwa 1,7 m mal 1,1 m.

Preis: 1,5 km² pro Monat kostenlos, ohne Kreditkarte. Pro ist 39 € pro Monat ohne MwSt. Testen Sie Pro 7 Tage kostenlos: Hinterlegen Sie eine Kreditkarte, kündigen Sie vor Ende der Testzeit, und es wird nichts berechnet.

Läuft auf: unseren Servern, in Europa.

Installation: über die Erweiterungsverwaltung, QGIS 3.22 oder neuer, dann im Bedienfeld anmelden.

Methode 3: Schwellenwert im Rasterrechner

Arbeiten Sie in einem projizierten KBS, weil zwei Schritte unten eine Fläche in Layereinheiten verlangen.

Vier Ausschnitte aus Luftbildern nebeneinander, beschriftet: eine Photovoltaikanlage auf einem Dach, ein Lagerhallendach mit einem Raster aus quadratischen Oberlichtern, ein Gewächshausdach und Reihen von solarthermischen Kollektoren in einem Feld.
Vier Ausschnitte, jeder 90 m breit. Nur der erste erzeugt Strom. Die ersten drei liegen in Freiburg, der letzte ist das Fernwärme-Heizwerk in Braedstrup in Dänemark.

Raster > Rasterrechner… (englische Oberfläche: Raster > Raster Calculator…), Algorithmus-ID native:rastercalc. Module sind dunkel und im Nahinfrarot viel dunkler als ein dunkles Dach, daher trennt ein normalisierter Index zwischen Rot- und NIR-Kanal sie in den meisten Szenen. Dann entfernt gdal:sieve das Rauschen und gdal:polygonize erzeugt Polygone.

Auf drei RGB-Kanälen scheitert das, weil ein dunkles Dach und ein Modul dieselben Werte teilen. Textur ist die übliche Rettung. grass:r.texture berechnet dreizehn GLCM-Maße, und Arrays punkten hoch bei Kontrast und niedrig bei inversem Differenzmoment. GRASS liegt dem Windows-Installer bei und nicht dem macOS-Bundle.

Nutzen Sie es, wenn: Sie einen Nahinfrarotkanal und eine saubere Szene haben.

Lassen Sie es, wenn: die Bilder RGB sind oder die Schwellenwerte über ein Mosaik aus verschiedenen Tagen halten müssen.

Methode 4: Überwachte Klassifikation mit SCP

Das Semi-Automatic Classification Plugin fügt ein SCP-Menü und ein SCP Dock hinzu. Bauen Sie einen Kanalsatz (Band set) auf, zeichnen Sie ROIs über Module und über jedes ähnlich aussehende Objekt, dann klassifizieren Sie mit Maximum Likelihood, Minimum Distance, Spectral Angle Mapping, Random Forest, Support Vector Machine oder einem Multi-Layer-Perceptron. Version 8.5.0 ist das, was QGIS 3.x installiert, GPL v3, 2.644.482 Mal heruntergeladen.

Seine eigene FAQ schließt die Eingabe aus, die die meisten haben. „You cannot use orthophotos with less than 4 bands“, weil die Algorithmen unter vier die Klassen nicht trennen können.

Nutzen Sie es, wenn: Sie vier oder mehr Kanäle haben und eine wiederholbare, dokumentierte Klassifikation wollen.

Lassen Sie es, wenn: Ihre Eingabe ein RGB-Orthofoto oder eine Basiskarte ist.

Methode 5: Ein lokales Modell in Deepness

Die Bodenauflösung entscheidet alles. Bradbury et al. bauten ihren Referenz-PV-Datensatz mit 30 cm, weil „Solarmodule typischerweise zwischen 1 und 2 Metern lang sind“, was mehrere Pixel auf jedes Modul legt. Das löst das Array auf, nicht die Module darin. Clark und Pacifici fanden einzelne Module „selbst bei 15,5 cm Auflösung schwer zu unterscheiden“. Veröffentlichte Dach-PV-Arbeiten liegen zwischen 10 cm und 31 cm. Sentinel-2 mit 10 m ist für Solarparks, niemals für Dächer.

Deepness führt ONNX-Modelle in QGIS aus, kostenlos und Apache 2.0, und sein Modell-Zoo liefert ein Solar PV Segmentation-Modell mit 20 cm/px, trainiert von Kleebauer et al. und gehostet von Fraunhofer. Richten Sie es auf Ihr Orthofoto, und Sie erhalten eine Panelmaske, ohne Konto, und nichts verlässt Ihren Rechner.

Geschwindigkeit ist der Haken. Ein Nutzer maß dasselbe Modell mit „80+ minutes for a digital Orthophoto tile (20 cm resultion, 5000 points in each direction)“ auf einer CPU, und das Issue ist noch offen. Jenseits davon gibt es kein gut gepflegtes offenes Dach-PV-Modell.

Nutzen Sie es, wenn: nichts den Rechner verlassen darf und Ihr Orthofoto nahe bei 20 cm liegt.

Lassen Sie es, wenn: Sie keine NVIDIA-Karte haben und einen Stadtteil abdecken müssen.

Die fünf Methoden im Vergleich

QuickOSMAI SegmentationRasterrechnerSCPDeepness
Benötigte KanäleKeineDreiNIR hilftVier oder mehrDrei
Bilder bleiben lokalJaNeinJaJaJa
GPUNeinNeinNeinNeinEmpfohlen
ErgebnisOSM-PolygonePolygon pro ArrayRastermaskeKlassenrasterPanelmaske
KostenKostenlosKostenloser Tarif, dann 39 €KostenlosKostenlosKostenlos

Was zu merken ist

Fragen Sie OpenStreetMap vor allem anderen ab, weil eine erfasste Stadt in zwei Minuten fertig ist und keine Erkennung einen Mapper schlägt, der vor Ort war.

Wenn die Bilder den Rechner nicht verlassen dürfen, behalten Deepness und sein lokales Solar-PV-Modell alles auf Ihrem Rechner.

Auf einer RGB-Basiskarte scheiden der Rasterrechner und SCP aus, weil keiner ein Modul allein per Wert von einem dunklen Dach trennt.

Etwa 30 cm löst ein Array auf und nichts löst die Module darin auf, also kartieren Sie Flächen und zählen Sie niemals Module aus Bildern.

Kilowatt kommen aus einem Anlagenregister, niemals aus einem Bild, und sowohl das französische als auch das deutsche Register verwischen den Standort kleiner Dacheinheiten.

Kostenlos in QGIS testen, ohne Kreditkarte

Häufige Fragen

Kann QGIS Solarmodule allein erkennen?

Nein. Kern-QGIS hat Schwellenwertbildung und Vektorisierung, die einen spektralen Unterschied brauchen, sodass eine RGB-Basiskarte Ihnen nichts liefert. Erkennung kommt aus einem Plugin, Deepness lokal oder unserem in der Cloud.

Welche Bildauflösung brauche ich?

Etwa 30 cm löst ein Array auf, nach Bradbury et al. Einzelne Module sind selbst bei 15,5 cm schwer, also planen Sie, Arrays und Flächen zu kartieren statt Module zu zählen.

Wie unterscheide ich ein Solarmodul von einem dunklen Dach?

Gar nicht, auf drei Kanälen, allein per Wert. Nutzen Sie einen Nahinfrarotkanal, ein Texturmaß wie grass:r.texture oder ein Modell, das gelernt hat, wie ein Array aussieht.

Findet es auch Freiflächenanlagen?

Ja, und in OpenStreetMap sind sie eine separate Abfrage, power=plant mit plant:source=solar. Geben Sie mit einem Modell auch für den Solarpark solar panel ein, weil es jedes Panel erkennt statt des Standorts.

Kann ich zählen, wie viele Module installiert sind?

Nicht aus Bildern. Erkennung liefert Umrisse und Fläche. Modulzahl und Kilowatt kommen aus einem Register, und in Frankreich stoppt das auf IRIS-Zonenebene.

Der Gebäudegrundriss-Leitfaden erklärt den Filterschritt vollständig, und der Beitrag zu SAM in QGIS zeigt, welche Objekte diese Modelle gut finden. Wenn Sie die Erkennung und die Flächenzählung als eine einzige Anweisung ausführen wollen, statt das Plugin Schritt für Schritt zu bedienen, erledigt das AI Agent im selben QGIS-Projekt. Der KI-Hub für QGIS vergleicht die Plugins, und die Produktseite ist AI Segmentation.