Narzędziownik APP – Dokumentacja

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, 3OUZ itd.
  • 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_15a itp.).

Jak uruchomić

  1. Wybierz (wskaz) w panelu Warstwy warstwę, dla której chcesz uporządkować numerację.
  2. 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

  1. 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.
  2. 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.
  3. 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 21OUZ liczbą jest 21),
    • 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.

  4. Wykrycie brakujących numerów
    Ze wszystkich znalezionych liczb tworzony jest zbiór wartości num. Następnie narzędzie wyznacza brakujące numery w ciągu 1..max(num). Przykład:
    • jeśli w warstwie występują numery 1, 2, 4, 5, to brakującą wartością jest 3.
  5. 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).

  6. 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, kolejny 2 itd.
    • 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.
      • jeżeli „lokalnyId” nie pasuje do oczekiwanego wzorca (np. brak myślnika lub liczby po myślniku), pole „lokalnyId” nie jest modyfikowane.
  7. 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.