Détecter panneaux solaires QGIS : 5 méthodes

Pour cartographier le solaire en toiture dans
, commencez par ce que quelqu'un a déjà cartographié. Ouvrez Vector > QuickOSM > QuickOSM…, mettez generator:source dans la case clé et solar dans la case valeur, lancez sur votre zone. OpenStreetMap compte 6 143 024 objets avec ce tag, relevé au 3 septembre 2026, donc dans une ville bien cartographiée vous avez fini en deux minutes. Où la couverture est clairsemée, vous détectez les champs vous-même, et la méthode dépend de vos bandes et de votre taille de pixel.
Où le web se trompe
Trois réponses reviennent sans cesse, et chacune coûte une journée avant de s'en apercevoir.
"Utilisez Sentinel-2." Son pixel fait 10 m et un panneau fait 1 à 2 m de long, donc un toit entier tient dans un pixel. Sentinel-2 trouve les fermes au sol et ne trouve jamais les toits.
"Classifiez votre orthophoto avec SCP." La FAQ du plugin l'exclut : "You cannot use orthophotos with less than 4 bands". Une orthophoto RVB ou un fond de carte, c'est ce que la plupart ont, et c'est la seule entrée que SCP ne peut pas prendre.
"Comptez les panneaux une fois la détection obtenue." Clark et Pacifici ont trouvé les modules individuels "difficiles à distinguer même à 15,5 cm de résolution". L'imagerie donne des champs et une surface. Le nombre de modules et les kilowatts viennent d'un registre.
La réponse courte
| Votre entrée | Méthode | Coût |
|---|---|---|
| Une zone qu'OpenStreetMap couvre déjà bien | Méthode 1, QuickOSM | Gratuit |
| Imagerie multispectrale avec bande proche infrarouge | Méthode 2, Raster > Raster Calculator… | Gratuit, QGIS de base |
| Quatre bandes ou plus, et du temps pour dessiner des zones d'entraînement | Méthode 3, Semi-Automatic Classification Plugin | plugin gratuit |
| Une orthophoto RVB vers 20 cm, et un GPU ou de la patience | Méthode 4, Deepness plus son modèle Solar PV | Gratuit |
| Tout raster affiché par le canevas, sur toute machine | Méthode 5, un modèle de segmentation cloud | 3 km² par mois gratuits, puis €39 |
Comment je les ai comparées
Cinq critères : bandes requises, la résolution sous laquelle la méthode cesse de fonctionner, si votre imagerie quitte votre machine, le coût avant le premier polygone, et si la sortie donne des polygones ou des pixels. Prix, versions de plugin et comptes de tags relevés au 3 septembre 2026. Nous construisons l'une des cinq, c'est la Méthode 5.
Un travail à confier ailleurs. Pour la puissance installée à l'échelle d'un pays, un registre d'exploitant bat toutes les méthodes ici, car il connaît les kilowatts et l'imagerie ne les connaîtra jamais.
Avant de commencer
La résolution sol décide de tout. Bradbury et al. ont construit leur jeu de données PV de référence à 30 cm parce que "les panneaux solaires font typiquement entre 1 et 2 mètres de long", ce qui met plusieurs pixels sur chacun. Cela résout le champ, pas les modules dedans. Clark et Pacifici ont trouvé les panneaux individuels "difficiles à distinguer même à 15,5 cm de résolution". Les travaux publiés sur le PV en toiture se situent entre 10 cm et 31 cm. Sentinel-2 à 10 m, c'est pour les fermes, jamais les toits.
Travaillez en CRS projeté, car deux étapes ci-dessous prennent une surface en unités de layer.

Méthode 1 : prendre ce qui est déjà cartographié
QGIS a abandonné son propre téléchargeur OSM en 3.0 et renvoie vers QuickOSM, donc installez-le d'abord.
Query the generators
Vector > QuickOSM > QuickOSM…, clé generator:source, valeur solar, lancez sur votre emprise ou une zone nommée. Les champs en toiture portent power=generator et souvent generator:method=photovoltaic.
Query the plants separately
Les fermes au sol sont taguées power=plant avec plant:source=solar, une requête différente. Oubliez-la et chaque ferme manque dans votre layer.
Go to the registry for kilowatts
Le Marktstammdatenregister allemand est diffusé chaque jour en XML, mais masque les coordonnées pour toute unité à 30 kW ou moins, donc une toiture tombe sur un code postal. Le registre français s'arrête à la zone IRIS et regroupe tout ce qui est sous 36 kW en lignes agrégées.

Trois jeux de données ouverts servent de données d'entraînement ou de référence. Bradbury et al., 19 863 polygones PV annotés sur quatre villes californiennes à 30 cm, CC0. BDAPPV, 28 807 installations françaises avec masques, CC BY 4.0. DeepSolar a compté 1,47 million de systèmes dans les États-Unis contigus, mais a publié des comptes par census-tract, pas des polygones.
À utiliser quand : quelqu'un a cartographié votre zone, ou quand il vous faut la puissance plutôt que les formes.
À éviter quand : la couverture est lacunaire, ce que vous ne découvrez qu'en regardant.
Méthode 2 : seuillage dans le raster calculator
Raster > Raster Calculator…, algorithm id native:rastercalc. Les panneaux sont sombres, et dans le proche infrarouge bien plus sombres qu'un toit sombre, donc un indice normalisé entre les bandes rouge et NIR les sépare sur la plupart des scènes. Puis gdal:sieve enlève le speckle et gdal:polygonize fabrique des polygones.
Sur trois bandes RVB cela échoue, car un toit sombre et un panneau partagent leurs valeurs. La texture est le sauvetage habituel. grass:r.texture calcule treize mesures GLCM, et les champs scorent haut en contraste et bas en moment des différences inverses. GRASS est livré avec l'installeur Windows et pas avec le paquet macOS.
À utiliser quand : vous avez une bande proche infrarouge et une scène propre.
À éviter quand : l'imagerie est RVB, ou les seuils doivent tenir sur une mosaïque prise à des jours différents.
Méthode 3 : classification supervisée avec SCP
Le Semi-Automatic Classification Plugin ajoute un menu SCP et un SCP Dock. Construisez un Band set, dessinez des ROIs sur les panneaux et sur chaque sosie, puis classifiez avec Maximum Likelihood, Minimum Distance, Spectral Angle Mapping, Random Forest, Support Vector Machine ou Multi-layer Perceptron. La version 8.5.0 est celle que QGIS 3.x installe, GPL v3, téléchargée 2 644 482 fois.
Sa propre FAQ exclut l'entrée que la plupart ont. "You cannot use orthophotos with less than 4 bands", car sous quatre les algorithmes ne peuvent pas séparer les classes.
À utiliser quand : vous avez quatre bandes ou plus et voulez une classification répétable et documentée.
À éviter quand : votre entrée est une orthophoto RVB ou un fond de carte.
Méthode 4 : un modèle local dans Deepness
Deepness exécute des modèles ONNX dans QGIS, gratuit et Apache 2.0, et son model zoo livre un modèle Solar PV Segmentation à 20 cm/px entraîné par Kleebauer et al. et hébergé par Fraunhofer. Pointez-le vers votre orthophoto et vous obtenez un masque de panneaux, sans compte, rien ne quitte votre machine.
La vitesse est le hic. Un utilisateur a mesuré ce même modèle à "80+ minutes for a digital Orthophoto tile (20 cm resultion, 5000 points in each direction)" sur CPU, et l'issue est toujours ouverte. Au-delà de celui-ci, il n'existe pas de modèle ouvert bien maintenu pour le PV en toiture.
À utiliser quand : rien ne doit quitter la machine, et votre ortho est proche de 20 cm.
À éviter quand : vous n'avez pas de carte NVIDIA et un quartier à couvrir.
Méthode 5 : un modèle de segmentation cloud
Un modèle de segmentation a appris à quoi ressemble un champ, donc il le sépare d'un toit sombre là où les Méthodes 2 et 3 ne le peuvent pas. Nous construisons l'un d'eux, AI Segmentation. Cette section parle de notre propre outil.
Dessinez une zone sur tout raster affiché par le canevas, tapez solar panel, et chaque champ revient comme un polygone dans le CRS du projet avec une surface et un score de confiance. Le modèle tourne sur nos serveurs en Europe, donc pas de carte ni d'environnement Python.

Entre le 5 juillet et le 1er septembre 2026, 47 personnes hors de notre équipe ont lancé solar panel 104 fois, et 15,6 % des tuiles sont revenues vides. Sur 96 runs exportés, le modèle a trouvé 40 088 candidats et elles ont gardé 14 245, soit 35,5 %, couvrant 496 931 m² de panneaux.
Tapez solar panel, pas solar farm. Le second demande l'installation, et le modèle répond par une surface uniforme ou rien. Sur les quelques runs que nous avons, il a laissé 21 tuiles sur 24 vides.
Idéal pour : les champs en toiture sur un quartier, sur toute machine.
Pas pour : un comptage de modules. Un champ dense revient comme une surface, donc divisez-le dans QGIS ou divisez par l'emprise de module que vous connaissez. Un module résidentiel fait environ 1,7 m sur 1,1 m.
Prix : gratuit pour 3 km² par mois, sans carte. Pro à €39 par mois hors TVA.
Tourne sur : nos serveurs, en Europe.
Installation : le gestionnaire de plugin, QGIS 3.22 ou ultérieur, puis connectez-vous depuis le panneau.
Les cinq méthodes côte à côte
| QuickOSM | Raster calculator | SCP | Deepness | AI Segmentation | |
|---|---|---|---|---|---|
| Bandes requises | Aucune | NIR aide | Quatre ou plus | Trois | Trois |
| L'imagerie reste locale | Oui | Oui | Oui | Oui | Non |
| GPU | Non | Non | Non | Recommandé | Non |
| Sortie | polygones OSM | masque raster | raster de classe | masque de panneaux | Polygone par champ |
| Coût | Gratuit | Gratuit | Gratuit | Gratuit | Palier gratuit, puis €39 |
À retenir
Interrogez OpenStreetMap avant tout, car une ville cartographiée est finie en deux minutes et aucune détection ne bat un mappeur passé sur place.
Si l'imagerie ne doit pas quitter la machine, seuls Deepness et son modèle Solar PV local sont ouverts pour vous.
Sur un fond de carte RVB, le raster calculator et SCP sont exclus, car aucun ne sépare un panneau d'un toit sombre par la seule valeur.
Vers 30 cm on résout un champ et rien ne résout les modules dedans, donc cartographiez des surfaces et ne comptez jamais les panneaux depuis l'imagerie.
Les kilowatts viennent d'un registre d'exploitant, jamais d'une image, et les registres français comme allemand floutent la localisation des petites unités en toiture.
Try it free in QGIS, no card needed
Questions fréquentes
QGIS peut-il détecter les panneaux solaires seul ?
Non. Le QGIS de base a le seuillage et la polygonisation, qui exigent une différence spectrale, donc un fond de carte RVB ne donne rien. La détection vient d'un plugin, Deepness en local ou le nôtre dans le cloud.
Quelle résolution d'imagerie faut-il ?
Vers 30 cm on résout un champ, d'après Bradbury et al. Les modules individuels sont durs même à 15,5 cm, donc prévoyez de cartographier champs et surfaces plutôt que de compter les panneaux.
Comment distinguer un panneau solaire d'un toit sombre ?
Impossible, sur trois bandes, par la seule valeur. Utilisez une bande proche infrarouge, une mesure de texture comme grass:r.texture, ou un modèle qui a appris à quoi ressemble un champ.
Trouve-t-il aussi les fermes solaires au sol ?
Oui, et dans OpenStreetMap c'est une requête à part, power=plant avec plant:source=solar. Avec un modèle, tapez solar panel aussi pour la ferme, car il détecte chaque panneau plutôt que le site.
Peut-on compter combien de panneaux sont installés ?
Pas depuis l'imagerie. La détection donne contours et surface. Le nombre de modules et les kilowatts viennent d'un registre, et en France cela s'arrête à la zone IRIS.
Le guide des emprises de bâtiments détaille l'étape de filtrage en entier, et l'article SAM dans QGIS couvre quels objets ces modèles trouvent bien. Le hub IA QGIS compare les plugins, et la page produit est AI Segmentation.
À lire ensuiteRaster vers vecteur dans QGIS : Polygonize et 4 méthodes


