#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
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
Re: attribuer une valeur à certains pixels d'un raster
Bon zut, j'ai fait trop compliqué
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
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
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