Przelicz oznaczenie obiektu
UWAGA!
W wyniku działania narzędzia, zmieniane są wartości w tabeli atrybutów wskazanej warstwy!
Cel narzędzia
Narzędzie służy do uporządkowania numeracji w polu „oznaczenie” oraz do automatycznej aktualizacji pola „lokalnyId” .

Numeracja jest traktowana jako poprawna, jeśli stanowi ciąg kolejnych liczb całkowitych zaczynających się od 1 (1, 2, 3, …, N).
Typowe zastosowanie
- wszystkie warstwy APP, w których w polu „oznaczenie” występują wartości liczbowe połączone z symbolem np:
1OUZ,2OUZ,3OUZitd. - warstwy, w których pole „lokalnyId” ma strukturę z numerem porządkowym, np.
1POG-1OUZ,1POG-2OUZ.
UWAGA!
Narzędzie przydatne jest na etapie projektowania pierwszej wersji danych PPP. Nie należy dowolnie przeliczać wartości w kolejnych “wersjach” danych APP (tj. po zmianach aktu itp.).
Wymagania dla warstwy
- Warstwa musi zawierać pole o nazwie „oznaczenie”.
- Warstwa musi zawierać pole „lokalnyId”.
- W polu „oznaczenie” musi występować co najmniej jedna liczba całkowita (np. w ciągu znaków
21OUZ,OUZ3,OUZ_15aitp.).
Jak uruchomić
- Wybierz (wskaz) w panelu Warstwy warstwę, dla której chcesz uporządkować numerację.
- Uruchom z menu wtyczki Narzędziownik APP odpowiednią pozycję odpowiadającą funkcji „Przelicz oznaczenie obiektu” (nazwa pozycji zależy od konfiguracji wtyczki).
Przebieg działania krok po kroku
- Sprawdzenie typu warstwy
Aplikacja sprawdza, czy aktywna warstwa jest warstwą wektorową. Jeśli nie – wyświetlany jest komunikat z prośbą o wybranie poprawnej warstwy. - Weryfikacja pól wymaganych
Narzędzie sprawdza, czy w warstwie istnieje pole „oznaczenie” oraz pole „lokalnyId”. Jeśli któregoś z pól brakuje, pojawia się komunikat z informacją o konieczności użycia poprawnej warstwy. - Analiza wartości w polu „oznaczenie”
Dla każdego obiektu:- odczytywany jest tekst z pola „oznaczenie”,
- wyszukiwana jest pierwsza liczba całkowita w tym tekście (np. w
21OUZliczbą jest21), - zapamiętywane są trzy elementy:
- prefix – część tekstu przed liczbą,
- num – liczba całkowita,
- suffix – część tekstu po liczbie.
Jeśli w polu „oznaczenie” nie ma żadnej liczby, dla danego obiektu numer jest pomijany.
- Wykrycie brakujących numerów
Ze wszystkich znalezionych liczb tworzony jest zbiór wartościnum. Następnie narzędzie wyznacza brakujące numery w ciągu1..max(num). Przykład:- jeśli w warstwie występują numery
1, 2, 4, 5, to brakującą wartością jest3.
- jeśli w warstwie występują numery
- Komunikat z listą brakujących numerów
Jeżeli:- nie znaleziono żadnych wartości liczbowych – narzędzie informuje o braku liczb w polu „oznaczenie” i kończy działanie,
- numeracja jest ciągła (brak brakujących numerów) – narzędzie informuje, że nie wykryto nieciągłości i nie wykonuje żadnych zmian,
- występują braki w numeracji – wyświetlane jest okno z:
- nazwą aktywnej warstwy,
- listą brakujących numerów (np.
3, 7, 8), - ostrzeżeniem, że zmiany będą wprowadzane bezpośrednio w tej warstwie oraz sugestią wcześniejszego wykonania kopii.
Użytkownik decyduje, czy kontynuować przeliczanie (przycisk Tak) czy przerwać (przycisk Nie).
- Przeliczenie numeracji (po potwierdzeniu)
Jeżeli użytkownik wybierze Tak:- tworzona jest mapująca tabela stary_numer → nowy_numer, w której:
- numery są sortowane rosnąco,
- pierwszy numer dostaje wartość
1, kolejny2itd.
- dla każdego obiektu z poprawnym numerem
num:- pole „oznaczenie” otrzymuje nową wartość:
prefix + nowy_numer + suffix, - pole „lokalnyId” jest analizowane pod kątem formatu z numerem po myślniku, np.
1POG-1OUZ:- część przed numerem i myślnik (
1POG-) pozostaje bez zmian, - liczba po myślniku (np.
1) jest zastępowana nowym numerem, - część po liczbie (np.
OUZ) pozostaje bez zmian.
- część przed numerem i myślnik (
- jeżeli „lokalnyId” nie pasuje do oczekiwanego wzorca (np. brak myślnika lub liczby po myślniku), pole „lokalnyId” nie jest modyfikowane.
- pole „oznaczenie” otrzymuje nową wartość:
- tworzona jest mapująca tabela stary_numer → nowy_numer, w której:
- Komunikat końcowy
Po zakończeniu przeliczeń wyświetlany jest komunikat z informacją, że:- pole „oznaczenie” zostało przeliczone,
- pole „lokalnyId” (lub „loklaneId”) zostało zaktualizowane w aktywnej warstwie.
Bezpieczeństwo danych
- Narzędzie dokonuje zmian bezpośrednio w aktywnej warstwie (nawet gdy nie jest włączona do edycji!) – dotyczy to zarówno pola „oznaczenie”, jak i „lokalnyId”/„loklaneId”.
- Przed uruchomieniem narzędzia zaleca się:
- wykonać kopię warstwy (np. zapisać jako osobny plik GeoPackage),
- upewnić się, że żadne inne procesy nie modyfikują tej warstwy w tym samym czasie.
Uwagi i ograniczenia
- Narzędzie działa tylko na pierwszej znalezionej liczbie w polu „oznaczenie” – jeśli tekst zawiera kilka liczb, brana pod uwagę jest pierwsza z nich.
- Numeracja jest traktowana jako poprawna, jeśli zaczyna się od 1 i jest ciągła do wartości maksymalnej. Braki w środku ciągu (np. 1, 2, 4, 5) są wykrywane i raportowane.
- Format pola „lokalnyId” musi odpowiadać wzorcowi z numerem po myślniku, np.
1POG-1OUZ. Inne formaty nie są zmieniane. - Narzędzie nie zmienia struktury tabeli (nie dodaje ani nie usuwa pól) – modyfikuje jedynie wartości atrybutów.
