Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 11 June 2013 14:01

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

ArcInfo 10.0 - Affecter symbologie RVB par script Python

Bonjour,

Je souhaite utiliser directement des valeurs RVB contenues dans des champs pour modifier une symbologie par valeur unique sur des lignes dans un script Python.
Savez-vous si cela est possible et comment?

Merci d'avance

Hors ligne

 

#2 Tue 11 June 2013 21:57

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcInfo 10.0 - Affecter symbologie RVB par script Python

Bonsoir,

Après une rapide recherche, je serais amené à dire que ce n'est pas possible avec arcPy (pour l'instant), tout du moins d'agir individuellement sur les symboles d'une couche. C'est l'analyse des méthodes mises à disposition et des réponses de Christopher Thompson et Jeffrey Barrette dans le post suivant qui m'amènent à cette conclusion : http://forums.arcgis.com/threads/44502- … ing-Python

Here is a quote from a presentation from ESRI about map automation using python:
"This is not a replacement for ArcObjects – we are trying to draw a line in the sand"
Clearly, the powers that be at ESRI want you to do something as 'advanced' as changing basic symbology (like point sizes and lineweights, colors, etc.) by using ArcObjects. The updateLayer method referencing an existing .lyr maybe your best bet. Just another somewhat annoying thing, like having to create a .lyr file before you can add a layer to a map document.


Eventuellement, vous pouvez regarder du côté de l'application d'une symbologie à partir d'un fichier de couche (arcpy.ApplySymbologyFromLayer_management) : http://help.arcgis.com/en/arcgisdesktop … 06n000000/, mais encore faudrait-il pouvoir construire ce fichier de couche avec les bonnes couleurs hmm
Sinon, il faudra passer par les ArcObjects (avec eux, c'est sûr que c'est faisable, je l'ai déjà fait smile )

Kevin

Hors ligne

 

#3 Thu 13 June 2013 11:03

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcInfo 10.0 - Affecter symbologie RVB par script Python

C'est bien ce que je pensais .....

J'ai bien pensé à rentrer dans le fichier lyr et modifier la couleur du tracé mais ce fichier n'est pas "éditable".

Je ne connais pas les ArcObject.
Est-ce que je peux les utiliser dans un script en python?

Hors ligne

 

#4 Thu 13 June 2013 11:15

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcInfo 10.0 - Affecter symbologie RVB par script Python

Je ne connais pas les ArcObject.
Est-ce que je peux les utiliser dans un script en python?


Je n'ai jamais été amené à le faire, mais il est normalement possible d'utiliser les arcObjects dans un script Python :
- How do I access ArcObjects from Python? : http://gis.stackexchange.com/questions/ … rom-python

Code:

from Snippets import GetLibPath, InitStandalone
from comtypes.client import GetModule, CreateObject
m = GetModule(GetLibPath() + "esriGeometry.olb")
InitStandalone()
p = CreateObject(m.Point, interface=m.IPoint)
p.PutCoords(2,3)
print p.X, p.Y

- un PDF très intéressant à ce sujet : http://www.pierssen.com/arcgis/upload/m … bjects.pdf

Toutefois, je vous souhaite bien du courage si vous ne connaissez pas les arcObjects, car cette librairie est bien plus ardue à appréhender que la librairie arcPy... Et qui plus est dans votre contexte peu courant : vous risquez d'être confronté à des limitations ou à des comportements imprévisibles.

Mais si vous vous y collez, je serais très intéressé de savoir ce que cela donne smile

Dernière modification par Kevin Jousseaume (Thu 13 June 2013 11:16)

Hors ligne

 

#5 Thu 13 June 2013 11:36

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcInfo 10.0 - Affecter symbologie RVB par script Python

Au moins les choses sont clairs....

Bon, comme mon CDD se termine à la fin du mois et que cette question n'est pas primordiale pour le projet sur lequel je travaille, je vais d'abord faire tout le reste. Si j'ai du temps à la fin je m'y collerai car effectivement c'est une question intéressante.

En tous les cas merci beaucoup pour votre aide.

Hors ligne

 

#6 Thu 13 June 2013 12:15

Kevin Jousseaume
Participant assidu
Lieu: Nanterre, région parisienne
Date d'inscription: 20 Mar 2006
Messages: 217

Re: ArcInfo 10.0 - Affecter symbologie RVB par script Python

De rien !

PS : c'est sûr et certain que ce n'est pas en 2 semaines que vous arriverez à maîtriser suffisamment les arcObjects pour réaliser ce que vous cherchez à faire... Mais cela pourrait être un excellent projet pour un 2ème CDD wink

Hors ligne

 

#7 Thu 13 June 2013 12:29

guil31
Participant actif
Date d'inscription: 22 Jan 2013
Messages: 79

Re: ArcInfo 10.0 - Affecter symbologie RVB par script Python

Et malheureusement c'est déjà mon 2eme CDD ... et pas de perspective pour la suite sad

Hors ligne

 

Pied de page des forums

Powered by FluxBB