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:
- Qgis w wersji 2.6.1 – uwaga jeśli pobrałeś 2.6.0 zaktualizuj go do najnowszej wersji.
- Jednostki administracyjne do pobrania ze strony CODGiK (za darmo) – plik gminy.shp w zip. (uwaga duży plik)
- Warstwa punktowa punkty_gmina którą stworzymy w bazie spatialite za pomocą QGIS
1. Otwieramy QGIS i tworzymy nową bazę spatialite oraz warstwę punktową w niej zawartą za pomocą polecenia: Warstwa > Twórz warstwę > Nowa warstwa Spatialite.
2.Wyświetla się okno dialogowe jak poniżej:
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.
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.
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ń.