
- Java verze 8
- Python verze 3 (testováno na 3.8.5)
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 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
pip install pyhgtmap osmium pyclipper geojsonnainstalujte 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í 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.pyv 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), 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 napsatcmdpří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.
- Instalace knihovny osmium může způsobovat problémy. Může pomoct použít starší verzi Pythonu, např. verzi 3.8.10.
- 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.
--sufix <sufix>přípona za jménem mapy.--no-splitzakáže dělení mapy na podsoubory - vhodné jen pro velmi malé oblasti.-r,--cropořízne mapový soubor podle polygonu.-q,--quietžádné výpisy na stdout.-l,--loggingvytvoří logovací soubor gmapmaker.log.-h,--helpzobrazí nápovědu.--enpř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:
nameCsjméno mapy českynameEnjméno mapy anglicky (je-li prázdné, použije senameCs)numbergarmin ID mapy. Čtyřmístné číslo, mělo by být unikátní.poispole 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.parentrodičovská mapa, vhodné pro vytváření podoblastí z různých států (budou automaticky stažena/použita mapová data rodiče)cropvýchozíFalse,Truevynutí 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 zde na GitHubu nebo emailem osm@vasam.cz.