Jak dodać własną mapę do OSMAnd


Na początku trzeba zaopatrzyć się w narzędzie OSMAnd Map Creator (w wersji z https://github.com/osmandapp/OsmAnd-tools brakuje OsmAndMapCreator.jar) – to napisane w javie narzędzie do pobierania lokalnie obrazków z widokiem mapy (kafelków) z serwerów map (na wiki openstreetmap jest dokładniejszy opis).
Po pobraniu trzeba go rozpakować i uruchomić OsmAndMapCreator.bat :
image
Wygląda jak zwyczajna mapa – ale obsługuje się ją jak JSOM – prawym przyciskiem myszy można przesuwać mapę, a kółkiem powiększać;  można chwilę spędzić na przesuwaniu i powiększaniu mapy żeby OAMC pobrał obrazków (kafelków).
OAMC w trakcie przeglądania mapy – pobiera wyświetlone kafelki (obrazki z mapą) na dysk:
image
W ustawieniach OAMC można zmienić miejsce gdzie ma lokować te grafiki (menu Window->Settings) :
image
Żeby się przekonać jak wyglądają te kafelki – trzeba wejść do katalogu osmand\tiles\Microsoft Maps – wewnątrz będzie kilka podkatalogów (poziomów powiększenia) wewnątrz których znajdziemy kolejne podkatalogi – ale już wewnątrz nich – znajdziemy pliki z nazwą 348.png.tile na przykład – takiemu pliku wystarczy zmienić nazwę na 348.png aby się przekonać że skrót TMS oznacza dokładnie to czego jest skrótem – ten obrazek to fragmencik mapy; w pozostałych folderach jest reszta mapy którą przeglądaliśmy, jeśli wyjdziemy katalog wyżej – okaże się ze katalog o nazwie 10 zawiera kafelki mapy dla powiększenia (skali) 10, a inne katalogi są pełne kafelków ze swoich powiększeń.
image
To jest skala wyświetlanej mapy.
Po tym wstępie - zabierzemy się za stworzenie własnej mapy której będzie można używać w OSMAnd.
Najpierw wybieramy źródło kafelków do mapy :

Tu akurat tego nie widać (OAMC ma generalny problem z tym podmenu) ale przekornie wybrałem mapę Microsoft Maps jako źródło kafelków.
Następnie – rozglądamy się po mapie aby wybrać interesujący nas obszar – można oczywiście ściągnąć cały obszar polski w każdym powiększeniu ale taka mapa będzie miała gigantyczny rozmiar i raczej nie zmieści się w urządzeniu z androidem.
Z pewnych względów postanowiłem przenieść Przemyśl i jego okolice do OSMAnd – przesunąłem mapę w te rejony – tak aby kółko symbolizujące środek mapy znajdowało się w centrum interesującego nas obszaru:
image
Kolejnym etapem przygotowania będzie określenie jakie powiększenie mapy jest wystarczające – używając przycisków powiększania image (albo kółka myszy) sprawdzamy od jakiego do jakiego powiększenia chcemy mapę mieć image w moim przypadku okazało się że będzie to skala od 12 do 16.
Następnie cofamy powiększenie do jej mniejszej wartości – dla mnie 12 - i lewym przyciskiem myszy zaznaczamy który konkretnie region ma być pobrany:
image
I wciskamy Preload area :
image
Tutaj trzeba wybrać od jakiej skali do jakiej pobierać będzie kafelki – u mnie 12 do 16 – i gotowe – czas wcisnąć Download tiles – OAMC pobierze wszystkie kafelki w wybranych skalach
image
Teraz z menu wybieramy Create sqlite database
image
OAMC  zapisze wszystkie pobrane kafelki do pliku bazy danych w formacie sqlite – można zamknąć OAMC  zajrzeć do katalogu z mapami:
image
Warto zmienić nazwę temu plikowi żeby łatwiej go zidentyfikować w OSMAnd, ale żeby się tam znalazł – należy przekopiować plik Mapy microsoft.sqlitedb do telefonu. Domyślnie OSMAnd swoje pliki z mapami trzyma w /mnt/sdcard/osmand i tam trzeba skopiować pobrane kafelki, a konkretnie: kopiujemy z komputera plik Mapy microsoft.sqlitedb i wklejamy do androida w lokalizacje /mnt/sdcard/osmand/tiles/
image
I gotowe – mapa wyświetla się jako jedna z pozycji w mapach niestandardowych OSMAnd.
Capture _2017-06-17-13-15-54
Przykład z Microsoft Maps nie był zbyt trafiony – ale ta metoda działa na każdą mapę – można sobie ściągnąć do OSMAnd mapy Yandex powiedzmy :>

Komentarze

Popularne posty z tego bloga

Mapy ISOK LIDAR z Geoportalu w OSMAnd przez OsmAnd Map Creator

IE7 PNG i filter :