banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#1 Wed 14 November 2012 12:36

Mimette
Juste Inscrit !
Date d'inscription: 14 Sep 2012
Messages: 5

Raster Calculator

Bonjour à toutes et à tous
si quelqu'un peut me sauver
je veux faire une superposition des 3 rasters dans raster calculator, mais avec une formule qui contient plusieurs conditions variables, c'est à dire avec des expressions de "if" et "and" .....
ce qui m'arrive, c'est que lorsque je met la condition dans une ligne et la formule qui la concerne dans une autre ligne, ou même suivis par un point virgule (car je trouve pas l'expression "then"), ça me donne deux résultats raster!!!
y'a quelqu'un qui peut me sauver? c'est urgent svp
merci d'avance sad

EDIT modération : titre modifié, même si c'est urgent on évite de le dire dans le titre sinon, tout va devenir urgent ca sera illisible.

Hors ligne

 

#2 Wed 14 November 2012 14:35

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Raster Calculator

Bonjour Mimette,

Merci de préciser ta version d'arcgis, stp smile

Tu as regardé du côté de l'outil "CON" (abréviation pour CONditionnal) ?

Hors ligne

 

#3 Wed 14 November 2012 16:04

Mimette
Juste Inscrit !
Date d'inscription: 14 Sep 2012
Messages: 5

Re: Raster Calculator

bonjour robin
ma version c'est 9.3
moi j'utilise raster calculator, dans lequel il n'y a pas cet outil "CONditional", mais s'il y a autre méthode je suis à l'écoute
Seulement pour préciser, mon handicap c'est plutôt comment écrire une expression la ou il y a plusieurs conditions.
je m'explique: J'ai 3 rasters, chacun classifié de 0 à 5, mais je veux avoir un raster final (superposition des trois) avec par exemple, les conditions suivants
If ([Rast1] == 0)
Then ([Rast2] * 0 + [Rast3] * 0 + [Rast] * 0)
And if ([Rast1] < 3 & [Rast2] < 3 & [Rast] < 3)
Then ([Rast1] * 0.3333) + ([Rast2] * 0.3333) + ([Rast3] * 0.3333)
And if ([Rast1] > 3 & [Rast2] < 3 & [Rast] < 3)
Then ([Rast1] * 0.5) + ([Rast2] * 0.25) + ([Rast3] * 0.325)
….etc
J’en ai 9 conditions au total
merciiiiiiiiiiiiii bcp

Hors ligne

 

#4 Wed 14 November 2012 16:24

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Raster Calculator

Re,

Voilà des pistes pour exploiter cet outil : http://help.arcgis.com/fr/arcgisdesktop … 005000000/
L'aide est celle d'arcgis 10 mais l'outil n'a pas changé en principe. En fait, il va falloir reréfléchir tout ça pour que ça marche avec le model builder éventuellement.

L'autre solution, c'est de créer une grille de points alignés sur tes raster et renseigner ces points via "Extraction de valeur vers des points" (voir ici : http://help.arcgis.com/fr/arcgisdesktop … t000000/). Tu mets les valeurs de tes 3 rasters dans une colonne chacun de ta grille de points puis tu fais ton opération if/then en mettant à jour la colonne de synthèse sur la base des 3 colonnes/champs précédent. Enfin, tu recréé ton raster final à partir de cette grille.

Hors ligne

 

#5 Wed 14 November 2012 17:04

Mimette
Juste Inscrit !
Date d'inscription: 14 Sep 2012
Messages: 5

Re: Raster Calculator

Merci roibin, je cherche dans le site que tu m'as donnée

Hors ligne

 

#6 Wed 14 November 2012 17:33

Mimette
Juste Inscrit !
Date d'inscription: 14 Sep 2012
Messages: 5

Re: Raster Calculator

en vain robin, j'arrive pas à trouver la solution
je vais essayer de faire chaque étape séparément et essayer après de les ajouter l'une sur l'autre. c'est bcp et long mais j'ai pas d'autre solutions
merci en ts cas
a plus

Hors ligne

 

#7 Thu 15 November 2012 19:42

Lukkas
Participant occasionnel
Date d'inscription: 24 Nov 2009
Messages: 14

Re: Raster Calculator

Bonjour,
Sur Arcgis 9.x, c'est bien la fonction "CON", pour les conditions.

Les conditions sont sous la forme Con(condition, valeur si VRAI, valeur si FAUX).
Tu peux imbriquer les conditions les unes dans les autres, en remplacent la "valeur si FAUX" par une nouvelle condition :
Con(Condition, valeur si VRAI, Con(condition, valeur si VRAI, Con(condition, valeur si VRAI, etc ...)))

Essaie quelque chose comme ça :
Con([Rast1] == 0,
    [Rast2] * 0 + [Rast3] * 0 + [Rast] * 0,
    Con([Rast1] < 3 & [Rast2] < 3 & [Rast] < 3,
        ([Rast1] * 0.3333) + ([Rast2] * 0.3333) + ([Rast3] * 0.3333),
        Con([Rast1] > 3 & [Rast2] < 3 & [Rast] < 3,
            ([Rast1] * 0.5) + ([Rast2] * 0.25) + ([Rast3] * 0.325),
            0)
        )
    )

En gras, la condition de départ.
En italique, les valeurs si la condition est VRAI,
En gras & italique, les valeurs si la condition est FAUSSE.

A+

Hors ligne

 

Pied de page des forums

Powered by FluxBB