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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 22 October 2008 16:58

flor
Participant occasionnel
Date d'inscription: 7 Oct 2008
Messages: 17

attribuer une valeur à certains pixels d'un raster

Bonjour,
J'en reviens à vous car je seche... J'ai un raster dans lequel je veux que les pixels qui se trouvent dans un masque obtienne une valeur définie. Alors je voyais bien un truc dans la clculatrice raster
con ([monraster] in [monmasque], -9, [monraster])
Mais le problème c'est que "in" ça existe peut être pas et que la calto n'attend pas d'entrée vecteur... Autres solutions?
Merci

Hors ligne

 

#2 Wed 22 October 2008 17:10

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: attribuer une valeur à certains pixels d'un raster

À défaut de connaitre la syntaxe exacte, je ferais bien un peu d'algèbre :

x * 0 = 0, donc en dehors du masque
x* 1 = x, donc dans le masque.

(x + 0 = x, donc pas touche)

Je crois que tu as les billes pour faire ce qu'il faut, non ?


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Wed 22 October 2008 17:22

flor
Participant occasionnel
Date d'inscription: 7 Oct 2008
Messages: 17

Re: attribuer une valeur à certains pixels d'un raster

Je suis désolée mais non je ne comprends pas trop, c'est quoi que tu as nommé "x", et tu parles de la calculatrice raster?

Hors ligne

 

#4 Wed 22 October 2008 17:34

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: attribuer une valeur à certains pixels d'un raster

Bon zut, j'ai fait trop compliqué sad

Mon x, c'est n'importe quelle valeur.

Si tu fais un raster masque où l'extérieur de ta zone masque a des valeurs nulles, alors quand tu fais une multiplication, tu auras la valeur nulle, et donc la condition 'sinon' s'exécutera pour la fonction 'con'.


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#5 Wed 22 October 2008 18:15

flor
Participant occasionnel
Date d'inscription: 7 Oct 2008
Messages: 17

Re: attribuer une valeur à certains pixels d'un raster

Bon je verrais ça demain. Je comprends l'idée, le tout est de creer le raster masque qui va bien... et ça c pas donné. De pb à pb je progresse, merci pour l'astuce

Hors ligne

 

#6 Wed 22 October 2008 20:03

alban
Participant assidu
Lieu: Chizé
Date d'inscription: 16 May 2007
Messages: 156
Site web

Re: attribuer une valeur à certains pixels d'un raster

Bonjour,
Peut-être plus simple : va dans les options de "spatial analyst", dans l´onglet "général" tu définis ton masque d´analyse. Dans la calculatrice, ta formule devient simplissime :

Code:

[monraster]

Géomatiquement,

PS : dans le message de Jérôme, x correspondait à [monraster]. Il te proposait de faire une multiplication entre 2 rasters : ton raster à masquer, et ton masque (ton masque doit au préalable être égale à 1 à l´intérieur du masque, et 0 en dehors)

Hors ligne

 

#7 Thu 23 October 2008 10:40

flor
Participant occasionnel
Date d'inscription: 7 Oct 2008
Messages: 17

Re: attribuer une valeur à certains pixels d'un raster

Bonjour,
Merci pour vos réponses. J'ai trouvé ça très bien Alban mais en faite ça ne fait pas ce que je veux, parce qu'il fait bien l'analyse sur mon masque mais le raster en sortie fait la taille du masque et pas de mon raster initial. En plus je ne sais pas affecté une valeur à un pixel dans la calculatrice raster, mes requetes sont toujouts boolenne (j'ai mis monraster == -9 et ça me répond oui ou non...). J'ai bien compris la méthode de Jérome mais je n'arrive pas à creer un masque qui va bien... ça ne parait jamais bien compliqué et pourtant je passe un temps fou sur tout ça... Merci déjà bien pour votre aide, je continue d'explorer les possibilités!
Flo

Hors ligne

 

#8 Thu 23 October 2008 11:43

Vison2Europe
Participant occasionnel
Date d'inscription: 13 Sep 2006
Messages: 25

Re: attribuer une valeur à certains pixels d'un raster

Bonjour,

C'est une opération que j'effectue régulièrement.

Je vous conseille d'utiliser l'outil reclassement de spatial analyst pour modifier les valeurs des pixels de ton masque.
0  pour NOData
X (valeur de ton choix) pour les pixels dans la zone du masque.


ensuite avec MapAlgebra, vous utilisez la fonction OVER
"NomrasterMasque" over "NomRasterInitial"

en fait, il va remplacer les pixels ayant pour valeur 0 du masque par la valeur des pixels du raster initial.

J'espère avoir apporté ma pierre à l'édifice.

Hors ligne

 

#9 Thu 23 October 2008 14:23

vipere
Participant actif
Date d'inscription: 23 Jan 2008
Messages: 100

Re: attribuer une valeur à certains pixels d'un raster

flor a écrit:

il fait bien l'analyse sur mon masque mais le raster en sortie fait la taille du masque et pas de mon raster initial


je pense que l'extent est mal défini dans les options de barre spatial analyst...

voici également ma contribution :

Code:

 con( ^ IsNull([masque]) , [monGrid])

ce qui veut dire que quand la valeur du masque n'est pas nulle (différente de NODATA), la valeur renvoyée est celle de [monGrid], sinon c'est NODATA.
Ce n'est pas utile de faire une reclassification de la couche qui sert de masque.


Vincent

Hors ligne

 

#10 Thu 23 October 2008 14:36

flor
Participant occasionnel
Date d'inscription: 7 Oct 2008
Messages: 17

Re: attribuer une valeur à certains pixels d'un raster

oui en effet je dois avoir un pb avec mon extent mais pourtan j'ai essayé de le changer mais bon j'ai pas encore tout compris, j'avais pas bien assimilé non plus qu'un raster est rectangle avec des nodata. En tout cas ça a bien marché avec la méthode ferreira. Je vais réfléchir aux autres méthodes proposées!
Merci bien
Flo

Hors ligne

 

Pied de page des forums

Powered by FluxBB