4 votos

cambio de simbología

Tengo un problema con mi script. Las capas están en una geodatabase, y tienen nombres como: orne1942, orne 2003, orne 2009 (el mismo forpart e.g. orne). script debe cambiar las capas de simbología que tienen el mismo forpart (uniforme) en muchos documentos de mapa (.mxd). ¿Quizás alguien tiene idea de lo que estoy haciendo mal? (Estoy empezando mi aventura en python.... )

mi script:

import arcpy
path = (r"C:\program2_D.Nowak\map\\")
arcpy.env.workspace=path
arcpy.env.overwriteOutput=True
orneWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\orneWZOR.lyr")
for mapDoc in arcpy.ListFiles("*.mxd"):
   print mapDoc
   mxd=arcpy.mapping.MapDocument(path + mapDoc)
   print mxd
   df=arcpy.mapping.ListDataFrames(mxd, "*")[0]
   for df in arcpy.mapping.ListDataFrames(mxd):
        orne=arcpy.mapping.ListLayers(mxd, "orne*", df)[0]
        arcpy.mapping.UpdateLayer(df, orne, orneWZOR)
   mxd.save()
   print "done"
del mxd
del lasyWZOR, drogiWZOR, orneWZOR, odlogowaneWZOR, zabudowaneWZOR, laki_pastwiskaWZOR <

1voto

nameee Puntos 1

Mi script empieza a funcionar :) Gracias :)

# Importing arcpy
import arcpy
# Set Local Variables
path = (r"C:\program2_D.Nowak\map\\")
# Set environment setting
arcpy.env.workspace=path
arcpy.env.overwriteOutput=True
#Set template layers from .lyr files
lasyWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\lasyWZOR.lyr")
drogiWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\drogiWZOR.lyr")
orneWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\orneWZOR.lyr")
odlogowaneWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\odlogowaneWZOR.lyr")
laki_pastwiskaWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\laki_pastwiskaWZOR.lyr")
zabudowaneWZOR=arcpy.mapping.Layer(r"C:\program2_D.Nowak\zabudowaneWZOR.lyr")
# lisy of mxd files in folder - path 
for mapDoc in arcpy.ListFiles("*.mxd"):
print mapDoc
mxd=arcpy.mapping.MapDocument(path + mapDoc)
print mxd
#Set Local Variables 
df=arcpy.mapping.ListDataFrames(mxd, "*")[0]
# list of Data Frames in map documets
for df in arcpy.mapping.ListDataFrames(mxd):
    #Set Local Variables 
     lasy=arcpy.mapping.ListLayers(mxd, "lasy*", df)[0]
     #Update layers symbology in map documents 
     arcpy.mapping.UpdateLayer(df, lasy, lasyWZOR)
     orne=arcpy.mapping.ListLayers(mxd, "orne*", df)[0]
     arcpy.mapping.UpdateLayer(df, orne, orneWZOR)
     zabudowane=arcpy.mapping.ListLayers(mxd, "zabudowane*", df)[0]
     arcpy.mapping.UpdateLayer(df, zabudowane, zabudowaneWZOR)
     drogi=arcpy.mapping.ListLayers(mxd, "drogi*", df)[0]
     arcpy.mapping.UpdateLayer(df, drogi, drogiWZOR)
     odlogowane=arcpy.mapping.ListLayers(mxd, "odlogowane*", df)[0]
     arcpy.mapping.UpdateLayer(df, odlogowane, odlogowaneWZOR)
     laki_pastwiska=arcpy.mapping.ListLayers(mxd, "laki_pastwiska*", df)[0]
     arcpy.mapping.UpdateLayer(df, laki_pastwiska, laki_pastwiskaWZOR)
#Save a map document  
mxd.save()
print "done"
# clear variable references
del mxd
del lasyWZOR, drogiWZOR, orneWZOR, odlogowaneWZOR, zabudowaneWZOR, laki_pastwiskaWZOR

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X