#1 Thu 11 July 2019 07:32
- Javajava2
- Juste Inscrit !
- Date d'inscription: 10 Jul 2019
- Messages: 4
QGIS: Remplacer la valeur d'un raster par un autre
Bonjour à tous,
Voila mon problème; j'ai généré sous forme de raster un DEM. J'ai également une couche de point sous forme de raster obtenu à partir de point GPs connu. J'aimerai corriger mon DEM em y ajoutant ces points. De ce fait, je cherche comment remplacer les valeurs d'un raster par les valeur de l'autre aux endroits ou ils se croisent. Je travaille sur ArcGIS mais je pense que les fonctionnalités avec QGIS sont assez similaires.
Quelqu'un serait-il faire?
Merci !
Hors ligne
#2 Thu 11 July 2019 14:14
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: QGIS: Remplacer la valeur d'un raster par un autre
Dans ArcGIS, ça prend une expression conditionnelle dans la calculatrice raster (Spatial Analyst ou 3D analyst requis) :
con(condition, si vrai, si faux)
Dans ce cas, la condition serait qu'il y ait des valeurs dans les 2 rasters. Si vrai : prendre celle raster 2, si faux : celle du raster 1.
Dans QGIS, c'est plus nébuleux. Dans la calculatrice raster :
("MNT@1" >= 0 AND MNT2@1 >= 0) * "MNT2@1" + ("MNT2@1"<0) * "MNT@1"
On pourrait utiliser la valeur null au lieu de zéro, mais je ne me souviens pas de la syntaxe en ce moment. En somme, chaque condition renvoie 0 ou 1 (faux/vrai). Ici, si une condition est vraie, ça donne 1 multiplié par la valeur du MNT indiquée après la condition. Le "+" n'additionne pas, mais ajoute des pixels au résultat (sauf si un pixel répondait à plusieurs conditions, là j'imagine que ça s'additionnerait)
Dernière modification par carteq (Thu 11 July 2019 14:20)
Hors ligne
#3 Thu 11 July 2019 20:08
- Javajava2
- Juste Inscrit !
- Date d'inscription: 10 Jul 2019
- Messages: 4
Re: QGIS: Remplacer la valeur d'un raster par un autre
J'ai essaye effectivement cette possibilité, cependant, j'ai un problème car seul les points présents dans les deux rasters apparaissent sur la nouvelle couche et je ne comprends pas pourquoi.
Je fais ; Con(DEM=points,points,DEM)
Mais la couche que j'obtiens n'est présente qu'au niveau de ma couche points et non du DEM. Comment puis-je faire pour que le DEM apparaissent la ou il est la seule couche ?
Merci pour la reponse !
Hors ligne
#4 Fri 12 July 2019 15:36
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: QGIS: Remplacer la valeur d'un raster par un autre
Con(DEM=points,points,DEM)
Il faudrait ajouter que points ne soit pas nul.
Hors ligne
#5 Fri 12 July 2019 17:11
- Javajava2
- Juste Inscrit !
- Date d'inscription: 10 Jul 2019
- Messages: 4
Re: QGIS: Remplacer la valeur d'un raster par un autre
En condition ?
Je mets deux conditions dans ma syntaxe?
Hors ligne
#6 Fri 12 July 2019 17:19
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: QGIS: Remplacer la valeur d'un raster par un autre
Exact :
Multiple conditions can be used in a conditional expression of the Con tool.
Con((InRas1 > 5) & (InRas1 < 10), 5, 100)
Hors ligne
#7 Fri 12 July 2019 18:19
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: Remplacer la valeur d'un raster par un autre
Bonjour,
La solution ArcGIS étant la plus discutée dans ce fil, faudrait peut-être le migrer dans la section correspondante? (pour éviter que des gens qui lisent en diagonale se mettent à vouloir tester les formules - ce sera de leur faute mais bon...)
Hors ligne