Установка підтримки файлів Geodatabase (* .gdb) у QGIS?


158

Я витратив близько 2 днів, щоб знайти спосіб відкрити GDB (Esri geodatabase) в QGIS (або будь-яке інше програмне забезпечення з відкритим кодом), але все ще без успіху.

Я завантажив найновіший інсталятор OSGeo4W і спробував встановити - експрес-встановлення на робочому столі - всі пакети, а також розширену установку, включаючи gdal-filegdb.

Чи можете ви описати більш детальну процедуру, включаючи встановлення та як відкрити .gdb в QGIS (встановлення OSGeo4W)?


1
Яку версію gdal ви використовуєте?
Натан W

Спочатку я встановив osgeo4w-setup - експрес-встановлення на робочий стіл - на який, мабуть, завантажую найновішу бібліотеку для встановлення. У "Розширеній установці" я спробував gdal 1.9.1-RC2-1 та 1.9.0-3 . Якщо говорити про gdal-filegdb, то наразі є лише версія 1.9.0-1 .
Миро

У якій версії ArcGIS був створений ваш файловий GDB?
Отримайте просторовий

2
Ну, це може бути проблема - "Файл GDB повинен бути ArcGIS версії 10, 9.3.1 не підтримується." - Я не знаю версії ESRI File Geodatabase (FileGDB), я щойно отримав дані. Збираюся знайти та протестувати деякі дані у версії 10 із моєю установкою та повідомте про це.
Миро

2
Ви намагалися виконувати кроки та бачите, як далеко ви дістаєтесь? Тільки тому, що посилання є дворічним, не означає, що воно ще не є актуальним. Наскільки я можу пригадати встановлення для 2.0.1 дуже схоже, якщо не таке, як інструкція у відповіді.
MAJ742

Відповіді:


178

Оновити грудень 2017 року

Тепер ви можете просто перетягнути .gdb файл (каталог) у QGIS. Це доступ лише для читання лише до файлових геоданих. Якщо вам потрібен доступ для запису, будь ласка, прочитайте далі.

Оновлення липня 2015 року

Настав час принести цю відповідь дещо актуальнішою, оскільки деякі елементи підтримки FileGDB в QGIS змінилися. Зараз я запускаю QGIS 2.10.0 - Піза. Він був встановлений за допомогою програми установки OSGeo4W.

Змінилося те, що після базової установки QGIS доступ до файлу GDB лише для читання за умовчанням увімкнено за допомогою драйвера Open FileGDB. Кредит за перше зауваження про це має бути надано @SaultDon.
Доступ для читання / запису може бути включений за допомогою встановлення драйвера FileGDB через бібліотеку OGR_FileGDB. Бібліотеку потрібно включити за допомогою наведеного нижче процесу під час встановлення QGIS або окремо. Детальніше про драйвери нижче:

  • Драйвер FileGDB : використовує SDD API FileDB від ESRI - читати / записувати до FGDB з ArcGIS 10 і вище
  • Драйвер OpenFleGDB : доступний у GDAL> = 1,11 - доступ лише для читання до FGDB ArcGIS 9 і вище

Додаючи векторний шар, ви просто вибираєте на Source Typeоснові драйвера, який ви хочете використовувати.
Драйвер ESRI FileGDB Драйвер Esri FileGDB

Відкрийте драйвер FileGDB Відкрийте драйвер FileGDB

Наведений нижче процес детальніше показує кроки для встановлення QGIS з інсталятора OSGeo4W, переконайтеся, що встановлена ​​бібліотека OGR_FileGDB, а потім завантажте шари з бази даних Geodata File.

  1. Завантажте та запустіть osgeo4w-setup-x86.exeна 32- бітну або osgeo42-setup-x86_64.exe64- бітну версію з OSGeo4W .

  2. Виберіть Розширена інсталяція, а потім Встановити через Інтернет. Виберіть кореневі та локальні каталоги пакунків, а потім тип вашого з'єднання, в моєму випадку - "Пряме з'єднання". Після натискання кнопки "Далі" з'явиться екран із кількістю згорнутих меню. Виберіть Інсталяційні пакети

  3. Розгорніть меню «Настільний». Знайдіть запис для "qgis: Quantum GIS (desktop)". У стовпці "Нове" змініть запис на "Пропустити", щоб показати версію 2.10.0-1. Виберіть запис встановлення QGIS

  4. Розгорніть меню «Лібки». Знайдіть запис для "gdal-filegdb: Драйвер OGR FileGDB". У стовпці "Нове" змініть запис із "Пропустити", щоб показати версію 1.11.2-1. Виберіть GDAL File GDB Driver

  5. Після натискання кнопки «Далі» встановиться QGIS та всі пов'язані з ним бібліотеки. Після цього відкрийте Quantum GIS та оберіть "Додати векторні дані". Змініть параметр на "Каталог". Тут ви вибираєте драйвер, як показано вище. Виберіть каталог та драйвер FileGDB

  6. Перейдіть до бази даних Geodata File і виберіть каталог. Натисніть "Відкрити" Виберіть Розташування файлу GDB

  7. Виберіть векторний шар і натисніть «Добре». Зверніть увагу, що API FileGDB не підтримує растрові зображення . Виберіть векторний шар

  8. Як бачите, вибраний шар завантажується. Використовуючи драйвер Esri, редагування можливо. Якщо ви використовуєте драйвер Open FileGDB, дані читаються лише для читання. Завантажений векторний шар в QGIS

  9. Для довідки, ось вікно "Про" з моєї установки QGIS, де відображаються версії програмного забезпечення та використовувана бібліотека GDAL / OGR. QGIS Про вікно

Ця установка виконувалася на 64-бітовому комп'ютері під керуванням Windows 7. З попередніми інсталяторами були деякі непослідовні результати. Це, можливо, змінилося з перемиканням на 32 або 64 біт. Цей потік в OSGeo обговорює деякі старі проблеми, з якими стикалися люди: Нитка


1
FileGDBAPI.dllє частиною gdal-filegdbпакету і вже має бути встановлений у %osgeo4w_root%\bin. На жаль, цього в моїй системі теж недостатньо.
matt wilkie

4
виявив помилку, і це макет: FileGDB SDK не підтримує власні системи координат ( gdal # 4578 ). Можна сподіватися, що це не тривале обмеження; голосуйте за його виправлення на Ideas.arcgis.com/ideaView?id=087E00000004DpoIAE
matt wilkie

5
@danagerous - Ця відповідь була написана, коли QGIS 1.8була поточною версією встановлення. Як ви вже показали, тепер актуальна версія 2.2.0. Процес та дії щодо забезпечення встановлення бібліотеки залишаються однаковими, але ви завжди хочете використовувати найновішу версію, доступну QGISі для gdal-fgdbбібліотеки, і для бібліотеки.
Отримайте просторовий

1
Дуже приємно, дякую .... такі документи важливі, коли вам потрібно негайно працювати та працювати.
Т. Уейн Вітлі

1
Ви також можете просто перетягнути .gdb файл у QGIS.
тудорбараску

42

Якщо у вас QGIS працює і компілюється з GDAL 1.11.0, тепер він має вбудовану підтримку FileGDB через драйвер OpenFileGDB .

Щоб відкрити базу даних геоданих у QGIS, виберіть "Додати векторний шар", "Тип джерела = Каталог", а джерело має бути "OpenFileGDB" або "ESRI FileGDB". Потім просто перейдіть до вибраної папки * .gdb, натисніть «Відкрити», і шари будуть завантажені у вашу Зміст.

Існують деякі поточні обмеження, такі як неможливість запису до FileGDB, але він підтримує FileGDB <= 10,0, що є цілком бонусним і "користувацьким прогнозом".

На GitHub для драйвера OpenFileGDB доступна специфікація, що не працює.


1
Дякую, що ви опублікували це ... це набагато коротше, ніж інша відповідь (що я також вдячний, але якщо більше не потрібно пройти всі ці кроки, я вдячний це знати!)
LarsH

16

Якщо ви перебуваєте на Mac, ви можете скласти драйвер filegdb з нуля, скориставшись цими інструкціями .

ОНОВЛЕННЯ: Минуло 2 роки з цієї відповіді, ви можете спробувати це зараз: https://github.com/OSGeo/homebrew-osgeo4mac Також, як багато хто зараз каже, ви можете використовувати драйвер OpenFileGDB, який не використовує Бінарні файли ESRI для цього. Майте на увазі, що це проект, який інженерно розробив, як працює специфікація, а не санкціонований ESRI (все-таки чудово, що є альтернативи, і це є дивовижною роботою).


1
Пов'язана сторінка покладається на своє перше посилання ("Завантажте SDK з веб-сайту ESRI"), яке зараз мертве.
Павло Вікторович

Що ж, відповідь була з 2012 року. :) За останні три роки відбулося багато змін. Ви можете збирати без особливої ​​магії за допомогою домашньої мови, і вона також доступна в дистрибутиві OSGeo Windows.
Рагі Ясер Бурхум

1
Чи можете ви відредагувати та дати вказівки щодо компіляції за допомогою домашнього перекладу? Зокрема - чи сумісна установка домашньої програми з програмою встановлення KyngChaos gdal-complete?
Simbamangu

Якщо ви використовуєте домашню мову, ви повинні триматися подалі від бінарних файлів KyngChaos, або у вас можуть виникнути проблеми під час компіляції, оскільки ви отримаєте кілька версій gdal.
Рагі Ясер Бурхум

5
  • Завантажте та запустіть налаштування OSGEO4W (я б запропонував 32-бітну версію)

  • Запустіть його один раз, використовуючи опцію «Інсталляція на робочому столі», щоб встановити QGIS (і всі інші програми настільних ПК), які ви хочете).

  • Після цього все, запустіть налаштування OSGEO4W знову в меню "Пуск", виберіть Додаткова установка та перейдіть до тієї частини налаштування, де ви вибираєте пакети. Прокрутіть униз до пакету "gdal-filegdb" і натисніть, де на цьому знімку екрана написано "Зберегти":

введіть тут опис зображення

Там написано "Зберігати", тому що у мене вже встановлений пакунок, ви захочете клацнути по ньому, поки текст там не відповідає номеру "Поточний" зліва від нього.

  • Натисніть кнопку Далі, вам потрібно погодитись з деякими ліцензійними умовами, а потім закінчити встановлення і ви закінчите.

ей спасибі, я повинен використовувати 32, навіть я використовую 64-бітові вікна?
pitcherofnectar

32-розрядна установка OSGEO прекрасно працюватиме у 64-розрядних версіях Windows, саме для цього я використовую Win7 x64 і все працює. 64-розрядна установка OSGEO може також працювати, але багато пакетів для неї різні, і у мене були проблеми з деякими з них.
Dan C

Сподіваюсь, ви повідомили про свої проблеми в багтейкері . FYI, Є і деякі проблеми, що стосуються лише 32-бітних (наприклад, через старі бібліотеки Qt, які мають деякі проблеми зі складною геометрією). YMMV
Маттіас Кун

5

У мене були пов'язані проблеми / питання десь 3 місяці тому (див .: qgis 2.8.1 arcgis filegdb неповний список у win-версії )

кілька днів тому я перейшов з 2.8.x на 2.10.1-Піза, сподіваючись позбутися від файлів, пов’язаних із базою даних геоданих, описаних у моєму запитанні. на жаль, не роблячи успіху.

що я зрозумів з тих пір: це все ще є проблема з користувацькими системами координат! мої тести з filegdb, створеними за допомогою arcgis 10.1, та ще одним з arcgis 10.3 на різних ПК, показують, що при спробі відкрити filegdb, що містить лише класи класів із спеціальними CRS, повертається така помилка:
" Недійсне джерело даних: D: \ xxxx \ yyy \ zzzz.gdb не є дійсним або визнаним джерелом даних "

... обидва водії ( водій FileGDB , водій OpenFileGDB ) повертає ту ж помилку!
в той час, як FileGDB SDK може бути створений для підтримки користувацьких систем координат? У статті та деяких коментарях / відповідях зазначено, що реалізована спеціальна підтримка CRC через OpenFileGDB - вона не працює в моїх системах (gdal-filegdb: OGR FileGDB Driver 1.11.2-1)

якщо filegdb містить будь-які таблиці - просто ці таблиці відображаються у списку "Вибір векторних шарів для додавання ..." та змішування спеціальних даних CRC та нестандартних даних виглядає так

арккаталог:

аркататалог вмісту filegdb

qgis 2.10:

filegdb content qgis (драйвер FileGDB та драйвер OpenFileGDB)

мій особистий висновок: завжди використовуйте стандартні CRC! ! !


1

Приємно, що в 2019 році вам не потрібно робити вище, це вже підтримується в qgis 3.6.

Простий та легкий за допомогою 3 кроків:

Крок 1: натисніть кнопку додати вектор (червоне коло)

введіть тут опис зображення


Крок 2: виберіть каталог, openFileGDB і шлях до файлу (червона стрілка)

введіть тут опис зображення


Крок 3: виберіть усі шари (червоне коло) введіть тут опис зображення


Готово !!!!! Ви просто додаєте всі шари до qgis

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.