27 votos

¿Cambiar la fuente de datos para todas las capas en MXD?

Tengo un MXD. Se conecta a unas 30 capas en una de nuestras bases de datos SDE. Quiero cambiar la base de datos SDE a la que se conectan.

¿Hay alguna forma de hacerlo sin tener que hacer clic con el botón derecho en cada capa y cambiarla individualmente?

1voto

Para un mxd, las herramientas predeterminadas de ESRI pueden ser suficientes. Pero arreglar múltiples mxds con enlaces rotos puede ser una pesadilla. Pruebe mi herramienta UpdateLayerRefs para arreglar un número ilimitado de MXDs en segundos: https://github.com/jswagger/UpdateLayerRefs Sólo tiene que proporcionar los nombres de sus MXD de entrada como una lista ["Nombre1.mxd", "Nombre2.mxd", "Nombre3.mxd"]

0voto

rbn Puntos 21

Parece que este post es viejo, pero no consigo que esto funcione: El código es el siguiente:

import arcpy, glob

#specify MXD location to change source data
mxd = arcpy.mapping.MapDocument(r"C:\\Users\\jrender\\Documents\\LandbaseEditing PreProd Pub Check.mxd")
workspaceCurrent = r"Database Connections\Connection to PP_GISLand_Landbase.sde"
workspaceTarget = r"Database Connections\Connection to PP_Publication_GISLand.sde" 

mxd.findAndReplaceWorkspacePaths(workspaceCurrent, workspaceTarget)

#save a new copy of MXD
mxd.saveACopy(r"C:\Users\jrender\Documents\LandbaseEditing PreProd Pub Check Repathed.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