envirosolutionspl / wtyczka_qgis_app

Wtyczka QGIS wspomagająca przygotowanie aktów planowania przestrzennego zgodnych z rozporządzeniem Ministra Rozwoju, Pracy i Technologii z dnia 26 października 2020 r. w sprawie zbiorów danych przestrzennych oraz metadanych w zakresie zagospodarowania przestrzennego
GNU General Public License v3.0
1 stars 2 forks source link

Przestrzeń nazw wfs / błędne sprawdzanie poprawności APP przy tworzeniu zbioru #148

Open geo-system opened 2 years ago

geo-system commented 2 years ago

Wtyczka w module tworzenia zbioru APP na podstawie istniejących plików GML błędnie sprawdza poprawność dodawanego pliku. Jeśli dodaje się plik, który wykorzystuje elementy gml:FeatureCollection i gml:featureMember, to wtyczka informuje o błędzie "Wczytany plik: [...] nie jest aktem planowania przestrzennego." Dzieje się tak dla poprawnych plików GML zgodnych ze schematem, które są rozpoznawane jako prawidłowe przez walidator na stronie gov.pl oraz walidator w samej wtyczce.

w tym miejscu jest sprawdzenie https://github.com/envirosolutionspl/wtyczka_qgis_app/blob/867d430b263a17ebcf9b355288ef08c293456bb4/modules/app/wtyczka_app.py#L667 a tu funkcja sprawdzająca https://github.com/envirosolutionspl/wtyczka_qgis_app/blob/867d430b263a17ebcf9b355288ef08c293456bb4/modules/utils.py#L1966

Jak widać szukana jest ścieżka wfs:member/app:AktPlanowaniaPrzestrzennego, co jest błędnym oczekiwaniem, bo pliki APP jak najbardziej mogą być oparte o elementy z przestrzeni gml.

Tak więc powinno to zostać poprawione, by nie powodowało to tego typu fałszywych informacji o niepoprawności pliku.

Na marginesie pytanie: czemu w ogóle wtyczka APP wykorzystuje przestrzeń nazw wfs? (np. generowanie przez nią plików GML z elementami wfs:FeatureCollection i wfs:member zamiast gml:FeatureCollection i gml:featureMember) Z czego to wynika i czemu ma służyć? Bo raz, że przy ścisłym trzymaniu się schematu dla APP taki plik nie powinien być uznany jako poprawny, bo XSD nie ma odwołania do wfs, a ma za to do gml. Dwa - również pod względem praktycznym jest to nielogiczne, bo pliki APP funkcjonują właśnie jako pojedyncze i statyczne pliki, więc czemu w środku udają jakby były odpowiedzią z usługi sieciowej.