Edycja danych w Qgis z użyciem słowników, pola dat i atrybutów pól

Często zdarza się, że dane GIS, które otrzymujemy posiadają słowniki, które są zewnętrznymi plikami. Podejście takie wynika z działania relacyjnych baz danych, które przechowują dane w postaci liczby odpowiadającej unikalnej wartości tekstowej i tworzą oddzielnie tabelę słowników, żeby uniknąć wielokrotnego powtarzania wartości (redundancja).

Przy edycji takich danych musimy zachowywać źródłową strukturę pliku shp, aby przy wydaniu aktualizacji dane te mogły być bez problemu wczytane do bazy danych.

Pokażę na przykładzie jak ustawić edycję w QGIS tak, by zachować istniejące słowniki nie zmieniając struktury i stosując ograniczenia w możliwości wpisania tylko określonej wartości danych zgodnej z wartościami ze słowników, formatu daty i zaokrągleniami.

Struktura przykładowego pliku shp – który możecie znaleźć tutaj.
id – standardowa kolumna wartości klucza w bazie danych – liczby całkowite nie powtarzające się – należy pamiętać żeby po edycji dodać nie powtarzający się numer dla każdego pola.
data – kolumna przechowująca datę w postaci RRRR-MM-DD (np 2012-01-30)
typ – typ obiektu będący liczbą całkowitą odpowiadającą poniższemu słownikowi:
1 – most
2 – kładka
3 – przepust
4 – nieznane
dlugosc – długość obiektu która może być tylko zapisywana z dokładnością do 0.50 m.

Po otwarciu pliku,włączeniu edycji i próbie zmiany atrybutów zobaczycie, że można wpisywać dowolne dane, które niekoniecznie spełniają powyższe wymagania.

Widok edycji pola daty przed przypisaniem typu w QGIS

Włączmy więc ograniczenia dla edytowanych i nowych danych atrybutów:

1. Prawy przycisk myszy na warstwie linie mostowe > właściwości > pola

Właściwości warstwy w QGIS

2. W rodzaju edytora wybieramy:

Dla pola data

Właściwości pola data w QGIS

Dla pola typ:

Właściwości pola słownik w QGIS
Dla pola długość:

Właściwości pola suwak w QGIS

Klikamy zastosuj i po próbie edycji warstwy uzyskujemy efekt o jaki nam chodziło.

Okno pola wyboru QGISOkno kalendarza dla pola data w QGIS

Dopisanie rodzaju edycji w QGIS zapisuje się w pliku projektu, a nie w danych należy więc pamiętać, żeby poprzez polecenie projekt > zapisz zapisać plik projektowy z ustawieniami.

Ograniczenia, które wprowadziliśmy nie wpływają na dane i typ kolumn źródłowego pliku shp. Wprowadzając obiekt kładka w kolumnie typ, program sam doda w tym polu wartość liczbową odpowiadającą tej wartości w słowniku czyli 2. Dodawanie nowych obiektów nie wymaga więc od was znajomości słowników, a jedynie wyboru z listy dopuszczalnych wartości. 

Warto również przyjrzeć się innym typom wartości jakie możemy przypisać do pól za pomocą rodzaju edytora.