# Description générale ```{figure} ../static/LOGO-CRAIG-SIGLE-BLUE-CARTOUCHE-CRAIG.png :alt: alternate text :name: logo CRAIG :align: right ``` En 2024, le Département de l’Isère a établi un partenariat avec le Centre Régional Auvergne-Rhône-Alpes de l’Information Géographique (CRAIG) pour modéliser les toitures d’une sélection de bâtiments de son territoire, dans le but d’évaluer leur potentiel photovoltaïque. À la suite de ce [travail](https://ids.craig.fr/geocat/srv/fre/catalog.search#/metadata/7b505492-5e36-496c-a974-cd5e032a864b), le CRAIG a souhaité développer une extension QGIS permettant de reproduire automatiquement la chaîne de traitement mise en place dans le cadre du partenariat. Le plugin QSunPotential a ainsi été conçu pour estimer le potentiel solaire des toitures en s’appuyant au service de calcul proposé par l'outil européen PVGIS. Cet outil met à disposition une [API](https://joint-research-centre.ec.europa.eu/photovoltaic-geographical-information-system-pvgis/getting-started-pvgis/api-non-interactive-service_en#ref-2-inputs-for-specific-pvgis-tool) sur laquelle QSunPotential va envoyer des requêtes pour récupérer le potentiel photovoltaïque sur un point de chaque toiture. L'API PVGIS renvoie alors des résultats au niveau mensuel et annuel. ```{figure} ../static/screenshot_ui.png :name: Interface utilisateur Interface utilisateur ``` ## Paramètres d'entrée Le plugin QSunPotentiel prend en entrée une couche vecteur de toitures, qui doit présenter les attributs suivants: * L'identifiant de la toiture ; * L'inclinaison de la toiture, en degrés ; * La surface 3D de la toiture, correspondant à la surface réelle de la toiture, en mètres carrés ; * L'orientation des toitures, en degrés, comprise entre 0 et 360° par rapport au Nord. Le plugin convertira cette orientation par rapport au Sud, selon la norme utilisée par PVGIS. ## Traitements opérés La chaîne de traitement suivante est appliquée sur chaque toiture de la couche : * Tester si la géométrie est valide (une toiture à géométrie invalide est ignorée) ; * Sélectionner un point situé à l'intérieur de la géométrie de la toiture ; * Envoyer une requête à PVGIS ; * Stocker les résultats dans des tables. ## Construction de la requête pour PVGIS PVGIS renvoie des informations sur le potentiel solaire sur un point de la terre en tenant compte des paramètres suivants: ### Paramètre `angle` Il correspond à l’inclinaison en degrés de la toiture. L’installation de panneaux sur des toitures totalement planes ayant toujours une inclinaison comprise entre 5 et 10°, il est possible de fixer un angle d'inclinaison minimal ainsi qu'un angle d'inclinaison de forçage dans les paramètres avancés du plugin. :::{important} **Par défaut**, l'inclinaison minimale d'une toiture est fixée à 5° : pour les toitures présentant une inclinaison inférieure, on forcera leur inclinaison à une valeur de 10°. ::: ### Paramètre `peakpower` (puissance crête) La puissance crête d'une toiture est définie par la formule suivante: $$ S_{toiture} \times T_{occupation} \times coeff $$ où : * $S_{toiture}$ est la surface de la toiture * $T_{occupation}$ est le taux d'occupation de la toiture * $coeff$ est un coefficient multiplicateur :::{important} Par défaut, les valeurs suivantes ont été définies dans le plugin : * $T_{occupation}$ = 70% * $coeff$ = 0.215 kW/m² Elles sont modifiables dans les paramètres avancés de l'interface utilisateur. ::: ### Paramètre `aspect` Ce paramètre correspond à l'orientation (azimuth) du système photovoltaïque. Cette orientation prend une valeur entre -180 et 180 degrés. :::{important} Etant donné que l'azimuth des toitures est classiquement exprimé entre 0 et 360 degrés, le plugin va convertir systématiquement la valeur de l'azimuth d'une toiture en appliquant une soustraction de 180° par rapport à sa valeur initiale. ::: ### Paramètre `loss` Le paramètre `loss` correspond au taux de perte du système photovoltaïque, il est défini à 14% dans chaque requête, et n'est pas modifiable dans le plugin QSunPotential. ## Résultats en sortie A la fin du traitement, le plugin sort 3 résultats: * une table `PVGIS_PVcalc_totals` * une table `PVGIS_PVCalc_monthly` * une couche des toitures classifiée ### PVGIS_PVcalc_totals Cette table contient la production photovoltaïque moyenne annualisée. |Nom du champ (alias[^alias])| Description| Unité| |------------|------------|------| |gml_surf_id | identifiant de toiture (champs de jointure avec la table géométrique)| - | |e_d (E_d) | production d’énergie moyenne journalière | kWh/jour| |e_m (E_m) | production d’énergie moyenne mensuelle |kWh/mois| |e_y (E_y) | production d’énergie moyenne annuelle | kW/an | |h_i_d (H(i)_d) | moyenne d’irradiation journalière par mètre carré reçue par les modules | kWh/m2/jour| |h_i_m (H(i)_m) | moyenne d’irradiation mensuelle par mètre carré reçue par les modules|kWh/m2/mois| |h_i_y (H(i)_y) | moyenne d’irradiation annuelle par mètre carré reçue par les modules|kWh/m2/an| |sd_m (SD_m) | écart-type de production mensuelle dû aux variations interannuelles| - | |sd_y (SD_y) | écart-type de production annuelle dû aux variations interannuelles|-| |l_aoi (l_aoi) | pertes dues à l’angle d’incidence |%| |l_spec (l_spec) | pertes spectrales |%| |l_tg (l_tg) | pertes dues à la température et perte d’irradiation |%| |l_total (l_total) | pertes totales |%| |p50 (p50) | rapport de productible | ? | ### PVGIS_PVCalc_monthly Cette table contient la production photovoltaïque pour chaque mois. |Nom du champ (alias)| Description| Unité| |------------|------------|------| |gml_surf_id | identifiant de toiture (champs de jointure avec la table géométrique)| - | |month|numéro du mois| - | |e_d (E_d) | production d’énergie moyenne journalière | kWh/jour| |e_m (E_m) | production d’énergie moyenne mensuelle |kWh/mois| |h_i_d (H(i)_d) | moyenne d’irradiation journalière par mètre carré reçue par les modules | kWh/m2/jour| |h_i_m (H(i)_m) | moyenne d’irradiation mensuelle par mètre carré reçue par les modules|kWh/m2/mois| |sd_m (SD_m) | écart-type de production mensuelle dû aux variations interannuelles| - | ### Une couche de toitures classifiées La couche de toitures en sortie contient les toitures sélectionnées en entrée du calcul, avec une jointure des résultats annuels (i.e. contenus dans la table `PVGIS_PVcalc_totals`). #### Classification selon `e_y` (par défaut) Par défaut, la couche de toitures est classifiée selon la production d’énergie moyenne annuelle `e_y`. Les toitures sont rangées dans les 6 classes suivantes : ```{figure} ../static/classification_e_y.png :name: Classification `e_y` Classification selon la production d’énergie moyenne annuelle `e_y` ``` #### Classification selon P50 L'indicateur P50 est le rapport de reproductible. Il est calculé selon la formule: $$ P50 = e_y/peakpower $$ L'utilisateur a la possibilité de classifier les toitures selon P50. Dans ce cas, les toitures sont rangées dans les 7 classes suivantes : ```{figure} ../static/classification_p50.png :name: Classification selon P50 Classification selon le rapport de reproductible `P50` ``` ## Performances de calcul Le temps de calcul est conditionné par l'API PVGIS, dont les appels sont limités à 30 appels/seconde. Par ailleurs, le traitement d'un trop grand nombre d'entités (de toitures) peut également entraîner le plantage de QGIS. A ce stade, les tests d'utilisation ont montré que le traitement parvenait à se terminer en succès pour des jeux de données inférieurs à 20000 entités. [^alias]: Un alias est appliqué sur les champs joints à la couche de toiture classifiée