Estoy buscando una manera de recorrer todas las clases de características (capas de características) dentro de un mxd, para luego utilizar algunas herramientas de geoprocesamiento en ellas. Antes de ejecutar estos geoprocesos, el script necesita cambiar estas clases de características a una determinada versión de trabajo.
Tengo el script funcionando como quiero excepto para los grupos o conjuntos de datos de características. Con el bucle piensa que estos nombres de grupos o conjuntos de datos de características son una capa propia y, por lo tanto, intenta cambiar a una versión de trabajo, no hace falta decir que el script falla y me quedo sin datos cambiados.
En el caso de las clases de características agrupadas, esto es bastante fácil, eliminar el grupo. Sin embargo, esto no funciona para los conjuntos de datos de características.
Mi pregunta es: ¿Existe una forma de "desagrupar" los conjuntos de datos de características o, mejor aún, de omitir los nombres de los grupos/conjuntos de datos de características en el script?
Mi script tal y como está ahora:
import arcpy
import arcpy.mapping
Project_number = arcpy.GetParameterAsText(0)
arcpy.env.overwriteOutput = True
inWorkspace = "G:/ZN_KGD@pkgd.sde"
parentVersion = "ZN_KGD_DIENSTVERSIE"
# Execute CreateVersion
arcpy.CreateVersion_management(inWorkspace, parentVersion, "ExPimp_{}".format(Project_number), "PUBLIC")
mxd = arcpy.mapping.MapDocument("G:\\zn\\NM\\GGB\\Applicaties-Admin\\Kerngis\\ExpImp\\{}\\{}.mxd".format(Project_number, Project_number)) # Uses your currently open MXD
for df in arcpy.mapping.ListDataFrames(mxd, ''): # Loop through dataframes
for lyr in arcpy.mapping.ListLayers(mxd, '', df): # Loop through layers
arcpy.ChangeVersion_management (lyr.name,
"TRANSACTIONAL",
"ZN_KGD.Export_{}".format(Project_number))
Estoy trabajando con ArcMap 10.3.1 He intentado la solución dada a continuación en todas las formas posibles que puedo imagen, sin suerte. Como mi conocimiento de python/arcpy es muy limitado en el mejor de los casos, ¿sería posible explicar el proceso de pensamiento detrás de él?