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é ?

#1 Mon 13 October 2008 11:29

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

extraire minimum

Bonjour à tous
ma question est très simple mais je seche depuis qlqs temps dessus : comment extraire le pixel de valeur minimum d'un raster ou alors le point dont un de ses attributs est minimum??
Les sélections ou les requètes sql ne me permettent que de comparer des valeurs avec des autres mais est ce que je peux comparer un pixel avec son pixel voisin?
Merci d'avance si vous avez une réponse à proposer.
Flo

Hors ligne

 

#2 Mon 13 October 2008 11:45

Tnarbiv
Participant assidu
Lieu: Véretz
Date d'inscription: 5 Sep 2005
Messages: 392

Re: extraire minimum

est ce que tu as l'extension spatial analyst ?
si oui, tu peux faire ce genre de calcul avec


Ayez le réflexe "Développement Durable": N'imprimez ce message que si nécessaire.

Hors ligne

 

#3 Mon 13 October 2008 11:53

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

Re: extraire minimum

oui j'ai spatial analyst. J'ai réussie en faisant une statistique zonal et en ragardant où la couche créée était égal au raster en entrée, mais ça me paraissait compliqué pour juste extraire le minimum.

Hors ligne

 

#4 Mon 13 October 2008 12:00

Tnarbiv
Participant assidu
Lieu: Véretz
Date d'inscription: 5 Sep 2005
Messages: 392

Re: extraire minimum

c'est je crois la manière la plus simple ou sinon tu passes par du code


Ayez le réflexe "Développement Durable": N'imprimez ce message que si nécessaire.

Hors ligne

 

#5 Mon 13 October 2008 14:18

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

Re: extraire minimum

C'est compliqué car tu ne travailles que sur le raster, tu ne peux travailler avec un élément du raster, ou alors tu fais de la vectorisation. Pour les données vecteurs, c'est pareil. Tu ne peux sélectionner un sommet d'un polyligne. Si tu veux faire ça, tu est obligé d'extraire les points de la polyligne.

Une solution peut être de suelement l'afficher. Avec les propriétés de la couche, tu peux avoir le minimum. Tu crées deux classes d'affichages, ce qui te permet d'afficher le pixel min ou max.


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

Hors ligne

 

#6 Tue 14 October 2008 12:19

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

Re: extraire minimum

Merci bien mais en faite j'avais vraiment besoin d'extraire le point bas d'une coupe pour reconstruire le fil d'eau de ma rivière. mais avec un code j'extrait un rectangle de mon raster et une zone tampon de la forme de ce rectangle, je fais une stat zonal et je compare le résultat de ce minimum avec mon raster rectangle en entrée, et là où ils sont égaux  j'extrais le pixel. Aprés je transforme en point et je relis les points. ça me semble bien tiré par les cheveux mais ça marche.
Dans de nombreuses applications j'ai envie de comparer un pixel avec son voisin, je ne comprends pas pourquoi c'est pas possible, avec la calculatrice raster par exemple?

Hors ligne

 

#7 Tue 14 October 2008 13:13

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

Re: extraire minimum

Comparer avec son voisin, c'est comme avec les couches vecteurs. Tu ne peux pas faire des opérations d'une ligne à l'autre. Tu as bien quelques fonctions préformatées, mais si tu veux plus, il faut soit trouver le bon script, soit mettre les mains dans le cambouis et aller dans la programmation, et encore, je ne suis pas sûr qu'ArcGIS sait faire.

Pourquoi ? Eh bien, avec le géoréfrencement, tu perd la notion de ligne et colonne. Tu n'as qu'une valeur pour une zone donnée : le pixel. Et encore, le pixel est loin d'être un pixel écran, il peut avoir toutes les formes, selon la projection utilisée.

La seule notion de voisin que tu pourrais surement avoir facilement, c'est la valeur à telle coordonnée.


Si tu veux faire du traitement d'image personnalisé, ce n'est pas le SIG qu'il faut utiliser, ou en tout cas, pas ArcGIS, la notion de géographie est trop profonde.


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

Hors ligne

 

#8 Tue 14 October 2008 13:43

freesnowpetrel
Participant assidu
Lieu: Pretoria, Afrique du Sud
Date d'inscription: 1 Mar 2007
Messages: 222

Re: extraire minimum

Bonjour

Je suis pas sur d'avoir compris exactement ce que tu veux mais tu peux essayer ca dans la calculatrice raster:

Code:

(zonalmin(([raster] * 0),[raster],DATA) == [raster]) * [raster]

Explication :
- ([raster] * 0) cree un raster uniforme correspondant a ton raster avec la valeur 0 partout
- zonalmin(([raster] * 0),[raster],DATA) cree un raster qui contient pour chaque pixel de la zone la valeur minimum de cette zone. Les zones etant definies comme les pixels de meme valeur dans le premier raster en entree donc ici une seule zone puisque raster uniforme avec valeur 0 partout (voir point precedent) -> resultat un raster uniforme avec pour chaque pixel la valeur mini de ton raster.
- zonalmin(([raster] * 0),[raster],DATA) == [raster], ici je compare le raster que je viens de creer avec mon raster d'origine et la ou ils sont egaux j'ai ma valeur minimum, ceci cree un nouveau raster ayant pour valeur 1 aux pixels correspondant a la valeur minimum et 0 ailleurs.
- (zonalmin(([raster] * 0),[raster],DATA) == [raster]) * [raster], pour finir je multiplie le resultat par mon raster de depart pour recuperer mes pixels mini avec ma valeur mini. Resultat un raster avec 2 classes : 0 et ta valeur mini pour tes pixels mini.

Il ne reste plus ensuite qu'a faire un reclassify en remplacant ta classe 0 par NoData et puis une conversion en points et le tour est joue.

Attention ca ne marche que si le mini n'est pas egal a 0 et si tes valeurs sont des nombres entiers

A+

Rodolphe

Dernière modification par freesnowpetrel (Tue 14 October 2008 13:44)

Hors ligne

 

#9 Tue 14 October 2008 13:51

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

Re: extraire minimum

Si tu veux passer par la reclassification, autant reclassifier directement en indiquant la valeur du minimum du raster. Pas besoin de formule, même si cette formule est intéressante.


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

Hors ligne

 

#10 Tue 14 October 2008 14:04

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

Re: extraire minimum

C'est un peu ce que je fais sauf que je ne maitrise pas la calculatrice raster et j'ai fais un model builder. C'est dur de se faire comprendre...désolé par avance. En faite j'ai résolu mon problème c'est juste que je pensais qu'il devait avoir plus simple (un outil minimum tout fait) mais apparement non. Aprés j'élargissais ma question en demandant si on peut comparer deux pixels voisins. Et cela parce que à chaque fois que je cherche à faire qlqch, mon premier reflexe c'est de penser : si ce pixel a une valeur plus grande que son voisin alors ... si il a une valeur plus petite alors... Vous voyez? Une condition if then ça existe?

Hors ligne

 

#11 Tue 14 October 2008 14:25

freesnowpetrel
Participant assidu
Lieu: Pretoria, Afrique du Sud
Date d'inscription: 1 Mar 2007
Messages: 222

Re: extraire minimum

Ben mince alors, c'est vrai ca, un simple reclassify suffit...des fois qu'est-ce qu'on se complique la vie, quand on veux faire trop vite sans reflechir !!!!
Merci Jerome.

Flor je pense que tu fais allusion a des statistiques de voisinage, tu peux regarder les fonctions disponibles ici.

Rodolphe

Dernière modification par freesnowpetrel (Tue 14 October 2008 14:28)

Hors ligne

 

Pied de page des forums

Powered by FluxBB