Wczytywanie danych GML BDOO za pomocą wtyczki Qgis GML Application Schema Toolbox

Qgis ciągle się rozwija i oferuje nowe narzędzia w tym również do czytania i przetwarzania w sposób nieco bardziej zaawansowany plików GML. Odpowiadając na potrzebę wczytywania danych GML w sposób umożliwiający przekazanie relacji zawartych w schematach danych XSD powstała wtyczka Qgis GML Application Schema Toolbox umożliwiająca takie czytanie danych GML. Wtyczkę możecie doinstalować poprzez menu Qgis Wtyczki > Zarządzaj wtyczkami.

Spróbujmy użyć wtyczki do wczytania darmowych danych BDOO ze strony Codgik. Do testów posłużą dane BDOO z województwa pomorskiego, które możecie znaleźć na stronie codgik zakładka darmowe dane lub bezpośrednio tutaj(dostęp 11.04.2017)

Wtyczka umożliwia wczytanie tylko pojedynczej warstwy więc spróbujemy wczytać warstwę PTWP_A za pomocą ustawień wczytujących model relacyjny. (obrazek poniżej)

 

 

 

Próba wczytania danych kończy się niepowodzeniem, a konkretnie wyjątkiem Pythona wyglądającym jak poniżej:

 

 

 

 

 

 

Można by było nie mając większej wiedzy technicznej uznać że wtyczka nie nadaje się do czytania „polskich” GML. Tyle, że wtyczka działa prawidłowo. W czym więc problem ?

Problem jak zwykle leży po stronie dostawcy danych GML, w tym przypadku GUGiK/CODGiK, którzy nie potrafią wytworzyć poprawnych technicznie plików GML zgodnych ze specyfikacją.

Otóż jakiś czas temu zmieniono nazwy katalogu zawierającego schematy XSD z BDOT10kGML na XSD w danych BDOO. Problem polega na tym że GUGiK poprawiając niektóre dane i zmieniając nazwę katalogu ze schematami nie zaktualizował ścieżek  do tego katalogu w nagłówkach plików XML w znaczniku schemaLocation. Nadal wskazuje on na katalog, którego już nie ma czyli BDOT10kGML.

I tylko taki z pozoru drobny błąd wystarczy żeby dane GML nie dawały się już wczytać w niektórych bardziej zaawansowanych programach. Oczywiście ludzie nie mający wiedzy o GML nie będą w stanie poprawić tego błędu i mogą mieć mylne przeświadczenie że to wina Qgisa lub wtyczki.

Pełen raport błędów plików BDOO w GML dla wszystkich województw znajdziecie tutaj. (dostęp 11.04.2017)

Zmieniając ścieżkę na prawidłową czyli zamieniając w nagłówku xml BDOT10kGML na XSD w miejscu pokazanym poniżej

 

wtyczka zadziała i pokaże dane połączone w sposób relacyjny w Qgis.

 

 

 

 

Dane i schematy z którymi się stykam w Polsce przeważnie nie spełniają standardów w zakresie ich wytworzenia więc takich problemów będzie coraz więcej wraz ze wzrostem ilości narzędzi, które w sposób bardziej zaawansowany przetwarzają dane GML a które bazują na światowych standardach które w Polsce nie są przestrzegane.

Jeśli chcecie wiedzieć więcej o tym i rozwiązywaniu problemów z wczytywaniem i przetwarzaniem danych GML zapraszam na szkolenia.