Częste błędy walidacji GML EGiB

W związku z problemami z interpretacją raportów niezgodności, które tworzy aplikacja weryfikująca pliki GML udostępniona przez GUGiK, postanowiliśmy opisać często pojawiające się błędy:

  1. Obiekt ma zdefiniowany element adresLokalu bez przekazania jego wartosci (EGB_LokalSamodzielny).
    Są to lokale bez adresów - obecnie adres lokalu jest atrybutem wymaganym.
  2. Obiekt ma zdefiniowany element JRGZwiazanaZJRB bez przekazania jego wartosci (EGB_JednostkaRejestrowaBudynkow).
    Są to braki powiązań jednostek rejestru budynków z jednostkami rejestru gruntów. Można je uzupełnić z poziomu rejestru budynków, w panelu znajdującym się w środku pomiędzy listą władających a listą budynków, w polu "JR związana" (przycisk z czerwonym plusem i minusem).
  3. Element 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0:powierzchniaPomieszczeniaPrzynaleznego' jest nieprawidłowy. Wartosc '' jest nieprawidłowa przy uwzglednieniu jego typu danych 'AreaType' - Ciag '' nie jest prawidłowa wartoscia Double.
    Są to puste powierzchnie pomieszczeń przynależnych do lokali. W schemacie aplikacyjnym ta powierzchnia jest wymagana. Istnieje możliwość wykonania przez nas skryptu w bazie danych, który automatycznie zamieni te puste powierzchnie na zera.
  4. Element element 'geometria' w przestrzeni nazw 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0' ma nieprawidłowy element podrzedny element 'MultiCurve'.
    Są to błędne rodzaje geometrii, najczęściej schodów dla budynków, które wg schematu powinny być zamkniętym poligonem, a w bazie są wielolinią.
  5. Element 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0:licznikUdzialuWNieruchomosciWspolnej' jest nieprawidłowy. Wartosc '' jest nieprawidłowa przy uwzglednieniu jego typu danych 'nonNegativeInteger' - Ciag '' nie jest prawidłowa wartoscia Integer.
    Wynika to z braku powiązań pomiędzy udziałem z rejestru lokali a udziałem z rejestru gruntów (tzw. prawa związane). Należy uzupełnić brakujące prawa związane z poziomu rejestru lokali.
  6. Element 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0:mianownikUdzialuWNieruchomosciWspolnej' jest nieprawidłowy. Wartosc '' jest nieprawidłowa przy uwzglednieniu jego typu danych 'positiveInteger' - Ciag '' nie jest prawidłowa wartoscia Integer.
    Jak wyżej.
  7. Element 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0:podgrupaRej' jest nieprawidłowy. Wartosc '' jest nieprawidłowa przy uwzglednieniu jego typu danych.
    Pusta lub błędna grupa rejestrowa przy udziale w rejestrze gruntów.
  8. Element 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0:waznoscOd' jest nieprawidłowy. Wartosc '' jest nieprawidłowa przy uwzglednieniu jego typu danych 'date' - Ciag '' nie jest prawidłowa wartoscia Date.
    Chodzi o daty, od których obowiązuje umowa dzierżawy - nie mogą być puste.
  9. Element 'urn:gugik:specyfikacje:gmlas:ewidencjaGruntowBudynkow:1.0:status' jest nieprawidłowy. Wartosc '' jest nieprawidłowa przy uwzglednieniu jego typu danych 'EGB_StatusPodmiotuEwidType'.
    Błędny status osoby prawnej, instytucji, podmiotu grupowego lub małżeństwa. Najczęściej dotyczy to małżeństw, ponieważ ich status zależy od tego, jakie obywatelstwo mają mąż i żona. Jeśli obywatelstwo tych osób fizycznych jest nieokreślone, do GML wydawane jest małżeństwo z pustym statusem.
  10. Element '', szesnastkowa wartosc 0x1F, jest nieprawidłowym znakiem.
    Do GMLa został wydany niepoprawny znak, zapisany jako  należy odnaleźć linię z tym znakiem w pliku GML, sprawdzić jakiego obiektu dotyczy ten błąd i jakiego atrybutu, następnie odszukać ten obiekt w bazie i wpisać tę wartośc atrybutu jeszcze raz. Przypadek, który nam się zdarzył dotyczył działki, która w uwagach miała wpisany tekst zawierający ten znak. Znak ten był niewidoczny, trzeba było ten tekst skasować i wpisać od nowa, wtedy błąd przestał się pojawiać.
  11. Aktualny budynek nie jest powiazany z aktualna działka (dzialkaZabudowanaBudynkiem)./Obiekt, na który jest odwołanie w relacji (dzialkaZabudowanaBudynkiem), nie istnieje.
    Błąd dotyczy budynków, które nie mają przypisanej żadnej działki. Najczęściej są to budynki BNE, które właśnie tym się charakteryzują, że nie mają określonej relacji do działki. W opcjach, jakie są dostępne w formularzu wydawania GML jest marker "wydaj budynki BNE", który nie powinien być zaznaczony, jeśli chcemy uniknąć takich błędów podczas walidacji.
    Sytuacja może dotyczyć również "normalnych" budynków, stojących na granicy obrębu. Wówczas taki budynek stoi na działkach z dwóch obrębów ewidencyjnych. Jeśli wydamy plik GML dla pojedynczego obrębu, wówczas jedna z działek, na której stoi budynek nie zostanie wydana do tego pliku, co jest sygnalizowane takim właśnie błędem. Nie powinien on wystąpić jeśli wyda się plik GML z obydwoma obrębami, lub np. dla całego powiatu.
  12. Obiekt ma zdefiniowany element dzialkaZabudowanaBudynkiem bez przekazania jego wartosci (EGB_Budynek).
    Jak wyżej.
  13. Obiekt ma zdefiniowany element geometria bez przekazania jego wartosci (EGB_DzialkaEwidencyjna).
    Chodzi o działki, które nie mają określonej ani geometrii, ani georeferencji (centroidu), czyli takie, które w programie oznaczane są jako działki występujące tylko w części opisowej EGiB.

 

UWAGI:

Przypominamy, że pliki GML nie powinny być wydawane w czasie, gdy w bazie danych wykonywane są zmiany, ponieważ dane w takich plikach mogą być niespójne. Częstym błędem jaki pojawia się, gdy wydajemy GML podczas wykonywania zmian jest komunikat "Dla obiektu o id: xxxxx z klasy yyyyyy nie znaleziono identyfikatora 'lokalnyId' i/lub 'przestrzenNazw':

gml brak lokalnego id

 

Przestrzeń nazw:
Konieczne jest jednorazowe wpisanie do bazy, właściwej dla Państwa ośrodka przestrzeni nazw. Jeśli ta, która jest wpisana ma postać: "PL.PZGiK.0000.EGiB", to jest ona błędna (wprowadzona przez nas automatycznie, żeby cokolwiek tam było). Każdy powiat ma swoją własną, zgodną z ewidencją zbiorów i usług danych przestrzennych prowadzoną przez Głównego Geodetę Kraju:
www.geoportal.gov.pl/ewidencja-zbiorow-i-uslug
W tej ewidencji trzeba odszukać zbiór danych ewidencji gruntów i budynków swojego powiatu i odczytać jego "Identyfikator zbioru danych przestrzennych". Na przykład dla Powiatu Świdwińskiego jest to "PL.PZGiK.275", więc przestrzeń nazw dla ewidencji gruntów będzie "PL.PZGiK.275.EGiB" (bez cudzysłowów) i taką należy wpisać w ustawieniach TurboEWID w sekcji "Dane urzędu" w zakładce "GML". Jeśli sekcja "Dane urzędu" nie wystepuje w ustawieniach, należy najpierw uruchomić jakiś formularz z modułu EGiB, aby ten moduł załadował się do systemu, wówczas załadują się także jego karty ustawień. Po takiej operacji sekcja "Dane urzędu" powinna już być widoczna w ustawieniach. Zatwierdzanie zmiany przestrzeni nazw będzie trwało dość długo, ponieważ w bazie danych musi być ona zmieniona we wszystkich obiektach EGiB.