Щелкните правой кнопкой мыши на mxd в ArcCatalog, выберите «Установить источники данных» и выполните массовые изменения. Однако этот инструмент предупреждает:
Примечание: этот диалог предназначен в первую очередь для подготовки документов карты к публикации. Настройки (код VBA, элементы управления пользовательского интерфейса и пользовательские панели инструментов), графики и свойства внешнего вида таблицы удаляются из файлов .mxd при обновлении их источников данных с помощью этого диалогового окна. Чтобы сохранить их, обновите источники данных в ArcMap.
Вы также можете использовать библиотеку python arcpy.mapping :
Если вы используете ArcGIS 10 и заинтересованы в использовании Python, обратитесь к справке по Обновлению и исправлению источников данных с помощью arcpy.mapping и методам объекта Layer .
Пример:
Если все ваши слои не используют один и тот же исходный файл подключения или имя класса объектов назначения отличается в новом SDE, вам, возможно, придется использовать
Layer.replaceDataSource
вместо этого.источник
Это удалит все красные восклицательные знаки, содержащие слои в MXD, и укажет на новый созданный источник данных. Вы можете сделать это за один раз; Не нужно каждый раз кликать на красный восклицательный знак, щелкать и настраивать источник данных.
источник
http://arcscripts.esri.com/details.asp?dbid=14922
Ссылка на старый Arcscript, называемый инструментами GDK, который можно получить на других сайтах. Программа создает панель инструментов в arcmap, где вы можете изменить источник на выбранных слоях (любой слой, который вы хотите. Это работает между подключениями SDE или SDE к локальной файловой базе геоданных (с которым источник в Arccatalog не может справиться, поскольку имя в SDE начинается с пользователь SDE, а затем точка.
это очень полезно, но, возможно, только в ArcGIS 9.3
источник
Если у вас уже открыт .mxd, делайте то же, что делал @ blah238, но используйте
'CURRENT'
вместо полного пути. Не забывайте, что поиск и замена не должны быть полной строкой:Тогда вам все равно придется сохранить и снова открыть файл .mxd.
источник
Для одного mxd может быть достаточно инструментов ESRI по умолчанию. Но исправление нескольких mxds с неработающими ссылками может быть кошмаром. Попробуйте мой инструмент UpdateLayerRefs, чтобы исправить неограниченное количество MXD за считанные секунды: https://github.com/jswagger/UpdateLayerRefs Просто предоставьте имена входных MXD в виде списка ["Name1.mxd", "Name2.mxd", "Name3.mxd «]
источник
Похоже, этот пост старый, но я не могу заставить его работать: код выглядит следующим образом:
источник