Mapa Walentynkowa w QGIS
Zestawienie słów „Walentynki” i „QGIS” mogą doprowadzić wyłącznie do jednego skojarzenia. Dziś opracujemy krok po kroku mapę w kształcie serca z wykorzystaniem najpopularniejszego w Polsce otwartego oprogramowania GIS.
Założenia
Tworzona mapa ma posiadać kształt „serca” i ze względu na Walentynki bazować na kolorze czerwonym. Wykorzystane dane mają pochodzić z otwartych źródeł i mają wizualizować kulę ziemską ze szczególnym uwzględnieniem Europy. Rozwiązanie ma bazować na wbudowanych funkcjach QGIS.
Pozyskanie danych i wyświetlenie w QGIS
Aby utworzyć naszą walentynkową mapę proponuję pobrać trzy darmowe zbiory danych ze strony Natural Earth:
- Warstwę oceanów (około 3 MB)
- Warstwę jezior i zbiorników wodnych (około 2 MB)
- Siatkę geograficzną o oczku 30° (około 50 kB)
Wszystkie te zbiory są przygotowane w układzie współrzędnych WGS 84 (EPS: 4326). Po wypakowaniu plików ZIP należy dodać je do okna programu QGIS. I po zastosowaniu wybranej kolorystyki powinniście uzyskać efekt zbliżony do poniższego obrazka.
Odwzorowanie i trzy słowa o historii
Następnie należy wybrać odpowiednie odwzorowanie. W naszym przypadku idealnie sprawdzi się znane od przeszło 400 lat odwzorowanie Wernera zwane też odwzorowaniem Stabiusa-Wernera (lub Stab-Werner). O historii i podstawowych parametrach odwzorowania pisałem w 2015 r. w artykule Mapa Walentynkowa ilustrującym proces powstania podobnej mapy w oprogramowaniu ArcGIS, stąd zainteresowanych technikaliami odsyłam do tej lektury.
Definiowanie odwzorowania w QGIS
W celu utworzenia pożądanego odwzorowania należy utworzyć odwzorowanie pochodne do odwzorowania Bonne’a (EPSG: 54024) , w którym standardowy równoleżnik przesuwa się z 60° na 90°. Takie odwzorowanie możemy zdefiniować w narzędziu Definicja układu współrzędnych użytkownika dostępnego w zakładce Ustawienia -> Układy współrzędnych użytkownika.
Po wybraniu tego narzędzia należy zdefiniować nazwę nowego odwzorowania (1), wybrać funkcję Kopiuj parametry z istniejącego układu współrzędnych (2), a następnie w oknie wyboru układów wybrać układ EPSG: 54024 (3) i po jego zatwierdzeniu skorygować parametr wskazujący standardowy równoleżnik z wartości 60 na 90 (4).
Dla uproszczenia można też wkleić następujący zestaw parametrów:
+proj=bonne +lon_0=0 +lat_1=90 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs
Po zatwierdzeniu odwzorowanie jest dostępne na liście układów współrzędnych, wobec czego zmieniając układ projektu Projekt -> Właściwości -> Układ współrzędnych uzyskujemy efekt w postaci mapy w kształcie serca.
Podsumowanie i ograniczenia
Reprojekcja znakomicie sprawdza się w przypadku danych wektorowych. W przypadku danych rastrowych dodanych do projektu pojawiają się artefakty, które negatywnie wpływają na estetykę projektu.
Zmiany parametrów odwzorowania (szczególnie przesunięć w osi pionowej i poziomej układu) pozwalają na uzyskanie innego obrazu Ziemi – a co za tym idzie personalizację odwzorowania do własnych potrzeb.
Wszystko jest ok do momentu zatwierdzenia. Zielonym plusikiem dodaję nowy układ. W definicji Nazwa jest jako Stabius-Werner, Format WKT a w Parametrach wpisuję tylko wyrażenie:
+proj=bonne +lon_0=0 +lat_1=90 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs
Dostaję informację:
Cannot save ’ * Wygenerowany układ współrzędnych (+proj=longlat +ellps=andrae +no_defs)’ — this Proj string definition is identical to :.
Try changing the CRS definition to a WKT format instead.
Jeżeli nie dodaje nowego układu a od razu klikam na „Kopiuj parametry z istniejącego układu współrzędnych”, wybieram World Bonne ESRI:54024
i w parametrach wklejam wyrażenie:
+proj=bonne +lon_0=0 +lat_1=90 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs
otrzymuję informację: The definition of 'Stabius-Werner’ is not valid.
Każda inna próba modyfikacji kończy się informacją: Cannot save 'Stabius-Werner’ — the definition is identical to ESRI:54024.
Dodam tylko, że projekt wykonuję w QGIS 3.10.2-A Coruna
W QGIS 3.8 Zanzibar faktycznie wszystko działa wg instrukcji. Jest ok.
1. generalnie spróbuj wyczyścić wszystkie niepotrzebne układy i dodać zupełnie nowy
2. przed chwila sprawdziłem na 3.10.2 – wszystko poszło bez problemu
3. ciekawi mnie skąd bierze się u Ciebie „+proj=longlat +ellps=andrae +no_defs” – to nie jest standardowe ustawienie