Na liście mailingowej ESRI-L dziś rano pojawiło się pytanie, jak wyświetlić lub wyeksportować wszystkie domeny wartości kodowanych dla geobazy. Celem jest przedstawienie zawartości domen w formie tabelarycznej, aby były łatwe do odczytania.
DomainToTable narzędzie robi to łatwe dla jednej domeny, ale kiedy istnieje wiele domen szybko rośnie męczące. Najlepszą radą, jaką mogłem udzielić, była funkcja przetwarzania wsadowego , ale nawet to wymaga indywidualnej znajomości nazw domen.
Z pewnością jest lepszy sposób?
esri-geodatabase
domains
matowe wilkie
źródło
źródło
GDB_Domains
tabelę? Otworzyłem osobisty-gdb z domenami w Accessie i go tam nie ma. I znaleźliśmyGDB_Items
wDefinition
dziedzinie, która wydaje się zawierać domeny, ale są one zakopane w XML.Odpowiedzi:
Oto coś, co poskładałem, które działa na prostych gdb, które mam pod ręką. Nie wiem, jak może obsługiwać podtypy z wieloma domenami (patrz komentarz Brenta).
Stosowanie:
Eksportuje tabele do tego samego gdb, z którego pobiera domeny. Nie powiedzie się, jeśli tabele istnieją już.
Zaktualizowana wersja github na https://github.com/envygeo/arcplus/blob/master/ArcToolbox/Scripts/export_gdb_domains.py . Opcjonalnie zapisuje do XLS i zastępuje istniejące tabele.
Zasoby:
Historia
Początkowo próbowałem użyć zamiast tego katalogu wyjściowego i plików .csv, ale nadal otrzymywałem komunikat „ERROR 000142: Nazwa pola w tabeli dBASE nie może być dłuższa niż 10 znaków” . Wydaje się, że zawsze interpretuje ścieżkę jako część nazwy tabeli (por.
table =
Wiersz) {wzruszenie ramion}.[Później]: @ dgj32784 znalazł przyczynę,
'description'
przy 11 znakach jest za długi.źródło
csv
modułu Python .Oto kod, który eksportuje wszystkie domeny do plików Excel. Ponadto pojawia się błąd podczas próby eksportu do DBF, ponieważ słowo „opis” ma 11 znaków.
EDYCJA: naprawiono format wydruku (wiersz 20)
źródło