Połączenie GPS z mapą

Programów przeznaczonych do współpracy z odbiornikiem GPS jest wiele. Można je podzielić następująco:

  • programy do transmisji danych do i z odbiornika GPS
  • programy do przechowywania i analizy tych danych, np. punktów zapisywanych w pamięci odbiornika GPS w czasie podróży
  • programu do wspomagania prowadzenia samochodu w oparciu o mapy cyfrowe
  • programy do wspomagania prowadzenia samochodu w oparciu o mapy analogowe

Od kilku lat, do współpracy z odbiornikiem GPS wykorzystujemy australijski program OziExplorer.

OziExplorer w terenie

Podczas prowadzenia samochodu, niezbędne jest ustalanie naszego aktualnego położenia w terenie. Proces ten powinien być ciągły. Ale musimy również umieć odnaleźć naszą pozycję bez szczegółowej wiedzy o tym gdzie dokładnie jesteśmy.

OziExplorer zrodził się w Australii z potrzeb kierowców tamtejszego kontynentu. Jeśli przez setki kilometrów nie zmienia się krajobraz i brakuje jakichkolwiek charakterystycznych obiektów, najlepsza nawet mapa nie ułatwi nam ustalenia naszego położenia. Najszybszym, w takiej sytuacji, źródłem informacji o naszym położeniu jest odbiornik GPS. Od tego już tylko krok do pomysłu, by aktualne położenie było cały czas wskazywane na mapie. By to zrealizować trzeba wprowadzić do komputera mapę i zagwarantować jednoznaczne przypisanie współrzędnych geograficznych każdemu punktowi tej mapy. Teraz program, na podstawie informacji z odbiornika GPS, może wskazywać naszą aktualną pozycję i rysować ślad faktycznie przebytej trasy.

Przygotowanie map

Jest kilka etapów przygotowania map do wykorzystania w OziExplorerze:

  • Zeskanowanie map i sklejenie skanów w kompletne mapy.
  • Pozycjonowanie (kalibracja) map.
  • Naniesienie w Ozi na mapy punktów, które chcemy odwiedzić, lub nawet całych tras.
Skanowanie map

Skanowanie map to proces czasochłonny, ale przy wprawie i odpowiednim sprzęcie można w ciągu jednego dnia zeskanować, zmontować i spozycjonować nawet kilka większych map. Ze względu na wielkość map, im większą powierzchnię ma wykorzystywany przez nas skaner, tym mniej pracy będziemy mieli z przygotowaniem map. Ja wykorzystuję skaner A3. Nie jest on pewnie doskonałym urządzeniem, wiernie oddającym barwy skanowanego obrazu, ale do skanowania map, wystarcza w zupełności.

Przy skanowaniu mapy musimy się liczyć z koniecznością dobrania odpowiednich zakładek na skanowanych fragmentach mapy. Nie powinny one być mniejsze niż kilka centymetrów. Ze względu na zaginanie się arkusza mapy na krawędziach szyby skanera, występują tam zniekształcenia geometryczne i barwne. Takie zniekształcone brzegi zeskanowanych fragmentów trzeba po prostu obciąć. Już po obcięciu, fragmenty muszą mieć ok. 1-2 centymetrowe zakładki, które pozwolą na pracę programu do sklejenia ich w jedną mapę.

Skanuję mapy ustawiając rozdzielczość 200dpi oraz włączając w programie obsługującym skaner, mechanzim usuwania efektu mory występujący przy skanowaniu druku.

Sklejanie zeskanowanych fragmentów map

Do sklejania zeskanowanych fragmentów map wykorzystuję program PanaVue ImageAssembler. Program ten nie jest specjalnie przeznaczony do sklejania map. Ma również wiele funkcji pozwalających na precyzyjne sklejanie zdjęć. W wersji darmowej pozostawia na sklejonej mapie małe półprzezroczyste loga PanaVue. Kilka naszych starych map ciągle jest w nie “wyposażonych”. Aktualnie posługuję się pełną wersją programu. Z pewnością nie jest to jedyne narzędzie pozwalające na sklejanie skanów lub zdjęć w jedną całość. Zaletą PanaVue jest mechanizm zarządzania fragmentami podczas ich ręcznego ustawiania do sklejania. Proces ten bardzo ułatwia i przyspiesza ustawianie znaczników wskazujących pokrywające się elementy sąsiadujących fragmentów mapy.

Ręczne sklejanie mapy polega na wskazaniu na styku poszczególnych fragmentów mapy miejsc, które mają się pokrywać w wynikowym pliku graficznym. Rysunek obok przedstawia ekran PanaVue z dwoma okienkami z fragmentami sklejanej mapy. Na obu fragmentach, widoczne są czerwone kwadraty i towarzyszące im krzyżyki służące właśnie do wskazywania punktów styku.

Konwersja plików dla OziExplorera

Plik dużej mapy może przekraczać wielkość 100MB. By zwiększyć prędkość pracy Ozi z takimi plikami, koniecznie trzeba dokonać konwersji z formatu graficznego np. jpg do formatu ozf2. Proces ten wykonujemy wykorzystując program “Img2Ozf” dostępny razem z OziExplorerem.

Kalibracja (pozycjonowanie) map w OziExplorerze

Proces kalibracji zeskanowanej mapy ma na celu przypisanie poszczególnym punktom graficznego obrazu mapy, odpowiednich współrzędnych geograficznych. Oczywiście sami podajemy współrzędne geograficzne tylko dla kilku punktów mapy, a obliczeniem współrzędnych dla każdego innego punktu mapy, zajmuje się Ozi. By obliczenia te mogły być przeprowadzone poprawnie i dokładnie, w procesie kalibracji musimy podać również informacje dotyczące samej mapy, np. jej układ odniesienia (Datum).

Jeśli naniesiona na mapę siatka topograficzna jest stałokontowa, czyli linie siatki są prostymi i przecinają się pod kontem prostym, wystarcza wskazanie dwóch punktów na mapie, by Ozi mógł wyliczyć sobie faktyczne współrzędne dla każdego punktu mapy. Jeśli siatka mapy, nie składa się z linii prostych, przecinających się pod kontem prostym, do obliczenia współrzędnych poszczególnych punktów, OziExplorer potrzebuje podania współrzędnych większej liczby punktów na mapie.

W procesie kalibracji mapy w OziExplorerze, mamy możliwość podania współrzędnych geograficznych nawet 9 wskazanych na mapie punktów.

Proces kalibracji mapy

Po uruchomieniu OziExplorera wybieramy z menu “File” opcję “Load and Calibrate Map Image” i wybieramy plik zeskanowanej mapy w formacie ozf. Pierwszym etapem kalibracji jest podanie podstawowych parametrów mapy.

Rysunek obok pokazuje przykładowe ustawienia.

Jeśli parametry mapy tego wymagają, wprowadzamy dodatkowe dane dla “Map Projection”.

Rysunek obok przedstawia okienko parametrów dla “Lambert Conformal Conic Projection”. Parametry “Latitude 1” oraz “Latitude 2” to równoleżniki w których powierzchnia ziemi jest teoretycznie przecinana przez płaszczyznę na której odwzorowana jest mapa. Central Meridian oraz Origin Latitude wskazują środek odwzorowywanego obszaru.

Teraz wskazujemy punkty na mapie, dla których znamy współrzędne. Zazwyczaj są to punkty przecięcia siatki. Na rysunku obok widoczne są: fragment mapy z siatką, czerwony “celownik” punktu kalibracji oraz fragment okienka ze współrzędnymi tego punktu.
Współrzędne podane są jako UTM.

Na tym rysunku widoczny jest punkt kalibracji “z natury”. Współrzędne geograficzne mostu wprowadzone zostały do Ozi na podstawie odczytu z odbiornika GPS.
W tym przykładzie, współrzędne podano jako długość i szerokość geograficzną.

Wyjątkowymi mapami pod względem parametrów są wykorzystywane przez nas amerykańskie mapy TPC. Mapy te mają podane wszystkie swoje parametry i naniesionych kilka siatek topograficznych wraz z wszelkimi dodatkowymi informacjami. Kalibracja takich map to czysta przyjemność, aczkolwiek niezbędna jest wiedza o sposobie ich projekcji, czyli “Lambert Conformal Conic Projection”.

Kalibracja “bez danych”

Nawet jeśli mapa nie ma siatki topograficznej, są jeszcze sposoby jej wykorzystania:

  • Naniesienie punktów kalibracji “z natury”. Taka technologia wchodzi w grę tylko w stosunku do map, które będziemy wykorzystywali dłużej i możemy poświęcić czas na odwiedzenie kilku punktów z obszaru mapy, odczytanie z odbiornika GPS współrzędnych tych punktów i wykorzystanie tych punktów do skalibrowania mapy.
  • Naniesienie punktów pozycjonowania na podstawie dostępnych w Internecie baz współrzędnych konkretnych obiektów. Kiedyś spozycjonowałem tak turystyczne mapy pasm górskich na podstawie współrzędnych topograficznych szczytów i schronisk. Niestety często współrzędne geograficzne podawane na prywatnych serwerach nie są zbyt dokładne.
Sprawdzenie kalibracji

Prostą i szybką metodą na sprawdzenia “jakości” skalibrowania mapy, jest porównanie siatki wydrukowanej na mapie z siatką wygenerowaną przez OziExplorera na podstawie wprowadzonych przez nas danych.

Doskonałym przykładem sprawdzenia kalibracji “na wyczucie” jest przedstawienie francuskiej mapy Maroka (IGN 3615). Ponieważ nie podano na niej żadnych informacji potrzebnych do jej skalibrowania, przyjąłem je sam na podstawie znalezionych w Internecie informacji o stosowanych przez IGN sposobach przygotowywania map:

  • Map Datum : WGS84
  • Map Projection: UTM

Efekt takiego spozycjonowania przedstawia rysunek obok. Widoczny jest na nim fragment mapy w Ozi, okienko definicji siatki OziExplorera oraz jeden południk (7 stopni) i jeden równoleżnik (30 stopni). Cienkie czerwone linie, to linie siatki wygenerowanej na mapie przez Ozi na podstawie. Pod spodem widoczne są oryginalne, czarne linie siatki naniesionej na mapę przez IGN. Różnice położenia siatek na przykładowym rysunku są niewielkie.

Definiowanie granic mapy

Granice mapy

Mapa papierowa prawie zawsze ma margines, na którym umieszczone są informacje o jej skali, wydawcy, czy po prostu legenda. Na marginesach map, umieszczane są również często opisy siatki lub siatek mapy. Wydawcy map równie często umieszczają na jednej papierowej mapie, kilka obszarów z mapami w różnych skalach.

Gdy wykorzystujemy zeskanowane mapy w OziExplorerze, musimy mieć możliwość określenia, gdzie na powierzchni zeskanowanego “obrazka” kończy się faktyczny obszar mapy. Jeśli tego nie zrobimy, Ozi, w trakcie wyświetlania naszej aktualnej pozycji na mapie, “wyjedzie na margines”. Również szukając obiektów na mapie, w/g ich nazw, możemy się spotkać z przypadkiem, gdy “celownik” wskaże legendę mapy.

By zapobiec takim przypadkom należy dokładnie zakreślić na mapie obszar, wewnątrz którego, faktycznie znajduje się rysunek mapy.

Granice mapy w procesie kalibracji w OziExplorerze

Jednym z elementów ustawianych dla mapy w procesie jej kalibracji jest również określenie granic mapy. Niestety mamy do dyspozycji tylko cztery narożniki, którymi możemy wydzielić na mapie jedynie prostokąt. Jest to wystarczające w przypadku prostych map.

Rysunek obok przedstawia fragment ekranu Ozi w trybie pozycjonowania mapy. Widoczny jest zaznaczony czarną kratką i czerwoną, zagiętą linią wskaźnik górnego, prawego rogu mapy.

Program Map Border

“Map Border” jest programem przeznaczonym do definiowania obszaru mapy na skalibrowanej już dla Ozi mapie. Przy określaniu granicy mapy możemy się posługiwać setkami punktów, a nie czterema, jak w OziExplorerze.

Na mapie przedstawionej obok (IGN Maroko) widoczna jest czerwona, skomplikowana granica mapy, ustawiona programem “Map Border” Granica oddziela obszar marginesu i mapy ogólnej przedstawionej w innej skali.

Na mapie przedstawionej obok (TPC) widoczna jest ustawiona programem “Map Border” Granica oddzielająca margines. Linie: górna oraz prawa, to proste. Linia dolna to łuk, a linia lewa to prosta narysowana pod kątem do krawędzi mapy.

Precyzyjne określenie granic mapy ma również ogromne znaczenie w przypadku klejenia map.

Sklejanie skalibrowanych map

Źródło potrzeby sklejania map

W czasie korzystania z OziExplorera do nawigacji w jadącym samochodzie, oczywiste jest, że w chwili “wyjechania” poza mapę, którą załadowaliśmy do Ozi, pojawia się potrzeba zmiany mapy. Proces ten, Ozi realizuje samodzielnie, na bieżąco ładując i wyświetlając inną mapę. Również, gdy wśród map, które skalibrowaliśmy, jest mapa o większej dokładności, w granice której wjedziemy, Ozi załaduje ją automatycznie.

Jak widać, w zasadzie nie ma potrzeby sklejania map. Jak pokazuje jednak nasze doświadczenie, Ozi “zbytnio lubi” zmieniać mapy. Gdy jedziemy trasą przebiegającą na styku kilku map, robi to wielokrotnie, przeskakując z mapy na mapę. Przeszkadza to w obserwowaniu trasy na mapie, zwłaszcza, gdy mapy są w różnych skalach. Proces podmiany mapy można oczywiście zablokować i zmieniać mapy ręcznie, ale zminimalizowanie liczby operacji wykonywanych w samochodzie bardzo pomaga w prowadzeniu.

Również posługiwanie się wieloma mapami w procesie przygotowywania trasy jest kłopotliwe.

Rozwiązaniem tych problemów jest przygotowanie map, które będą obejmowały obszar planowanych działań. Może to być np. cały obszar ekspedycji i dodatkowo mapy przygotowane tak, by pokrywały działania całych dni.

Proces sklejania map

Dostępny na serwerze OziExplorera program “Map Merge”. Pozwala na:

  • Wybranie dostępnych, skalibrowanych już map, z których chcemy przygotować nową mapę
  • Określenie obszaru tworzonej mapy. Najwygodniej dokonać tego, zakreślając na ekranie przedstawiającym wybrane mapy, prostokąt tworzonej mapy.
  • Wybranie skali tworzonej mapy w metrach na piksel.

Następnie program sam tworzy nową mapę z plików graficznych map źródłowych i danych dotyczących ich pozycjonowania.

Rysunek obok przedstawia mapę utworzoną ze sklejenia trzech map TPC. Mapa ta pokrywa cały obszar naszych działań w Maroku, planowanych na wiosnę 2005.

Na rysunek ten, specjalnie naniosłem czerwone cienkie linie, wskazujące granice między źródłowymi mapami TPC.

Widoczne są różnice w barwach źródłowych map, zajmująca dolny prawy róg powstałej mapy, mapa TPC H-2A, pochodzi z innej serii wydawniczej i jest wyraźnie jaśniejsza.

Korzyści ze sklejania map

Ogromną zaletą programu “Map Merge”, jest jego zdolność do łączenia map, które mają różne skale. Oczywiście musimy się liczyć z tym, że zmiana skali spowoduje odpowiednio powiększenie lub zmniejszenie również skanu części map składowych.

Przygotowanie tras w Ozi

Wykorzystanie OziExplorera nie ogranicza się jedynie do wskazywania naszego położenia w czasie jazdy. Przy pomocy tego programu możemy “nanieść” na mapę wiele informacji. Dzięki temu, można jeszcze przed wyjazdem, wzbogacić mapę o wstępny zarys trasy, którą chcemy jechać, zaznaczyć obiekty, które chcemy zobaczyć, czy miejsca, które chcemy odwiedzić.

W Ozi możliwe jest definiowanie kilku rodzajów punktów na mapie. Punkty te możemy ustawić na mapie myszką w miejscu, które nas interesuje, np. miejscowość, czy zabytek zaznaczone na mapie, lub (jak widać na rysunku obok) wprowadzając współrzędne geograficzne punktu. Współrzędne można wprowadzać jako długość i szerokość geograficzną, ale i jako współrzędne UTM.

Zielona nazwa miejscowości również naniesiona jest na mapę w OziExplorerze.

Poza oddzielnymi punktami, można na mapę w Ozi nanosić również linię, która ułoży się w trasę do przejechania. Z parametrów tej trasy możemy np. odczytać jej długość. Do każdego punktu można dołączyć notatki, z których będzie można korzystać w czasie jazdy.

Zielona nazwa miejscowości również naniesiona jest na mapę w OziExplorerze.

Raz zapisaną trasę można w OziExplorerze wczytać również na inne mapy w innych skalach. Pozwala to na obserwowanie planowanej trasy.

Na rysunku obok, fragmenty planowanej trasy, na powiększeniu mapy Afryki,…

…tu na mapie Maroka (IGN 1:1,000,000).