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 Tue 22 September 2009 12:48

vdi
Participant occasionnel
Date d'inscription: 21 Dec 2006
Messages: 11

Arcview 9.2 - Affecter symbologie RVB par script

Bonjour,

Je souhaite utiliser directement des valeurs RVB contenues dans des champs pour créer ou modifier une symbologie par valeurs uniques sur des polygones.
Plus précisément, ayant une couche du genre occupation du sol avec un champ correspondant aux classes de ma symbologie (foret, ville, culture, etc), je dispose d'une autre table avec les valeurs RVB à attribuer à chaque type pour obtenir les couleurs souhaitées.
Comme j'ai un grand nombre de types d'occupation du sol, je souhaite pouvoir tester rapidement des changements de couleurs en modifiant les valeurs RVB de ma table (ou en utilisant d'autres tables) et non pas en modifiant les carrés de légende dans ArcMap.
Je pense que la solution est en VBA, mais voilà, je ne sais pas le faire...

quelqu'un peut il m'aider ou m'orienter ? Merci.

Hors ligne

 

#2 Tue 22 September 2009 13:20

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

Re: Arcview 9.2 - Affecter symbologie RVB par script

Hello,

Au cas où : si ça concerne Corine Land Cover, les fichiers style avec la symbologie RVB associée existent déjà sur la toile wink

R.

Hors ligne

 

#3 Tue 22 September 2009 15:23

vdi
Participant occasionnel
Date d'inscription: 21 Dec 2006
Messages: 11

Re: Arcview 9.2 - Affecter symbologie RVB par script

Merci Robin...

Seulement ce n'est pas ce que je cherche : le type d'application envisagé est bien du même ordre (Corine Land Cover, MOS iaurif ou tout autre équivalent) mais je ne suis pas à la recherche de ".style" ou ".lyr" prêt à l'emploi mais d'une solution qui permette par exemple de modifier un document ouvert (ou éventuellement un .lyr ou un .mxd), directement à partir d'un tableau de valeurs RVB correspondant aux différentes classes représentées.
Le but est de gagner du temps, par exemple, pour assombrir tout ou partie des couleurs utilisées en diminuant de 15 % les valeurs R, V et B par un calcul simple effectué dans le tableau...

Cela peut paraître un peu complexe mais je suis en fait assez souvent confronté à ce problème.

Hors ligne

 

#4 Tue 22 September 2009 16:08

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

Re: Arcview 9.2 - Affecter symbologie RVB par script

Je comprend tout à fait l'intérêt smile Tu as jeté un coup d'oeil sur le site des arcscripts voir si ça n'existait pas ?

Hors ligne

 

#5 Tue 22 September 2009 17:30

vdi
Participant occasionnel
Date d'inscription: 21 Dec 2006
Messages: 11

Re: Arcview 9.2 - Affecter symbologie RVB par script

En effet c'est une bonne piste. On trouve notamment des scripts bien faits tel que "rgb (ou cmyk) color adjustment" qui permet de modifier toute une symbologie en augmentant ou diminuant les couleurs de base...
Mais évidemment j'en veux un peu plus (encore que je n'ai pas encore tout exploré).

Donc, si quelqu'un d'autre a une idée, je reste preneur.

Merci encore

Hors ligne

 

#6 Tue 22 September 2009 18:09

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

Re: Arcview 9.2 - Affecter symbologie RVB par script

En fait ce qu'il te faudrait, c'est ça :

- "Make legend from RGB" creates a legend from an attributes table containing an R, G and B field with color information.


http://arcscripts.esri.com/details.asp?dbid=11682
...sauf que c'est de l'avenue, et pour Arcview 3.x sad

Sinon, ici : http://www.ensg.ign.fr/FAD/FAD_PDF/Sig_ … s_vba.pdf, on trouve ça :

Le code VBA ci-dessous montre comment créer une couleur de type RGBColor et l'affecter à un
symbol (pSymbol à créer au préalable) :

Code:

dim pRgbColor as IRgbColor
set pRgbColor as New RgbColor
pRgbColor.Red = 200
pRgbColor.Green =100
pRgbColor.Blue = 57
set pSymbol.color = pRgbColor


Il faut broder autour pour faire un script complet mais le code spécifique est là, il me semble.
Robin.

Hors ligne

 

#7 Tue 22 September 2009 18:49

vdi
Participant occasionnel
Date d'inscription: 21 Dec 2006
Messages: 11

Re: Arcview 9.2 - Affecter symbologie RVB par script

Oui j'ai vu tout ça : la version arcview 3 malheureusement sans suite et la source ign qui indique bien que ça doit être possible...

il faut broder autour pour un faire un script complet...


C'est justement la broderie que je ne sais pas faire...

Hors ligne

 

Pied de page des forums

Powered by FluxBB