Na moim blogu obejrzysz setki zdjęć panoram górskich z opisami, a także poznasz wiele ciekawych pojęć, takich jak: undulacja, refrakcja, deniwelacja, deklinacja, inklinacja, analemma, paralaksa, aberracja, dystorsja. Zbyt skomplikowane? To dowiesz się np. dlaczego o wschodzie i zachodzie słońce jest czerwone oraz dlaczego lepiej nie stawać z boku na zdjęciu grupowym. Na dole ekranu znajduje się spis treści wszystkich wpisów na blogu. Zapraszam :-)
^/\^ Robert Celiński, autor aplikacji Polskie Góry ^/\^
23 kwietnia 2017 - Czujniki położenia, kompas i deklinacja (edytowany)
Aby przyciągnąć uwagę, postąpię jak Hitchcock - zaczynam od trzęsienia ziemi, a potem napięcie będzie nieprzerwanie rosło. Czy wiecie, że w Polsce igła kompasu wcale nie wskazuje północy!?
Zanim rozwinę ten szokujący temat, chciałbym na wstępie wyjaśnić kilka kwestii. Kolega Krzysztof w komentarzu do mojego poprzedniego wpisu zwrócił uwagę, że z trudem potrafi przebić się przez treść napisaną czerwoną czcionką. Jest to spójne z barwami aplikacji (nasze, polskie, narodowe!), ale rzeczywiście może być rażące, bo takim kolorem przeważnie są opisane np. komunikaty o błędach w systemach informatycznych. Specjalnie dla kolegi Krzysztofa udostępniłem w nagłówku bloga przycisk
, dzięki któremu można zmienić kolor czcionki (edit: obecnie domyślnie jest czarny). Przypomniała mi się anegdota z mojej pracy, kiedy użytkownik u klienta prosił mnie o dodanie na formularzu w systemie takiego przycisku, pod którym otwierałby się raport. "Tylko taki mały przycisk, panie Robercie!" - namawiał mnie użytkownik. Próbowałem wytłumaczyć, że wycena takiego raportu wcale nie zależy od wielkości przycisku i że to będzie kosztowało parę tysięcy złotych. Dla kolegi Krzysztofa zrobiłem taki mały przycisk gratis ;-)
Kolega Szymon zwracał mi uwagę na brak czytelności w aplikacji, bo oglądając panoramę Tatr często nie wiedział, która linia prowadzi do którego opisu góry. W Tatrach przeważnie gęstość szczytów jest bardzo duża i czasem rzeczywiście ciężko się zorientować, która linia co opisuje. W opublikowanej niedawno wersji aplikacji na szczycie każdej linii opisu jest widoczny dodatkowy "daszek" i dopiero nad nim pojawia się opis góry. Wydaje mi się, że dzięki temu będzie mniej pomyłek przy identyfikacji gór, a Szymon nie będzie miał już problemów z trafieniem opisem w Giewont ;-)
Ostatnio pisałem o konkurencyjnej aplikacji Peak Lens i sposobie wykorzystania czujników w telefonie. Ta aplikacja jest w całości zdana na ich wskazania, nie można nawet wyłączyć działania kompasu i ręcznie trafiać w szczyty. Można powiedzieć, że Peak Lens jest w pełnie automatyczna, co ma swoje plusy, ale także minusy. Aplikacja Polskie Góry działa inaczej - kompas można było wyłączyć, a obsługa była nastawiona głównie na tryb ręczny.
W ostatnich wersjach aplikacji Polskie Góry skupiłem się na rozwoju trybu automatycznego, ale także nieco wzbogaciłem tryb ręczny. Wydaje mi się, że teraz aplikacja daje duże możliwości w obu trybach.
W trybie automatycznym analizowane jest położenie w trzech płaszczyznach. Nazwy wskaźników są wzięte z terminologii lotniczej: pitch - zapadnięcie, roll - obrót, yaw - zejście z kursu, w przypadku telefonów zastępowane przez azimuth, czyli azymut.
W urządzeniach z systemem Android montuje się dwa rodzaje modułów do pomiaru położenia - akcelerometr (Sensor.TYPE_ACCELEROMETER) oraz żyroskop (Sensor.TYPE_GYROSCOPE). W tradycyjnym podejściu akcelerometr mierzy przyspieszenie (stąd jego inna nazwa "przyspieszeniomierz" - od angielskiego accelerate - przyspieszać), natomiast żyroskop określa położenie kątowe. Akcelerometr mierzy ruch, natomiast gorzej radzi sobie z określeniem rotacji, szczególnie przy lekkim poruszaniu urządzeniem. Nie odróżnia siły grawitacji (na podstawie której określa się rotację) od ruchu obiektu, potrząsania, drgań. Inaczej działa żyroskop - dokładniej określa rotację, natomiast nie mierzy ruchu, potrząsania, drgań.
W środku akcelerometru znajduje się bezwładny ciężarek, który odpowiednio reaguje na wprawianie w ruch. Działanie tradycyjnego żyroskopu przybliża mistrz majsterkowania - Adam Słodowy. Bardzo polecam obejrzenie tego odcinka programu "Zrób to sam":
W urządzeniach z Androidem akcelerometr podaje wartości przyspieszenia w trzech ww. płaszczyznach, w metrach na sekundę do kwadratu (m/s^2), natomiast żyroskop zwraca chwilową prędkość kątową w tych płaszczyznach w radianach na sekundę (rad/s). Przy precyzyjnym wskazywaniu położenia urządzenia najlepszy efekt daje połączenie danych akcelerometru z analizą zmian wskazań żyroskopu w czasie. Z punktu widzenia programisty aplikacji Augmented Reality (AR), najbardziej optymalne byłoby uzyskiwanie z żyroskopu precyzyjnych danych o położeniu telefonu w płaszczyznach x (pitch) i y (roll), które byłyby wyrażone w wartościach kątowych (stopniach lub radianach). Niestety, elektroniczny żyroskop tak nie działa i trzeba analizować zmiany danych w rad/s.
Zauważyłem różne podejścia do wykorzystania danych z akcelerometru i żyroskopu w aplikacjach Augmented Reality. Np. aplikacje Sky Map do oglądania nieba oraz Peak Finder (konkurencyjna dla Polskich Gór aplikacja do rozpoznawania szczytów, którą kupiłem niedawno za 20 PLN) nie zmieniają automatycznie wirtualnego widoku, jeżeli urządzenie nie jest wyposażone w żyroskop. Na moim telefonie w Peak Finder w ogóle nie działa AR - nie widać obrazu z kamery, tylko rysunek gór na białym tle. W ten sposób producenci skazują większość użytkowników na nawigację ręczną - przesuwanie wirtualnego widoku palcem na ekranie. Piszę "większość użytkowników", ponieważ do tej pory żyroskopy były montowane tylko w telefonach "z wyższej półki", czyli np. seriach Samsung Galaxy S oraz Note. Większość osób posiada telefony ze średniej lub niższej półki i one nie posiadają żyroskopu, zauważyłem jednak tendencję, że obecnie producenci coraz chętniej montują te moduły w swoich nieflagowych urządzeniach. Przykładowo, posiadam Huawei Y6 w wersji 2017, gdzie nie ma żyroskopu, a w tegorocznej wersji 2018 już jest dostępny.
Ja od początku miałem inne podejście do AR - w aplikacji Polskie Góry korzystam z akcelerometru (który jest dostępny w prawie wszystkich urządzeniach Androida dostępnych na rynku) i liczę się z tym, że użytkownicy mogą trochę narzekać na niedokładność automatycznych wskazań. Jedna kwestia, że kompas w telefonie jest niestabilny, a druga, że w położeniu telefonu do AR (pionowo, a nie poziomo, jak na blacie) należy programistycznie dokonać zamiany osi, a co za tym idzie, niedokładność wskazań akcelerometru jeszcze potęguje niedokładność wskazań kompasu (pobieranych z czujnika pola magnetycznego - Sensor.TYPE_MAGNETIC_FIELD) i opisy gór "latają na boki". Skutek jest taki, że aplikacja działa automatycznie na wszystkich telefonach, ale jest mniej dokładna. Zawsze polecam nawigację ręczną, szczególnie do robienia zdjęć. Jest ona możliwa, kiedy raz klikniemy w ekran i na dole pojawi się symbol <- ->. Wtedy opisy można przesuwać ręcznie palcem na ekranie.
Najlepszym rozwiązaniem dla aplikacji AR byłoby pewnie skorzystanie z akcelerometru oraz dodatkowo żyroskopu, jeżeli ten drugi jest dostępny w urządzeniu. Być może coś takiego kiedyś oprogramuję, jak będę miał odpowiednie urządzenie do testów. Na razie bawiłem się tylko pożyczonym od kolegi telefonem Sony Xperia S, który został wypuszczony na rynek w pierwszym kwartale 2012 roku z Androidem w wersji 2.3 i jak na tamten czas był świetnym urządzeniem. Ten telefon posiada żyroskop i zasymulowałem jego wykorzystanie w aplikacji Polskie Góry, ale niestety urządzenie ma inne mankamenty, związane z niestabilnymi wskazaniami kompasu, zatem nie dało mi się wtedy opracować kompleksowego rozwiązania.
Aplikacja Polskie Góry działa przy telefonie obróconym o 90 stopni w lewo (jak na zdjęciu powyżej), a wskaźnik roll odpowiada przy tej orientacji za długość linii opisów gór. Jeżeli skierujemy telefon do góry (w stronę nieba), linie opisów automatycznie wydłużą się, jeżeli skierujemy go na dół (do ziemi) - skrócą się, a nawet wyrosną ponad opisami. Wskaźnik pitch jest wykorzystywany tylko w takim zakresie, że automatyczne wydłużanie i skracanie linii działa tylko przy poziomym trzymaniu telefonu (tolerancja +/- 4 stopnie). Jeżeli za bardzo przechylimy telefon na bok, długość linii opisów zostanie zresetowana, a na dole ekranu pojawi się symbol -/\^-, który w sposób oczywisty wskazuje, że należy wypoziomować telefon, żeby zobaczyć dobrze opisaną górską panoramę. Powoli staję się specjalistą od projektowania ikon tekstowych ;-)
Wzbogacenie trybu ręcznego (przypomnę, że wtedy na dole ekranu widoczny jest symbol <- ->, wskazujący na możliwość przesuwania panoramy palcem na boki) polega na możliwości decydowania o długości linii. Jeżeli w lewym dolnym rogu pomiziamy telefon do dołu, linie wydłużą się, jeżeli do góry - skrócą się. Do tej pory program sam decydował o optymalnej długości linii opisów i nie dało się tego zmienić. Teraz można skrócić wszystkie linie opisów, skierować telefon bardziej do dołu i na zdjęciu wykonanym aplikacją Polskie Góry ująć obiekty poniżej panoramy górskiej (np. żonę i psa) lub przy okazji sfotografować ciekawą chmurę ponad górami i odpowiednio wydłużyć linie opisów, żeby trafiały dokładnie w szczyty poniżej.
Na poniższych zdjęciach zaprezentowano trzy opcje długości linii opisów panoramy górskiej:
Przypominam, że do wykonywania zdjęć zalecane jest stosowanie trybu ręcznego, kiedy na dole ekranu widoczny jest symbol <- ->. Wskazania kompasu są często niestabilne i niedokładne, bo zakłócają je np. fale radiowe, bliskość metalowych obiektów, itd. Poniżej ciekawy filmik, na którym widać, że nawet przesunięcie się od 2 m w bok ma znaczenie dla wskazań kompasu, jeżeli np. jesteśmy w pobliżu budynku. Na drugim filmiku pokazuję, jak robić dokładne zdjęcia w trybie ręcznym.
Rok temu w pierwszym wpisie na blogu opisywałem kwestie związane z deformacją obiektów widocznych na skrajach zdjęć. Wtedy chodziło mi wyłącznie o orientację poziomą i rozszerzanie górskiej panoramy na lewym i prawym skraju zdjęcia. Aplikacja Polskie Góry dostosowuje opisy do optyki aparatu. Podobny efekt może wystąpić w płaszczyźnie pionowej, np. przy długich liniach opisów, sięgających do obu rogów zdjęcia, ale jest to zaniedbywane, ponieważ te zniekształcenia nie mają takiego znaczenia, jak w płaszczyźnie poziomej.
A teraz coś z innej beczki - z czym kojarzy Wam się słowo "deklinacja"? Ja zapamiętałem lekcje języka polskiego w podstawówce i odmianę rzeczowników przez przypadki. Zgadza się, jest to odmiana wyrazu przez przypadki i liczby, a deklinacji podlegają rzeczowniki, przymiotniki, imiesłowy przymiotnikowe, zaimki rzeczowne, przymiotne i liczebne oraz liczebniki. Tak samo zapamiętała deklinację moja żona - "odmiana przez przypadki". Kiedy jej powiedziałem, że ostatnio zafascynowałem się deklinacją, musiała stwierdzić, że sam jestem ciekawym przypadkiem... Co ma deklinacja do Polskich Gór: mianownik - Polskie Góry, dopełniacz - Polskich Gór, celownik - Polskim Górom, biernik - Polskie Góry, narzędnik - Polskimi Górami, miejscownik - Polskich Górach, wołacz - Polskie Góry!
Ponieważ napięcie rośnie, przechodzę do tematu kompasu, który nie wskazuje dokładnie północy i oszukuje nas o tzw. deklinację magnetyczną, w skrócie nazywaną przeze mnie w tym artykule deklinacją. Jest to kąt poziomy w danym miejscu na powierzchni Ziemi pomiędzy południkiem magnetycznym i geograficznym. Kąt ten podaje się jako wartość ze znakiem, zgodnie ze sposobem liczenia azymutu: odchylenie kierunku północy magnetycznej od kierunku północy geograficznej ku wschodowi jako kąt dodatni, odchylenie ku zachodowi jako kąt ujemny. Czasem deklinacja ujemna przyjmuje wartość np. 355 stopni, co w praktyce oznacza kąt -5 stopni.
Na poniższym rysunku Ng wskazuje północ geograficzną, igła wskazuje północ magnetyczną (Nm), a deklinacja w tym przypadku jest dodatnia i przyjmuje wartość około 30 stopni.
Deklinacja wynika głównie z tego, że magnetyczny biegun Ziemi jest położony w innym miejscu niż biegun geograficzny, a lokalnie zależy też np. od położenia niektórych rodzajów rud żelaza. W różnych miejscach na świecie deklinacja może przyjmować spore wartości dodatnie (na poniższej mapie zaznaczone na czerwono) lub ujemne (kolor niebieski).
Jak widać, rozkład deklinacji jest nierównomierny i nie da się go opisać wzorem. Pod tym względem deklinacja jest podobna do undulacji, którą również opisywałem na blogu:
Co ciekawe, deklinacja na świecie zmienia się na przestrzeni lat, co można zaobserwować na poniższej animacji:
Źródło: Model Jacksona, Jonkersa i Walkera: http://blogs.egu.eu/geolog/2015/11/18/geoscience-hot-topics-the-future-of-earth-ocean-and-planetary-science-research-part-i/
Branie poprawki na deklinację jest bardzo istotne np. w przypadku pilotów, którzy wyznaczają kurs lotu. Tutaj pewnie mógłby się wypowiedzieć kolega Fabian. Podobne problemy mieli nawigatorzy statków, szczególnie w czasie podróży w wyższych szerokościach geograficznych. Kompas zaczęto powszechnie stosować w Europie w XIV wieku, jednak dopiero później zorientowano się, że istnieje deklinacja, która zmienia się znacząco w czasie podróży przez ocean i ma to wpływ na nawigację. W pogodne dni marynarze mogli analizować również położenie słońca (ta informacja jest wykorzystywana również w aplikacji Polskie Góry), a nocą na półkuli północnej ich drogowskazem była Gwiazda Polarna, która naprawdę jest położona idealnie nad biegunem północnym i nie ma żadnej swojej deklinacji.
Zawodnicy biegów na orientację również biorą poprawkę do wskazań kompasu - dotyczy to ułożenia południków na mapie, a także deklinacji w danym obszarze. Tutaj bardziej mógłby się wypowiedzieć kolega Krzysztof, który startował w rajdach przygodowych na całym świecie. Nawigacja w kajaku na fantazyjnie rozlanych wodach Pojezierza Fińskiego musiała być ciekawa, tym bardziej, że deklinacja na tym obszarze wynosi ponad 10 stopni.
W Polsce wartość deklinacji jest dodatnia, średnia to około 5 stopni. Oznacza to, że jeżeli na obszarze Polski patrzymy w kierunku wskazań igły kompasu, to prawdziwa północ geograficzna jest lekko w lewo. Wartość deklinacji na obszarze Polski zmienia się od niespełna 4 stopni na południowym zachodzie w okolicach Bogatyni do 6,75 stopnia na północnym wschodzie w okolicach Suwałk. Można przyjąć regułę, że im bardziej na północ i na wschód, tym deklinacja jest większa. W aplikacji Polskie Góry wprowadziłem uproszczony wzór na deklinację, w którym uzależniam tę wartość od współrzędnych geograficznych:
W sieci dostępna jest również usługa National Centers for Environmental Information, która zwraca wartość deklinacji w danym miejscu. Do tej usługi można wysłać współrzędne geograficzne i otrzymać wartość deklinacji. Mógłbym skorzystać z tej usługi na podobnej zasadzie jak pobieram wysokość na powierzchni Ziemi z Google Elevation API, ale stwierdziłem, że nie ma sensu się w to bawić, bo wskazania kompasu w telefonach i tak są niedokładne, więc nie zależy mi na dokładności deklinacji co do ułamków stopnia. Zaprezentowany wyżej wzór w zupełności wystarcza na terenie Polski.
Ponieważ mam inklinację do wydłużania moich wpisów, wspomnę też o inklinacji magnetycznej. Jest to kąt zawarty pomiędzy wektorem natężenia ziemskiego pola magnetycznego a horyzontem. W uproszczeniu: jak swobodnie zawieszona igła magnetyczna odchyla się od poziomu. Inklinacja zmienia się wraz z szerokością geograficzną. Izokliny (linie łączące na mapie punkty o jednakowej inklinacji) różnią się od przebiegu ziemskich równoleżników, choć można tu znaleźć więcej prawidłowości niż w przypadku mapy deklinacji, na której panuje totalny chaos. W Polsce inklinacja wynosi około 66 stopni, na biegunie magnetycznym jest to 90 stopni (igła jest skierowana prosto w dół), a na równiku magnetycznym (w okolicach równika geograficznego) - 0 stopni (igła układa się poziomo). Inklinacja nie ma wpływu na działanie aplikacji Polskie Góry - tę informację podałem tylko jako ciekawostkę.
Siła pola magnetycznego również zmienia się w zależności od szerokości geograficznej - jest silniejsza bliżej biegunów. W Polsce igła kompasu reaguje dość mocno, co jest dobrą informacją dla użytkowników aplikacji Polskie Góry, bo kompas w telefonie znacznie szybciej wskaże północ niż w okolicach równika. Natężenie ziemskiego pola magnetycznego również nie jest stałe w czasie - generalnie zmniejszyło się ono o 10% w stosunku do pierwszych pomiarów wykonywanych w XIX wieku.
Potem na rynku zaczęła się pojawiać się telefony, których chipy (układy) automatycznie uwzględniają deklinację magnetyczną w danych zwracanych przez kompas (informacja o poziomie deklinacji jest określana na podstawie położenia GPS) oraz undulację przy zwracaniu danych wysokości n.p.m. przez GPS. Jeżeli posiadacie takie nowsze urządzenie, to ten zielony checkbox w ustawieniach aplikacji powinien być zaznaczony, jeżeli starsze, to należy go odznaczyć. Jeżeli nie macie pewności - można poeksperymentować ;-)
Wiem, że strasznie dużo tych skomplikowanych pojęć - undulacja, refrakcja, deklinacja, inklinacja - na usta niektórym ciśnie się przeklinacja ;-) Podsumowując ten długi wywód, wczoraj testowałem Polskie Góry w trybie w pełni automatycznym, tzn. z wykorzystaniem czujników położenia i kompasu, którego wskazania są korygowane przez aplikację o deklinację. Testy wypadły satysfakcjonująco i teraz rzadziej będę korzystał z trybu ręcznego i zdam się na wskazania automatyczne, co również polecam użytkownikom aplikacji Polskie Góry :-)
---------------------------------------------------------------- Powrót do strony głównej aplikacji Polskie Góry
----------------------------------------------------------------
Copyright 2015-2020 Robert Celiński, Byledobiec Anin