Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Sunday, July 7, 2013

7: Z OSMTrackera do Google Maps

Drugi rok rowerowych wędrówek z Androidem w pełni i kolejny sposób jak pożenić programy ze stajni Google’a i te markowane przez OSM. Jak wgrać trasy z OSMTrackera do Google Maps? Pytanie nie od rzeczy, bo o ile o GM słyszeli chyba wszyscy, to o OSM tylko zapaleńcy, więc kiedy jest potrzeba podzielenia się trasą ze zwykłym śmiertelnikiem taka funkcja się przydaje.

Droga przez eksport GPX-a z OSMT, następnie konwersja do KML i import tegoż KML-a w GM zajmuje wieki. Można jednak podsunąć GPX-a poprzez inną aplikację Google’a — MyTracks. Po kolei:
  • eksportujemy trasy z OSMTrackera w formacie GPX,
  • przenosimy wyeksportowane pliki z katalogu /sdcard/osmtracker/katalog_pliku/plik.gpx (obie ostatnie nazwy są bardzo charakterystyczne — to data i godzina rozpoczęcia rejestracji trasy) do katalogu /sdcard/MyTracks/gpx/ (polecam Inka FileManager do tej operacji) — jeśli docelowy katalog nie istnieje, tworzymy go,
  • na głównym ekranie MyTracks wybieramy opcję “import all from external storage”,
  • po udanym imporcie klikamy na daną trasę i teraz dopiero wybieramy z opcji “more → send to Google”, a następnie “Google Maps” (inne sposoby, mimo że są widoczne w opcjach powodują załamanie programu).
Voilà, trasa jest widoczna w GM, gotowa do pochwalenia się nią przed znajomymi.

Saturday, November 3, 2012

3: Android — aplikacje

Skoro nieco odbiegłem już od głównej tematyki tego blogu pisząc o Androidzie, w takim razie odbiegnę raz jeszcze — popełniłem mały program dodający kilka ustawień systemowych do Androida. Pełny kod (open-source) aplikacji — Missing Settings — można znaleźć na githubie (kompilacja i instalacja we własnym zakresie).

Tuesday, October 23, 2012

23: Wytyczanie wycieczki z Google Maps

Google Maps (te dostępne via przeglądarka) są na tyle popularne, że nie będę opisywał jak technicznie utworzyć trasę. Proszę tylko pamiętać, iż przy wytyczaniu drogi po bezdrożach możemy mieć do czynienia z przesunięciem obrazu satelitarnego względem faktycznych koordynatów (oczywiście prosta droga, to nadal prosta droga — tyle, że nieco obok zdjęcia).

Momentami nawet ten krok jest sympatyczny, bo pozwala nauczyć się czytać zdjęcia satelitarne i odróżniać ścieżkę od granic pól, czy strumyk od cienia ściany lasu.

OK, mamy zapisaną naszą trasę, musimy uzyskać z niej plik KML. Google to udostępnia, a to kasuje funkcję eksportu do KML. W optymistycznym wariancie klikamy na trasę (z listy „My Places”), a następnie w link KML. W pesymistycznym klikamy na przycisk łańcuszka (link), kopiujemy podany adres do pasku adresu przeglądarki, dopisujemy na samym końcu „&output=kml” i zatwierdzamy adres. W obu przypadkach w tym momencie przeglądarka poprosi nas o potwierdzenie zapisania pliku.

Teraz pobieramy z internetu konwerter plików GPS (możemy też skusić się na konwerter on-line). Ja korzystam z programu GPSBabel — nie dość, że darmowy, to jeszcze open-source. Po zainstalowaniu wpisujemy polecenie na podobieństwo poniższego (jest to jedno polecenie, w jednej linii):

gpsbabel -i kml -o gpx kontrolnekolko.kml kontrolnekolko.gpx

Konwertowałem tutaj plik „kontrolnekolko” z formatu KML do GPX. Nie powinno nic się specjalnego wydarzyć, więc następnie uruchamiamy na Androidzie program FTPServer, o którym już wspominałem i kopiujemy plik GPX do katalogu „/scard/osmand/tracks”.

Pozostaje nam uruchomić samego OsmAnda i przy podglądzie mapy, wybrać z menu „Define view” opcję „GPX track”. Program pokaże nam listę naszych tras, gotowych do nałożenia na mapę.

W kolejnym odcinku — jak uzyskać ten sam efekt, ale startując z Open Street Map.

Saturday, October 20, 2012

20: Na wycieczkę — mapa

To trzecia część cyklu wycieczek z Androidem. Osoby, które mają włączoną pełną transmisję danych w telefonie ten wpis mogą śmiało pominąć. Poniżej opisuję jak przygotować mapy do pracy bez połączenia z internetem.

Tak jak pisałem poprzednio moim bazowym „systemem” jest Open Street Map, ale mimo wszystko zawsze warto się zabezpieczyć i mieć zainstalowane Google Maps (zwłaszcza, że usługa i program są darmowe). Ponieważ GM są i prostsze i mniej przydatne, zacznę od niego.

Po uruchomieniu GM otwieramy menu i wybieramy opcję „make available off-line”, następnie zakreślamy region jaki nas interesuje i voilà, po pewnym namyśle GM przerzuci potrzebne dane na nasz telefon. Całej Polski w ten sposób nie przegramy, gdyż region ma górny limit rozmiaru mapy, więc musielibyśmy przegrywać Polskę w łatkach co 50km. Ale na rower to wystarczy.

Szkopuł tkwi gdzie indziej — tryb offline w GM to funkcja wymuszona. Przy update‘ach programu, GM lubi zapomnieć, że ma zgrane mapy i trzeba je zgrywać na nowo. Albo — wyruszamy na trasę i z niewiadomych powodów GM koniecznie musi uzyskać połączenie, bez tego odmawia wyświetlenia zgranej mapy (mimo, że fizycznie dane są obecne).

Słowem, GM to zawodny towarzysz podróży, lubi się dąsać bez powodu i z samym GM na trasę z pewnością lepiej nie ruszać.

Prawdziwie wiernym kompanem jest OsmAnd. Po uruchomieniu i wybraniu opcji ustawień z menu od razu zobaczymy zarządzanie mapami w trybie off-line (w przeciwieństwie do GM, jest to kluczowa funkcjonalność programu). Po wybraniu opcji „click here to download or update offline data” ukazuje się potężna baza wektorowych map. To co nas będzie interesowało to sekcja „Europe / Poland”. Zaznaczamy odpowiednie mapy i… już.

Za łatwo? Owszem jest tu pewien haczyk — dane map w OsmAnd są odświeżane zachowawczo, tj. rzadko. Jeżeli np. dokonaliśmy poprawek w danych OSM to na ogół są one widoczne po kilku godzinach, natomiast do OsmAnd mogą trafić i po miesiącu. Jeśli zależy nam na świeżych danych musimy upichcić aktualizację samemu.

W tym celu instalujemy program OsmAndMapCreator (wystarczy rozpakować archiwum, program jest napisany w Javie), a ponadto pobieramy aktualne mapy OSM dla naszego regionu — najbardziej popularnym serwerem jest GeoFabrik (pobieramy stamtąd mapę Polski). Uruchamiamy program, wybieramy opcję „Create .obf from osm file for specified area”, wskazujemy na pobrany plik z mapą Polski, następnie zaznaczamy interesujący nas region i klikamy „Select area”. Nawet dla niewielkiego regionu konwersja zabiera sporo czasu, więc lepiej nie wybierać całego kraju.

Świetnie, w katalogu $HOME/osmand mamy już przygotowaną mapę (plik .obf) — pozostaje nam ją przegrać (do tego celu używam FTPServer) na telefon, do katalogu /scard/osmand. Jeżeli ponownie uruchomimy program OsmAnd przegrana mapa powinna już figurować na liście używanych map off-line.

W przedostatnim odcinku — jak wytyczyć szlak na mapie.

Thursday, October 4, 2012

4: Android — zapisywanie wycieczek

Do zapisywania przejechanych tras używam jednocześnie dwóch programów.

My Tracks (w rzeczywistości takiej mapy nigdy nie widzę)

Pierwszy z nich to My Tracks — ze względu na ograniczenia oraz związek z Google Maps (a nie Open Street Maps) służy mi wyłącznie do podliczenia statystyki trasy (maksymalna prędkość, największa stromizna, itp.) oraz do „pochwalenia się” trasą. Bezpośrednio z My Tracks można przesłać trasę do Google Maps, a stamtąd uzyskać link, który możemy przesłać znajomym e-mailem.

Ważne: warto mieć na uwadze, że dokładne rejestrowanie trasy i jednocześnie szerokie publikowanie jej przebiegu nie jest wskazane, gdyż mimochodem wyjawiamy nasze miejsce zamieszkania (GPS złapie sygnał po wyjściu z domu). Albo więc nie publikujmy swoich tras, albo zaczynajmy i kończmy rejestrację w sporej odległości od domu.

Kluczową natomiast dla mnie aplikacją jest OSM Tracker ze względu na jego ścisłą orientację z projektem Open Street Maps (w przeciwieństwie do Google Maps jest to projekt społeczny) i fakt, iż jest to program open-source.

OSM Tracker

Tutaj podobnie jak w My Tracks zarejestrujemy trasę, ale także dodamy znaczniki — np. informację, iż dany kawałek drogi był asfaltowy, albo że w danym miejscu przejechaliśmy przez most. Możemy także „znakować” obiekty — kapliczki, tężnie, wyciągi narciarskie (obiekty warto objeżdzać, aby mieć zapis ich rozmiarów). Ponieważ nigdy nie jestem pewien, czy po powrocie do domu będę pamiętał sens technicznego znacznika, więc zawsze po dodaniu go (np. „track — grade 5”) dodaję notatkę tekstową („beton”).

Po przejażdżce wprost z OSM Trackera wysyłamy trasę do OSM (w trybie „private”) i zaczynamy pracę kartografa (na komputerze) — logujemy się, przechodzimy na nasze konto, wybieramy funkcję „my traces”, a następnie z listy zarejestrowanych tras wybieramy („edit”) ostatnio przejechaną. Zobaczymy teraz mapę w trybie edycji.

Przesuwamy mapę w ślad za naszą trasą do chwili, aż zobaczymy, że istniejące dane nie zgadzają się z naszą wiedzą — począwszy od braku drogi, przez błędne, niepełne informacje o drodze (np. nieznana nawierzchnia), do nieoznaczonych obiektów.

Ten wpis nie jest kursem edycji OSM — ale obsługa jest intuicyjna, a zacząć zawsze można (a nawet należy) od małych kroczków. Satysfakcja z bycia Kolumbem jest za to murowana; napędza do częstszych i dalszych wycieczek, aby odkrywać nieodkryte (przynajmniej w wymiarze OSM).

Jak przygotować mapy na trasę — o tym w kolejnym odcinku. Tymczasem na deser:
Nieszawa — przeprawa przez Wisłę (teraz już oznakowana)

Monday, October 1, 2012

1: Wycieczki z Androidem

Siłą napędową zakupu pierwszej komórki (legendarnej Nokii 3310 — nadal ją posiadam, w pełni sprawną) była możliwość zadzwonienia z drogi po odpowiednie służby w razie wypadku. Z czasem doceniłem jednoczesne dokumentowanie napotykanych wykroczeń, a ponieważ noszenie ze sobą aparatu fotograficznego było uciążliwe, zdecydowałem się na zakup tzw. smartfonu.

W praktyce jednak to nie wbudowany aparat fotograficzny okazał się najcenniejszą cechą smartfonu, a… odbiornik GPS. Ta cecha wywróciła do góry nogami moje wycieczki rowerowe. Raz, że mogę zaplanować z wyprzedzeniem trasę, a następnie nawet w gęstym lesie z dokładnością do kilku metrów sprawdzić, czy jadę zgodnie z planem (papierowych map coraz częściej używam już tylko w domu, aby jednym rzutem oka „rozejrzeć się” po okolicy).

Dwa — i to mi sprawia największą frajdę — mogę śledzić swój przejazd i po powrocie do domu dodać do społecznościowej akcji „kartograficznej” (Open Street Map) nie naniesione do tej pory drogi, szlaki, czy całe obiekty (np. kościoły, boiska, parkingi). Można poczuć się współczesnym Kolumbem w mikro-skali i zmienić własną percepcję jazdy — to już nie jest „zabłądziłem w lesie”, tylko „oznaczam interesującą trasę”.

O Androidzie, GPS-ie i programach pomocnych na wycieczkach w kolejnym wpisie, a teraz o dwóch telefonach, które warto rozważyć na początku zabawy z Androidem. Oba posiadają wszystkie podstawowe funkcje (GPS, NFC, aparat fotograficzny z lampą błyskową, możliwość rozszerzenia pamięci oraz czujnik zbliżeniowy — kiedy podczas rozmowy przybliżamy i oddalamy telefon od twarzy, samoczynnie wyłącza i włącza on ekran).

LG Swift L5 (E610)

To telefon z 4 calowym wyświetlaczem i z relatywnie nowym systemem (Android 4.0). Dla mnie jedynym poważnym mankamentem jest właśnie duży wyświetlacz i brak zaokrągleń — trudno nosi się ten telefon w kieszeni.

Samsung Galaxy Ace 2 (GT-I8160)

Mniejszy, bo 3,8 calowy ekran i zaokrąglone rogi sprawiają, iż Ace 2 można już wygodnie włożyć do kieszeni spodni. W stosunku do L5 ma dodatkowo wbudowaną przednią kamerę, ale też starszy system (Android 2.3). Niestety piętą achillesową tego telefonu jest fatalna czytelność ekranu w słońcu (jasność ok. 25% w L5 odpowiada ok. 75% w Ace 2).

Co ważne oba aparaty mają pojemne baterie, które wystarczają na potrzeby GPS (odbiornik jest bardzo prądożerny). Od 100% naładowania po 6 godzinach pracy GPS-u pozostaje około 45%. Mniejsze telefony (z siłą rzeczy mniej pojemnymi bateriami) trudno rekomendować na wycieczki.

L5 kosztuje ok. 640 złotych, Ace 2 jest dużo droższy — ok. 900 złotych. Jeśli więc gabaryty nie są problemem, według mnie LG L5 jest lepszym zakupem. W obu przypadkach należy zwrócić uwagę, żeby nie kupić telefonu prezentacyjnego (z wystawy), z używaną baterią (w nowym aparacie bateria powinna być zapakowana oddzielnie, a całość w nierozpakowanym pudełku).