Toto dílo podléhá licenci Creative Commons Uveďte původ 4.0 Mezinárodní License.
Pokud si při instalaci nebudete vědět s něčím rady nebo se vyskytnou nějaké problémy, podívejte se do FAQ pro instalaci
-
Nainstalujte python 3
- Odsud stáhněte instalátor (tlačítko pod nápisem Download the latest version for Windows) a spusťte ho.
- Zatrhněte Add Python to PATH a tlačítkem Install Now, spusťte instalaci.
- Na linuxu použijte
sudo apt install python3 python3-pip -y
-
Nainstalujte javu verze 8
- Zde stáhnete instalátor pro Windows. Pokud máte 64bitový systém, doporučuji Windows Offline (64-bit). Můžete použít výchozí nastavení instalace.
- Pro linux použijte
sudo apt install default-jre -y
-
Nainstalujte phyghtmap
- Odsud stáhněte program phyghtmap, označení source distribution. Doporučuji nejnovější verzi. Např. v srpnu 2021 to je phyghtmap_2.23.orig.tar.gz. Pozor, verze 2.23 (a zřejmě i starší) v kombinaci s nejnovějšími verzemi ostatních knihoven nefunguje. Vytvořil jsem opravenou kopii.
- Archiv rozbalte a ve složce se souborem setup.py spusťte konzoli.
- Příkazem
pip3 install matplotlib bs4 lxml
nainstalujte potřebné knihovny. - Příkazem
python setup.py install
nainstalujte phyghtmap. - Ověřte si úspěšnost instalace příkazem
phyghtmap --version
. Mělo by se vám zobrazitphyghtmap 2.23
. Pokud vše funguje, můžete rozbalený archiv smazat.
-
Nainstalujte tento skript gmapmaker
- Uložte si obsah celého repozitáře (vpravo nahoře: Code - Download ZIP).
- Archiv rozbalte v místě, kde chcete generátor provozovat. Mapové soubory, které budou stahovány, zabírají stovky megabajtů, u velkých států jako Německo to mohou být i gigabajty.
- Příkazem
pip3 install pyclipper geojson
nainstalujte zbývající potřebné knihovny.
-
Proveďte inicializaci skriptu pomocí
python prepare.py
.- Přeskočením odpovědi (klávesa enter) se použije výchozí, popř. poslední nastavení.
- Tento skript automaticky stáhne potřebné soubory (sea a bounds) a programy (mkgmap, splitter a Osmconvert) - celkem cca 1,5 GB. Případná aktualizace je možná pomocí
python update.py
. - Vhodná verze programu Osmconvert (Windows/Linux a 32bit/64bit) je detekována automaticky. Pokud ke skriptu gmapmaker přistupujete z různých systémů, je nutné spustit
python update.py
v každém z nich. Omezení systému Windows zároveň neumožňuje programu Osmconvert zpracovat soubory větší než 2 GB. Tento program slouží k vytvoření výřezu (přepínače--crop
a--extend
), proto je nutné pro větší oblasti (většina států) použít buď systém Linux nebo si stáhnout speciální verzi binary for Windows 64 bit a tou nahradit automaticky stažený soubor osmconvert64.exe. POZOR toto funguje jen pro 64bitový systém Windows, pro 32bitový systém Windows řešení není. Linuxu se tento problém netýká.
-
Ověřte si funkčnost skriptu příkazem
python gmapmaker.py --version
. -
V souboru gmapmaker.py na prvních řádcích lze definovat maximální rozsah paměti RAM, povolený počet vláken procesoru a verzi mapy. (FIXME v budoucnu bude přesunuto do skriptu prepare).
- Jak zjistit, zda počítač používá 32bitovou nebo 64bitovou verzi operačního systému Windows
- Konzoli na windows spustíte následovně:
Win + R
, napsatcmd
, OK. Druhou možností je napsatcmd
přímo do adresního řádku průzkumníku. - Na linuxu může být pro nástroj pip3 (popř. i pro python setup.py) vyžadován přepínač
--user
(pip3 install --user name1 name2
) nebosudo
(sudo pip3 install name1 name2
). - Pokud se zobrazí chyba informující o nepřítomnosti pythonu, restartujte průzkumník.
- Na Windows 10 může být problém s antivirem, viz zde.
- Hlásí-li skript problémy s daty sea, smažte odpovídající složku a spusťte
python update.py
.
Je-li skript spuštěn bez parametrů python ./gmapmaker.py
vyžádá si od uživatele jméno generované oblasti. Pro bezobslužnou instalaci ho lze předem definovat pomocí následujících parametrů:
-a <area>
,--area <area>
definuje stát (oblast), pro který je mapa generována. Viz seznam států.-c <codePage>
,--code-page <codePage>
kódování mapy (unicode, ascii, 1250, 1252, latin2).-d <opt>
,--download <opt>
princip stahování mapových dat:- force - Mapová data se při každém spuštění znovu stáhnou.
- skip - Mapová data se nebudou stahovat.
- auto - Mapová data se stáhnou pouze pokud jsou starší než --maximum-date-age (výchozí).
--maximum-data-age <age>
určuje maximální stáří mapových dat při automatickém stahování. Hodnota ve tvaru [0-9]+[hdm], kde h značí hodinu, d značí den (24 hodin) a m značí měsíc (30 dní) (výchozí hodnota 1d).--map-number <number>
vynutí konkretní map ID.--variant <variant>
vynutí konkretní variantu mapy (hodnota 1 - 5). Varianta mapy ovlivňuje její ID. Jinak je generována automaticky.-e <km>
,--extend <km>
zvětší polygon o zadaný počet kilometrů (POZOR, zatím nefunguje).--sufix <sufix>
přípona za jménem mapy.--no-split
zakáže dělení mapy na podsoubory - vhodné jen pro velmi malé oblasti.-r
,--crop
ořízne mapový soubor podle polygonu.-q
,--quiet
žádné výpisy na stdout.-l
,--logging
vytvoří logovací soubor gmapmaker.log.-h
,--help
zobrazí nápovědu.--en
přepne skript do angličtiny
Státy jsou definovány ve skriptu python/areas.py. Vlastní oblasti lze definovat v souboru userAreas/myAreas.py (ten je vytvořen až skriptem prepare, tudíž by měl být imunní vůči přepsání při aktualizaci i opětovnému spuštění zmíněného skriptu). Doporučuji vycházet z předpřipravené oblasti OL definující okres Olomouc. Pro každou novou oblast je nutné zadefinovat nový objekt třídy Area (definována v makerfuncs/Area.py). K mapě lze definovat následující vlastnosti:
nameCs
jméno mapy českynameEn
jméno mapy anglicky (je-li prázdné, použije senameCs
)number
garmin ID mapy. Čtyřmístné číslo, mělo by být unikátní.pois
pole se jmény souborů obsahující dodatečné POI, které budou vloženy do mapy. Tyto soubory se musí nacházet ve složce pois.parent
rodičovská mapa, vhodné pro vytváření podoblastí z různých států (budou automaticky stažena/použita mapová data rodiče)crop
výchozíFalse
,True
vynutí oříznutí dat podle polygonu (POZOR, zatím nefunguje).
Dále je nutné připravit polygon a to buď ve formátu .poly nebo .geojson a umístit ho pod stejným názvem do složky s polygony. Mapová data je pak nutné buď také stáhnout a nachystat do patřičné složky nebo definovat rodiče (viz výše).
Hotové mapy najdete na stránce https://www.garmin.vasam.cz
Pozor, tento skript používáte na vlastní riziko a já, jakožto autor nenesu žádnou odpovědnost za škody jim způsobené!
Chyby, připomínky, návrhy hlaste v diskuzi na adrese http://www.geocaching.cz/topic/31987-osm-topo-mapa-pro-garmin/, emailem osm@vasam.cz nebo zde na GitHubu.