Úno 062012
 
Tento příspěvek je 1. částí série Live tracking

Ukládání trasy na web [doplněno]

V nedávné vývojové verzi se objevila možnost online záznamu trasy pomocí webové služby. Je tak možné si pozici třeba jen zaznamenávat pro případné pozdější využití, nebo sledovat online pohyb na mapě, případně použít jinou nebo napsat vlastní aplikaci pro použití záznamů.

Chci to využívat hned *

Jedna z  nejlehčích cest k nastavení vlastního online sledování bez instalace vlastního serveru a vývoje vlastní aplikace je použít Google Dokumenty.

Nastavení Google Dokumentů *

Stačí si vytvořit tabulku a nazvat jí třeba „Umístění“ a použít klíč z Google Doc URL prohlížeče s tvarem key=0Ana…… Z tabulky spustit Menu -> Nástroje -> Správce skriptů… -> Nový a přidat jednoduchý skript.

function doGet(e) {
    var app = UiApp.createApplication();
    var sp = SpreadsheetApp.openById("0Ana.......");
    // insert new row
    sp.insertRowBefore(1);
    if(e) {
        sp.getRange("A1").setValue(e.parameter.lat);
        sp.getRange("B1").setValue(e.parameter.lon);
    }
    return app;
}

Klíč z URL vložte mezi uvozovky na třetím řádku. Skript pracuje tak, že vloží souřadnice, odeslané vaším zařízením, přímo do tabulky. V editoru skriptů spusťte Menu -> Sdílet -> Publikovat jako službu… Povolte přístup každému (Allow anyone to invoke this service) včetně anonymního přístupu (Allow anonymous access). Zkopírujte si string z editačního okna URL služby: https://docs.google.com/macros/exec?service=AKfyc…., povolte službu a skript uložte.

 

Teď to šupnout do mobilu *

Ke stringu si přidejte dva nebo více parametrů a vložte ho do Nastavení -> Záznam trasy -> Live Tracking web address takto: https://docs.google.com/macros/exec?service=AKfyc….&lat={0}&lon={1}&timestamp={2}&hdop={3}&altitude={4}&speed={5}. Detailní postup můžete vidět na obrázcích.

Záznam trasy Adresa online sledování

Mimochodem, můžete také použít smarturl.it ke zkrácení URL. Nezapomeňte na závěr odesílání dat zapnout volbou Enable Live Tracking, jak je to vidět na druhém obrázku.

Vložení adresy URL Zapnutí sledování

Nyní je vše nastaveno a po zapnutí se již budou odesílat data do naší tabulky.

 

Chci vidět mapu *

Poté je možné se vrátit k tabulce a přidat nový Widget Menu -> Vložit -> Gadget -> Mapy -> Mapa -> Přidat do tabulky, vyberte dva sloupce, zeměpisnou šířku a délku, a sledujte, jak se body promítnou na mapě, podobně jako je to vidět na druhém příkladovém obrázku.

Zadání dat Trasa na mapě

 

Závěr *

Jedná se o výtečnou vlastnost OsmAndu, i když se mi při testu přenášela zeměpisná šířka a délka s ne příliš detailním rozlišením, ale snad se mouchy časem vychytají.

Doplněno 4.2.2012 *

nyní již funguje rozlišení naplno, bohužel vznikl problém s desetinnou tečkou která je nestravitelná pro mapu a má to být čárka, zřejmě problém s lokalizací.

Doplněno 6.2.2012 *

Nedalo mi to a jal jsem se hledati, jak zobrazení přinutit … přiohnout… a jde to. Stačí nastavit dokument jako anglický… pak už vše funguje jak má. Někdy je také potřeba minulá data smazat.

Nastavení tabulky Vybrat US

Pro vypisování dalších sloupců je třeba upravit počáteční skript, přičemž hdop ve sloupci D je horizontální přesnost, čili čím menší číslo tím větší přesnost pozice. Sloupec E je nadmořská výška a F je pak rychlost pohybu:

 function doGet(e) {
    var app = UiApp.createApplication();
    var sp = SpreadsheetApp.openById("0Ana.........");
    // insert new row
    sp.insertRowBefore(1);
    if(e) {
        sp.getRange("A1").setValue(e.parameter.lat);
        sp.getRange("B1").setValue(e.parameter.lon);
        sp.getRange("C1").setValue(e.parameter.altitude);
        sp.getRange("D1").setValue(e.parameter.speed);
        sp.getRange("E1").setValue(e.parameter.hdop);
        sp.getRange("F1").setValue(e.parameter.timestamp);
    }
    return app;
}

Pokud například použijete hodnoty ze skriptu výše, je možné použít výšku (třetí sloupec) jako popisku bodu. Všimněte si na mapě kurzoru s popisem výšky. Po kliknutí na bod se objeví bublina i s popiskem.

Trasa s výškou

 

Luděk Melichar

částečně použity a přeloženy texty z osmand wiki

  7 komentářů na “Live tracking: online sledování trasy”

  1. avatar

    Dobrý den Luďku,

    snažím se to podle Vašeho popisu rozchodit, ale do tabulky se mi z OsmAndu nic nazapisuje.
    Stejně tak nevím, kde najít ten Gadget pro zobrazení mapy.

    Nemohl byste poradit, v čem je problém? Děkuji

  2. avatar

    Ve verzi osmandu 1.7.5 krásně chodilo odesílání polohy GPS na náš vlastní server, kde máme pověšený PHPskript, který z URL adresy vyčte zaslané parametry a uloží je do databáze, nad kterými pak máme s pomocí ArcGIS Serveru vypublikovanou mapovou službu zobrazující GPSpolohy v mapě.

    Po upgradu Osmandu na novější verzi 1.8.2 odesílání polohy přestalo fungovat. Nevíte čím by to mohlo být ?
    URL adresu jsem nezměnil. Jen to vypadá tak, že z Osmandu prostě nic neodchází.

    Předem děkuji za pomoc

    • avatar

      Zkus se dočasně vrátit k 1.7.5 a počkat na vydání 1.8.3

    • avatar

      Ahoj Luďku,

      jak se dá vrátit k předchozí instalaci? Kde ji seženu? Osmand se mi automaticky zaktualizoval.
      Navíc na verzi 1.8.3, kde to taky nechodí.

    • avatar

      Na hlavní stránce vpravo je odkaz na market verzi na webu. Mimochodem máš Petře zapnutý záznam do GPX aby došlo k odesílání dat přímého přenosu? Dříve to nutné nebylo, ale nyní ano. Od jaké ale přesně verze ti nepovím.

    • avatar

      Prima v nové verzi 1.8.3 už to zase chodí, jedinou podmínkou je, že musí být zatržené obě volby pro ukládání do GPX, tzn „Záznam trasy do GPS“ a “ Online tracking (GPX required)“.

      Díky

QR Code Business Card