čtvrtek 18. dubna 2013

Použití KML souborů jako trasy

Na podnět uživatele crexik tu přináším článek o problematice použití KML souborů jako průjezdních bodů trasy.

V dvojkové verzi se opět objevila podpora KML souborů jako trasy (možná byla i dřív, to nevím). Prvně jsem si toho všiml při vybalování potřebných souborů a složek pro Primo 2. Nově se zde objevila složka CONTENT\USERDATA\ROUTE s informačním textovým souborem, že sem mohu nahrát soubory s trasou. Zkusil jsem to a nic se mi nezobrazilo, stejně jako crexikovi.

Crexik nelenil a zkoumal. Objevil, že KML soubory, které vygeneruje Google jsou v jiném formátu, než ty pro iGo. Proto je je nutné převést. K tomu použil program RouteConverter (freeware, bezinstalační, http://www.routeconverter.de/home/en), stejně by měl posloužit i známý GPSBabel.

Dál nechť mluví sám crexik:

Do programu jsem nahrál .KML z googlu. V programu se objeví seznam průjezdních bodů, a ty se také i s trasou zobrazí na mapě. Pak stačí jen uložit soubor jako iGO kml formát a nakopírovat do složky "content/serdata/route". Navigace trasu vidí a dokáže podle ní navigovat :)

Problém je trošku v tom, že googlovský kml soubor obsahuje tisíc bodů a iGO si dokáže poradit s maximálním počtem 100 bodů. Takže buď se to rozloží na 10 souborů, anebo program obsahuje chytrý algorytmus, který dokáže z trasy vyřadit nadbytečné body. Bohužel jich neodstranil dostatek během první redukce, tak jsem redukoval podruhé, až jsem se dostal pod 100 bodů a soubor uložil a vyexportoval-

Bohužel to, že jsou různé druhy .kml souborů jsem se nikde na fórech nedočetl. Je to dost podstatná informace a jaksi na ní většina lidí pozapomněla. Kdyby se to psalo zároveň s návodem, tak mi to ušetřilo spoustu pátrání.

Díval jsem se do struktury těch souborů a je opravdu jiná. V konvertovaném souboru pro iGO mi to přijde spíš jako struktura gpx souboru. Přikládám ukázku .kml pro iGO :

<Folder>
<name>Waypoints</name>
<Placemark>
<name>Position 1</name>
<Point>
<coordinates>15.05678,50.
72885,0.0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Position 2</name>
<Point>
<coordinates>15.08997,50.70795,0.0</coordinates>
</Point>
</Placemark>
<Placemark>
<name>Position 3</name>

Stejná pasáž z kml z googlu :

<tessellate>1</tessellate>
<altitudeMode>clampToGround</altitudeMode>
<coordinates>15.05678,50.72885,0 15.08997,50.70795,0