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:
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”)
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.