Сохранение нескольких слоев из QGIS в базу данных SpatiaLite?

10

Каждый раз, когда я сохраняю слой из QGIS в качестве пространственного объекта, он настаивает на создании нового БД (если вы выбираете существующий БД, вас спросят, отменять или заменить).

Я хочу упаковать все слои проекта в одну пространственную базу данных для распространения.

Я полагаю, что могу использовать нативные инструменты sqlite для объединения слоев из отдельных файлов, но было бы неплохо не делать этого.

Рассел Фултон
источник

Ответы:

11

Вы можете создать пустую базу данных SpatiaLite, используя Layer > Create Layer > New SpatiaLite Layer. Как только вы это сделаете, он появится в менеджере БД (включенный плагин; включите его из менеджера плагинов, если он отключен). В качестве альтернативы, если у вас есть существующая база данных, в которую вы хотите добавить слои, добавьте ее Layer > Add Layer > Add Spatialite Layer( не с Add Vector Layer). Это заставит базу данных SpatiaLite появиться в менеджере БД

Выполнив одно из указанных выше действий, вы можете использовать Менеджер БД для импорта любого слоя, загруженного в QGIS, любого происхождения, в БД SpatiaLite.

Я считаю, что это лучший вариант, чем использование Qspatialite, так как DB Manager является основным плагином QGIS и поддерживается командой QGIS.

dericke
источник
Как импортировать слой в базу данных SpatialLite с помощью менеджера баз данных? Я устал, но при использовании просто меню «Импорт слоя / файла» геометрия теряется.
Bushroot
7

попробуйте подключаемый модуль qspatialite ( https://plugins.qgis.org/plugins/QspatiaLite/ )

(Создайте пустую базу данных, теперь вы можете выбрать все слои и добавить их сразу. Снимок экрана 1)

Сохранение слоев в БД

Получение слоев из БД

Kurt
источник