Mam ponad sto FC, każdy z 10 lub 20 atrybutami, aby dodać lub zmienić aliasy, dwa lub więcej razy w roku. Nie trzeba dodawać, że to nie jest coś, przez co będę chrząkać. Jak mogę zautomatyzować ten proces?
Preferowane jest rozwiązanie Python, ale będzie ono wykorzystywać wszystko, co działa.
Mam dostęp do Arcgis 9.3.1 i 10 (poziom licencji ArcInfo).
arcpy
arcgis-10.0
alias
matowe wilkie
źródło
źródło
Odpowiedzi:
Od wersji 10.1 AlterAliasName () może być używany do ponownego aliasu tabel:
Od wersji 10.3 Alter Field można używać do ponownego aliasu pól:
źródło
Z pomocą Mark Cederholm mam działające rozwiązanie wykorzystujące python i arcobjects . Jest szorstki na brzegach, ale wykonał zadanie. Postępując zgodnie z przepisem na tej stronie, utwórz nowy skrypt, który używa
GetLibPath, NewObj, CType, OpenFeatureClass
funkcji zsnippets.py
. Utwórz także tabele wyszukiwania nazw w formacie .csv:Wyszukiwanie aliasu od pola do pola (att_code-name_lookup.csv):
Klasa funkcji do wyszukiwania FC Alias (fc_code-name_lookup.csv):
i skrypt:
źródło
Ten kod działa dla mnie w 9.3.1 ...
źródło
Inne rozwiązanie dzięki uprzejmości Roba Clarka :
W pythonie składnia
field_map
części jest trudna, więc przejrzyj ją raz interaktywnie, aby ustawić parametry prosto, pozwól mu działać. Następnie przejdź do okna wyników , kliknij prawym przyciskiem myszy i skopiuj fragment kodu python . Oto fragment ponownie połączony w coś nieco łatwiejszego do rozszerzenia i ponownego użycia (można by zrobić więcej pracy, aby rozdzielić fragmenty mapy pola i właściwości):źródło
To rozwiązanie jest przeznaczone dla użytkowników, którzy używają serwera SQL jako geobazy. możesz to zmienić ręcznie za pomocą polecenia aktualizacji SQL. wszystkie nazwy funkcji są zapisywane w [sde]. Tabela [GDB_OBJECTCLASSES]. nazwa aliasu jest ustawiona po prostu, jeśli zmienisz wartość kolumny aliasu.
EDYCJA: ta metoda jest szybką metodą zmiany nazwy aliasu. ale użycie IClassSchemaEdit jest lepsze, ponieważ w metodzie aktualizacji sql nie można używać aliasu name, dopóki nie zresetuje się obszaru roboczego funkcji.
źródło