Как импортировать базу геоданных ESRI в формате .gdb в PostGIS


17

Я столкнулся с проблемой при загрузке формата базы геоданных ESRI .gdb в PostGIS. У меня есть данные 2,5 ГБ файла GDB. Я следовал некоторым учебникам в Интернете, но, похоже, это не сработало.

  1. Я создал базу данных "SampleNY"
  2. Я выполнил это с консоли:

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

Но ничего не происходит, я не получил ни ошибки, ни успешной операции. Я пропустил какие-либо шаги?


Вы ограничены в использовании ogr2ogr? Или вы открыты для других решений? Предприятие должно быть в состоянии сделать это легко.
Фезтер

Я открыт для любого решения, которое может решить эту проблему? Можете ли вы предоставить более подробную информацию о том, как это сделать?
user3001937

Попробуйте скачать FME . Создайте новую рабочую среду и добавьте читателя базы геоданных и писателя PostGIS.
Фезтер

1
Это коммерческое решение. Вы не указали, что искали только бесплатные решения. Я думаю, что у FME есть бесплатный пробный период.
Фезтер

1
Я нашел в других ответах Spatial Data Manager. mapet.altervista.org Это бесплатный инструмент Windows для загрузки шейп-файлов и файловой базы геоданных в Postgis и других пространственных БД.
lele3p

Ответы:


19

Попробуйте добавить соответствующую hostи portаргументы.
И кстати, когда я импортирую большой файл GDB, я также добавляю эти флаги:

-overwrite (удаляет любой беспорядок, который вы, возможно, уже вставили) и

-progress (отображает точку или число для каждых 10 000 или 10% добавленных записей):

--config PG_USE_COPY YES (значительно улучшает скорость)

Таким образом, команда (которая должна быть однострочной, но я отформатирована здесь для ясности) становится

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

При необходимости используйте URL вместо «localhost».


6

Если в GDB есть несколько функций и вы хотите указать схему Postgres и имена таблиц, выполните следующие действия:

#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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.