<style>
h1 {
}
h2 {
color:#69271e;
}
h3 {
color: #9d1300;
}
h4 {
color:#c02d51;
}
h5 {
color:#008a9d ;
}
h6 {
color: #9d1300;
}
body{
counter-reset: table-counter;
}
.my_table table{
margin-left: auto;
margin-right: auto;
border: none;
border-collapse: collapse;
border-spacing: 0;
font-size: normal;
table-layout: fixed;
display:table;
width:auto;
}
.my_table thead {
border-bottom: 1px solid;;
vertical-align: bottom;
}
.my_table tr, .my_table th, .my_table td {
text-align: right;
vertical-align: middle;
padding: 0.5em 0.5em;
line-height: normal;
white-space: normal;
max-width: none;
border: none !important;
}
.my_table th {
font-weight: bold;
}
.my_table tbody {
border-bottom: 1px solid;
}
.my_table tbody tr:nth-child(odd) {
background: #f5f5f5;
}
.my_table tbody tr:nth-child(even) {
background: #1fe0;
}
.my_table tbody tr:hover {
background: rgba(66, 165, 245, 0.2);
}
.my_table .table-caption::before {
counter-increment: table-counter;
content: "Tableau " counter(table-counter) " : " ;
font-weight: bold;
color: #69271e;
}
.block {
font-size: 100%;
color: black;
border-radius: 4px;
margin: 2em 0;
padding-left: 20px;
padding: 12px;
padding-bottom: 3px;
margin-bottom: 0px;
margin-right:12px;
margin-left:12px;
}
.blue-block {
background: #e7f2fa;
}
.red-block {
background: #ffedcc;
}
.green-block {
background: #BFD5C0;
}
.warning {
background: #ffd7d2;
font-size: 100%;
color: black;
border-radius: 4px;
margin: 2em 0;
padding-left: 20px;
padding: 12px;
padding-bottom: 3px;
margin-bottom: 0px;
margin-right:12px;
margin-left:12px;
}
.title{
display: block;
font-family: FontAwesome;
color: #fff;
line-height: 1;
margin-right: 4px;
padding: 10px 12px;
margin: -12px -12px 12px !important;
font-weight: 700;
font-size: 110%;
}
.blue-block .title {
background: #6ab0de;
}
.red-block .title {
background: #f0b37e;
}
.green-block .title {
background: #2A752E ;
}
counter-reset: exo-counter;
.exercice::before{
counter-increment: exo-counter;
content: "EXERCICE n°" counter(exo-counter) ;
}
.warning .title {
background: #9d1300;
font-family: FontAwesome;
font-style: normal;
}
mark {
font-family: Consolas,"courier new";
background: #7fbbe3 !important ;
font-size: 80%;
font-weight: 700;
color: black;
border-radius: 4px;
padding: 2.4px 6px;
margin: auto 2px;
}
</style>
# Notes / Mémo pour les enseignants
## Liens utiles
- le lien vers le moodle de l'UE : https://moodle-ensat.inp-toulouse.fr/enrol/index.php?id=352
- doc pour installation de QGIS avec SAGA : https://mlang.frama.io/cours-marc-lang/stable/remote-sensing/qgis_saga_installation.html
- la Cheat Sheet QGIS : https://mlang.frama.io/cours-marc-lang/stable/sig/Cheat_sheet.pdf
- le guide de survie des étudiants : https://mlang.frama.io/cours-marc-lang/stable/sig/guide_survie.pdf
- Éléments généreaux de la remise à niveau : https://mlang.frama.io/cours-marc-lang/stable/ensat3A_SEABV/seabv_remise_%C3%A0_niveau.html
- FAQ : des erreurs les plus couramment rencontrées : https://mlang.frama.io/cours-marc-lang/stable/ensat3A_SEABV/seabv_remise_%C3%A0_niveau.html#faq-guide-des-erreurs-les-plus-couramment-rencontr%C3%A9es
## Diagramme de Flux
<!--
### INRAe
#### Version TD


Modifications à faire pour l'application sur la save:
- propriétés du sol : elles sont à calculer avec la base Donesol
- table de correspondance `reclass_smodel.txt`, il faut remplacer le fichier smodel par un autre, qu'il faut penser à ouvrir comme un fichier texte dans QGIS avant l'exécution du modèle. Ce nouveau fichier smodel contient de nouvelles combinaisons de total, celles correspondantes à des codes CLC qui n'étaient pas présent dans la zone du TD.
- Au niveau de l'occupation du sol : le modèle ne fonctionne qu'avec les codes CLC, si une autre occupation du sol (ex. OSO et OSO + RPG) est utilisée, il faut convertir les labels en labels "ClC". Même, si le CLC est quand même utilisé, il est possible qu'il y ait des nouvelles occupations du sol, et donc, de nouveaux labels.
#### Version Basin Versant de la Save

- dans la partie "Changement des labels vers nomenclature CLC", la table à fournir est `all_in_clc_reclass.csv`. Comme pour le fichier `reclass_smodel.txt`, les entêtes des champs (nom des colonnes) sont écrites en dur dans le modèle et doivent être "various_ocsol" et "CLC_reclass" -> si les étudiants font la leur, à penser.
-->
### Rusle
#### Version TD

Modifications à faire pour l'application sur la save:
- propriétés du sol : elles sont à calculer avec la base de données Donesol
- calcul de C : on peut décider d'intégrer des pratiques
- calcul de A : il faut maintenant intégrer R qui n'est plus constant.
- Il faudra calculer à partir des données de météos
#### Version Basin Versant de la Save

#### Détails
Formule plus générale pour facteur R :
`numpy.where(A<=850,(0.04830*(A**1.610)),(587.8-(1.249*A)+(0.004105*(A**2))))`
Formule plus générale pour facteur C :
```
((A==1) | (A==111))*0.001+((A==2) | (A==112))*0.001+((A==3) | (A==121) | (A==123) | (A==124) | (A==131) | (A==132) | (A==133))*0.001+((A==4) | (A==122))*0.001+((A==5) | (A==905) | (A==907))*0.280+((A==6) | (A==901) | (A==903) | (A==904))*0.200+((A==7) | (A==908))*0.320+(A==8)*0.280+((A==9) | (A==906))*0.320+((A==10) | (A==902))*0.380+((A==11) | (A==914))*0.150+(A==12)*0.300+((A==13) | (A==918) | (A==231))*0.100+((A==14) | (A==920) | (A==922) | (A==923) | (A==222) | (A==222) | (A==223))*0.200+((A==15) | (A==921) | (A==221))*0.250+((A==16) | (A==311) | (A==313) | (A==324))*0.004+((A==17) | (A==312))*0.004+((A==18) | (A==321))*0.020+((A==19) | (A==917) | (A==322) | (A==323))*0.020+((A==20) | (A==332))*0.020+((A==21) | (A==331) | (A==423))*0.200+((A==22) | (A==335))*0.001+((A==23) | (A==511) | (A==512) | (A==521) | (A==522) | (A==523))*0.001+(A==141)*0.100+(A==142)*0.050+(A==212)*0.150+(A==241)*0.140+(A==242)*0.065+(A==243)*0.125+(A==244)*0.080+(A==333)*0.275+(A==334)*0.325+(A==411)*0.100+(A==421)*0.100+(A==422)*0.100+(A==412)*0.100+(A==909)*0.225+(A==911)*0.500+(A==915)*0.200+(A==916)*0.175+(A==919)*0.175+(A==924)*0.200+(A==925)*0.200+(A==926)*0.200+(A==928)*0.100
```
## Données

Note certaines données peuvent en fait être dans les gpkg → ne pas faire attention aux formats qui distinguent ici raster / vecteur
## Modèle builder
### Fichier à utiliser
Versions :
- v1 : première implémentation de David ;
- v2 : correction de quelques bugs ;
- v3 : Modification pour écrire le moins de paramètres en dur dans le modèle :
- Nom des champs en paramètre d'entrée ;
- Découpage et ré-échantillonnage (emprise et résolution spatiale) en fonction d'une couche de référence ;
- formule des calculatrices rasters fonctionnant pour toutes occupation du sol ;
Inrae :
- `Modele_erosion_INRAe_v3_saga7.3.0.model3`
- `Modele_erosion_INRAe_v3_saga7.3.0_adaptee.model3`
- `Modele_erosion_INRAe_v3_saga7.8.2.model3`
Rusle :
- `Modele_RUSLE_INRAe_v3_saga7.3.0.model3`
- `Modele_RUSLE_INRAe_v3_saga7.3.0_adaptee.model3`
- `Modele_RUSLE_INRAe_v3_saga7.8.2.model3`
La version adaptée à la Save n'a pas été faite pour la 7.8.2 mais il n'y a que deux traitements à changer a priori.
### Compatibilité entre les versions de SAGA
Les algos `fill sink` et `catchment area` sont dispos dans la version `7.3.0` mais pas dans la version `7.8.2` (celle du serveur). J'ai trouvé leurs nouveaux noms :
<div class="my_table">
| 7.3.0 | 7.8.2 |
| :--------------------: | :--------------------------------------------: |
| `fill sink` | `fill sink (Planchon/Darboux, 2001)` |
| `catchment area` | `Accumulation de flux (haut vers le bas)` |
</div>
<div class="my_table">
| Ordi | Version Saga |Version saga Provideur |
| :--------------------: | :--------------------------------------------: | :--: |
|Marc | 7.3.0 | 2.12.99 |
|Serveur | 7.8.2 | |
</div>
Des nouveaux paramètres sont à renseigner (ils étaient renseignés par défaut avant, de manière transparente).
Dans la `7.8.2`, pour `Accumulation de flux (haut vers le bas)`, il faut changer les valeurs par défaut des paramètres.
- `Thresholded Linear Flow` : `true`
- `Target accumalation`, je ne suis pas sûr de la signification de ce paramètre, j'ai mis le mnt "filled".
On obtient alors bien les mêmes résultats qu'avec la version `7.3.0`
#### Avec le docker
Attention, après plusieurs tests :
- pour la correction du MNT :
- utiliser fill sink de planchon/darboux avec les paramètres par défaut. Celui de wang et liu ne génère pas d'erreur tout de suite. En revanche, ce dernier permet bien de produire la direction des flux (pour sa visualisation)
- Pour l'accumulation de flux :
- l'outil `catchment area` ne fonctionne pas, en ayant testé les options :
- plus paramètres de l'option `method`
- en cochant ou non l'option : `Thresholdd Linear Flow`
- l'outil `catchment area (flow tracing)` fonctionne, bien que la méthode D8 qu'on utilisait avant ne soit pas disponible. En tous cas, les résultats en sortie ne sont pas les mêmes dépendemment du MNT corrigé en entrée qu'on lui donne (sortie de planchon/darboux ou wang et liu), celui de planchon et darboux parait visuellement plus adapté. -> TODO, à creuser.
### Rusle
#### V2 vers V3
##### Test exécutation sur le serveur
Environ 15s.
##### Détails implémentation
Pour le **découpage/ré-échantillonnage** de la couche OCS :
- Système de projection imposé : 2154 ;
- ré-échantillonnage avec ocsol majoritaire (`mode`) --> remarque : la sortie ré-échantillonnée à moins d'effet poivre et sel que la sortie par défaut;

- besoin d'ajouter une option en ligne de commande pour imposer la résolution de sortie 25.0 m (`-tr 25.0 25.0`)
**Emprise de référence** :
Jusqu'à présent, l'emprise des couches de sortie était écrite en dur dans les traitements du modeleur. Elle est maintenant accessible depuis "Extraire l'emprise d'une couche".
**Configuration des noms des champs à utiliser dans les calculatrices de champs comme des entrées du modèles**
1. Ajouter des nouveaux paramètres de modèles correspondants aux champs :
- ce sont les paramètres `Champs vectoriel` ;
- bien indiquer de quelle couche vecteur ils doivent être issus ;

2. Les utiliser dans des formules :
- Utiliser à côté de la formule, utiliser `Valeur précalculée` (1 sur la figure ci-dessous)

- depuis ce menu, les champs seront accessibles sous forme de variable "@nomdemonchamps". Le nom de la variable peut être modifiée par rapport à ce que vous auriez rentré précédemment. Pour être sûr de ne pas vous tromper, utilisez le générateur d'expression (2 sur la figure ci-dessus). Vous trouverez les variables définis dans le modèle builder (1 sur la figure ci-dessous)

- Attention à la syntaxe de la formule qui n'est pas la même que celle attendue dans la calculatrice de champs en mode "normal". Le format attendu est une chaîne de caractère (2 sur la figure ci-dessus), d'où l'utilisation de simple guillement `'` pour définir une chaîne de caractère et des opérateurs de concaténation `||`. Enfin, attention à bien entourer les noms des champs (contenu dans la variable `@myfield` dans l'exemple ci-dessus) de double guillemet `"`.
3. Vous pouvez constater que vous avez un modèle où les champs d'une couche sont entrés de votre traitement.

<!--
### INRAe
#### V2 vers V3
##### Test exécutation sur le serveur
Environ 7min, c'est la dernière étape de reclassificaiton qui prend beaucoup de temps.
##### Détails implémentation
**Rasterisation**
Battance et érodibilité -> Rasterisation à partir de la même couche, pourrait aussi être deux couches différentes.
**Cacul de total**
Sur le cacul de total, je soupçonne un problème de typage. Après vérif, ça doit bien être ça, on trouve ça sur la doc de gdal :
> Despite the datatype set using `--type`, when doing intermediate aritmethic operations using operands of the same type, the operation result will honor the original datatype. This may lead into unexpected results in the final result.
Dans notre cas, deux couches posaient problème :
- l'occupation du sol, codée en `Int16`. Quand on multiplie par 10000, on dépassait la plage de valeur -> j'ai rajouté une étape intermédiaire de conversion de la couche en `uInt32` dans la V2, ou alors j'ai mis le bon type en sortie dans la v3 qui inclue le découpage+réchantillonnage de l'ocsol.
- l'érosivité dont la sortie était codée en `Byte`. Lors de la multiplication par 10, les valeurs égales à 30 posaient donc problème. J'ai changé le type en sortie par `uInt32` (probablement excessif).
Rq : Dans le modèle builder, le type des couches de battance et d'erodibilité avaient été laissé par défaut à `Float32`. Il n'y avait donc pas d'erreur. Je les ai quand même modifiés par `uInt32` par soucis de "cohérence".
**Reclassification du "Total" en sensibilité**.
Idée :
- on veut utiliser un fichier texte pour reclasser le raster final
- On veut rester avec les outils QGIS (moins de dépendances)
-> Utilisation de l'outil ==Reclassification par couche==.
Il faudra renseigner un champ qui contient les valeurs à reclassifier et un autre qui contient les nouvelles valeurs. Attention, le champs des valeurs sera à renseigner deux fois, en prenant soin de renseigner la définition des limites de plage comme `min <= valeur <= max` (voir figure ci dessous). On utilise en fait l'outil dans un cas bien particulier où on a seuleument des règles `ancienne valeur = nouvelle valeur`au lieu de plages de valeurs.

Contraintes :
Il faut importer dans QGIS la table comme un fichier de texte (on ne peut pas pointer vers un fichier texte depuis le lancement du modèle) soit :
A. en n'ajoutant pas de géométries (dans notre cas le plus logique) ;
B. en ajoutant des géométries, quitte à renseigner des champs `X` et `Y` ineptes;
Cas A :
- Le paramètre pointant vers la table à utiliser est de type `Couche` (sinon on ne pourra pas sélectionner la table lors du lancement du traitement)
- en interne, dans le modèle, le nom des champs avant et après reclassification (ici "total" et "sensibilite") est écrit en dur. Il ne sera pas possible (ou en tous cas pas avec la méthode ci-dessus) de sélectionner le nom des champs à utiliser en fonction de la couche en entrée via une liste déroulante.
Cas B :
- Le paramètre pointant vers la table à utiliser est de type `Couche vectoriel` (sinon on ne pourra pas configurer une sélection de champs)
- On configure le nom des champs à utiliser comme mentionné plus haut pour le modèle Rusle.
J'ai implémenté le cas A, parce que :
- ajouter des champs `X` et `Y` ineptes lors de l'import de la table serait long à justifier auprès des étudiant.e.s ;
- a priori on est dans un cas où la table de reclassificaiton est fixe et n'est pas amenée à changer d'une zone à l'autre (en tous cas pas sa structure) -> ce n'est pas un problème si le nom des champs est inscrit en dur dans le modèle.
Rq, j'ai quand même testé l'implémentation de B et c'est tout à fait fonctionnel.
-->
## Propriétés du sol pour les nuls
### Rusle
#### Facteur K
Rappel :
$K= 2,8 \times 10{-7} M^{1,14} (12 – MO) + 4,3 \times 10^{-3} (s – 2) + 3,3 \times 10^{-3} (p – 3)$
Avec :
- M = (% limons + % sable) (100 - % argile)
- MO = % de matière organique
- s = structure du profil (1 < b < 4)
- p = perméabilité ou capacité d’infiltration (1 < c < 6)
:warning: **facteur K** : petit changement dans le calcul du M du facteur K (modèle RUSLE)
L'équation actuelle est :
M = (% limons + % sable) (100 - % argile).
Or, ce n'est pas le % sable mais le % sable très fin. Puisque la base de données DONESOL ne fournit pas cette information, le % sable sera mis à 0 et l'équation de M deviendra :
M = (% limons) (100 - % argile)
**Comment les obtenir ?**
- M : Possible d'extraire les pourcentages directement à partir de la BD DoneSol.
- MO : DoneSol ?
- s : DoneSol ?
- p : Donesol ?
<!--
### INRAE
Les infos du triangle de texture sont à extraires de la BD DoneSol. À partir de celles-ci, il est possible d'obtenir une battance et une érodibilité.
D'après la publi d'Antoni et al. 2006

Légende :
> Règle 2 : règle de pédotransfert établie pour la région Languedoc-Roussillon permettant de convertir les données texturales des strates en classes de battance et d’érodibilité par projection dans les triangles de texture redécoupés en 5 classes de sensibilité : 1 = très faible, 2 = faible, 3 = moyenne, 4 =forte, 5 = très forte
Puis appliquer l'arbre de décision ci-dessous sur les valeurs de battance et d'érobibilité issues du triangle de texture ci dessus :

Légende :
> Organigramme des règles de pédotransfert permettant d’obtenir les valeurs des classes de battance et d’érodibilité à partir de la combinaison des informations relatives à la teneur en éléments grossiers, à la texture, à la teneur en matière organique et en fer. EG = abondance des éléments grossiers en %, E n = classe de sensibilité à l’érosion issue du triangle d’érodibilité, B m = classe de sensibilité à l’érosion issue du triangle de battance, MO = abondance de la matière organique en %
Quelques remarques :
- les ajustements ne sont pas à cumuler (ex -1 au premier embranchement puis de nouveau -1 ferait un ajustement -2 -> non, ça donne bien -1) ;
- si on arrive à 0, remettre à 1 qui est le minimum.
-->
#### UCS et UTS
Quelles données ?
- les UCS viennent des Référentiels Régionaux Pédologique (unité cartographique) ;
- les UTS viennent de la BD DoneSol (unité typologique).

Légende :
> (Source : Lemercier et al. 2017. [Guide d’utilisation des bases de données sol pour la production de cartes thématiques](https://belinra.inrae.fr/index.php?lvl=notice_display&id=262798), RMT Sols & Territoires).
## Énoncé de la semaine de modélisation
### Questions auxquelles on veut répondre
Question générale : quel est le risque erosif sur le BV de la Save ?
1. Quelles sont les communes les plus à risques ?
- est-ce que les communes sont les mêmes selon les deux modèles ?
- est-ce que les communes sont stables d'une année à l'autre ?
2. À l'echelle d'une commune, sur celles visitées par exemple.
- quels sont les facteurs responsables du risque d'erosion ? Un en particulier ? ou un peu de tous ?
- est-ce que les zones à risques des communes sont stables d'une année à l'autre ?
### Objectifs
- produire une carte d'érosion du modèle Rusle et INRAe sur le Bassin de la Save et identifier les communes les plus à risques pour chacune d'entre elles ;
- pour un modèle (Rusle ou Inrae), produire les cartes pour trois dates et identifier les communes à risque pour chacune d'entre elles ;
- produire deux atlas :
- un qui permette d'afficher le risque d'erosion sur les communes les plus à risque, pour trois dates différentes, sur un modèle au choix;
- un qui permette d'afficher le risque d'érosion du modèle RUSLE et différents de ses facteurs (C, K, LxS), sur les communes qui seront visitées sur le terrain, les parcelles devront être visibles
- à partir des productions, produire une analyse qui permette de répondre aux questions posées par le commanditaire.
Au total :
- quatre cartes ;
- deux atlas ;
- une analyse.
### Liste des taches
#### Spatialiser le facteur R à partir des données de précipitation
- cumul annuel moyen pour 12 stations sur 10 ans :
- ouvrir le fichier csv ;
- comprendre quelle colonne utiliser : colonne RR qui est le cumul de précipitation annuelle à l'aide des métadonnées (fichier html) ;
- calculer le cumul annuel moyen par station ;
- créer un fichier de point : (info dans TD Syrphe "*2. Importation de points géoréférencés (relevés GPS des pièges)*")
- créer un nouveau fichier csv avec :
- le nom des stations ;
- le cumul annuel moyen des années sélectionnées ;
- faire une colonne x et une colonne y ;
- entrez les coordonnées présentes dans le fichier html ;
- importer le fichier csv dans QGIS (*importer un fichier de texte délimité*) :
- attention au type des données ;
- importer les géométries ;
- bien renseigner le bon système de projection (lambert II etendu, on trouve son code dans le fichier texte) ;
- reprojeter les données en Lambert 93 (2154);
- créer un raster R :
- faire une interpolation spatiale ;
- dispo dans le TD MNT : *Création de MNTs raster et comparaison* ;
- méthode idw : celui de qgis ;
- changer la formule du calcul de A dans le modèle Builder.
#### Nouvelle nomenclature
- comprendre la nouvelle nomenclature :
- fichier texte `nomenclature.txt` -> "Code OSO ou Code_Group RGP + 900 (voir annexe des spécifications IGN du RPG pour connaître le Code_Group) ;
- fichier `Specs_IGN_RPG_2-0.pdf` pour les codes RPG ;
- fichier `nomenclature_oso.pdf` pour les codes oso ;
- pour INRAE : conversion vers la nomenclature CLC
- faire un fichier de conversion, ne serait-ce qu'à titre indicatif :
- ouvrir en plus le fichier de nomenclature CLCL : `nomenclature_CLC.pdf` ;
- proposer une colonne "code avant", "code après", nommées respectivement *various_ocsol* et *CLC_reclass* si on veut utiliser le modèle builder ;
- faire la conversion :
- à l'aide d'une calculatrice raster ou ;
- à l'aide de l'outil reclassification parr couche ou par table ou ;
- à l'aide du modèle builder fourni ;
- pour RUSLE : trouver le facteur C pour les nouvelles classes d'occupation du sol :
- lire la publication de Panaagos et al. pour trouver les valeurs ;
- faire le calcul de C :
- à l'aide d'une calculatrice raster ou ;
- à l'aide de l'outil reclassification par couche ou par table ou ;
- à l'aide du modèle builder fourni.
#### Nouvelles source de donnnées pour les propriétés des sols
- extraire les informations de texture, de MO et teneur en Fer dans la BDdonesol ;
- pour INRAE :
- lire antoni et al pour trouver :
- une valeur de battance / erodibilite en fonction du triangle de texture ;
- ajuster cette valeur en fonction de la teneur en M0 et Fe ;
- implémenter la conversion sur R / python / excel / access ;
- faire la jointure sur les UCS du RRP ;
- produire les rasters de battance et d'érodibilité comme précédemment ;
- pour RUSLE :
- faire la jointure sur les UCS du RRP ;
- faire les calculs de M puis K comme précédemment.
#### Pré-traitement
découpage, ré-échantillonnage à 25m et reprojection peuvent se faire en renseignant bien dans l'outil reprojection (gdal-warp) :
- le système de projection source et cible ;
- la résolution spatiale en sortie ;
- l'emprise spatiale en sortie.
#### Produire des indicateurs
- à partir des cartes et à partir des limites d'intérêt (BV ou commune) ;
- masse exportée (moyenne par commune et total) -> Outil : Statistiques de zones ;
- surface (en absolue ou en pourcentage) de chaque niveau de risque -> Outil : Statistiques de zones ;
#### Atlas
(ressources dispos dans les cours de 1A et une aide en ligne)
- lire les consignes en ligne
- ouvrir le projet QGIS projet_SEABV_modele_atlas.qgz ;
- puis Menu Projet ► Mises en page ► Save - comparaison modalités.
- configurer l'affichage des cartes :
- configurer l'affichage d'une carte (depuis QGIS cf cours 1a mentionné plus haut);
- vérouiller les couches et eventuellement vérouiller le style de couches (cf cours 1a mentionné plus haut) ;
- configurer la deuxième carte et vérouiller sa configuration ;
- configurer la troisième ...
- configurer l'afffichage des indicateurs ;
- ajouter une légende ;
- ajouter une barre d'échelle ;
- ajouter des sources ;
- ajouter un titre ;
- faire une page élégante et pertinente (permet d'afficher l'information qu'on souhaite communiqué) ;
## Oral
- Explication du modèle (Grand principe)
- les différences possibles entre groupes
- Q 1
- Q2 Q3
- Focus sur les communes
## Guide erreurs et questions courantes
### Nouveau :
SAGA : à l'issue des deux traitements, le format du fichier en sortie est sdat, souvent pour le calcul de L, le format de sortie est alors par défaut un .sdat. Pour beaucoup, si on laisse se format, la projection de la couche L en sortie est mauvaise -> forcer le format de sortie à geotiff pour régler le pb.
Sortie de A : attention à la semiologie, iels se focalisent sur les valeurs extrêmes qui sont abhérentes.
Jointure de K et rasterisation : tant que la jointure n'est pas permanente, l'opération de rastérisation va planter. Attention au type de données
Info sur R et sa spatialisation : rajouter l'étape de calcul de P.
- Coordonnées en Lambert 2, mettre un avertissement.
Découpage / Réchantillonage :
- pas clair l'objectif de cette étape, et qu'elle est peut être optionnelle ,
- pas clair non plus le fait de renseigner hauteur/largeur en pixel ou résolution verticale/horizontale en unités géoréférencées
Calcul de C : les infos de la manière dont les deux nomenclatures cohabitent ne sont pas trouvées facilement.
Comment débugger A si celui ci présente des erreurs ?
On fait on devrait leur faire masquer tout ce qui ne sont pas des surfaces agricoles, car en réalité, quand on fait une moyenne/médianne, on cherche à avoir un valeur moyenne/médianne des parcelles agricoles, et pas inclure les surfaces boisées ou les surfarces urbaines (par ex. )
### Ancien
Notion de sémiologie : classes ordinales et nominales --> trop loin. Expliquer à l'oral a minima.
reclass avec Grass : attention peut y avoir des problèmes de chemin :
- espace ou accents ;
- antivirus (avast) ;
- permission denied.
###
### Calculatrice Raster GDAL
:warning: Erreur syntaxe calculatrice gdal

Si l'erreur suivante apparaît c'est qu'il y a une erreur dans la syntaxe de la formule, il ne faut pas faire copier coller, et faire attention aux espaces :
- des espaces entre les opérateurs `*`
- puissance : `**` et non `^`;
- décimal : `.` et pas `,`
:warning: Erreur parce que couche ouverte dans QGIS
```
Traceback (most recent call last):
File "C:\OSGeo4W\apps\Python39\lib\site-packages\osgeo_utils\auxiliary\gdal_argparse.py", line 175, in main
self.doit(kwargs)
File "C:\OSGeo4W\apps\Python39\lib\site-packages\osgeo_utils\gdal_calc.py", line 879, in doit
return Calc(kwargs)
File "C:\OSGeo4W\apps\Python39\lib\site-packages\osgeo_utils\gdal_calc.py", line 398, in Calc
os.remove(outfile)
PermissionError: [WinError 32] Le processus ne peut pas accéder au fichier car ce fichier est utilisé par un autre processus: 'C:/Users/USER/Desktop/TD2 RUSLE/pente_rclass.tif'
Le processus a renvoyé le code erreur 1
```
Ici parce que la couche était ouverte dans QGIS et le résultat n'a pas pu être écrit. Il suffit de retirer la couche de QGIS.
### INRAE
- Table de correspondance entre total et la sensibilité à l'érosion, fichier `reclass` :
- pour fonctionner, le modèle a besoin que le entêtes des champs de la table (nom des colonnes) soient "total" et "sensibilite".
### Rusle
- Import de la table de **propriété des sols** CSV :
- attention à ouvir le fichier texte non pas avec un "cliquer-déposer" (drag & drop pour faire chic) mais bien avec ==Couche > gestionnaire de données > texte délimitée== en prenant bien soin de cliquer sur l'option `Détecter les types de champs`. Sinon les pourcentages seront détecté comme des chaîne de caractères (i.e. du texte) ;
- tu peux aussi changer le type des champs (colonnes) *a posteriori* en utilisant l'outil ==Refactoriser les champs==.