#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
#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
Re: Arcview 9.2 - Affecter symbologie RVB par script
Je comprend tout à fait l'intérêt 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
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
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