Установка поддержки файловой базы геоданных (* .gdb) в QGIS?

158

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

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

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

Miro
источник
1
Какую версию GDAL вы используете?
Натан W
Сначала я установил osgeo4w-setup - экспресс-настольную установку - я полагаю, что загрузите новейшую библиотеку для установки. В «Расширенной установке» я пробовал gdal 1.9.1-RC2-1 и 1.9.0-3 . Говоря о gdal-filegdb, на данный момент есть только версия 1.9.0-1 .
Миро
В какой версии ArcGIS была создана ваша File GDB?
Получить Spatial
2
Ну, это может быть проблемой - «Файл GDB должен быть ArcGIS версии 10, 9.3.1 не поддерживается». - Я не знаю версию Файловой базы геоданных ESRI (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 : использует SDK FileDB API из ESRI - чтение / запись в FGDB ArcGIS 10 и выше
  • Драйвер OpenFleGDB : Доступно в GDAL> = 1.11 - Доступ только для чтения к FGDB ArcGIS 9 и выше

Когда вы добавляете векторный слой, вы просто выбираете Source Typeтот драйвер, который хотите использовать.
ESRI FileGDB Драйвер Esri FileGDB Драйвер

Открыть файлGDB Driver Открыть файлGDB Driver

Приведенный ниже процесс более детально показывает шаги по установке QGIS из установщика OSGeo4W, убедитесь, что установлена ​​библиотека OGR_FileGDB, а затем загрузите слои из файловой базы геоданных.

  1. Загрузите и запустите osgeo4w-setup-x86.exeдля 32- разрядной или osgeo42-setup-x86_64.exe64- разрядной версии OSGeo4W .

  2. Выберите «Расширенная установка», затем «Установить из Интернета». Выберите ваши корневые и локальные каталоги пакетов, а затем тип подключения, в моем случае, «Прямое подключение». Как только вы нажмете кнопку «Далее», появится экран с несколькими свернутыми меню. Выберите установочные пакеты

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

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

  5. После того, как вы нажмете Далее, он установит QGIS и все связанные библиотеки. После этого откройте Quantum GIS и выберите «Добавить векторные данные». Измените параметр «Каталог». Здесь вы выбираете драйвер, как показано выше. Выберите каталог FileGDB и драйвер

  6. Перейдите к Файловой базе геоданных и выберите каталог. Нажмите «Открыть» Выберите местоположение файла GDB

  7. Выберите векторный слой и нажмите «ОК». Обратите внимание, что FileGDB API не поддерживает растровые изображения . Выберите векторный слой

  8. Как видите, загружается выбранный слой. С помощью драйвера Esri возможно редактирование. Если вы используете драйвер Open FileGDB, данные доступны только для чтения. Загруженный векторный слой в QGIS

  9. Для справки, вот окно «О программе» из моей установки QGIS, показывающее версии программного обеспечения и используемую библиотеку GDAL / OGR. QGIS Об Окне

Эта установка была выполнена на Windows 7 64-битном компьютере. С предыдущими установщиками были некоторые противоречивые результаты. Это могло измениться при переходе на 32- или 64-битные установщики. В этой теме в OSGeo обсуждаются некоторые старые проблемы, с которыми сталкивались люди: Тема

Получить Пространственный
источник
1
FileGDBAPI.dllявляется частью gdal-filegdbпакета и уже должен быть установлен в %osgeo4w_root%\bin. К сожалению, одного этого недостаточно в моей системе.
Мэтт Уилки
4
обнаружил ошибку, и это колоссальное: FileGDB SDK не поддерживает пользовательские системы координат ( gdal # 4578 ). Можно надеяться, что это не долгосрочное ограничение; проголосуйте за исправление ошибки
Мэтт Уилки
5
@danagerous - этот ответ был написан, когда QGIS 1.8была текущей установочной версией. Как вы показали, текущая версия до 2.2.0. Процесс и этапы , чтобы убедиться , что библиотека установлена остаются теми же, но вы всегда хотите использовать самую последнюю версию , доступную для обоих QGISи в gdal-fgdbбиблиотеке.
Получите Пространственное
1
Очень хорошо, спасибо .... такие документы очень важны, когда вам просто нужно немедленно приступить к работе.
Т. Уэйн Уитли
1
Вы также можете просто перетащить файл .gdb в QGIS.
tudorbarascu
42

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

Чтобы открыть базу геоданных в QGIS, обязательно выберите «Добавить векторный слой», «Тип источника = Каталог», а источником должен быть либо «OpenFileGDB», либо «ESRI FileGDB». Затем просто перейдите к выбранной папке * .gdb, нажмите «Открыть», и слои будут загружены в ваше оглавление.

Существуют некоторые текущие ограничения, такие как невозможность записи в FileGDB, но он поддерживает FileGDBs <= 10.0, что является довольно бонусом и «пользовательскими проекциями».

Пересмотренная спецификация незавершенного производства доступна на GitHub для драйвера OpenFileGDB.

SaultDon
источник
1
Спасибо за публикацию этого ... он намного короче, чем другой ответ (который я также ценю, но если больше нет необходимости проходить через все эти шаги, я благодарен за это!)
LarsH
16

Если вы работаете на Mac, вы можете скомпилировать драйвер filegdb с нуля, используя эти инструкции .

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

Раги Язер Бурхум
источник
1
Связанная страница опирается на свою первую ссылку («Загрузить SDK с веб-сайта ESRI»), которая сейчас не работает.
Павел В.
Ну, ответ был с 2012 года. :) За последние три года произошло много изменений. Вы можете скомпилировать без особой магии, используя homebrew, и он также доступен в дистрибутиве OSGeo Windows.
Раги Язер Бурхум
1
Не могли бы вы отредактировать и дать инструкции по компиляции с использованием homebrew? В частности - совместима ли установка homebrew с установщиком KyngChaos gdal-complete?
Симбамангу
Если вы используете homebrew, вам следует держаться подальше от бинарных файлов KyngChaos, иначе у вас могут возникнуть проблемы во время компиляции, так как вы получите несколько версий gdal.
Раги Язер Бурхум
5
  • Загрузите и запустите установку OSGEO4W (я бы предложил 32-битную версию)

  • Запустите его один раз, используя опцию Desktop Installation, чтобы установить QGIS (и любые другие программы для рабочего стола, которые вы хотите).

  • После того, как все это будет сделано, снова запустите установку OSGEO4W из меню «Пуск», выберите «Расширенная установка» и перейдите к той части установки, где вы выбираете пакеты. Прокрутите вниз до пакета "gdal-filegdb" и щелкните там, где написано "Keep" на этом снимке экрана:

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

Там написано «Сохранить», потому что у меня уже установлен пакет, вы можете нажимать на него, пока текст слева не совпадет с номером «Текущий».

  • Нажмите Далее, вам нужно будет согласиться с некоторыми условиями лицензии, затем закончите установку, и все готово.
Дэн С
источник
эй спасибо, я должен использовать 32, хотя я использую 64-битные окна?
pitcherofnectar
32-битная установка OSGEO будет отлично работать на 64-битных версиях Windows, это то, что я использую на Win7 x64, и все работает. 64-разрядная установка OSGEO может также работать, но многие пакеты для нее отличаются, и у меня были проблемы с некоторыми из них.
Дан С
Я надеюсь, что вы сообщили о своих проблемах в багтрекер . К вашему сведению, есть также некоторые проблемы, связанные только с 32-битной архитектурой (например, из-за старых библиотек Qt, которые имеют некоторые проблемы со сложной геометрией). YMMV
Матиас Кун
5

у меня была связанная проблема / вопрос около 3 месяцев назад (см. неполный список qgis 2.8.1 arcgis filegdb в win-версии )

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

с тех пор я понял, что проблема с пользовательскими системами координат все еще существует! мои тесты с 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- и нестандартные данные с похожим на это

ArcCatalog:

Аргукаталог содержимого filegdb

вопрос 2.10:

qgis содержимого filegdb (драйвер FileGDB и драйвер OpenFileGDB)

мой личный вывод: всегда используйте стандартные CRC! ! !

Роберт Тув
источник
1

Хорошо, что в 2019 году вам не нужно делать выше, это уже поддерживается в qgis 3.6.

Просто и легко за 3 шага:

Шаг 1: нажмите кнопку добавления вектора (красный кружок)

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


Шаг 2: выберите каталог, openFileGDB и путь к файлу (красная стрелка)

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


Шаг 3: выберите все слои (красный круг) введите описание изображения здесь


Готово!!!!! Вы просто добавляете все слои в QGIS.

hoogw
источник