Klicken Sie in ArcCatalog mit der rechten Maustaste auf "mxd", klicken Sie auf "Datenquellen festlegen" und ändern Sie die Datenmenge von dort aus. Dieses Tool warnt jedoch:
Hinweis: Dieser Dialog dient hauptsächlich zur Vorbereitung von Kartendokumenten für die Veröffentlichung. Anpassungen (VBA-Code, Benutzeroberflächensteuerelemente und benutzerdefinierte Symbolleisten), Diagramme und Eigenschaften für die Darstellung von Tabellenfenstern werden aus MXD-Dateien entfernt, wenn Sie ihre Datenquellen mithilfe dieses Dialogfelds aktualisieren. Aktualisieren Sie stattdessen die Datenquellen in ArcMap, um diese beizubehalten.
Sie können auch die Python-Bibliothek arcpy.mapping verwenden:
Wenn Sie ArcGIS 10 verwenden und Python verwenden möchten, lesen Sie die Hilfe zum Aktualisieren und Korrigieren von Datenquellen mit arcpy.mapping und die Methoden des Layer- Objekts.
Beispiel:
Wenn Ihre Layer nicht alle dieselbe ursprüngliche Verbindungsdatei als Quelle haben oder der Name der Ziel-Feature-Class in der neuen SDE unterschiedlich ist, müssen Sie möglicherweise
Layer.replaceDataSource
stattdessen verwenden.quelle
Dadurch werden alle roten Ausrufezeichen entfernt, die Ebenen in der MXD enthalten, und es wird auf die neu erstellte Datenquelle verwiesen. Auf einmal können Sie dies tun; Sie müssen nicht jedes Mal auf das rote Ausrufezeichen klicken und auf die Datenquelle klicken und sie einstellen.
quelle
http://arcscripts.esri.com/details.asp?dbid=14922
Der Link verweist auf ein altes Arcscript namens GDK-Tools, das auf anderen Websites erhältlich ist. Das Programm erstellt in arcmap eine Symbolleiste, in der Sie die Quelle auf ausgewählten Ebenen ändern können (jede gewünschte Ebene. Dies funktioniert zwischen SDE-Verbindungen oder SDE zur lokalen File-Geodatabase (die die Quelle in Arccatalog nicht ändern kann, da der Name in SDE mit beginnt) der SDE-Benutzer und dann Punkt.
das ist sehr hilfreich, aber vielleicht nur in arcgis 9.3
quelle
Wenn Sie die .mxd bereits geöffnet haben, tun Sie das, was @ blah238 getan hat, aber verwenden Sie
'CURRENT'
anstelle des vollständigen Pfads. Vergessen Sie nicht, dass das Suchen und Ersetzen nicht die vollständige Zeichenfolge sein muss:Dann müssen Sie die .mxd-Datei trotzdem speichern und erneut öffnen.
quelle
Für einen mxd können Standard-ESRI-Tools ausreichen. Aber das Reparieren mehrerer Mxds mit defekten Links kann ein Albtraum sein. Probieren Sie mein UpdateLayerRefs-Tool aus, um eine unbegrenzte Anzahl von MXDs in Sekunden zu reparieren: https://github.com/jswagger/UpdateLayerRefs Geben Sie einfach die Namen Ihrer Eingangs-MXDs als Liste an ["Name1.mxd", "Name2.mxd", "Name3.mxd" "]
quelle
Scheint, als wäre dieser Beitrag alt, aber ich kann ihn nicht zum Laufen bringen: Der Code lautet wie folgt:
quelle