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 Thu 07 January 2016 17:14

mame1985
Participant assidu
Lieu: Montréal
Date d'inscription: 16 Oct 2010
Messages: 444

ArcPy - Modifier la symbologie

Bonjour

J'essaie de symboliser une couche avec python, mais j'ai pas vue de changement après avoir rédiger le script ci-dessous.

où se trouve alors mon erreur? si quelqu'un la voit je suis bloqué.


Code:

>>> import arcpy
>>> mxd = arcpy.mapping.MapDocument("current")
>>> lyr = arcpy.mapping.ListLayers(mxd,"Batiments")[0]
>>> if lyr.symbologyType =="UNIQUE VALUES":
...     lyr.symbology.valueField ="Description"
...     lyr.symbology.addALLValues()
...     arcpy.RefreshActiveView()
...     arcpy.RefreshTOC()
...     del mxd

merci d'avance


Mame

Hors ligne

 

#2 Thu 07 January 2016 20:51

mame1985
Participant assidu
Lieu: Montréal
Date d'inscription: 16 Oct 2010
Messages: 444

Re: ArcPy - Modifier la symbologie

J'ai trouvé ceci:

The symbologyType on the Layer object is a read-only property. In other words, you can't change a unique values symbology to a graduated colors or graduated symbols symbology. You can only change the properties for a specific symbology class on a layer. The only way to change the symbology type is by publishing the desired result to a layer file and using the UpdateLayer function.


Je vais vérifier.


Mame

Hors ligne

 

#3 Fri 08 January 2016 15:35

mame1985
Participant assidu
Lieu: Montréal
Date d'inscription: 16 Oct 2010
Messages: 444

Re: ArcPy - Modifier la symbologie

J'ai essayé ce code mais il se passe toujours rien;

Code:

>>> mxd = arcpy.mapping.MapDocument("current")
>>> df = arcpy.mapping.ListDataFrames(mxd)[0]
>>> lyr = arcpy.mapping.ListLayers(mxd,"section")[0]
>>> lyrfile = arcpy.mapping.Layer(r"C:\TEST\section.lyr")
>>> arcpy.mapping.UpdateLayer(df,lyrfile,lyr,"true")
>>> if lyr.symbologyType =="UNIQUE_VALUES":
...     lyr.symbology.valueField ="IDEN_SECTION"
...     lyr.symbology.addALLValues()
...     arcpy.RefreshActiveView()
...     arcpy.RefreshTOC
...     del mxd,lyrfile

Merci

Dernière modification par mame1985 (Fri 08 January 2016 15:36)


Mame

Hors ligne

 

#4 Fri 08 January 2016 16:52

mame1985
Participant assidu
Lieu: Montréal
Date d'inscription: 16 Oct 2010
Messages: 444

Re: ArcPy - Modifier la symbologie

Arcpy.RefreshTOC"()"


Mame

Hors ligne

 

Pied de page des forums

Powered by FluxBB