Szukam sposobu przeszukiwania Geobazy w poszukiwaniu klasy obiektów lub tabeli za pomocą jej nazwy.
Czy jest dostępna jakaś funkcja tego typu?
Oczywiście wyszukiwanie w systemie Windows zwraca tylko losowe identyfikatory dla tabel w Geobazie. Chciałbym faktycznie wyszukać w nich zestawy danych.
Myślę, że to pomogłoby wielu ludziom, ponieważ wiem, że nie jestem jedynym, który przechowuje dane przestrzenne w Geobazach, tylko archiwizuje je z tysiącem innych zbiorów danych i nie chce ich przesiewać.
Chciałbym przeszukać te Geobazy w ArcCatalog.
Odpowiedzi:
Jest to długa droga do zrobienia tego, o co pytasz, za pomocą jakiegoś pytona:
Potrzebujesz listy wszystkich GeoDat baz danych, które chcesz przeszukać. Jeśli jest ich dużo, użyj funkcji walk Pythona w danym katalogu. Izoluj dla wszystkich folderów z
.gdb
nimi lub.mdb
, w zależności od bazy danych.Znajdź wszystkie zbiory danych w GeoDatabase.
Znajdź wszystkie warstwy w zestawie danych.
Szukaj w warstwach tego, czego szukasz.
Oto przykładowy kod tego, o czym mówię:
źródło
Innym sposobem wyszukiwania klas elementów, które mogą, ale nie muszą znajdować się w zbiorze danych, jest użycie
walk
funkcji , jak wspomniano wcześniej. Do przeszukiwania potrzebny jest tylko obszar roboczy (tj. Folder zawierający setki GDB).Wynikowa lista będzie zawierać ścieżki i nazwy plików wszystkich klas obiektów, które pasują do kryteriów wyszukiwania, które można wydrukować.
walk
Funkcja ta może być również zmodyfikowany, aby szukać konkretnych typów funkcji (tj wielokąty, punkty, rastry, etc) poprzez zmianętype=""
od rodzaju funkcji.źródło
Jakiś czas temu natknąłem się na oprogramowanie, które może być przydatne do indeksowania baz danych GeoDat i innych danych przestrzennych:
https://www.voyagersearch.com/
Przetestowałem go dla naszej firmy i chociaż nie wykorzystaliśmy go z różnych powodów, ma on wiele przydatnych funkcji. Podsumowując, tworzy indeks twoich zbiorów danych przestrzennych, które można następnie przeszukiwać za pomocą lokalizacji - ponieważ rejestruje zakres danych, nazwę, a także (jak sądzę) atrybuty / zawartość danych.
To oni indeksują GeoDB: https://voyagersearch.zendesk.com/hc/en-us/articles/204187447-Indexing-Esri-Geodatabases-and-Shapefiles
To jest ich strona demonstracyjna, która lepiej sobie zademonstruje swoje możliwości niż ja! http://voyagerdemo.com/web/navigo/#/home
źródło