Automatyczna aktualizacja warstwy bazy spatialite w QGIS na podstawie innej warstwy

Dzisiaj pokażę w jaki sposób ustawić aktualizację warstwy danych przy dodaniu geometrii w Qgis,  tak żeby automatycznie pobierała dane z innej warstwy przy tworzeniu nowego obiektu.

Jednym z możliwych sposobów będzie użycie wyzwalaczy po stronie bazy danych, którą w tym przypadku będzie spatialite. Naszym celem jest automatyczna aktualizacja warstwy punktowej o nazwę gminy leżącej pod punktem.

Co będzie potrzebne:

1. Otwieramy QGIS i tworzymy nową bazę spatialite oraz warstwę punktową w niej zawartą za pomocą polecenia: Warstwa > Twórz warstwę > Nowa warstwa Spatialite.

Obrazek wywołania polecenia nowa warstwa spatialite w QGIS

2.Wyświetla się okno dialogowe jak poniżej:

Okno nowej warstwy spatialite w QGIS

UWAGA: kolumna geometrii musi nazywać się geom.

2. Wczytujemy warstwę gmin, do qgis za pomocą polecenia dodaj warstwę wektorową.

3. Importujemy warstwę gmin z danych CODGiK do nowo utworzonej bazy spatialite za pomocą polecenia Bazy Danych > Zarządzanie Bazami > Zarządzanie Bazami – wybieramy bazę danych utworzoną w pkt 1 oraz za pomocą polecenia import importujemy plik z gminami.

Obraz importu pliku shp w programie spatialite gui

Za pomocą polecenia Bazy danych > Zarządzanie bazami > Zarządzanie bazami  – otwieramy okno SQL i wklejamy polecenie jak poniżej tworzące w bazie danych wyzwalacz. Uruchamiamy wykonaj.

Obrazek z poleceniem triggera w QGIS

Od teraz po włączeniu edycji punktu i zapisie – w polu gminy pliku punkty_gminy  pojawiają się automatycznie aktualizowane informacje o gminie która jest pod punktem.

Jeśli chcecie wiedzieć więcej o obsłudze danych w Qgis zapraszam do zapoznania się z ofertą szkoleń.