#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
Sinon, il faudra passer par les ArcObjects (avec eux, c'est sûr que c'est faisable, je l'ai déjà fait )
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
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
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
Hors ligne