Jak importować format ESRI Geodatabase .gdb do PostGIS

17

Wystąpił problem podczas ładowania formatu ESRI Geodatabase .gdb do PostGIS. Mam plik danych GDB 2,5 GB. Śledziłem kilka samouczków w Internecie, ale wygląda na to, że to nie działa.

  1. Stworzyłem bazę danych „SampleNY”
  2. Wykonałem to z konsoli:

    ogr2ogr -f „PostgreSQL” PG: „dbname = SampleNY user = postgres” NYPluto / Pluto.gdb

Ale nic się nie dzieje, nie dostałem ani błędu, ani udanej operacji. Czy przegapiłem jakieś kroki?

użytkownik3001937
źródło
Czy jesteś ograniczony do korzystania z ogr2ogr? Czy jesteś otwarty na inne rozwiązania? FME powinno być w stanie to zrobić z łatwością.
Fezter
Jestem otwarty na wszelkie rozwiązania, które mogą rozwiązać ten problem? Czy możesz podać więcej szczegółów, jak to zrobić?
user3001937
Spróbuj pobrać FME . Utwórz nowy stół roboczy i dodaj czytnik Geodatabase Reader i pisarz PostGIS.
Fezter
1
To rozwiązanie komercyjne. Nie określiłeś, że szukasz tylko bezpłatnych rozwiązań. Myślę, że FME ma bezpłatny okres próbny.
Fezter
1
Znalazłem w innych odpowiedziach Menedżer danych przestrzennych. mapet.altervista.org Jest to darmowe narzędzie systemu Windows do ładowania pliku shapefile i plików geobazy w Postgis i innych dbach przestrzennych.
lele3p

Odpowiedzi:

19

Spróbuj dodanie odpowiednich hosti portargumenty.
A BTW, kiedy importuję duży plik GDB, dodaję również te flagi:

-overwrite (usuwa wszelki bałagan, który już wstawiłeś) i

-progress (wyświetla kropkę lub liczbę na każde 10 000 lub 10% dodanych rekordów):

--config PG_USE_COPY YES (znacznie poprawia prędkość)

Tak więc polecenie (które powinno być jednowierszowe, ale sformatowałem tutaj dla jasności) staje się

ogr2ogr 
    -f "PostgreSQL" 
    PG:"host=localhost port=5432 dbname=SampleNY user=postgres" 
    NYPluto/Pluto.gdb 
    -overwrite -progress --config PG_USE_COPY YES

W razie potrzeby użyj adresu URL zamiast „localhost”.

Martin F.
źródło
6

Jeśli w gdb znajduje się wiele funkcji i chcesz określić schemat Postgres i nazwy tabel, wykonaj następujące czynności:

#First get the featurenames from the gdb:
ogrinfo geodbname.gdb

#then import a feature into a table:
ogr2ogr -f "PostgreSQL" PG:"host=hostname port=5432 dbname=dbname user=postgres"
geodbname.gdb -nlt PROMOTE_TO_MULTI -nln schemaname.tablename featurename -overwrite
anneb
źródło