Як імпортувати ESRI формат Geodatabase .gdb у PostGIS


17

Я зіткнувся з проблемою під час завантаження ESRI формату Geodatabase .gdb у PostGIS. У мене є файл GDB розміром 2,5 Гб. Я дотримувався деяких навчальних посібників в Інтернеті, але, схоже, це не виходить.

  1. Я створив базу даних "SampleNY"
  2. Я виконав це з консолі:

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

Але нічого не відбувається, я не отримав ні помилки, ні успішної операції. Я пропустив якісь кроки?


Ви обмежені у використанні ogr2ogr? Або ви відкриті до інших рішень? FME має це легко зробити.
Фестер

Я відкритий до будь-якого рішення, яке може вирішити цю проблему? Чи можете ви надати більш детальну інформацію про те, як це зробити?
user3001937

Спробуйте завантажити FME . Створіть новий робочий стіл та додайте зчитувач баз даних Geodata та письменник PostGIS.
Фестер

1
Це комерційне рішення. Ви не вказали, що шукали лише безкоштовні рішення. Я думаю, що у FME є вільний пробний період.
Фестер

1
Я знайшов в інших відповідях Менеджер просторових даних. mapet.altervista.org Це безкоштовний інструмент Windows для завантаження формфайлів та файлів геоданих у Postgis та інших просторових db.
lele3p

Відповіді:


19

Спробуйте додати відповідні hostта portаргументи.
І BTW, коли я імпортую великий файл 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.