Wolne mapy i Navit — openstreetmap i garmin

Przy oka­zji pierw­szego wpisu pre­zen­tu­ją­cego pro­gram Navit wspo­mnia­łem o Openstreetmap-ie, chwilę póź­niej poja­wił się pod tym wpi­sem komen­tarz pana Jacka doty­czący pro­jektu ump.pcPL. Ponieważ suk­ces uży­wa­nia map gar­min w Navit w moim wyko­na­niu był tylko poło­wiczny (mówiąc deli­kat­nie), popro­si­łem go o pomoc i uzy­ska­łem bar­dzo kon­kretne wska­zówki, za które ser­decz­nie dzię­kuję. Korzystając z tych wska­zó­wek i wnio­sków z wła­snego bada­nia tematu, chciał­bym dziś roz­wi­nąć temat kon­fi­gu­ra­cji źródeł map pro­gramu Navit. Będzie przy oka­zji kilka słów na temat wspo­mnia­nej ini­cja­tywy ump.pcPL.

By korzy­stać z Openstreetmapy należy pobrać inte­re­su­jący nas „kawa­łek świata“. Mogę pole­cić nastę­pu­jący sposób:

Samodzielnie zazna­czamy na mapie pro­sto­kąt obej­mu­jący inte­re­su­jący nas obszar i zapi­su­jemy go jako plik w wybra­nej loka­li­za­cji na dysku. Od nie­dawna można nasz wybór utrwa­lić — zapa­mię­tać wybrany obszar i odwo­łać się do niego w przy­szło­ści. Dobrze jest zmie­nić nazwę pobra­nego pliku na coś co nie zawiera kropek/przecinków/myślników/podkreślników. Czyli nasz plik z np. osm_bbox_12.0,47.0,26.5,56.0.bin prze­mia­no­wu­jemy na np. polska.bin, w pliku kon­fi­gu­ra­cyj­nym pro­gramu Navit (~/.navit/navit.xml) znaj­du­jemy akapit:

<map­set enabled=„no“>
<map type=„binfile“ enabled=„yes“ data=“/media/mmc2/MapsNavit/osm_europe.bin“/>
</mapset>

i nada­jemy mu brzmienie:

<map­set ena­bled=„yes“>
<map type=„binfile“ enabled=„yes“ data=„[pełna ścieżka dostępu]/polska.bin“/>
</mapset>

Jeśli chcemy aktu­ali­zo­wać mapę wystar­czy pobrać ją ponow­nie i nad­pi­sać zapi­sany wcze­śniej plik .bin. Zaleta — względna łatwość użyt­ko­wa­nia, naj­śwież­szy obraz danych zgro­ma­dzo­nych w bazie Openstreetmap-y.

Powyższe roz­wią­za­nie ma jed­nak poważną wadę — jed­no­ra­zowo i przy każ­dej aktu­ali­za­cji trzeba pobrać plik wiel­ko­ści około 300–500 MB. Dzielenie go na kilka obsza­rów i łado­wa­nie ich jako osobne pliki nie ma więk­szego sensu, z moich doświad­czeń wynika, że zakłóca to cza­sem moż­li­wość wyzna­cza­nia trasy.

Natomiast poziom zaawan­so­wa­nia pro­jektu, przy­naj­mniej na tere­nie Polski jest taki, że ogromna część głów­nych dróg jest już cał­kiem popraw­nie wykre­ślona, poprawki doty­czą drob­niej­szych trak­tów, nazew­nic­twa ulic i ich przy­na­leż­no­ści do miast (np. dość długo Al. Mickiewicza, jeden z istot­nych ele­men­tów sta­rej obwod­nicy Krakowa, nie nale­żała do mia­sta i nie dawała się wyszu­ki­wać) adre­so­wa­nia, wpro­wa­dza­nia danych o Punktach Godnych Uwagi (POI :P); a w ruchu dro­go­wym: świa­tłach, punk­tach pomiaru pręd­ko­ści itp.

Można uznać, że jeśli nie anga­żu­jemy się oso­bi­ście i nie wysy­łamy śladów/zapisów GPS ani nie kre­ślimy samo­dziel­nie ozna­czeń na mapie, to raz na mie­siąc można zro­bić aktu­ali­za­cję. Jestem też prze­ko­nany, że dzięki pracy entu­zja­stów w okre­sie od wrze­śnia do grud­nia bie­żą­cego roku nastąpi i tak znaczny przy­rost tre­ści. Pewnie Ci, któ­rzy się anga­żują chcie­liby widzieć szybko owoce swo­jej pracy, ale i tak od edy­cji do publi­ka­cji w Openstreetmapie upływa 2 do 5 dnia.

Właśnie dzięki zaan­ga­żo­wa­niu grupy ludzi i ich wspól­nej pracy powstał pro­jekt ump.pcPL. Jak z jego owo­ców sko­rzy­stać w pro­gra­mie Navit? Na począ­tek należy pobrać odpo­wiedni plik z cało­ścią aktu­al­nych danych pro­jektu. Następnie roz­pa­ko­wać paczkę do wybra­nego kata­logu a w kon­fi­gu­ra­cji Navit zna­leźć fragment:

<map­set enabled=„yes“>
<xi:include href=“$NAVIT_SHAREDIR/maps/*.xml“/>
</mapset>
<!– Mapset tem­plate for open­stre­et­maps –>
<map­set enabled=„yes“>
<map type=„binfile“ enabled=„yes“ data=„[…]/polska.bin“/>
</mapset>
<map­set enabled=„no“>
<map type=„garmin“ enabled=„yes“ data=“/path/to/img“ debug=„4“/>
</mapset>

i przy­go­to­wać wpis:

<map­set ena­bled=„no“>
<xi:include href=“$NAVIT_SHAREDIR/maps/*.xml“/>
</mapset>
<!– Mapset tem­plate for open­stre­et­maps –>
<map­set ena­bled=„no“>
<map type=„binfile“ enabled=„yes“ data=„[…]/polska.bin“/>
</mapset>
<map­set ena­bled=„yes“>
<map type=„garmin“ enabled=„yes“ data=„[pełna ścieżka dostępu]/UMP-pcPL-og.tdb“ debug=„4“/> <!–*–>
</mapset>

*UMP-pcPL–og.tdb to wer­sja z ogon­kami, czyli pol­skimi zna­kami diakrytycznymi

Trzeba pamię­tać, że by ta kon­fi­gu­ra­cja dzia­łała, wspo­mniane źródło danych kar­to­gra­ficz­nych musi być jedy­nym, więc należy wyłą­czyć skon­fi­gu­ro­wane mapy osm oraz, co ważne, rów­nież mapę domyślną, tak jak zostało poka­zane w przy­kła­dzie powyżej.

Sprawa aktu­ali­za­cji została tu bar­dzo roz­sąd­nie roz­wią­zana. Można oczy­wi­ście pobie­rać regu­lar­nie całą paczkę z danymi, ale jest to ewi­dentne mar­no­wa­nie prze­pu­sto­wo­ści sieci. W myśl mak­symy by nie brać wię­cej niż jest naprawdę potrzebne mamy dwie możliwości:

Za pomocą pro­to­kołu rsync i poniż­szego skryptu możemy pobrać tylko różnice:

#!/bin/bash

UMP_SRC="rsync://rsync.ump.waw.pl/ump"
WERSJA="latest-og.txt" #nazwa pliku związana z wersją np. ~ni.txt; ~og.txt itp.
MAPSOURCE= #pełna ścieżka do katalogu z plikami *.img

rsync $UMP_SRC/$WERSJA $MAPSOURCE/$WERSJA

UMP_LATEST=`cat $MAPSOURCE/$WERSJA`

echo $UMP_LATEST

rsync -Ehrtzu --progress --recursive $UMP_SRC/$UMP_LATEST/* $MAPSOURCE/

lub przy pomocy pro­gramu wget tylko te pliki w któ­rych nastą­piły zmiany:

wget -N -r -erobots=off -nH --cut-dirs=2 -nv http://ump.waw.pl/update/%WERSJA%

Zaletą tych map jest jest ich naprawdę duża szcze­gó­ło­wość i pre­cy­zja, oraz moż­li­wość wyko­na­nia mało obcią­ża­ją­cej prze­pu­sto­wość sieci aktu­ali­za­cji. Poważną wadą, wystę­pu­jącą jed­nak tylko w pro­gra­mie Navit, jest brak moż­li­wo­ści wyzna­cza­nia trasy.

Będąc już nieco zapra­wio­nym w korzy­sta­niu z map w for­ma­cie gar­min można poku­sić się w przy­padku wycieczki zagra­nicz­nej o pobra­nie za pośred­nic­twem wyszu­ki­warki gpsmapsearch.com odpo­wied­niego zestawu danych nie zwią­za­nych z pro­jek­tem ump a doty­czą­cych innych krajów.

Tyle na dziś, wkrótce przy­go­tuję bar­dziej szcze­gó­łowy wpis doty­czący kon­fi­gu­ra­cji pro­gramu Navit.

Możesz jesz­cze przeczytać:

Kategorie: CarPC, GNU/Linux, Technika, Turystyka, Vademecum | Tags: , , , , , , , , , , , 5 Komentarzy »

5 Odpowiedzi na “Wolne mapy i Navit — openstreetmap i garmin”

  1. SpeX

    Akurat z tego co się orien­tuję, w chwili obec­nej OST ma bar­dziej aktu­alne mapy niż ump.pcPL. Bo w pew­nym momen­cie był import map z ump.pcPL do OST, a potem ich usu­nię­cie i ponowne wyzna­cze­nie. Tam cho­dziło chyba o prawa autor­skie, OST stara trzy­mać się zgod­nie z literą prawa. Natomiast w ump.pcPL użyt­kow­nicy na chama prze­pi­sują komer­cyjne mapy.

  2. Rafał Czajkowski

    @ SpeX — dzięki z komen­tarz. Nie wiem jak jest, jeśli cho­dzi o kopio­wa­nie komer­cyj­nych map przez zespół UMP, for­mat gar­min ma ogra­ni­czoną funk­cjo­nal­ność w Navit’cie i to z mojego punktu widze­nia jest ważne. Druga sprawa to, że Openstreetmapę mogę samo­dziel­nie wspo­ma­gać i roz­wi­jać, zaan­ga­żo­wa­nie w UMP wymaga dłu­go­trwa­łego pro­cesu akceptacji.

  3. Tom

    Jak kie­dyś był import to może jest gdzieś w sieci kon­wer­ter UMP->OST ? Szukałem ale nie mogę zan­leźć. Było by ide­al­nie gdyby dało się w pełni korzy­stać z map UMP poza Garminem. Gdy mia­łem Garmina to byłem z tych mapek bar­dzo zadowolny.

  4. Rafał Czajkowski

    @ Tom — witam ser­decz­nie, też szu­ka­łem i byłem zawie­dziony, że nie ma śladu takiego pro­gramu, z dru­giej strony to, co i jak dobrze będzie obsłu­gi­wane w Navicie zależy w dużym stop­niu od potrzeb użyt­kow­ni­ków i ich zaan­ga­żo­wa­nia. W przy­padku map gar­mina podej­rze­wam, że pies pogrze­bany jest w kwe­stii roz­woju biblio­teki libgarmin.

  5. SpeX

    @Tom, kon­wen­ter gdzieś był. Bo swego czasu OST miało dość dużo lewych rze­czy z UMP. Potem dopiero były czystki w OST, i teraz od zera mapują.


Napisz swój komentarz:



Na górę