Systemy Informacji Geograficznej

Odwzorowania i kody EPSG

Wszystkie dane geograficzne, czyli dane powiązane z konkretną lokalizacją, posiadają współrzędne określone w jednym z wielu odwzorowań kartograficznych. Różnice między formą analogową i cyfrową sprowadzają się tym punkcie wyłącznie do możliwości łatwej konwersji między różnymi projekcjami w przypadku tej pierwszej. Nie jest celem niniejszego skryptu omawianie rodzajów i cech poszczególnych sposobów przedstawiania powierzchni Ziemi na płaszczyźnie - dowolny podręczniki kartografii ogólnej będzie lepszym miejscem poszukiwań - a jedynie zasygnalizowanie pewnych konwencji związanych z tym zagadnieniem obowiązujących w systemach GIS.

Odwzorowanie kartograficzne w jakim określone są współrzędne danej warstwy określone jest przeważnie na jeden z dwóch sposobów:

  1. Przy pomocy definicji PROJ.4:

    +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs

  2. Przy pomocy kodu EPSG:

    EPSG:4326

Pierwszy ze sposobów wykorzystuje bibliotekę PROJ.4, przy której pomocy można opisać dowolne odwzorowanie. W drugim przypadku mamy do czynienia z pewnego rodzaju skrótem - każdemu kodowi EPSG odpowiada opis odwzorowania w zapisie PROJ.4. Baza kodów EPSG (European Petroleum Survey Group) jest wykorzystywana powszechnie do opisu danych geograficznych. Warte zapamiętania kody to:

Układ współrzędnych Kod EPSG
WGS-84 4326
PUWG 1992 2180
UTM 326nn*
PUWG 1965 (I) 3120
PUWG 1965 (II) 2172
PUWG 1965 (III) 2173
PUWG 1965 (IV) 2174
PUWG 1965 (V) 2175
GUGIK-80 3228

*dwie ostatnie cyfry kodu to numer strefy - polska leży w strefach 33-35

Kody EPSG można wyszukać na stronie Spatial Reference List http://spatialreference.org/ref/epsg/

Nadawanie georeferencji

Przy przetwarzaniu danych do formatu cyfrowego często zdarza się, że konieczne jest nadanie im atrybutu danych geograficznych czyli georeferencji. Tak jest w przypadku skanowanych map topograficznych. Proces polega na transformacji współrzędnych obrazowych (piksele) na współrzędne geograficzne w jednym z wybranych odwzorowań oraz odpowiedniej konwersji obrazu. Wymagana jest przy tym obecność punktów refrencyjnych o znanych współrzędnych. Na mapach topograficznych taką funkcję pełni przeważnie ramka mapy.

Do georeferencjonowania w QGIS służy odpowiednia wtyczka - menu Wtyczki/Georeferencer (jeśli nie ma należy włączyć w Menedżerze wtyczek). Po jej wybraniu otwiera się nowe okno Georeferencera. Procedura nadawania georeferencji jest następująca:

  1. Należy wczytać plik rastrowy - Plik/Otwórz raster
  2. Przy pomocy narzędzi z paska zadań należy przybliżyć widok do jednego z przecięć siatki mapy.
  3. Należy wybrać opcję dodania punktu kontrolnego (GCP) - Edytuj/Dodaj punkt oraz zaznaczyć jak najdokładniej środek przecięcia lini siatki mapy.
  4. Po zaznaczeniu punktu pojawia się okno, w którym należy wpisać w odpowiednim formacie współrzędne odczytane z siatki mapy.

  5. Dodawanie punktu kontrolnego.

  6. Podpunkty 2-4 należy powtórzyć co najmniej 4 razy. Umieszczając GCP w jak najodleglejszych miejscach rastra.
  7. Kiedy w dolnym oknie będą już co najmniej 4 punkty, można ustalić parametry transformacji - Ustawienia/Ustawienia transformacji. W tym oknie należy wskazać:
    • Rodzaj transformacji - Liniowa
    • Metodę resamplingu - Najbliższe sąsiedztwo
    • Kompresje - LZW
    • Raster wynikowy - nazwa nowego pliku
    • Układ współrzędnych - wybrany z listy kod EPSG.
  8. Ostatnim etapem jest wybranie opcji - Plik/Wykonaj. Jeśli punkty kontrolne są wczytane prawidłowo rezultatem działanie będzie plik GeoTIFF. Istnieje opcja zapisu punktów GCP w celu późniejszego wykorzystania lub poprawienia błędów.

Przykładowy plik mapy w układzie PUWG 1992:

Przy ustalaniu współrzędnych z ramki mapy należy pamiętać o tym, że:

  1. Współrzędne odwzorowań płaskich podawane są w układach 1992 i 1965 w postaci km a jednostkami odwzorowania są metry.
  2. Układ 1965 dzieli się na strefy - w każdej z nich brakuje pierwszych cyfr przed współrzędnymi. Dla Ustki (patrz zadanie) jest to strefa III a brakujące cyfry to 3 dla X i 6 dla Y.

ZADANIE 3.1. Ściągnij i nadaj georeferencje następującym rastrom:
  1. Poznań - mapa topo 1:50k, układ PUWG 1992
  2. Ustka - mapa topo 1:50k, układ PUWG 1965
Dodatkowo, mapę Poznania zarejestruj w układzie WGS-84.

Zmiana odwzorowania

W przypadku konieczności nałożenia na siebie warstw danych z wielu źródeł, może się zdarzyć, iż będą one posiadać georeferencje w różnych układach współrzędnych. Część programów potrafi wyświetlić je w jednym oknie dokonując "reprojekcji-w-locie", jednak dla większości zastosowań należy wszystkie dane sprowadzić do jednego, najbardziej odpowiedniego odwzorowania.

Za reprojekcje warstw odpowiada w QGIS biblioteka GDAL. Wtyczka GdalTools pełni rolę graficznego interfejsu użytkownika, zapewniającego łatwy dostęp do większości funkcji związanych z przetwarzaniem rastrów. Po jej uaktywnieniu - menu Wtyczki/Zarządzaj wtyczkami/GdalTools, pojawi się nowe menu - Raster. Aby dokonać transformacji należy:

  1. Z menu Raster wybrać opcję Zmień odwzorowanie
  2. Wybrać raster do transformacji - Plik źródłowy
  3. Wskazać nazwę pliku docelowego - Plik wynikowy
  4. Wskazać odzworowanie aktualne - Źródłowy układ współrzędnych
  5. Wybrać układ do transformacji - Układ współrzędnych
  6. Kliknąć OK - zostanie utworzony nowy plik GeoTIFF zawierający przetworzony obrazek. Jeśli zaznaczona została odpowiednia opcja, zostanie on wczytany do okna bieżącego projektu QGIS.


Reprojekcja danych rastrowych

Zdalne źródła danych - WMS

Niezmiernie przydatną funkcją QGIS jest możliwość wykorzystania danych przestrzennych udostępnianych zdalnie przez serwery przy wykorzystaniu usług opartych o standardy OGC np. Web Map Service (WMS).

Aby dodać warstwę z serwera wystarczy wykonać poniższe czynności:

  1. Z menu Warstwa wybrać opcję Dodaj warstwę WMS
  2. Kliknąć Dodaj domyślne serwery
  3. Z rozwijanego menu wybrać jeden z serwerów np. Lizardtech (niestety niedawno serwer NASA przestał być dostępny) i kliknąć Połącz
  4. Po chwili w oknie pod lista serwerów pojawi się lista dostępnych warstw, po zaznaczeniu i wybraniu opcji Dodaj żądana warstwa zostanie dodana do okna mapy

Oprócz listy domyślnych serwerów, można oczywiście korzystać z ogromnej liczby (niestety, dla obszaru Polski wciąż bardzo małej) dostępnych w internecie źródeł danych. Wystarczy znać adres URL.

Procedura dodawania nowego serwera prezentuje się następująco:

  1. Z menu Warstwa wybrać opcję Dodaj warstwę WMS
  2. Kliknąć Nowy
  3. Uzupełnić pola Nazwa (dowolnie) oraz URL (adres serwera)
  4. Od tej chwili serwer dostępny jest na liście pod nadaną przed chwila nazwą.


Dodawanie nowego serwera do listy.

Poniżej przykładowe adresy serwerów WMS:

  • Geoportal - ortofotomapa

    http://sdi.geoportal.gov.pl/wms_orto/wmservice.aspx

  • Geoportal - rastrowa mapa sozologiczna

    http://sdi.geoportal.gov.pl/wms_sozo/wmservice.aspx

  • Geoportal - rastrowa mapa topograficzna

    http://sdi.geoportal.gov.pl/wms_topo/wmservice.aspx

  • Europejska Baza Danych o Glebach

    http://eusoils.jrc.ec.europa.eu:80/wmsconnector/com.esri.wms.Esrimap/Eusoils_WMS?

  • WMS dla Powiatu Poznańskiego

    http://wms.podgik.poznan.pl/cgi-bin/poznan
  • Generalna Dyrekcja Ochrony Środowiska

    http://wms.gdos.gov.pl/geoserver/wms
ZADANIE 3.2. Znajdź trzy (3) serwery WMS dla dowolnego regionu i krótko opisz zakres tematyczny udostepnianych danych.

Zdalne źródła danych - PostGIS

Dane geograficzne mogą być również przechowywane w tzw. przestrzennych bazach danych. W większości przypadków są to zwykłe bazy danych np. MySQL, Oracle, Postgresql, wzbogacone o odpowiednie rozszerzenia. PostGIS jest właśnie takim rozszerzeniem do bazy danych Postgresql. QGIS umożliwia przeglądanie i edycję danych, a poprzez wtyczki również zarządzanie strukturą tabel.

Dodawanie nowej warstwy wymaga zdefiniowania połączenia z serwerem:

  1. Z menu Warstwa wybrać opcję Dodaj warstwę PostGIS
  2. Kliknąć Nowy
  3. Uzupełnić pola Nazwa (dowolnie) oraz Host (adres serwera), Nazwę bazy danych, Numer portu, Nazwę użytkownika i Hasło
  4. Dla wygody można zaznaczyć opcje zapisania nazwy użytkownika i hasła
  5. W przypadku, gdy w bazie danych znajdują się też dane nieprzestrzenne, można ograniczyć wybór do warstw przestrzennych zaznaczając opcje "Sprawdź tylko geometry_columns".
  6. Po wprowadzeniu danych serwera można sprawdzić ich poprawność klikając w przycisk "Testuj połączenie". Jeśli jest poprawne należy zapisać konfiguracje klikając "Ok".

Mając zdefiniowany serwer, można otrzymać listę dostępnych warstw klikając przycisk "Połącz" - analogicznie jak miało to miejsce w przypadku warstw WMS


Dodawanie nowego serwera PostGIS

ZADANIE 3.3.
  1. Do okna mapy dodaj warstwę ze zbiornikami wodnymi:
    Serwer: earthisflat.net
    Port: 5433
    Baza danych: ki_przyklad
    Warstwa: poland_water
    Nazwa użytkownika: geoinfo
    Hasło: wngiguam
  2. Do okna mapy dodaj z bazy danych warstwę zawierającą obiekty turystyczne ("Tourism"), wykorzystując warstwę poland_poi.

PostGIS - import danych

Za pomocą wtyczki SPIT można z poziomu QGIS przesyłać warstwy wektorowe do bazy danych PostGIS. Plugin SPIT jest dostępny wśród standardowych wtyczek, z poziomu "Menedżera wtyczek". Dane muszą być w formacie ESRI shapefile, a każdy import skutkuje stworzeniem nowej relacji w bazie danych - nie można zatem w ten sposób aktualizować istniejącej tabeli.

Import danych do bazy wymaga również zdefiniowania połączenia z serwerem. Robi się to dokładnie w ten sam sposób jak przy wyświetlaniu warstwy. Dodatkowo, można wykorzystać wcześniej zdefiniowane serwery. Procedura po w SPIT wygląda następująco:


Import warstwy do bazy PostGIS - wtyczka SPIT

ZADANIE 3.4. Stwórz warstwę wektorową, zawierająca największe zbiorniki wodne wyznaczonego parku narodowego - wraz z nazwą, zawarta w tabeli atrybutów. Umieść dane w bazie danych PostGIS "ki_przyklad" jako nazwę relacji podając swoje nazwisko.