13 Półautomatyczne numerowanie obiektów
W QGIS można numerować pole „treenumber” kolejno w kalkulatorze pól, zaczynając od określonej liczby i z zerami początkowymi, łącząc funkcje rownumber()
i lpad()
.
Oto przykład tego, jak mogłoby to wyglądać:
Krok 1: Kolejna numeracja zaczynająca się od określonego numeru
Aby rozpocząć kolejną numerację z określonym numerem początkowym, można użyć funkcji rownumber()
i dodać numer początkowy. Na przykład:
@row_number + 100
Spowoduje to dodanie 100 do każdego numeru linii, tak aby numeracja zaczynała się od 101.
Krok 2: Zera wiodące dla poprawnego sortowania
Można użyć funkcji lpad(
), aby dodać zera w celu zapewnienia, że wartości są prawidłowo wyrównane do sortowania. Funkcja lpad(
) ma następujący format:
lpad(string, Länge, Zeichen)
string
: Wartość, którą chcą Państwo sformatować (np.@row_number + 100
).Length
: Całkowita długość wyniku, łącznie z zerami.Znak
: Znak, który ma zostać użyty do wypełnienia (np.0
).
Krok 3: Połączenie obu funkcji
Kombinacja funkcji dla kolejnej numeracji, która zaczyna się od 101, i dwucyfrowego wyjścia z wiodącymi zerami wygląda następująco:
lpad(@row_number + 100, 5, '0')
Oznacza to:
- Numeracja zaczyna się od 101.
- Wynik ma długość 5 znaków.
- Zera są wstawiane przed numerem, jeśli jest on krótszy niż 5 znaków.
Przykład:
Jeśli @row_number
ma wartość 1
, lpad(@row_number + 100, 5, '0')
zwraca wartość 00101
.
Pełny przykład w kalkulatorze polowym:
Jeśli chcą Państwo zaktualizować pole „treenumber”, mogą Państwo wprowadzić to wyrażenie w kalkulatorze pola:
lpad(@row_number + 100, 5, '0')
Generuje to kolejną numerację od 101, która zawsze składa się z 5 cyfr (np. 00101
, 00102
, 00103
itd.).