Co to są Geobazy Esri?

22

Jakie są różne formaty / technologie przechowywania, które noszą nazwę Esri Geodatabase ?
Jakie są najważniejsze różnice między nimi?
i (krótko) jakie są główne sposoby ich wykorzystania?

Wszędzie odbywają się rozmowy na temat danych osobowych i plików oraz geobazów ( i ) . Są to różne bestie, które wymagają odrębnej obsługi, ale w odpowiedziach jest wiele zamieszania co do tego, które środki mają zastosowanie do jakich formatów geobaz.

aktualizacja: Powinienem dodać, że nie wydaje mi się, aby żadna pojedyncza odpowiedź dotyczyła całego zakresu możliwości. Można powiedzieć, że „dwa formaty gdb dla pojedynczego użytkownika są osobiste i plik gdb, są odpowiednie dla xxx, mają te ograniczenia xxx, a podstawowe różnice między nimi to xxx” itp.

matowe wilkie
źródło
2
Nie mogę udzielić rzeczywistej odpowiedzi, ponieważ prawie nic nie wiem o środowisku ArcSDE RDMBS Geodatabase „Multiuser”, ale ten link zawiera ładne podsumowanie wszystkich różnych typów. Główną różnicą jest to, że 2 GDB dla pojedynczego użytkownika są właśnie takie; pojedynczy użytkownik (zaplecze MS Access Personal GDB i nowy, zastrzeżony plik ESle FIle GDB) Te modele GDB są zaprojektowane do korzystania z jednego komputera stacjonarnego w przeciwieństwie do środowisk ArcSDE RDBMS Multiuser, które działają na zewnętrznych systemach RDMS (SQL Server, ORACLE, DB2 , itp.)
Jakub Sisak GeoGraphics
@Jakub, żadna pojedyncza odpowiedź nie musi obejmować całego zakresu.
matt wilkie
Domeny, relacje i podtypy sprawiają, że struktura Geobazy jest nieskończenie bardziej przyjazna dla użytkownika i przydatna niż stary model .shp.
Roy

Odpowiedzi:

45

Przez większość czasu ludzie popełniają błąd, myśląc, że GeoDatabase jest po prostu formatem geoprzestrzennym, który umożliwia wykonywanie zapytań przestrzennych. To takie niesamowite uproszczenie.

Do licha, sam popełniłem ten błąd - dopóki pewnego dnia nie usłyszałem Scotta Morehouse wyjaśniającego uzasadnienie GeoDatabase. Jest jednym z tych ludzi, którzy potrafią myśleć w bardzo abstrakcyjny sposób, bardzo wysoko, a następnie bardzo szybko schodzą na dół i są bardzo praktyczni, unikając w ten sposób problemów architektonicznych astronautów .

Aby zrozumieć, czym jest GeoDatabase, musisz przyjrzeć się definicji modelu informacyjnego :

Model informacyjny w inżynierii oprogramowania jest reprezentacją pojęć, relacji, ograniczeń, reguł i operacji w celu określenia semantyki danych dla wybranej dziedziny dyskursu. Może zapewniać współdzieloną, stabilną i zorganizowaną strukturę wymagań informacyjnych w kontekście domeny.

GeoDatabase to po prostu definicja modelu informacyjnego ESRI obsługująca pojęcia geograficzne. Na przykład ten model informacji obsługuje pojęcia takie jak Topologia ; ze wszystkimi powiązanymi z nimi regułami, operacjami i semantyką danych (np. co może nakładać się na to, co dzieje się po podziale, jak zmiana wpływa na inne funkcje o tej samej krawędzi itp.).

Istnieją różne wdrożenia modelu informacyjnego ESRI GeoDatabase i można je podzielić na dwie kategorie:

  1. GeoDat Bazy dla jednego użytkownika:

    • Osobista GeoDatabase: Zbudowany w formacie MS Access „.mdb”.
    • FileGDB: zbudowany na zastrzeżonym formacie utworzonym przez ESRI (foldery „.gdb”)
  2. GeoDatabases dla wielu użytkowników (alias Enterprise GeoDatabases):

    Są to źródła danych obsługiwane przez oprogramowanie pośrednie ArcSDE.

    • PostgreSQL
    • SQL Server
    • Wyrocznia
    • DB2
    • Informix
    • itp

Cel ArcSDE również jest źle rozumiany. „SDE” często mylone jest z GeoDatabase - w najgorszych przypadkach terminy są używane zamiennie; okropny błąd. Wcześniej ArcSDE (zwany po prostu SDE) został stworzony jako warstwa abstrakcji danych . Prosty opis ArcSDE można znaleźć w naprawdę starym wiadomości USENET od Scotta Morehouse (1999) . Fragment tego posta mówi:

SDE odkłada przetwarzanie przestrzenne na DBMS. Jeśli bazowy system bazy danych w ogóle nie ma wsparcia przestrzennego, SDE zaimplementuje całą funkcjonalność przestrzenną. Jeśli bazowa baza danych ma jakąś funkcjonalność, SDE zaimplementuje pewną funkcjonalność i odroczy resztę do silnika bazy danych. Aby osiągnąć najlepszą wydajność i wykorzystać technologię podstawowych baz danych, staramy się odłożyć jak najwięcej funkcji do bazy danych.

Oznacza to, że ArcSDE jest używany przez GeoDatabase podczas interakcji z bazowymi źródłami danych, ale nie wie nic o abstrakcjach GeoDatabase, takich jak Relacje, Domeny, Tereny, Tkanina katastralna, Schematyczne zbiory danych itp . Jest on po prostu używany do ułatwienia programowania dzięki różnym bazom danych.

Dlatego jeśli masz do czynienia z abstrakcjami na poziomie GeoDatabase, a następnie próbujesz robić rzeczy z ArcSDE (przez API lub pliki wykonywalne linii poleceń arcsde), możesz napotkać problemy. (Czy mogę powiększyć to zdanie?)

Jeśli chodzi o ograniczenia każdej innej implementacji GeoDatabase, zwykle zależy ona od podstawowej pamięci.

Osobiste GDB jest ograniczone do 2 GB limitu mdb (dostęp). FileGDB, nie ma tego problemu, ponieważ został stworzony, aby pozbyć się tego ograniczenia i być kompatybilny z Uniksem.

Zarówno Personal GDB, jak i FileGDB są pojedynczymi użytkownikami. Więc nie dostajesz żadnej wersji . Replikacja GDB jest zaimplementowana oprócz wersjonowania, więc jest to funkcja tylko dla wszystkich GeoDat baz danych dla wielu użytkowników (ArcSDE Datasources).

Topologia, adnotacje , klasy reprezentacji , domeny , tereny itp. To wszystkie koncepcje GeoDatabase, które nie wymagają wsparcia dla wielu użytkowników - dlatego są dostępne we wszystkich implementacjach modelu informacyjnego GeoDatabase.

Jeśli chodzi o zastosowania dla każdej implementacji GDB, zależy to od twoich potrzeb. Istnieje więc typ GeoDatabase dla większości (ale nie wszystkich) przypadków użycia.

Mam nadzieję, że to wyjaśnia.

Ragi Yaser Burhum
źródło