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 Tue 08 June 2004 09:56

Fgasc
Invité

legender selon des profils pedo

Bonjour,

Je ne sais pas si quelqu'un s'est deja penche sur le probleme. Je n'ai pas trouve de reponse dans les archives de GEOREZO... alors voici ma question.

J'un un fichier de points representant des fosses pedo qui contient 9 colonnes d'attributs :
ID, Prof1, R1, V1, B1, Prof2, R2, V2, B2
avec ID = identifiant
prof = profondeur de l'horizon (1 ou 2)
et R,V,B les valeurs R, V et B de la couleur du sol (pour l'horizon 1 ou 2)

Je souhaiterais donc pouvoir afficher sur ma carte, pour chaque point, deux rectangles empiles dont la hauteur representerait la profondeur de l'horizon et dont la couleur serait RVBi (avec i le profile 1 ou 2).

J'ai vainement essaye avec des histogrammes empiles (qui donnent la meme couleur pour tous les points).

Si quelqu'un a la solution, ou si vous pensez a des solutions intermediaires (je peux essayer de mettre de l'eau dans mon vin), Merci de m'en faire part.

Bien cordialement

 

#2 Tue 08 June 2004 12:37

Annick Lagnion
Invité

Re: legender selon des profils pedo

je ne sais pas si ca repond a ta question:
pour obtenir la valeur de la couleur en rvb il y a une fonction RGB ( red , green , blue )
red is a numeric expression from 0 to 255, representing a concentration of red (rouge)
green is a numeric expression from 0 to 255, representing a concentration of green (vert)
blue is a numeric expression from 0 to 255, representing a concentration of blue (bleu)

si tu fais

colori=rgb(red,green,blue)

'creation des lignes
objpen=makepen(3,2,colori)
set style pen objpen
create line etc.....
'creation des rectangles
objbrush=makebrush(2,colori,0)
set style brush objbrush
create rect etc....

la couleur, tu l'obtiendras par rgb(r1,v1,b1) ou par rgb(r2,v2,b2)

(en fait rgb(red,green,blue)sad red * 65536) + ( green * 256) + blue
tu peux utiliser directement la formule, sans passer par la fonction.

Il faut que tes valeurs soient des entiers.

Mais ce n'etait peut-etre pas ca ton probleme?

 

Pied de page des forums

Powered by FluxBB