Meilleure localisation pour une décharge Résultats attendus Carte des zones propices Pondérations des deux critères Facteurs Situées à proximité des chemins de fer Éviter les zones trop proches des villes Contraintes Pas de pente de plus de 3% Pas les types de sols suivants: 1024, 805, 67, 738, 266, 865
A. Étape préparatoire Définir la région à l'ensemble de l'état (couche nc_state) et utiliser une résolution de 500m Ouvrir Grass (secteur : north_carolina, mapset : multicriteres) 1) Si données déjà dans mapset ou permanent Paramètres : Régions : Définir la Région à partir d'un vecteur (ou g.region) Dans Existant : [multiple] Set region to match vector map(s) : nc_state Dans Limites: cocher x Align region to resolution (default= align to bounds, works only for 2D resolution) Dans Résolution : 500 dans 2D grid resolution (north-south and east-west) Exécuter
2) Si données encore à télécharger dans mapset Fichier, Importer des données vectorielles, Importer des formats standards [v.in.ogr] Parcourir/FichierGrass/nc_shape/nc_state.shp/Importer Parcourir/FichierGrass/nc_shape/railsroads.shp/Importer Parcourir/FichierGrass/nc_shape/urbanaera.shp/Importer Parcourir/FichierGrass/nc_shape/soils_general.shp/Importer Paramètres : Régions : Définir la Région à partir d'un vecteur (ou g.region) Dans Existant : [multiple] Set region to match vector map(s) : nc_state Dans Limites: cocher x Align region to resolution (default= align to bounds, works only for 2D resolution) Dans Résolution : 500 dans 2D grid resolution (north-south and east-west) Exécuter
Facteurs vs Contraintes Identifier les 2 types de variables parmis les indicateurs Facteurs vs Contraintes Facteurs (railsroads, urbanarea) Situées à proximité des chemins de fer Éviter les zones trop proches des villes Contraintes : ce sont des MNT pente et sol Pas de pente de plus de 3% Pas les types de sols suivants: 1024, 805, 67, 738, 266, 865
Transformation des « indicateurs» en fichier matricielle (couche railroads, couche urbanareas, soils_general) v.to.rast Requis : Nom de la couche vectorielle en entrée : railsroads@multicriterers Nom de la couche matricielle en sortie : rails Sourcce of raster values : val Optionnel : (on ne touche à rien, on laisse à 1) Exécuter v.to.rast Requis : Nom de la couche vectorielle en entrée : urbanarea@multicriteres Nom de la couche matricielle en sortie : villes Sourcce of raster values : val Optionnel : (on ne touche à rien, on laisse à 1) Exécuter v.to.rast Requis : Nom de la couche vectorielle en entrée : soils_general@multicriteres Source of raster values : attr (car on cherche les valeurs des attributs) Attributes : Name of column for 'attr' parameter : GSLNC250 Name of column used as raster category labels : GSL_NAME Optionnel : (on ne touche à rien) Exécuter
B. Création de surface de coût Pour prendre en compte la distance par rapport aux éléments Créer une surface de coût par pixel en partant du contour de l'état de la Caroline du Nord 1) Rasteriser la couche vectorielle : nc_state (v.to.rast) v.to.rast Requis : Nom de la couche vectorielle en entrée : nc_state@multicriteres Nom de la couche matricielle en sortie : nc_state_500 Sourcce of raster values : val Optionnel : (on ne touche à rien, on laisse à 1) Raster value(for use = val) : 500 Exécuter
B. Création de surface de coût Pour prendre en compte la distance par rapport aux éléments Créer une surface de coût par pixel en partant du contour de l'état de la Caroline du Nord 2) créer les surfaces de distances des villes et du rail (v.cost) v.cost Requis : Name of input raster map : nc_state_500@multicriteres Nom de la couche matricielle en sortie : rails_dist Démarr er: Nom of starting raster point map : rails Exécuter v.cost Requis : Name of input raster map : nc_state_500@multicriteres Nom de la couche matricielle en sortie : villes_dist Démarr er: Nom of starting raster point map : villes Exécuter
C. Introduction d'une fonction distance par rapport aux éléments Ajuster les distances vers une échelle comparable : 0= le pire, 255= le meilleur Villes : proximité est mauvaise (contraire aux rails) Recodage : minDistRail = 255, maxDistRail= 0 minDistVille=0, maxDistVille = 255 r.recode Requis : Name of raster map to be recoded : rails_dist@multicriteres Nom de la couche matricielle en sortie : rails_recode Ou entrer les valeurs manuellement: 0:102012:255 :0 Exécuter r.recode Requis : Name of raster map to be recoded : villes_dist@multicriteres Nom de la couche matricielle en sortie : villes_recode Ou entrer les valeurs manuellement: 0:85677.7:0 :255 Exécuter
a) voir manuel dans r.recode pour savoir comment écrire (old_low:old_high:new_low:new_high) b) voir les valeurs dans l'interface graphique avec la légende ou r.univar pour avoir les valeurs maximales et minimales (r.univar se trouve dans Raster/Comptes-rendus statistiques/Statistiques raster univariées) pour rails_dist : minimum: 0 et maximum: 102012 pour villes_dist : minimum: 0 et maximum: 85677.7
D. Transformation des contraintes en surface binaire Carte des pentes sur base de : « elev_state_500 » ET en extraire une carte binaire, 0 pour pentes au-delà de 3 % et 1 pour 0%<pentes<3 % Fichier/Importer une carte raster/Importer un format standard (r.in.gdal) Parcourir//home/ulb/Documents/FichiersGRASS/ncrast/elev_state_500m.tif Importer r.slope.aspect pour générer une carte raster des pentes Requis : Name of input elevation raster map : elev_state_500m Outputs : Name of output slope raster map : pente Réglages : Format de sortie pour la pente : percent Exécuter
D. Transformation des contraintes en surface binaire r.mapcalc (POUR LA PENTE) Output : Nom de la nouvelle carte raster à créer: pente_ok Insérer une fonction mapcalc : if (x) Insérer une carte existante : pente Expression : if( pente@multicriteres >3,0,1) ⇒ si pente >3 mettre 0 sinon 1 pour pente <3 comme contrainte demandée dans l'énoncé Exécuter
D. Transformation des contraintes en surface binaire Identifier zones avec sols acceptables (types de sol proscrits 1024, 805, 67, 738, 266, 865) et créer une carte binaire des zones acceptables (1) ou non (0) r.mapcalc (POUR LES SOLS) Output : Nom de la nouvelle carte raster à créer: sols_ok Insérer une fonction mapcalc : if (x) Insérer une carte existante : type_sol Expression : if( type_sol@multicriteres ==1024 || type_sol@multicriteres ==805 || type_sol@multicriteres ==67 || type_sol@multicriteres ==738 || type_sol@multicriteres ==266 || type_sol@multicriteres ==865,0,1) Exécuter
E. Combinaison des indicateurs pour générer une carte des lieux pour la décharge Définition pour les 2 facteurs (somme des poids = 1) 0 = lieu pas adapté du tout 255= lieu parfaitement adapté POIDS DES FACTEURS Essai 1 : Si deux facteurs ont le même poids 50 Essai 2 : Si la distance par rapport aux rails = 0,8 et celle par rapport aux villes = 0,2
Essai 1 : Si deux facteurs ont le même poids 50 r.mapcalc Output : Nom de la nouvelle carte raster à créer: zones_fav_50_50 Insérer une fonction mapcalc : Insérer une carte existante : les cartes à insérer sont : pente_ok sols_ok villes_recode rails_recode Expression : pente_ok@multicriteres * sols_ok@multicriteres * (0.5 * rails_recode@multicriteres +0.5 * villes_recode@multicriteres ) Exécuter
Essai 2 : Si la distance par rapport aux rails = 0,8 et aux villes = 0,2 r.mapcalc Output : Nom de la nouvelle carte raster à créer: zones_fav_50_50 Insérer une fonction mapcalc : Insérer une carte existante : les cartes à insérer sont : pente_ok sols_ok villes_recode rails_recode Expression : pente_ok@multicriteres * sols_ok@multicriteres * (0.8 * rails_recode@multicriteres +0.2 * villes_recode@multicriteres ) Exécuter
Outils: Transformation des couches railroads et urbanareas vers raster (v.to.rast avec val=1) Transformations de la couche des sols (soils_general) vers raster (v.to.rast avec use=attr et column=GSLNC250_ - et éventuellement labelcolumn=GSL_NAME) Transformations des contours de l'état de Caroline du Nord (nc_state) vers une surface de coût par pixel (v.to.rast avec val=500) Calcul des surfaces de distances des villes et du rail (r.cost) Recoder les indicateurs de distance vers une échelle et une direction commune 0=mauvais, 255=parfait (r.recode), selon modèle de règle suivant (à adapter selon le sens indiqué ci-dessus) Min:Max:0:255 Calcul de la pente (r.slope.aspect avec le MNT elev_state_500m) Identification des zones non propices à cause de leur pente (r.mapcalc) r.mapcalc pente_ok=if(pente>3,0,1) Identification des zones non propices à cause de leur sol (r.mapcalc) r.mapcalc soils_ok=if(soils==1024 || soils==805 || soils==67 || soils==738 || soils==266 || soils==865, 0, 1) Application des poids pour calculer résultat (valeur finale d'adaptation des lieux pour une décharge) (r.mapcalc), en sommant les facteurs et en multipliant cette somme par les contraintes. Par exemple, pour une répartition des poids à 50/50 entre les villes et les chemins de fer: r.mapcalc zones_propices_5050=soils_ok*pente_ok*(0.5*dist_rail_recode+0.5*dist_ville_recode)