2 votos

¿Existe una forma de añadir un conjunto de datos de topología a un mxd con arcpy?

Tengo un script que identifica ciertas capas de una carpeta que contiene varias geodatabases. Parte de los propósitos de los scripts, o el propósito previsto, es que añada un conjunto de datos de topología al marco de datos. He probado los dos métodos siguientes sin éxito. Es como si la topología no pudiera ser tratada como una capa y por lo tanto no pudiera ser añadida. ¿Existe alguna solución que permita añadir los datos de topología al mapa? Si alguien tiene una solución para esto estaría muy agradecido.

 elif name == "Topo_" + str(fileNameFull) + "_Topology":
        tempTopoPath = os.path.join(tempData,str(fileNameFull) + "_topoTemp")
        topologyPath = os.path.join(r'N:\29000s\29910\GIS\GI02\QC_Processing',fileNameFull,"FW_" + str(fileNameFull) + "_" + str(gdbDate) + ".gdb","Layers",str(name))
        topoLayer = arcpy.MakeFeatureLayer_management(topologyPath, tempTopoPath)
        topologyLayer = arcpy.mapping.Layer(tempTopoPath)
        arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, topologyLayer, "TOP")
        arcpy.RefreshActiveView()

Este es otro método que he probado.

elif name == "Topo_" + str(fileNameFull) + "_Topology":
        topologyPath = os.path.join(r'N:\29000s\29910\GIS\GI02\QC_Processing',fileNameFull,"FW_" + str(fileNameFull) + "_" + str(gdbDate) + ".gdb","Layers",str(name))
        topologyLayer = arcpy.mapping.Layer(topologyPath)
        arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, topologyLayer, "TOP")
        arcpy.RefreshActiveView()

1voto

Spyros Puntos 56

Los únicos tipos de capas que se pueden añadir a un mxd con arcpy.mapping son mapa capas (capas en un mxd), y archivos de capas (.lyr). A característica (capa en memoria) que se crea utilizando el Hacer capa de características herramienta no es válida.

Además, Make Feature Layer no acepta topologías como entrada (una topología es un conjunto de datos, no una clase de característica).

Puede exportar una topología a un archivo .lyr haciendo clic con el botón derecho del ratón en la ventana del Catálogo, pero no utilizando la función Guardar en el archivo de capas por lo que no podrás automatizar esto con arcpy.

Por lo tanto, si no existe ya un archivo .lyr de la topología y si su topología no está ya presente como capa en otro mxd, necesitará ArcObjects para añadirla a su mxd.

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