La directive européenne inondation de 2007 impose au maître d’ouvrage, pour chaque projet de réduction du risque inondation (digues de protection, développement de zones d’expansion en amont sur des terres agricoles, etc), une analyse préalable dite ‘coûts-bénéfices’ qui vise à démontrer l’efficacité économique du projet, i.e. que les dommages évités par le projet compensent au moins son coût.
Pour ce faire, les maîtres d’ouvrages commandent aux bureaux d’études des analyses coûts-bénéfices qui sont basées sur l’estimation de dommages de crues sur le territoire concerné, avec et sans projet et pour une collection de ‘crues’ suivant une gamme de fréquences de retour. Pour chaque scenario de crue (1 scénario = 1 crue de la collection de fréquence de retour donnée, avec ou sans mise en place du projet), on estime donc les dommages (en €) sur le territoire. Ces dommages résultent du simple croisement entre l’aléa (la carte des hauteurs d’inondation1 sur tout le territoire obtenue par modélisation hydraulique) et les enjeux (les habitations, les entreprises, les surfaces cultivées) pour lesquels on dispose de courbes d’endommagement (la vulnérabilité). Ces courbes, normalement différentes par type d’enjeu, mettent en relation l’intensité de l’inondation (la hauteur d’eau) et les dommages par unité de surface. Cette estimation est par nature spatialisée et passe par des SIG (Erdlenbruch et al. 2008).
Dans ces estimations et lorsque l’on compare les dommages moyens espérés (au sens mathématique) sur un horizon de 50 à 100 ans, on fait toujours une hypothèse conservatrice forte : que l’occupation du sol (les enjeux) ne change pas sur cet horizon temporel. En effet, comme d’autre sources d’incertitudes (stationnarité des régimes de crues, etc), l’évolution de l’occupation du sol est toujours négligée dans ces analyses. Mais est-ce vraiment pénalisant ?
L’objectif général de cette séquence de TP encadré puis de TD libre est d’estimer l’impact d’un changement d’occupation du sol plausible sur l’estimation des dommages d’une crue, moyennant quelques hypothèses simplificatrices.
L’objectif du TP est, sur un terrain d’étude mixte urbain et agricole, le delta de l’Orb en aval de Béziers, de recaler des courbes de dommages initialement appliquées à des enjeux détaillés suivant 4 types (habitations, entreprises, etc) afin de retrouver le total des dommages produits par la crue centennale \(Q_{100}\) (fréquence de retour centennale) à partir d’une carte d’occupation du sol simplifiée raster (suivant une maille raster de 100 ou 250 m). Pour recaler ces courbes (suivant un coefficient multiplicateur à ajuster), on utilise de simples opérations SIG (QGIS) et tableurs (Excel ou R), en partant des cartes d’occupation du sol simplifiées, des cartes d’enjeux détaillés et de la carte d’aléa (maille de 10 m).
Les deux grandes étapes du TP cherchent à :
Estimer, sur la base des données actuelles, la répartition (en surface) de chaque type d’enjeux (habitations, entreprises, campings et cultures) par classe d’occupation du sol simplifiée (3 classes: urbain, agricole et autre). On fera l’hypothèse que cette répartition est homogène sur tout le territoire inondable (par exemple, que la part de surface de campings par maille à 250 d’occupation du sol ‘urbain’ est la même pour toutes les mailles; que la part de surface de campings par maille à 250 d’occupation du sol ‘agricole’ est la même pour toutes les mailles; que la part de surface de campings par maille à 250 d’occupation du sol ‘autre’ est la même pour toutes les mailles).
Connaissant les totaux des dommages par type d’enjeux, la part de surface des enjeux par classe d’occupation du sol simplifiée, suite au croisement entre aléa et occupation du sol simplifiée, recaler les courbes de dommages initiales afin de retrouver ces totaux de dommages par type d’enjeux.
Avec ces nouvelles courbes et connaissant la répartition des types d’enjeux par classe d’occupation du sol simplifiée, on peut recalculer les dommages issu du croisement entre aléa et une occupation du sol simplifiée.
L’objectif du TD libre est ensuite d’appliquer un modèle de simulation de l’évolution du territoire ‘delta de l’Orb’ (sur SpaCELLE) tel que vu dans les séquences de cours-TP précédentes de l’UE, puis suivant différents horizons temporels (5,10,30,50 ans), de mesurer pour ces différentes occupations du sol modifiées (et simplifiées), les conséquences sur l’estimation des dommages de la crue centennale (notée \(Q_{100}\)), en utilisant les résultats calculés en TP.
Les données cartographiques disponibles sont listées dans la Table 1. Elles sont toutes référencées dans le système Lambert 93 (Code EPSG: 2154).
Les données nécessaires à la réalisation du TP sont disponibles à l’adresse suivante:
https://www.dropbox.com/sh/3kgclyo75h77yvr/AACmnJH7wI8atel3HqZwk9Mta?dl=0
Dossier dataOrb à télécharger (clic droit sur le dossier) et dézipper.
nom | contenu |
---|---|
terraindetude_l93.shp | limite de la zone inondable |
alea_l93.shp | hauteurs d’eau de \(Q_{100}\) à 50 m de résolution par classe de 50 cm |
enjeux_l93.shp | habitations, entreprises, campings et cultures actuels (détaillé) |
occsol_100m_l93.asc | occupation du sol raster actuelle à 100 m (simplifiée) |
occsol_250m_l93.asc | occupation du sol raster actuelle à 250 m (simplifiée) |
reseau_orb.shp | routes (pour spaCELLE) |
reseau_ferre.shp | voies ferrées (pour spaCELLE) |
Table 1 : Sources de données
Copier-Coller le répertoire dataOrb depuis Q: ou depuis le lien ci-dessus pour créer D:/dataOrb
Ouvrir QGIS2
Charger la limite de la zone inondable terraindetude_l93.shp puis la couche des hauteurs d’eau maximales atteintes durant la crue centennale \(Q_{100}\) de 2100 \(m^3.s^{-1}\) (enregistrée en amont du delta à la station hydrométrique de Tabarka): alea_l93.shp. Observer les valeurs (exprimées en cm comme milieu de tranches de 50 cm). Attribuer une légende en niveaux de bleu suivant les valeurs de hauteurs d’eau.
Couche \(\rightarrow\) Ajouter une couche vecteur \(\rightarrow\) EPSG:2154
Sélectionner la couche puis: Click droit \(\rightarrow\) Propriétés \(\rightarrow\) Style \(\rightarrow\) Symbole gradué \(\rightarrow\) 20 classes
Couche \(\rightarrow\) Ajouter une couche vecteur \(\rightarrow\) EPSG:2154
Sélectionner une couche puis: Click droit \(\rightarrow\) Ouvrir la table d’attributs
Sélectionner la couche puis: Click droit \(\rightarrow\) Propriétés \(\rightarrow\) Style \(\rightarrow\) Catégorisé
Couche \(\rightarrow\) Ajouter une couche raster
Raster \(\rightarrow\) Conversion \(\rightarrow\) Polygoniser \(\rightarrow\) Nome de champ: DN ; Charger la carte une fois terminée
Sélectionner une couche puis: Click droit \(\rightarrow\) Ouvrir la table d’attributs
Sélectionner la couche puis: Click droit \(\rightarrow\) Propriétés \(\rightarrow\) Style \(\rightarrow\) Catégorisé
Charger la légende Corine_Land_Cover.qml et Click droit \(\rightarrow\) Classer \(\rightarrow\) Non
Code CLC niveau 3 | Classe |
---|---|
111 à 121, 124, 141, 142 | ‘UR’ |
212 à 222, 242, 243 | ‘AG’ |
122, 133, 231, \(\geq\) 311 | ‘AU’ |
Table 2 : Correspondance des Codes CLC
Dans la table d’attributs de occsol.shp \(\rightarrow\) Activer le mode d’édition \(\rightarrow\) Nouvelle colonne \(\rightarrow\) Nom=classe, Type=texte, largeur=5
Dans la table d’attributs de occsol.shp \(\rightarrow\) Filtre avancé (expression) \(\rightarrow\) DN <= 121 OR DN = 124 OR DN=141 OR DN=142
Sélectionner les entités (control+A) \(\rightarrow\) Calculatrice de champ \(\rightarrow\) Mise à jour des entités sélectionnées; Champ de mise à jour existant = classe ; Expression : ‘UR’
… Dé-sélectionner les entités puis refaire la sélection et le calcul pour ‘AG’ puis ‘AU’ puis \(\rightarrow\) Désactiver le mode édition
Vecteur \(\rightarrow\) Outils de géotraitements \(\rightarrow\) Découper : Couche de saisie=occsol-bis, Couche de découpage=terraindetude_l93, Fichier de sortie=occsol0-100 Décocher la case Utiliser uniquement les valeurs sélectionnées, si nécessaire
Dans la table d’attributs de occsol0-100.shp \(\rightarrow\) Activer le mode d’édition \(\rightarrow\) Calculatrice de champ \(\rightarrow\) Créer un nouveau champ; Nom=surface, Type=nombre décimal, Precision = 0, Longueur=10 ; Expression : $area \(\rightarrow\) Désactiver le mode édition Décocher la case Utiliser uniquement les valeurs sélectionnées, si nécessaire
Vecteur \(\rightarrow\) Outils de géotraitements \(\rightarrow\) Intersection : Couche de saisie=occsol0-100, Couche d’intersection=enjeux_l93.shp, Fichier de sortie=occsol_enj Décocher la case Utiliser uniquement les valeurs sélectionnées, si nécessaire
Dans la table d’attributs de occsol_enj.shp \(\rightarrow\) Activer le mode d’édition \(\rightarrow\) Calculatrice de champ \(\rightarrow\) Créer un nouveau champ; Nom=surface, Type=nombre décimal, Precision = 0, Longueur=10 ; Expression : $area \(\rightarrow\) Désactiver le mode édition
Sélectionner une classe d’occupation du sol; vecteur \(\rightarrow\) Outils d’analyse \(\rightarrow\) Statistiques basiques; utiliser uniquement les valeurs sélectionnées \(\rightarrow\) Noter la somme
et ainsi de suite pour chaque classe d’occupation du sol et chaque type d’enjeux \(\rightarrow\) vous pouvez aussi, pour aller plus vite, utiliser Excel ou R (cf script ci-après)
A noter que si vous choisissez de faire ces calculs sous Excel, copier d’abord occsol-enj.dbf et occsol0-100.dbf sous d’autres noms avant de l’ouvrir dans Excel (pour éviter d’écraser la table attributaire des couches).
Avec :
setwd("D:/dataOrb")
#install.packages(foreign)
library(foreign)
dat<-read.dbf("occsol0-100.dbf")
S.tot<-tapply(dat$surface,dat$classe,"sum")
dat<-read.dbf("occsol_enj.dbf")
res2<-aggregate(dat$surface, list(dat$classe,dat$ENJEU),"sum")
res2
table2<-matrix(res2$x,ncol=3, byrow=T)
colnames(table2)<-levels(res2$Group.1)
rownames(table2)<-levels(res2$Group.2)
table2
table3<-table2/matrix(rep(S.tot,4), ncol=3, byrow=T)
table3
apply(table3,2,"sum")
save(table3,file="table3.RData")
SURFACES (m\(^2\)) | Agricole (‘AG’) | Autre (‘AU’) | Urbain (‘UR’) |
---|---|---|---|
Total terrain d’étude | \(S^{ag}\) | \(S^{au}\) | \(S^{ur}\) |
Campings \(\in\) | \(S_a^{ag}\) | \(S_a^{au}\) | \(S_a^{ur}\) |
Cultures \(\in\) | \(S_c^{ag}\) | \(S_c^{au}\) | \(S_c^{ur}\) |
Entreprises \(\in\) | \(S_e^{ag}\) | \(S_e^{au}\) | \(S_e^{ur}\) |
Habitations \(\in\) | \(S_h^{ag}\) | \(S_h^{au}\) | \(S_h^{ur}\) |
% | Agricole (‘AG’) | Autre (‘AU’) | Urbain (‘UR’) |
---|---|---|---|
Campings \(\in\) | \(p_a^{ag}=\frac{S_a^{ag}}{S^{ag}}\) | \(p_a^{au}\) | \(p_a^{ur}\) |
Cultures \(\in\) | \(p_c^{ag}\) | \(p_c^{au}\) | \(p_c^{ur}\) |
Entreprises \(\in\) | \(p_e^{ag}\) | \(p_e^{au}\) | \(p_e^{ur}\) |
Habitations \(\in\) | \(p_h^{ag}\) | \(p_h^{au}\) | \(p_h^{ur}\) |
Table 4 : Pourcentages de surfaces d’enjeux par classe d’occupation du sol (Remplacer par des valeurs avec 4 chiffres significatifs)
Cette opération résulte du simple croisement entre l’occupation du sol et les hauteurs d’eau.
Vecteur \(\rightarrow\) Outils de géotraitements \(\rightarrow\) Intersection : Couche de saisie=occsol0-100, Couche d’intersection=alea_l93, Fichier de sortie=risque Décocher la case Utiliser uniquement les valeurs sélectionnées, si nécessaire
Dans la table d’attributs de risque.shp \(\rightarrow\) Activer le mode d’édition \(\rightarrow\) Calculatrice de champ \(\rightarrow\) Champ de mise à jour existant=surface ; Expression = $area \(\rightarrow\) Désactiver le mode édition
La table risque.dbf comprend désormais tous les éléments nécessaires pour calculer les dommages : pour chaque entité (polygone) de cette couche, on connaît la hauteur d’eau (\(H\)), la classe d’occupation du sol, sa surface et donc la surface des types d’enjeux d’après la Table 4.
Les dommages sur les enjeux actuels créés par \(Q_{100}\) sont donnés en Table 5
Habitations | Entreprises | Campings | Cultures |
---|---|---|---|
40.9 | 107.8 | 34.1 | 2.3 |
Les courbes d’endommagement (\(C,H\)) initiales moyennes utilisées sont, avec \(H\) exprimée en cm, données ci-après :
Calculer à partir de la table risque.dbf, les dommages par type d’enjeu suivant les courbes initiales. Pour ce faire vous pouvez utiliser Excel avec les mêmes conseils que précédemment ou . Si vous utilisez
, un script vous est proposé ci-après.
Ajuster chacune de ces courbes d’endommagement \(C_i, i \in {h,e,a,c}\) suivant un simple coefficient multiplicateur \(k_i\) par type d’enjeu afin de retrouver les dommages actuels. Notez ces valeurs de coefficients dans la table ci-dessous. Que traduisent ces valeurs de coefficients (\(>1\)) ?
\(k_h\) | \(k_e\) | \(k_a\) | \(k_c\) |
---|---|---|---|
…. |
…. |
…. |
…. |
Calcul pas à pas des dommages par type d’enjeu avec (faire un script) :
setwd('/home/bailly/temp')
library(foreign)
load("table3.RData")
dat<-read.dbf("risque.dbf")
# pour la classe agricole
sub.ag<-dat[dat$classe=="AG",]
mod<-cbind(0.2*sub.ag$H, (0.1+(sub.ag$H>150)*0.1)*(sub.ag$H>0),
(3*sub.ag$H)*(sub.ag$H>0), (20+0.5*sub.ag$H)*(sub.ag$H>0))
surf<-outer(sub.ag$surface,table3[,"AG"])
dim(mod)
dim(surf)
ag<-mod*surf
ag.enj<-apply(ag,2,"sum")
# pour la classe autre
sub.au<-dat[dat$classe=="AU",]
mod<-cbind(0.2*sub.au$H, (0.1+(sub.au$H>150)*0.1)*(sub.au$H>0),
(3*sub.au$H)*(sub.au$H>0), (20+0.5*sub.au$H)*(sub.au$H>0))
surf<-outer(sub.au$surface,table3[,"AU"])
dim(mod)
dim(surf)
au<-mod*surf
au.enj<-apply(au,2,"sum")
# pour la classe urbaine
sub.ur<-dat[dat$classe=="UR",]
mod<-cbind(0.2*sub.ur$H, (0.1+(sub.ur$H>150)*0.1)*(sub.ur$H>0),
(3*sub.ur$H)*(sub.ur$H>0), (20+0.5*sub.ur$H)*(sub.ur$H>0))
surf<-outer(sub.ur$surface,table3[,"UR"])
dim(mod)
dim(surf)
ur<-mod*surf
ur.enj<-apply(ur,2,"sum")
#sommation
tot.enj<-ag.enj+au.enj+ur.enj
#coefficients k
k<-tot.enj/(c(34.1e06, 2.3e06, 107.8e06, 40.9e06))
Ces nouvelles courbes d’endommagement \(k_h*C_h, \cdots, k_c*C*c\) sont celles qui seront utilisées pour le TD qui suit.
Les résultats du TD (éléments demandés listés ci-après) sont à remettre dans un document .doc ou .pdf et à envoyer par mail à :
jean-pierre.chery@agroparistech.fr jean-stephane.bailly@agroparistech.fr fabrice.vinatier@supagro.inra.fr
en fin d’UE (vendredi midi).
Pour le TD libre, on vous demande dans un premier temps de construire et appliquer un modèle de dynamique territoriale avec SpaCELLE sur le delta de l’Orb en partant de l’occupation du sol actuelle simplifiée au format raster (soit à 100 m occsol_100m_l93.asc, soit à 250m occsol_250m_l93.asc) et d’un fichier sur les routes principales routes_l93.shp.
Expliquer et justifier les valeurs de paramètres du modèle SpaCELLE que vous avez retenues.
Exporter sous forme d’images les cartes d’occupation du sol obtenues suivant des classes simplifiées (urbain, cultures et autres) aux horizons, 5, 10, 20 et 50 ans.
Commenter ces images et les résultats obtenus
En ré-exploitant le TP sur l’occupation du sol actuelle, calculer les dommages urbains et agricoles de la crue centennale par type d’enjeux et totaux à 5, 10, 20 et 50 ans.
Présenter sous forme de tableaux les résultats obtenus chiffrés, et les variations en % par rapport aux dommages actuels
Discutez alors de l’impact du changement d’occupation du sol.
Cet impact est-il linéaire en fonction du temps ? Comment expliquer cette tendance ?
Comment améliorer les modèles de simulation de dynamiques territoriales pour rendre l’exercice plus réaliste ?
Erdlenbruch, K., E. Gilbert, F. Grelot, and C. Lescoulier. 2008. “Une Analyse Coût-Bénéfice Spatialisée de La Protection Contre Les Inondations - Application de La Méthode Des Dommages Évités a La Basse Vallee de L’Orb.” EAT Ingéniéries 53: 5–20.