user:skript:foundtime
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
user:skript:foundtime [2011/11/09 21:19] – mpistora | — | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== FoundTime ====== | ||
- | Doplní čas nálezu podle nejbližšího bodu z prošlých stop v GPX souborech. Další skript [[# | ||
- | FoundTime je vhodný pro ty, kteří nepíší nebo nepsali časy do logů, odkud je GeoGet umí standardně importovat.\\ | ||
- | Časy nálezů se hodí pro určení pořadí nálezů v rámci jednoho dne, což je potřeba pro některé [[user: | ||
- | |||
- | ===== Autor ===== | ||
- | * **[[http:// | ||
- | |||
- | ===== Automatická instalace ===== | ||
- | ~~GEOGET_INSTALL~~ | ||
- | |||
- | ===== Diskuze ===== | ||
- | * Diskuze o tomto skriptu se nachází na stránkách [[http:// | ||
- | |||
- | ===== Velmi stručný popis použití ===== | ||
- | - Soubory GPX s prošlými stopami zkopírujte z GPS do složky v počítači. | ||
- | - Spusťte v GeoGetu skript FoundTime. Ten se pro keše bez času nálezu pokusí najít nejbližší bod ze dne nálezu, a jeho čas doplní do databáze GeoGetu. | ||
- | |||
- | ===== Velmi podrobný popis použití ===== | ||
- | |||
- | ==== Vyluštěné finálky mysterek ukládejte jako waypointy ==== | ||
- | Není to nutné, ale pokud jsou finální souřadnice daleko od výchozích a pokud nebudou uložené v databázi GeoGetu, nemůže skript FoundTime čas nálezu správně určit.\\ | ||
- | [[user: | ||
- | |||
- | ==== Při hledání keší zaznamenávejte v GPS prošlou stopu ==== | ||
- | To umožňují snad všechny turistické GPS i aplikace v mobilech a PDA. Jen je to někdy potřeba zapnout. Kromě toho také bývá možno nastavit, jak často se mají body ukládat, aby vzniklé soubory nebyly zbytečně velké. | ||
- | * **[[http:// | ||
- | * **[[http:// | ||
- | * **[[http:// | ||
- | |||
- | ==== Vyřešené finálky multin ukládejte jako waypointy ==== | ||
- | Není to nutné, ale pokud jsou finální souřadnice daleko od výchozích a pokud nebudou uložené v databázi GeoGetu, nemůže skript FoundTime čas nálezu správně určit.\\ | ||
- | [[user: | ||
- | |||
- | ==== Prošlé stopy zkopírujte z GPS do složky v počítači ==== | ||
- | Pro účely skriptu FoundTime jsou nejvhodnější denní prošlé trasy z GPS Garmin s názvy ve tvaru '' | ||
- | * připojit kabelem a přepnout do režimu externího disku pomocí //Hlavni menu -> Nastaveni -> Propojeni -> USB diskova jednotka// | ||
- | * nebo kartu vyjmout z GPS a vložit do čtečky v počítači. | ||
- | |||
- | //Tip:// Soubory po zkopírování do počítače z karty z GPS občas smažte. Ač se může zdát, že na kartě zbývá ještě hodně volného místa, jsou i další omezení. Garmin eTrex ukládá GPX soubory do kořenového adresáře a v závislosti na způsobu naformátování zde může být limit 256 položek! Byly zaznamenány případy, že po dosažení 255 GPX souborů (+ složka GARMIN) se další bez varování neukládaly. | ||
- | |||
- | Skript zpracuje i GPX soubory s jinými názvy (a obsaženým časovým úsekem), než '' | ||
- | |||
- | ==== Pokud nejsou prošlé stopy ve formátu GPX, zkonvertujte je ==== | ||
- | Pokud máte záznam z GPS v jiném formátu, než [[http:// | ||
- | |||
- | ==== Spusťte skript FoundTime ==== | ||
- | Při prvním spuštění se skript zeptá na složku s GPX soubory a uloží si ji do konfigurace. Další možnosti konfigurace jsou popsány [[# | ||
- | |||
- | Skript: | ||
- | - Zpracuje zadané keše (všechny, zobrazené nebo jen vybrané), a z toho jen: | ||
- | * nalezené | ||
- | * s datem nálezu | ||
- | * bez času nálezu (lze vypnout) | ||
- | - Pro tyto keše: | ||
- | - najde dle dne nálezu příslušný GPX soubor (nebo zpracuje celý adresář GPX souborů) | ||
- | - v něm nejbližší bod ke keši resp. finálce (pokud je v databázi uložen FI waypoint) | ||
- | - pomocí [[http:// | ||
- | - UTC čas bodu pomocí [[http:// | ||
- | - výsledný čas doplní k datu nálezu keše do pole čas nálezu keše v databázi GeoGetu | ||
- | - a poznamená i do tagu FoundTime (s přesností na sekundu ;-) a s časovou zónou). | ||
- | - Na závěr zobrazí hlášení o počtu zpracovaných keší, časech zpracování a případných chybách. | ||
- | |||
- | U mystery a multi je trochu nesmyslné hledat nejbližší bod dle výchozích souřadnic (lze to vypnout), ale pokud jste výchozí souřadnice navštívili, | ||
- | |||
- | ===== Před prvním spuštěním ===== | ||
- | |||
- | ==== Instalace ==== | ||
- | Instalace se standardně provádí z [[# | ||
- | Všechny 3 skripty pluginu se při instalaci zařadí do skupiny FoundTime. FoundTime a VisitTime zobrazí ikony na [[user: | ||
- | |||
- | ==== Nastavení a konfigurace ==== | ||
- | Ve [[user: | ||
- | ^ Volba ^ Výchozí\\ hodnota | ||
- | | **SlozkaGPX** | | //cesta// | složka s GPX soubory s prošlými stopami, nejlépe s názvy ve tvaru // | ||
- | | **FormatNazvuGPX** | yyyymmdd | | nevyplněno - prohledají se všechny GPX soubory v adresáři | | ||
- | | ::: | ::: | //format// | formát názvu GPX souborů s denními úseky (např. yyyymmdd)\\ v syntaxi funkce '' | ||
- | | **Rozsah** | list | | nevyplněno - zpracují se pouze vybrané keše | | ||
- | | ::: | ::: | list | zpracují se všechny keše ze zobrazeného seznamu\\ ať už vznikl podle filtru nebo dalšími úpravami | | ||
- | | ::: | ::: | global | zpracují se všechny všechny keše z databáze\\ při každé z variant se ještě uplatní další podmínky pro výběr keše | | ||
- | | **TimeZone** | | | nevyplněno - zjišťování časové zóny a převody času se provádí přes web | | ||
- | | ::: | ::: | // | ||
- | | ::: | ::: | PC | o všech bodech se předpokládá, | ||
- | | **GeoNamesUsername** | | // | ||
- | | **PozadovanaBlizkost** | 50 | //číslo// | jen body z GPX bližší než zadaný počet metrů se budou považovat za nález keše resp. finálky | | ||
- | | **PrepisovatFoundTime** | 0 | 0 | keše s časem nálezu nebo s tagem FoundTime se nevyberou ke zpracování | | ||
- | | ::: | ::: | 1 | zpracují se, a dříve zapsaný čas se tak může přepsat! | | ||
- | | **PozadovatFinalky** | 0 | 0 | finálky se nepožadují | | ||
- | | ::: | ::: | 1 | pro zpracování multi a mystery keší musí být zadány souřadnice finálního bodu | | ||
- | | **ChybyDoTagu** | 0 | 0 | chyby se neukládají (jen se zobrazí na konci běhu skriptu) | | ||
- | | ::: | ::: | 1 | text chyby se uloží do tagu FoundTime | | ||
- | |||
- | ==== Nastavení seznamu ==== | ||
- | Pro práci s FoundTime je dobré si v seznamu keší zobrazit tag FoundTime, který skript nastavuje.\\ | ||
- | V [[: | ||
- | |||
- | Sloupec s tagem si zařaďte vedle sloupce '' | ||
- | |||
- | Jelikož skript pracuje jen s nalezenými kešemi, je vhodné použít standardní filtr **Found** (pomocí [[user: | ||
- | |||
- | ==== Skript DeleteFoundTime pro smazání falešných časů nálezů ==== | ||
- | Prohlédněte časy nálezů keší ve sloupci '' | ||
- | |||
- | Nemá žádnou konfiguraci a pracuje nad aktuálně zobrazeným seznamem.\\ | ||
- | Spustí se z menu //Pluginy -> FoundTime -> DeleteFoundTime// | ||
- | Smaže čas nálezu, pokud je stejný, jako záznam o editaci nálezového logu ve tvaru '' | ||
- | |||
- | ==== Složka s GPX soubory s prošlými stopami ==== | ||
- | Připravte si kdekoliv na disku složku, do které shromáždíte GPX soubory s prošlými stopami. Nejen z posledního výletu, ale za celou vaši historii. Prohledejte všechny disky na všech svých počítačích. Hledejte i soubory gdb a zkonvertujete je na GPX pomocí [[http:// | ||
- | Složku nastavte do konfiguračního parametru **SlozkaGPX**. | ||
- | |||
- | ===== Skript VisitTime pro zobrazení časů přiblížení k vybranému bodu ===== | ||
- | Bonusový skript, který pro vybranou keš projde všechny GPX soubory v daném adresáři a vypíše všechny // | ||
- | Skript používá konfiguraci skriptu FoundTime, zejména **SlozkaGPX** a **PozadovanaBlizkost**.\\ | ||
- | Předpokládá, | ||
- | Výsledky zobrazí v okně s hlášením. | ||
- | |||
- | ===== Technické poznámky ===== | ||
- | |||
- | ==== Terminologická poznámka ==== | ||
- | //Track, tracklog, prošlá trasa, stopa a prošlá stopa// - to všechno jsou synonyma.\\ | ||
- | Garmin se snaží používat //prošlá trasa//, ale občas mu do toho pronikne // | ||
- | Aby se to ostřeji odlišilo od //trasa (route)//, používám zde //prošlá stopa//.\\ | ||
- | Ono se to moc neliší, jen body v // | ||
- | |||
- | ==== Problém zjištění místního času z GPX ==== | ||
- | Předpokládám, | ||
- | - jaká tam (tehdy) byla časová zóna | ||
- | - jaké ta zóna má (tehdy měla) vlastnosti, resp. posun oproti UTC (včetně případného letního času) | ||
- | Jelikož časové zóny mají hranice často na hranicích států a definice vlastností časových zón se občas mění (i definice států a jejich hranic), nejde o nějaký triviální výpočet, resp. je k němu potřeba velké množství dat. Například až nejnovější GPS Garmin (Oregon) obsahují (aktuální) mapu časových zón a umí automaticky přepočítávat na místní čas. | ||
- | Databáze časových zón [[http:// | ||
- | Složitější úloha s mapou hranice časových zón by možná šla pojmout jako nějaké polygony, ale nejjednodušší je použít webové služby. | ||
- | |||
- | Nenašel jsem ovšem žádnou, která by pro zadané GPS souřadnice a (minulý) UTC čas vrátila (tehdejší) místní datum a čas. | ||
- | Na [[http:// | ||
- | Na druhou operaci jsem nenašel webovou službu, ale jen stránku [[http:// | ||
- | |||
- | Druhý problém je, zda lze spolehnout na segmentaci prošlých stop tak, jak je vytváří Garmin. Zda body z //jednoho dne// jsou v jednom souboru, a jak je vlastně ten //jeden den// definován. Zdá se, že nikoliv dle UTC času, ale podle místního času (dle nastavení GPS). To je pro naše účely vhodné. Ale nevím, zda na to lze spolehnout.\\ | ||
- | |||
- | Skript nyní podporuje dle konfigurace i variantu, že prohledává všechny soubory v zadaném adresáři bez ohledu na název souboru. Nejdříve si však spočítá, jaký byl UTC čas na začátku a konce dne nálezu v místním čase. Ani to není triviální, | ||
- | |||
- | ==== Prohledávání GPX souborů ==== | ||
- | Skript používá pro parsování GPX souborů [[http:// | ||
- | [[http:// | ||
- | Použil jsem algoritmus dle [[http:// | ||
- | Lze tak prohledávat velké GPX (třeba sloučené za celý rok). | ||
- | |||
- | ==== Knihovny ==== | ||
- | Plugin obsahuje 4 [[user: | ||
- | ^ TimeConversions | Hledání časové zóny v daném bodě, převod času mezi zónami, převod do a z několika textových formátů. | | ||
- | ^ TrackLogParser | V daném GPX souboru s tracklogem najde nejbližší záznam podle několika možných kritérií. | | ||
- | ^ SaveConfig | Uložení změny konfiguračního parametru do souboru *.config.pas. | | ||
- | ^ GeoLocation | Hledání omezujících souřadnic k zadanému bodu na kouli a kruhu kolem něj. | | ||
- | |||
- | /* ===== Poznámky, známé problémy ===== */ | ||
- | |||
- | ===== Stažení ===== | ||
- | <box round 95% #DEE7EC> | ||
- | :!: Stáhnout aktuální verzi: ~~DOWNLOAD foundtime-*.gip highest~~ | ||
- | </ | ||
- | |||
- | ==== Seznam dostupných verzí ==== | ||
- | {{filelist> | ||
- | |||
- | ===== Seznam změn ===== | ||
- | |||
- | === 1.0.2 (2011/ | ||
- | * Instalátor vytváří skupinu FoundTime a zapíná ikony na toolbaru | ||
- | * Oprava skriptu DeleteFoundTime (přepočet AM/PM časů) | ||
- | |||
- | === 1.0.0 (2011/ | ||
- | * Úvodní verze | ||
- | |||
- | /* Seznam tagů. Tagy můžete stránce přidělit buď ručně na následující řádce, nebo pomocí zatržítek v zápatí editačního okna */ | ||
- | {{tag> | ||
user/skript/foundtime.txt · Last modified: 2021/12/11 15:40 by mikrom