krajobraz-GIS-analiza przestrzenna

Tomasz Giętkowski i współautorzy bloga: Sebastian Czapiewski, Jakub Makarewicz, Szymon Bryzgalski

Przenoszenie danych referencyjnych z EGiB do QGISa

Zadanie było takie: przenieść działki, kontury użytków i budynki (3 warstwy) do QGIS.
Ewidencja Gruntów i Budynków jest prowadzona w EWID i może wydać pliki mif lub gml. Dane są w układzie 1965.

Z EGIB pozyskałem plik w formacie MIF (MapInfo) z poligonami. Jak to w geodezji bywa, plik ma zamienione miejscami współrzędne X i Y. W QGIS po imporcie pokazało się lustrzane odbicie mapy. Zapisałem jako gml żeby plik podejrzeć. Zastosowałem na danych wtyczkę SWAP XY  autorstwa Borysa Jurgiela, dostępną w oficjalnym repozytorium do zamiany współrzędnych X i Y. Współrzędne zostały zamienione i trafiły we właściwe miejsce, ale geometria poligonów była uszkodzona. Nie zostały właściwie domknięte. Po użyciu wtyczki Check geometry okazało się, że z formatu mif wychodzą nie zamknięte poligony. Niestety w QGIS nie ma niczego w stylu Repair geometry. Użyłem więc Densify Geometries, żeby program przeanalizował wszystkie obiekty i przepisał je do nowego pliku. I to okazało się skuteczne działanie, bo dołożyło wprawdzie trochę megabajtów do pliku, ale algorytm SWAP XY pozamykał poligony. Po kolejnej próbie SWAP XY efekt jest bez zarzutu.

Dzięki Borysowi za wskazówkę. Szybko dostosował też wtyczkę do wersji 2.0 QGISa.

Wnioski praktyczne:

  • dane z EWID można eksportować do MIF, ale trzeba  się liczyć z przestawianiem współrzędnych,
  • MIF nie powtarza współrzędnych na końcu poligonów (nie zamyka łańcucha), co powoduje błędy w konwersji współrzędnych,
  • geometrię trzeba sprawdzać w formacie GML w ascii – w tekście wszystko wydać jak na dłoni, czy geometrie obiektów są dobre,
  • wtyczka SWAP XY działa, ale nadpisuje dane wejściowe – koniecznie trzeba zrobić kopię danych,
  • algorytm Densify Geometries naprawia geometrię poligonów, ale powoduje zwiększenie ilości węzłów.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>