HOW TO
Es gibt viele Gründe, warum Datenquellen repariert oder an andere Speicherorte umgeleitet werden müssen, zum Beispiel bei der Migration auf einen neuen Computer. Wenn jedes betroffene Kartendokument manuell aktualisiert werden muss, kann das äußerst aufwendig sein. Mit der arcpy.mapping-Skriptumgebung ist es möglich, die Aktualisierung von Datenquellen für einzelne oder alle Layer gleichzeitig in einem gemeinsamen Workspace zu automatisieren, wobei das Kartendokument noch nicht einmal geöffnet werden muss.
Gehen Sie folgendermaßen vor, um eine Enterprise-Geodatabase-Datenquelle unter Verwendung von ArcPy zu aktualisieren:
import arcpy mxd = arcpy.mapping.MapDocument(r"mxd_source_location")
new_sdeworkspace_path = r"new_enterprise_source_location"
for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE")
mxd.saveACopy(r"save_location_path") del mxd
Nachfolgend finden Sie ein vollständiges Beispielskript:
import arcpy mxd = arcpy.mapping.MapDocument(r"E:\Data\Mxd\test\old.mxd") new_sdeworkspace_path = r"E:\Data\Connections\GISADMIN@GEODATA.sde" for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE") mxd.saveACopy(r"E:\Data\Mxd\test\new.mxd") del mxd
Unterstützung durch ArcGIS-Experten anfordern
Esri Support App herunterladen