ArcGis10: поменять DataSource

0 голосов
спросил 03 Ноя, 10 от Mikle (280 баллов) в категории Программные продукты Esri
Всем доброго времени суток!
Ситуация: есть некий mxd-проект с кучей слоев.
Все слои в настройках DataSource ссылаются на некий сервер S1. Необходимо для всех слоев сменить имя сервера с S1 на S2.

Возможно ли это со стороны питоновского скрипты сделать? Если да, то подскажите в какую сторону копать (какой объект/свойства).

Заранее спасибо.
З.Ы.: Ссылок на темы по типу "помогу за деньги", "наймите меня - я все сделаю" просьба не размещать - ибо все-равно сразу скажу - это бестолку.

5 Ответы

0 голосов
ответил 03 Ноя, 10 от Worker (22,480 баллов)
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s30000004p000000.htm

Пример рабочего скрипта. :)

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\GISData\MapDocOld.mxd ")
mxd.findAndReplaceWorkspacePaths(r"C:\Documents and Settings\<username>\Application Data\ESRI\ArcCatalog\develop_db.sde",
r"C:\Documents and Settings\<username>\Application Data\ESRI\Desktop10.0\ArcCatalog\prod_db.sde")
mxd.saveACopy(r"\MapDocOld_10.mxd")
del mxd

ЗЫ. Можно и без питона, ну вы знаете, наверное - поломать ссылки к базе данных сде вручную.. а потом восстановить из mxd..
0 голосов
ответил 03 Ноя, 10 от TDenis (42,620 баллов)
Mikle, с вас 50 рублей))
0 голосов
ответил 03 Ноя, 10 от Mikle (280 баллов)
"Mikle, с вас 50 рублей))"

Сначала надо взлететь со всем этим безобразием))
А пока объект не летает...

Вообщем - отностельно скрипта - все отлично фурычит, на момент питон задумывается, после этого не выводя никаких сообщений переходит в ожидание следующей команды... Соотв. никаких изменений не производиться.

Меняю по принципу заменить все, т.е.
mydoc.FindAndReplaceWorkSpacePAth("",r"c:\...mypath...", True)

Или все-таки надо явно указать бывший путь?
0 голосов
ответил 03 Ноя, 10 от TDenis (42,620 баллов)
Попробуйте указать, с буквой r впереди.
И вместо True можно поставить False, сохранить копию и посмотреть, чего там получилось.
Правильно понимаю, что вы меняете SDE на SDE?
0 голосов
ответил 04 Ноя, 10 от PITKS1 (20,860 баллов)
1. Менять можно через ArcCatalog
2. Если документ с битыми путями открыть в ArcMap, убрать чекбокс с первого слоя, потом назад его вернуть - выскочит диалог выборки datasource. Если указать новый SDE коннект - всем слоям у которых совпадает имя слоя на старом и новом SDE будет заменен datasource на новый.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...