Mam MXD. Łączy się z około 30 warstwami w jednej z naszych baz danych SDE. Chcę zmienić bazę danych SDE, z którą się łączą.
Czy można to zrobić bez klikania każdej warstwy prawym przyciskiem myszy i zmieniania jej indywidualnie?
Mam MXD. Łączy się z około 30 warstwami w jednej z naszych baz danych SDE. Chcę zmienić bazę danych SDE, z którą się łączą.
Czy można to zrobić bez klikania każdej warstwy prawym przyciskiem myszy i zmieniania jej indywidualnie?
Kliknij prawym przyciskiem myszy mxd w ArcCatalog, kliknij Ustaw źródła danych i stamtąd zmień zbiorczo. To narzędzie ostrzega jednak:
Uwaga: to okno dialogowe jest przeznaczone przede wszystkim do przygotowania dokumentów map do publikacji. Dostosowania (kod VBA, elementy sterujące interfejsu użytkownika i niestandardowe paski narzędzi), wykresy i właściwości wyglądu okna tabeli są usuwane z plików .mxd podczas aktualizacji ich źródeł danych za pomocą tego okna dialogowego. Aby je zachować, zaktualizuj źródła danych w ArcMap.
Możesz także użyć biblioteki python arcpy.mapping :
Jeśli korzystasz z ArcGIS 10 i interesuje Cię korzystanie z Pythona, zapoznaj się z pomocą dotyczącą aktualizacji i naprawy źródeł danych za pomocą arcpy.mapping oraz metod obiektu Layer .
Przykład:
Jeśli wszystkie warstwy nie pochodzą z tego samego oryginalnego pliku połączenia lub nazwa docelowej klasy obiektów jest inna w nowym SDE, może być konieczne użycie
Layer.replaceDataSource
zamiast tego.źródło
Spowoduje to usunięcie wszystkich czerwonych wykrzykników zawierających warstwy z MXD i wskaże nowo utworzone źródło danych. Za jednym razem możesz to zrobić; nie trzeba za każdym razem klikać czerwonego wykrzyknika oraz klikania i ustawiania źródła danych.
źródło
http://arcscripts.esri.com/details.asp?dbid=14922
Link prowadzi do starego narzędzia Arcscript o nazwie GDK, które można uzyskać na innych stronach. Program tworzy pasek narzędzi w arcmap, w którym możesz zmienić źródło na wybranych warstwach (dowolna warstwa, którą chcesz. Działa to między połączeniami SDE lub SDE na lokalną geobazę pliku (której zmiana źródła w Arccatalogu nie jest możliwa, ponieważ nazwa w SDE zaczyna się od użytkownik SDE, a następnie kropka.
jest to bardzo pomocne, ale może tylko w Arcgis 9.3
źródło
Jeśli masz już plik .mxd, zrób to, co zrobił @ blah238, ale użyj
'CURRENT'
zamiast pełnej ścieżki. Nie zapominaj, że wyszukiwanie i zamienianie nie musi być pełnym ciągiem znaków:Następnie musisz zapisać i ponownie otworzyć plik .mxd.
źródło
W przypadku jednego MXD wystarczą domyślne narzędzia ESRI. Ale naprawianie wielu plików MDX z uszkodzonymi linkami może być koszmarem. Wypróbuj moje narzędzie UpdateLayerRefs, aby naprawić nieograniczoną liczbę MXD w kilka sekund: https://github.com/jswagger/UpdateLayerRefs Wystarczy podać nazwy wejściowych MXD jako listę [„Name1.mxd”, „Name2.mxd”, „Name3.mxd „]
źródło
Wygląda na to, że ten post jest stary, ale nie mogę go uruchomić: kod wygląda następująco:
źródło