Dla Androida

Z UMP

(Różnice między wersjami)
(routing OsmAnd)
(Nad czym pracujemy)
Linia 123: Linia 123:
-
Przykładowy zrzut ekranu (widać kilka błędów konwersji, np. brak rampy)
+
Przykładowy zrzut ekranu
[[Grafika:OsmAnd1.png]]
[[Grafika:OsmAnd1.png]]
[[Kategoria:Użytkowanie mapy]]
[[Kategoria:Użytkowanie mapy]]

Wersja z dnia 07:59, 6 maj 2012

Spis treści

UMPpcPL dla Androida

Pracujemy nad wektorową mapą UMPpcPL dla bezpłatnego programu OsmAnd na platformę Android.

Wektorowych map UMP można także używać w programie Navitel (płatny?) (mapy dla Navitela do pobrania z głównej strony UMP).

Rastrowa mapa UMP działa w programach:

 <onlinemapsource uid="77">
 <name>UMPpcPL PL</name>
 <url><![CDATA[http://tiles.ump.waw.pl/ump_tiles/{$z}/{$x}/{$y}.png]]></url>
 <minzoom>0</minzoom>
 <maxzoom>18</maxzoom>
 <projection>MERCATORESFERICA</projection>
 <servers></servers>
 <httpparam name=""></httpparam>
 <xop></xop> <yop></yop> <zop></zop> <qop></qop> <sop></sop>
 </onlinemapsource>

UMPpcPL dla programu OsmAnd

Mapa to pobrania z naszego serwera ftp. Nowe kompilacje poszczególnych obszarów co kilka dni.


UMP dla programu OsmAnd to aktualnie wersja EKSPERYMENTALNA. Główne zalety to:

  • wersja offline (bez transmisji danych)
  • z wyszukiwaniem ulic, POI i numeracją
  • obsługująca routing

Aktualne ograniczenia:

  • podział na regiony ( mapa dla całej Polski jest generowana nieregularnie i jest dostępna tu Ump-pl-all.obf )
  • routing ma wiele ograniczeń i nie należy go traktować zbyt serio

Wszystkie błędy i zauważone niedoskonałości można nam zgłaszać - najlepiej przez system FlySpray (zaznaczając Androida w zakładce "System Operacyjny"), albo emailem na adres listy ump <małpa> ump.waw.pl.


Jak zainstalować na telefonie

  • Zainstalować OsmAnd program na Androida (OsmAnd+ dostępny także z Android Marketu ale od jakiegoś czasu płatny, a bezpłatny OsmAnd ma pewne ograniczenia). Najaktualniejsza, ZALECANA i DARMOWA wersja deweloperska do pobrania tutaj: OsmAnd-development.apk -- w tym celu przydatny jest także (z marketu) program AppInstaller, pozwalający instalować aplikacje z karty SD.
  • Zainstalować i skonfigurować polski głos z Android Marketu (opcjonalne)
  • W ramach aplikacji OsmAnd w telefonie:
    • Ustawienia -> Dane offline -> (ikona w prawym górnym rogu) -> "World Basemap"
    • Ustawienia -> Dane offline -> (ikona w prawym górnym rogu) -> "Głos TTS pl-tts"
    • Ustawienia -> Nawigacja -> Usługa routująca -> OsmAnd (offline)
    • Ustawienia -> Mapy -> Wektorowe mapy offline (zahaczyć)
    • Ustawienia -> Mapy -> Korzystaj z Internetu (odhaczyć)
    • Ustawienia -> Nawigacja -> Głos nawigatora -> pl-tts (o ile używamy syntezy głosu)
  • Skopiować pobrany fragment Mapy UMPpcPL do katalogu /osmand na telefonie. Po wejściu do ustawień telefonu "Ustawienia -> Dane offline -> Dane mapowe(wektorowe)". Powinniśmy widzieć
    • World Basemap 3.5 MB
    • UMP-PL-Obszar 11 MB
  • Usunąć stworzone tymczasowe kafelki mapy
    • Ustawienia -> Dane offline -> Dane mapowe(kafelki) - nacisnąć na Mapnik i usuń
  • Poprawki w wyświetlanie mapy (opcjonalne ale zalecane)
    • Pobrać render dla UMPpcPL
    • Wgrać do katalogu '/osmand/rendering' na telefonie
    • Wybrać Ustawienia -> Mapy -> Render wektorowy -> UMPpcPL.( Jeśli się nie pojawi trzeba wyczyścić pamięć w telefonie ( Manedżer zadań -> Pamięć RAM -> Wyczyść pamięć )

Routing

OsmAnd wspiera dwa rodzaje routingu:

  • Offline - na podstawie pliku obf zawierającego mapę. Ma wiele ograniczeń i nie nadaje się do zbytnio do poważnych zastosowań. Nawet autorzy OsmAnd nie zalecają użycia routing offline do wyznaczania tras dłuższych niż 20km.
  • Online - korzystając z zewnętrznych serwisów ( CloudMade , OpenRouteService , YOURS ). Wszystkie te serwisy używają danych OSM do generowania tras więc nie nadają się do współpracy z mapą UMP. Jeśli OsmAnd zyska użytkowników na stałe z niego korzystających trzeba będzie pomyśleć o uruchomieniu własnego serwisu obsługującego routing.

Przygotowanie mapy ( dla zainteresowanych )

Co trzeba zrobić: (wersja w trakcie przygotowania)

Etap 1 - przygotowanie plików XML zgodnych z OSM ( Linux )

  • Tworzymy katalog roboczy n.p. MP2OSM i MP2OSM/WORK
  • Definiujemy zmienne zgodnie z zakresem danych które chcemy sobie
 export CVSROOT=":pserver:guest@ump.waw.pl/home/cvsroot"
 export CVS=$HOME/MP2OSM
 export DIR="UMP-PL-Warszawa UMP-PL-Radom"
  • Ściągamy źródła mapy i narzędzia z projektowego CVSa
 cd $CVS
 for i in $DIR ;do
    cvs co $i
 done
 cvs co narzedzia
  • Teraz stworzenie pliku .mp (mapa w formacie Polish MP)
 cd $CVS/WORK
 perl $CVS/narzedzia/mont-demont-multi2.pl --cities --topo --nodummy --noborders --mont $DIR
  • Skrypt perlowy tworzy plik wynik.mp i teraz konwersja do XMLa
 python $CVS/narzedzia/txt2osm.py wynik.mp >wynik.osm

Uwagi:

  • Montaż całej Polski wymaga 1.5GB pamieci operacyjnej dla perla
  • Konwersja MP -> OSM wymaga 4.5GB (python).


Etap 2 OSM -> OBF

  • Zainstalować na PC OsmAndMapCreator - kompliator map dla OsmAnd
  • Pobrać plik XML przygotowany na podstawie danych UMPpcPL (tutaj [1] ) lub zrobić sobie samemu jak w etapie 1
  • Skonwertować XML do formatu "*.obf" za pomocą OsmAndMapCreator'a
  • Skopiować wynikowy plik "UMP-PL-Coooś.obf" do katalogu /osmand na telefonie


Nad czym pracujemy

Do poprawy:

  • Ujemne numery domów - floor
  • Przystanki w indeksach
  • miasto@dzielnica

Linki:

Najnowszy OsmAndMapCreator(dev)

Budowanie indeksu ulic

Zmiana wyglądu mapy

default.render.xml


Przykładowy zrzut ekranu

Grafika:OsmAnd1.png