#1 Tue 11 July 2006 22:40
- kariboo
- Participant actif
- Date d'inscription: 18 Apr 2006
- Messages: 53
raster calculator
Bonjour,
Je ne sais pas si j'utilise la bonne méthode au départ, mais en tout cas je vous expose mon problème :
Je dispose de plusieurs rasters dont les pixels ont tous une valeur égale à 100, que je veux comparer chacun à leur tour avec un raster ayant trois classes de valeurs de pixels : 1, 2 et 100.
(j'ai attribué ces valeurs moi-même en reclassifiant mes rasters)
Je veux faire ressortir les pixels de mes premiers rasters (qui ont donc tous une valeur égale à 100) qui correspondent à des pixels égaux à 1 ou 2 sur mon autre raster.
Je pensais pouvoir faire cela avec l'outil RasterCalculator de Spatial Analyst, en faisant :
"raster 1 + raster 2" (où "raster 1" correspond à un raster ayant des pixels égaux à 100, et "raster 2" correspond à mon raster de comparaison avec ses trois classes de valeurs 1, 2 et 100).
Je suis donc sensée obtenir en sortie un raster où j'ai des valeurs égales soit à 101, 102 ou 200. Les valeurs 101 et 102 correspondent aux pixels que je veux faire ressortir.
Ce traitement fonctionne au début, et au bout d'un certain nombre de rasters traités, les résultats deviennent abberrants : mes pixels ayant en sortie une valeur égale à 101 ou 102 sont répartis de manière illogique.
Pour résumer, ca fonctionne normalement au début, mais quand je répète l'opération sur les autres rasters le résultat est faux.
Si je réouvre une nouvelle application ArcMap, et que je répète l'opération qui n'a pas marché, le résultat est cette fois bon.
Le problème vient peut-être de ma part mais je m'interroge tout de même sur les raisons de ces erreurs : pourquoi mon calcul marche sur un raster, sur un deuxième raster, mais pas forcément sur un troisième ...? Je ne comprends pas
Merci de vos idées...!
Hors ligne
#2 Thu 13 July 2006 09:00
- yann_eric_boyeau
- Juste Inscrit !
- Lieu: Nouméa
- Date d'inscription: 26 Oct 2005
- Messages: 5
Re: raster calculator
Bonjour,
Dans la calculatrice raster, vous pourriez essayer une autre méthode basée
sur la syntaxe de l'évaluation conditionnelle :
"CON(condition, valeur si vraie, valeur si fausse)"
Par exemple : CON((Raster1 == 1 | Raster1 == 2) & Raster2 == 100, 100, 0)
Vous donne un raster avec
- la valeur 100 si Raster2 = 100 et (Raster1 = 1 ou 2).
- la valeur 0 sinon.
Attention à bien respecter les espaces et les virgules pour que la syntaxe
soit acceptée.
D'autres fonctions "cachées" de la calculatrice raster pourraient vous être
utiles : SetNull et Pick, l'aide d'arcgis vous en dira plus.
Yann-Eric Boyeau
Ingénieur Géomaticien
Service de la Géomatique et de la télédétection
Direction des Technologies et des Services de l'Information
Gouvernement de la Nouvelle-Calédonie
Hors ligne