RunCalc DocumentationFAQRacesUsersLoginRegister
RunCalc Panoruna

W najnowszej wersji RunCalc na Androida jest już dostępna funkcja Panoruna do tworzenia opisu górskiej panoramy. Aplikacja wykorzystuje metodę Augmented Reality (rozszerzona rzeczywistość) polegającą na łączeniu świata rzeczywistego z generowanym komputerowo. Wystarczy zerknąć na ekran swojego smartfona, a widoczne szczyty zostaną opisane nazwą, wysokością n.p.m. oraz odległością w linii prostej, która nas od nich dzieli. Aplikacja wykorzystuje moduł GPS oraz czujniki położenia (w tym kompas), dzięki którym opis gór automatycznie przesuwa się na ekranie w kierunku przeciwnym do obrotu smartfona. Kompas można skalibrować kręcąc telefonem ósemki w powietrzu. W przypadku problemów z działaniem kompasu, obraz można zablokować jednym kliknięciem w ekran (na środku w dolnej części ekranu pojawia się symbol <- ->), a potem przesuwać panoramę w obie strony (przeciągnięcia palcem na boki). Kompas można włączyć przez ponowne kliknięcie w ekran. Ze względu na problemy z działaniem kompasu w telefonach/tabletach, zaleca się manualne przesuwanie panoramy.



Import mountain ranges groups

IDRange

1

Sudety Zachodnie (Góry Izerskie, Karkonosze, Rudawy Janowickie, Góry Kaczawskie)

2

Sudety Środkowe (Góry Wałbrzyskie, Kamienne, Sowie, Stołowe, Ślęża)

3

Kotlina Kłodzka (Góry Stołowe, Orlickie, Bystrzyckie, Bialskie, Złote, Bardzkie, Opawskie, Śnieżnik)

4

Beskidy Zachodnie (Beskid Mały, Śląski, Żywiecki, Makowski)

5

Tatry (Zachodnie, Wysokie, Bielskie)

6

Beskid Makowski, Wyspowy i Gorce

7

Beskid Sądecki i Pieniny

8

Beskid Niski

9

Bieszczady

10

Góry Świętokrzyskie

11

Miasta Polski

13

Góry o ciekawych nazwach

21

Alpy Retyckie - Rätische Alpen - Alpi Retiche 1

22

Alpy Retyckie - Rätische Alpen - Alpi Retiche 2

31

Góry Riła

32

Okolice Sarajewa

40

Beskidy Zachodnie - test

44

Test 300 szczytów

There are over 1000 Polish peaks in RunCalc database. You can download them from portal database to RunCalc app. Choose menu History, run context menu (Android key in lower corner), click Import (Internet connection is essential) and input ID of one of above mountain ranges. Imported peaks will be shown on stopwatch map and in Panoruna option.

Pobrane szczyty są trwale zapisywane w pamięci telefonu. Możemy je zobaczyć nie tylko na panoramie, ale również na mapie w stoperze RunCalc. Panoruna i mapa działają potem offline (bez konieczności połączenia z Internetem), co ma dużą zaletę, ponieważ w górach różnie bywa z zasięgiem. Wczytanie innego grupy pasm powoduje nadpisanie istniejących danych. Na razie dostępne jest grupa Beskidów: Małego, Śląskiego i Żywieckiego (wspólne dla trzech wymienionych), Tatry (Wysokie i Zachodnie), Karkonosze i Izery oraz najwyższe budynki w miastach w Polsce. Ta ostatnia opcja służy do tego, żeby każdy w Polsce mógł sobie przetestować tę funkcjonalność u siebie w domu, zanim wybierze się w góry (zawsze powinien pojawić się jakiś budynek oddalony o mniej niż 150 km w linii prostej).

W najbliższych miesiącach pojawić się możliwość importu danych o szczytach wszystkich większych pasm górskich w Polsce, dzięki czemu RunCalc stanie się uniwersalną aplikacją turystyczną. Jeżeli ktoś wybiera się w góry za granicą i chciałby tam skorzystać z opcji Panoruna, to zapraszam do współpracy przy uzupełnianiu bazy. Zdefiniowanie całego pasma górskiego zajmuje trochę czasu (1-2 godziny), ale przy okazji można się dużo nauczyć i przygotować do wycieczek w tym tym terenie. Jeżeli ktoś jest zainteresowany, to proszę o kontakt mailowy - wytłumaczę jak najwygodniej wprowadzać szczyty.

Przetestowałem aplikację na kilku urządzeniach i zauważyłem, że zasięg kamery nie jest na nich taki sam. Niestety, podawane przez urządzenia informacje o zasięgu często znacznie odbiegają od tego, co widzimy później w praktyce na ekranie (np. tablet Huawei MediaPad 7 Lite podawał zasięg 100 stopni, a tak naprawdę było to niewiele ponad 50 stopni). Od wersji 4:48 musiałem przyjąć stały procent zakresu widoczności - kąt 53 stopni (na wyświetlaczu można zobaczyć jednocześnie dwa znaczniki kierunków stron świata, rozmieszczone co 45 stopni). Jeżeli szczyty na bokach ekranu są opisane niedokładnie (zbyt małe lub zbyt duże odstępy), to panoramę należy skalibrować w menu GPS -> Panoruna - korekta (+/- %). Jeżeli odstępy są zbyt duże, podajemy dodatni procent korekty. Chodzi o to, że zasięg kamery jest większy niż 53 stopnie (obiektyw szerokokątny), co po dodatniej korekcie przekłada się w praktyce na "zwężenie" panoramy. Odwrotnie postępujemy w przypadku zbyt małych odstępów (ujemny procent). Trzeba to przetestować w praktyce. Dane kalibracji są trwale zapisywane i Panoruna będzie już zawsze działała dobrze na tym urządzeniu.

Z poziomu aplikacji można wygodnie zrobić zdjęcie górskiej panoramy - wystarczy jedno kliknięcie w prawym dolnym rogu (Zdjęcie). Poniżej zamieściłem kilka przykładowych fotografii z panoramami Beskidów i jedną z Tatr (widok z Rysów).








Wykonane zdjęcie można łatwo udostępnić na Facebook-u. Wystarczy wejść do katalogu RunCalc na karcie pamięci, wybrać ostatnio wykonane zdjęcie (na górze), przytrzymać na nim palec, wybrać Udostępnij przez -> Facebook. Zachęcam do udostępniania zdjęć Panoruna na Facebook-u z tagiem #RunCalc.











Jeżeli kogoś interesuje algorytm generowania panoramy, to opiszę go w tym akapicie. Podstawą jest baza szczytów, posiadająca atrybuty: nazwa, współrzędne geograficzne (2 pola) oraz wysokość n.p.m. Analizowane są kolejne szczyty z bazy. Jeżeli odległość do nich z bieżącego miejsca przekracza 150 km, są od razu odrzucane. Dalsza analiza jest oparta o obliczanie odległości do szczytów, kątów pod względem wysokości oraz kierunków geograficznych. Budowana jest baza szczytów, które przynajmniej na razie (dopóki nic ich nie zasłoni) powinny być widoczne (nazwijmy to bazą widoczności). Jeżeli kolejny analizowany szczyt zasłania jakiś z bazy widoczności, to ten drugi jest z niej eliminowany, a pierwszy wchodzi na jego miejsce. Weryfikacja czy jeden szczyt zasłania drugi to kolejny ciekawy temat. Ponieważ nie dysponuję dokładnymi danymi topograficznymi całego terenu, musiałem przyjąć pewne założenia przeciętnego kształtu góry. Beskidy przypominają sinusoidę, choć w wyższych pasmach (Tatry) mogą być to np. trójkąty ostrokątne. Ja przyjąłem to pierwsze założenie, które w moich okolicach w miarę się sprawdza. Inaczej analizowane są szczyty, które widzimy z góry, a inaczej te widziane z dołu. Uwzględniana jest również kulistość Ziemi (góry oddalone o ponad 100 km są z punktu widzenia obserwatora nieco niższe). Kiedy cały proces przejdzie i jest już wygenerowana baza widoczności, to aplikacja weryfikuje, czy opisy widocznych gór nie będą na siebie nachodzić. Jeżeli tak się stanie, to eliminowany jest niższy z opisanych szczytów (np. Kozia Górka nie jest często widoczna w opisie południowej panoramy Bielska, bo wyższe od niej są Magura, Klimczok i Szyndzielnia). Na koniec baza widoczności jest nanoszona na podgląd aparatu w telefonie, a rzutowanie odbywa się z wykorzystaniem twierdzenia o dwusiecznej kąta w trójkącie (obiekty na bokach podglądu kamery są rozstawione szerzej, niż widziane na środku). Do określenia kierunku skierowania kamery wykorzystywane są wskazania kompasu, choć jak pisałem wcześniej, lepiej przesuwać panoramę manualnie (nie ma zakłóceń i nagłych skoków). Po drodze oczywiście jest sporo obliczeń matematycznych, związanych z geometrią i stereometrią (kąty w przestrzeni).

Jestem bardzo zadowolony z tego algorytmu, bo napisałem go błyskawicznie, nanosząc tylko potem drobne poprawki. Efekt nie zawsze jest idealny. Czasami jakiś szczyt widać, a nie jest opisany (np. przed nim jest góra o specyficznym kształcie, której zbocza szybciej opadają i odsłaniają jednak ten drugi wierzchołek), ale częściej działa to w drugą stronę, że opisane jest coś, czego nie widać (np. gdy zasłaniają drzewa na szczycie lub inna mniejsza górka, która nie jest zarejestrowana w bazie i aplikacja o niej nie wie). W takich sytuacjach warto analizować informację o wysokości i odległości w linii prostej do szczytów (jest to widoczne w każdym opisie) i na tej podstawie wyciągać wnioski, jakie góry tak naprawdę widzimy (kontury dalszych szczytów są zawsze mniej wyraźne).

W czasie testowania aplikacji biegałem głównie w okolicach Bielska-Białej i tutaj aplikacja działała dobrze. Czasem błędy wynikały ze złych wskazań wysokości przez GPS (np. dodawał 70 metrów w pionie i pokazywał więcej gór niż trzeba), ale na to nie mam już wpływu. Jestem otwarty na wszelkie uwagi i jeżeli ktoś korzystał z aplikacji w innych miejscach, to proszę o zrobienie zdjęcia i wysłania na mój adres. Na fotografię nanoszone są współrzędne geograficzne i wysokość na jakiej zostało zrobione zdjęcie, a ja te dane mogę potem zasymulować w programie i ewentualnie dokonać jakichś poprawek w bazie szczytów lub w algorytmie.

Mam nadzieję, że Panoruna będzie przydatna dla biegaczy, turystów, narciarzy i przyczyni się do lepszej znajomości naszych pięknych gór :-)

Przy okazji, cały czas zapraszamy do wzięcia udziału w Alpejskim Wyzwaniu RunCalc - wirtualnej rywalizacji w biegach na Kasprowy Wierch, Babią Górę i Śnieżkę. Startujemy kiedy chcemy, a wynik uzupełniamy później na portalu. Wakacje w pełni, jeżeli ktoś przebywa w Tatrach, Beskidach lub Karkonoszach, to zapraszamy do wybiegnięcia na jeden z tych znanych szczytów.




(c) 2010 - 2017 Robert Celiński, Byledobiec Anin