Instalowanie obsługi geobazy danych plikowych (* .gdb) w QGIS?


158

Spędziłem około 2 dni, aby znaleźć sposób na otwarcie GDB (Esri geodatabase) w QGIS (lub innym oprogramowaniu open source), ale nadal bez powodzenia.

Pobrałem najnowszy instalator OSGeo4W i wypróbowałem instalację - ekspresową instalację pulpitu - wszystkie pakiety, a także zaawansowaną instalację, w tym gdal-filegdb.

Czy możesz opisać bardziej szczegółową procedurę, w tym instalację i sposób otwierania .gdb w QGIS (instalacja OSGeo4W)?


1
Jakiej wersji gdal używasz?
Nathan W

Najpierw zainstalowałem osgeo4w-setup - Instalacja ekspresowa na pulpicie - które, jak sądzę, pobierz najnowszą bibliotekę do instalacji. W „Advanced Install” wypróbowałem gdal 1.9.1-RC2-1 i 1.9.0-3 . Mówiąc o gdal-filegdb, w tej chwili jest tylko wersja 1.9.0-1 .
Miro

W jakiej wersji ArcGIS utworzono plik File GDB?
Uzyskaj Spatial

2
Może to być problem - „Plik GDB musi mieć wersję ArcGIS 10, 9.3.1 nie jest obsługiwana”. - Nie znam wersji Geobazy danych pliku ESRI (FileGDB), właśnie dostałem dane. Zamierzam znaleźć i przetestować niektóre dane w wersji 10 z moją instalacją i dać znać.
Miro

2
Czy próbowałeś wykonać te kroki i zobaczyć, jak daleko się posuwasz? To, że link ma dwa lata, nie oznacza, że ​​nadal nie jest aktualne. O ile mogę sobie przypomnieć, instalacja dla 2.0.1 jest bardzo podobna, jeśli nie taka sama, jak instrukcje w odpowiedzi.
MAJ742,

Odpowiedzi:


178

Aktualizacja grudzień 2017 r

Teraz możesz po prostu przeciągnąć i upuścić plik .gdb (katalog) do QGIS. Jest to dostęp tylko do odczytu do geobaz danych plików. Jeśli potrzebujesz dostępu do zapisu, czytaj dalej.

Aktualizacja z lipca 2015 r

Czas nadać tej odpowiedzi nieco bardziej aktualny charakter, ponieważ niektóre elementy obsługi FileGDB w QGIS uległy zmianie. Używam teraz QGIS 2.10.0 - Piza. Został zainstalowany przy użyciu instalatora OSGeo4W.

Zmieniło się to, że po podstawowej instalacji QGIS dostęp tylko do odczytu pliku GDB jest domyślnie włączony przy użyciu sterownika Open FileGDB. Kredyt za pierwsze zauważenie tego należy przekazać @SaultDon.
Dostęp do odczytu / zapisu można włączyć za pomocą instalacji sterownika FileGDB za pośrednictwem biblioteki OGR_FileGDB. Bibliotekę należy włączyć za pomocą poniższego procesu, albo podczas instalacji QGIS, albo indywidualnie. Więcej informacji na temat sterowników znajduje się poniżej:

  • Sterownik FileGDB : używa zestawu SDK API FileDB z ESRI - Odczyt / zapis do FGDB ArcGIS 10 i nowszych
  • Sterownik OpenFleGDB : Dostępny w GDAL> = 1.11 - Dostęp tylko do odczytu do FGDB ArcGIS 9 i nowszych

Dodając warstwę wektorową, po prostu wybierasz wersję Source Typeopartą na sterowniku, którego chcesz użyć.
Sterownik ESRI FileGDB Sterownik Esri FileGDB

Otwórz sterownik FileGDB Otwórz sterownik FileGDB

Poniższy proces pokazuje bardziej szczegółowo kroki instalacji QGIS z instalatora OSGeo4W, upewnij się, że biblioteka OGR_FileGDB jest zainstalowana, a następnie załaduj warstwy z Geobazy Pliku.

  1. Pobierz i uruchom osgeo4w-setup-x86.exedla OSBeo4W dla wersji 32-bitowej lub osgeo42-setup-x86_64.exe64- bitowej .

  2. Wybierz opcję Advanced Install, a następnie Install from Internet. Wybierz katalog główny i katalogi lokalne, a następnie typ połączenia, w moim przypadku „Połączenie bezpośrednie”. Po kliknięciu przycisku Dalej pojawi się ekran z wieloma zwiniętymi menu. Wybierz pakiety instalacyjne

  3. Rozwiń menu „Pulpit”. Znajdź pozycję „qgis: Quantum GIS (desktop)”. W kolumnie „Nowy” zmień wpis z „Pomiń”, aby wyświetlić wersję 2.10.0-1. Wybierz wpis instalacji QGIS

  4. Rozwiń menu „Libs”. Znajdź pozycję „gdal-filegdb: OGR FileGDB Driver”. W kolumnie „Nowy” zmień wpis z „Pomiń”, aby wyświetlić wersję 1.11.2-1. Wybierz plik GDAL GDB Driver

  5. Po kliknięciu przycisku Dalej zainstaluje QGIS i wszystkie powiązane biblioteki. Po zakończeniu otwórz Quantum GIS i wybierz „Dodaj dane wektorowe”. Zmień opcję na „Katalog”. Tutaj wybierasz sterownik, jak pokazano powyżej. Wybierz katalog i sterownik FileGDB

  6. Przejdź do Geobazy Pliku i wybierz katalog. Kliknij „Otwórz” Wybierz lokalizację pliku GDB

  7. Wybierz warstwę wektorową i naciśnij „Ok”. Należy pamiętać, że interfejs API FileGDB nie obsługuje obrazów rastrowych . Wybierz warstwę wektorową

  8. Jak widać, ładuje się wybrana warstwa. Za pomocą sterownika Esri edycja jest możliwa. Jeśli korzystasz ze sterownika Open FileGDB, dane są tylko do odczytu. Załadowana warstwa wektorowa w QGIS

  9. Dla odniesienia, oto okno „About” z mojej instalacji QGIS, pokazujące wersje oprogramowania i używaną bibliotekę GDAL / OGR. QGIS About Window

Ta instalacja została wykonana na 64-bitowym komputerze z systemem Windows 7. W przypadku poprzednich instalatorów wyniki były niespójne. To mogło się zmienić wraz z przejściem na instalatory 32 lub 64-bitowe. W tym wątku w OSGeo omówiono niektóre stare problemy, z którymi borykali się ludzie: Wątek


1
FileGDBAPI.dlljest częścią gdal-filegdbpakietu i powinien być już zainstalowany w %osgeo4w_root%\bin. Niestety, to samo w moim systemie też nie wystarczy.
matt wilkie

4
znalazłem błąd i jest niesamowity: FileGDB SDK nie obsługuje niestandardowych układów współrzędnych ( gdal # 4578 ). Można mieć nadzieję, że nie jest to długo żyjące ograniczenie; głosuj za naprawieniem go na ideas.arcgis.com/ideaView?id=087E00000004DpoIAE
matt wilkie

5
@danagerous - Ta odpowiedź została napisana, gdy QGIS 1.8była bieżącą wersją instalacyjną. Jak pokazałeś, aktualna wersja jest teraz gotowa 2.2.0. Proces i kroki zapewniające zainstalowanie biblioteki pozostają takie same, ale zawsze będziesz chciał użyć najnowszej dostępnej wersji zarówno QGISdla gdal-fgdbbiblioteki, jak i dla biblioteki.
Uzyskaj Spatial

1
Bardzo miło, dziękuję .... takie dokumenty są niezbędne, gdy potrzebujesz natychmiast rozpocząć pracę.
T. Wayne Whitley

1
Możesz także przeciągnąć i upuścić plik .gdb do QGIS.
tudorbarascu,

42

Jeśli masz uruchomiony QGIS i skompilowany z GDAL 1.11.0, ma on natywną obsługę FileGDB za pośrednictwem sterownika OpenFileGDB .

Aby otworzyć geobazę w QGIS, pamiętaj, aby wybrać „Dodaj warstwę wektorową”, „Typ źródła = katalog”, a źródłem powinno być „OpenFileGDB” lub „ESRI FileGDB”. Następnie przejdź do wybranego folderu * .gdb, naciśnij „Otwórz”, a warstwy zostaną załadowane do spisu treści.

Istnieją pewne obecne ograniczenia, takie jak niemożność zapisu do FileGDB, ale obsługuje on FileGDBs <= 10,0, co stanowi dość bonus i „niestandardowe prognozy”.

Specyfikacja inżynierii wstecznej w toku jest dostępna w GitHub dla sterownika OpenFileGDB.


1
Dziękuję za opublikowanie tego ... jest znacznie krótszy niż inna odpowiedź (co również doceniam, ale jeśli nie jest już konieczne przechodzenie przez te wszystkie kroki, jestem wdzięczny za to!)
LarsH

16

Jeśli korzystasz z komputera Mac, możesz skompilować sterownik filegdb od zera, korzystając z tych instrukcji .

AKTUALIZACJA: Minęły 2 lata od tej odpowiedzi, możesz spróbować teraz: https://github.com/OSGeo/homebrew-osgeo4mac Ponadto, jak wielu mówi teraz, możesz użyć sterownika OpenFileGDB, który nie korzysta z Pliki binarne ESRI, aby to osiągnąć. Należy pamiętać, że jest to projekt, w którym zmodyfikowano sposób działania specyfikacji, a nie sankcjonowany przez ESRI (nadal świetnie jest mieć alternatywy i reprezentuje niesamowitą pracę).


1
Linkowana strona korzysta z pierwszego linku („Pobierz zestaw SDK ze strony internetowej ESRI”), który jest już martwy.
Pavel V.

Cóż, odpowiedź pochodzi z 2012 roku. :) W ciągu ostatnich trzech lat zaszło wiele zmian. Możesz skompilować bez specjalnej magii za pomocą homebrew i jest on również dostępny w dystrybucji Windows OSGeo.
Ragi Yaser Burhum

1
Czy możesz edytować i podawać instrukcje dotyczące kompilacji przy użyciu Homebrew? W szczególności - czy instalacja homebrew jest kompatybilna z instalatorem KydalChaos gdal-complete?
Simbamangu

Jeśli używasz homebrew, powinieneś trzymać się z daleka od plików binarnych KyngChaos lub możesz potencjalnie mieć problemy podczas kompilacji, ponieważ skończysz z wieloma wersjami gdal.
Ragi Yaser Burhum

5
  • Pobierz i uruchom konfigurację OSGEO4W (sugerowałbym wersję 32-bitową)

  • Uruchom go raz, używając opcji Instalacja na pulpicie, aby zainstalować QGIS (i dowolne inne programy na pulpicie).

  • Po tym wszystkim uruchom ponownie OSGEO4W setup z menu Start, wybierz Instalacja zaawansowana i przejdź do tej części instalacji, w której wybierasz pakiety. Przewiń w dół do pakietu „gdal-filegdb” i kliknij miejsce, w którym jest napisane „Zachowaj” na tym zrzucie ekranu:

wprowadź opis zdjęcia tutaj

Napis „Zachowaj” tam, ponieważ mam już zainstalowany pakiet, będziesz chciał go klikać, dopóki tekst nie będzie pasował do numeru „Bieżący” po lewej stronie.

  • Kliknij przycisk Dalej, musisz zaakceptować niektóre warunki licencji, a następnie dokończyć instalację i gotowe.

hej dzięki, czy powinienem używać 32, nawet jeśli używam 64-bitowych okien?
pitcherofnectar

32-bitowa instalacja OSGEO będzie działać dobrze w 64-bitowych wersjach systemu Windows, tego używam na Win7 x64 i wszystko działa. 64-bitowa instalacja OSGEO może również działać, ale wiele jej pakietów jest różnych i miałem problemy z niektórymi z nich.
Dan C

Mam nadzieję, że zgłosiłeś swoje problemy w programie do wykrywania błędów . Do Twojej wiadomości, istnieją również problemy tylko 32-bitowe (na przykład z powodu starszych bibliotek Qt, które mają pewne problemy ze skomplikowanymi geometriami). YMMV
Matthias Kuhn

5

Miałem pokrewny problem / pytanie około 3 miesiące temu (patrz: qgis 2.8.1 arcgis filegdb niekompletna lista w wersji win )

kilka dni temu przestawiłem się z wersji 2.8.x na wersję 2.10.1-Pisa w nadziei, że pozbędę się problemów z geobazą pliku opisaną w moim pytaniu. niestety bez powodzenia.

od tego czasu doszedłem do wniosku: nadal istnieje problem z niestandardowymi układami współrzędnych! moje testy z filegdb utworzonym za pomocą arcgis 10.1 i innego z arcgis 10.3 na różnych komputerach pokazują, że próba otwarcia pliku filegdb, który zawiera tylko klasy funkcji z niestandardowym CRS, zwraca następujący błąd:
Nieprawidłowe źródło danych: D: \ xxxx \ rrr \ zzzz.gdb nie jest prawidłowym lub rozpoznawalnym źródłem danych

... obaj kierowcy ( kierowca FileGDB , kierowca OpenFileGDB ) zwracają ten sam błąd!
podczas gdy Czy FileGDB SDK może być przystosowany do obsługi niestandardowych układów współrzędnych? artykuł i niektóre komentarze / odpowiedzi tutaj stwierdzają, że zaimplementowano niestandardową obsługę CRC przez OpenFileGDB - nie działa na moich systemach (gdal-filegdb: OGR FileGDB Driver 1.11.2-1)

jeśli plik filegdb zawiera jakieś tabele - tylko te tabele są wyświetlane na liście „wybierz warstwy wektorowe, aby dodać ...” i mieszając niestandardowe dane CRC i niestandardowe z wyglądem takim

arccatalog:

katalog plików treści filegdb

qgis 2.10:

filegdb content qgis (sterownik FileGDB i sterownik OpenFileGDB)

mój osobisty wniosek: zawsze używaj standardowych CRC! ! !


1

Fajnie, w 2019 roku nie musisz tego robić powyżej, jest już obsługiwany w qgis 3.6.

Prosty i łatwy w 3 krokach:

Krok 1: kliknij przycisk Dodaj wektor (czerwone kółko)

wprowadź opis zdjęcia tutaj


Krok 2: Wybierz katalog, openFileGDB i ścieżkę do pliku (czerwona strzałka)

wprowadź opis zdjęcia tutaj


Krok 3: wybierz wszystkie warstwy (czerwone kółko) wprowadź opis zdjęcia tutaj


Gotowy!!!!! Po prostu dodajesz wszystkie warstwy do qgis

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.