Zapisujesz wiele warstw z QGIS w bazie danych SpatiaLite?

10

Za każdym razem, gdy zapisuję warstwę z QGIS jako przestrzeń, nalega na utworzenie nowej bazy danych (jeśli wybierzesz istniejącą bazę danych, zostaniesz zapytany, czy anulować, czy zastąpić).

Chcę spakować wszystkie warstwy projektu do jednej bazy danych przestrzennych w celu dystrybucji.

Wydaje mi się, że mogę używać natywnych narzędzi sqlite do łączenia warstw z poszczególnych plików, ale byłoby miło nie musieć tego robić.

Russell Fulton
źródło

Odpowiedzi:

11

Możesz utworzyć pustą bazę danych SpatiaLite za pomocą Layer > Create Layer > New SpatiaLite Layer. Gdy to zrobisz, pojawi się w DB Managerze (dołączona wtyczka; włącz z menedżera wtyczek, jeśli jest wyłączona). Alternatywnie, jeśli masz istniejącą bazę danych, do której chcesz dodać warstwy, dodaj ją za pomocą Layer > Add Layer > Add Spatialite Layer( nie za pomocą Add Vector Layer). Spowoduje to, że baza danych SpatiaLite pojawi się w DB Managerze

Po wykonaniu jednej z powyższych czynności można użyć Menedżera DB, aby zaimportować dowolną warstwę załadowaną do QGIS dowolnego pochodzenia do SpatiaLite DB.

Uważam, że jest to lepsza opcja niż używanie Qspatialite, ponieważ DB Manager jest podstawową wtyczką QGIS i jest utrzymywana przez zespół QGIS.

dericke
źródło
Jak zaimportować warstwę do SpatialLite DB za pomocą DB Manager? Zmęczyłem się tym, ale gdy korzystam z menu „Importuj warstwę / plik”, geometrie są tracone.
Bushroot