Table of Contents
Moduly CustomizedTable, SQLTable
Moduly umožňují vytvářet uživatelsky široce konfigurovatelné seznamy nálezů, případně i jiných dat z databáze GeoGetu. Lze je použít všude tam, kde nestačí standardní moduly Statoru. Seznamu definujeme sloupce i filtr, které řádky má obsahovat. Dokumentace je společná pro moduly CustomizedTable a SQLTable, protože mají společné možnosti, jak definovat sloupce a způsob jejich formátování ve výstupním seznamu.
CustomizedTable
Modul pro vytvoření uživatelsky definovatelného seznamu (většinou seznamu nalezených keší) “klikacím způsobem”. Lze vypsat keše zvolených vlastností nebo ty, kterým jsme si přidělili nějaký tag. Uživatel může:
- vybírat sloupce (podrobnější popis sloupců je uveden dále)
- definovat hodnoty, které musí sloupec obsahovat, aby řádky (keše) byly do seznamu zařazeny
- měnit pořadí sloupců
- měnit zarovnání výpisu jednotlivých sloupců
- určit sloupec, podle kterého budou řazené řádky v tabulce a určit směr a způsob řazení
Výběr hodnot
Běžně jsou do seznamu zařazeny všechny řádky získané z databáze. Výběrem hodnot je možné redukovat řádky, které mají být do seznamu vypsány. Je tak možné vytvořit seznam podle tagu FTF
jen s řádky, které obsahují skutečné FTF a nikoli třeba STF. Je možné vytvořit seznam keší s terénem větším než 4, menším než 3 apod.
Pokud má být výpis řádků takovýmto způsobem omezen, je třeba vybrat správný operátor pro porovnání a pak zadat správně příslušnou hodnotu.
Implicitně je vybrán operátor cokoliv
, což znamená, že hodnota je ignorovaná a vybírají se všechny řádky bez omezení hodnotou. Význam matematických operátorů je jasný, jen je třeba dát pozor na to, zda má být porovnání číselné nebo textové.
Při textovém porovnání musí být hodnota uzavřená v apostrofech ('hodnota'). Například pro výběr jen “individuálních” FTF nálezů použijeme u tagu operátor =
a hodnotu 'FTF'.
Pro databázové operátory IN
, NOT IN
a BETWEEN
platí obdoba toho, co bylo napsáno výše. Operátory pracují s více hodnotami a je nutné, aby byly od sebe odděleny čárkou (příklad pro operátor IN
: 'FTF','STF').
Operátor LIKE
porovnává hodnotu s maskou, která může obsahovat zástupné znaky _ a %. Příkladem může být zápis hodnoty pro zobrazení všech FTF hodnot: '%FTF%'. Budou tedy akceptovány jen hodnoty, které kdekoli obsahují text FTF (např. coFTF). Nebo výraz '%TF%' akceptuje hodnoty coFTF,FTF,STF,TTF,FTFco…. a další všemožné patvary které obsahují 'TF' a něco před a něco za.
Počitatelný sloupec (Counting)
Řada tabulek obsahuje sloupec s počtem (např. počet nalezených keší každého typu). Zaškrtávátko Počitatelný
definuje, z kterého sloupce se tyto počty budou brát pro výpočet procent a zobrazení histogramu a pro tyto sloupce musí být sloupec s počtem definován, jinak dojde při výpočtech k havárii modulu - nebude totiž vědět, podle čeho a co má vlastně počítat.
Problémy
Je třeba si přiznat, že ačkoli se modul tváří jako univerzální, není v autorových silách jej tak skutečně udělat. Množství sloupců a variabilita jejich obsahu (zejména tagů) přináší značné potíže při automatickém vybírání dat. Může se tak stát, že automaticky sestavený příkaz pro vybrání dat z databáze nebude pracovat správně nebo dokonce nepůjde vůbec spustit.
Pokud nejde použít tento modul, bude nutné si sestavit SQL příkaz (nebo někoho požádat, aby to udělal za vás) a použít modul SQLTable. Ten je sice hardcore, ale umožní pokročilým uživatelům skoro všechno…
Řazení
Je možné sice definovat, že sloupec má numerický obsah a podle něj pak řadit, ale již není možné definovat, že sloupec obsahuje datum nebo čas a řadit podle data/času. Řazení podle data nálezu je v pořádku a pracuje pro databázové sloupce s datem. Nepracuje však s tagy protože hodnota tagu je v databázi jako text a textové datum není úplně primitivní převést na číslo, zejména když není jasné, v jakém formátu je datum napsané. Pokud nějaký tag bude obsahovat datum, podle kterého má být seznam řazen, je třeba, aby datum mělo napřed rok, pak měsíc, pak den a použít abecední řazení. Jiná cesta zatím není.
SQLTable
Tento modul je určen pokročilým uživatelů, kterým nestačí připravené moduly a požadují seznam, který není možné sestavit pomocí modulu CustomizedTable
. Uživatel si sám vytvoří SQL dotaz, který modul zpracuje do výstupního seznamu. Navíc mohou být součástí SQL dotazu i “pokyny” pro zobrazení získaných informací. Pár ukázkových příkladů SQL dotazů najdete na samostatné stránce včetně nějakého vysvětlení.
V SQL příkazu je možné využít tabulku temp.Stator
s některými dopočítanými údaji. Podrobnosti k této tabulce naleznete v dokumentaci pro tvorbu modulů.
Jméno sloupce v SQL
Jméno sloupce může obsahovat různé doplňující či formátovací informace a v tom případě je uzavřeno v uvozovkách. V případě přítomností podobných informací je za jménem sloupce znak = a za ním následují příslušné informace. Pokud je jich více, jejich příznaky jsou odděleny středníkem a na jejich pořadí nezáleží.
Příznaky doplňujících informací
Formátování | Left, Right, Center, Hide | |
---|---|---|
Příznak počitatelného sloupce | Cnt (určuje sloupec, který bude použit pro výpočet celkového počtu jako základu pro sloupce pojmenované Percent nebo Histogram ) |
|
Příznak numerické hodnoty | Num | |
Směr řazení | Asc, Desc | |
Operátory pro výběr řádků podle hodnoty | =, >, <, >=, ⇐, <>, IN1), NOT IN2), LIKE3), BETWEEN4) | |
Příznak nepovinné existence tagu | NULL (pokud není tento příznak nastaven, do tabulky budou vybrány jen řádky, které mají nastavenou alespoň nějakou hodnotu tagu, s tímto příznakem budou použity i řádky bez přiřazeného tagu) |
Příklad části SQL dotazu s nastavenými příznaky:
SELECT tag_km.value "Km=Right;Cnt" ...
Sloupce modulů CustomizedTable a SQLTable
Vytváření seznamu je ve Statoru částečně společné pro oba moduly. Sloupce, které najdeme v nastavení CustomizedTable, je možné využít i v modulu SQLTable. Stačí dát poli v SQL dotazu alias se jménem uvedeným níže a výstup bude naformátován podle příkladu. Snadno tak vytvoříme uživatelský seznam, která vypadá přesně ve stylu ostatních modulů Statoru.
Jméno | Implicitní zarovnání | Význam | Příklad naformátování obsahu sloupce ve výstupní tabulce |
---|---|---|---|
ID | left | identifikační kód keše (zobrazeno jako kód s odkazem na listing keše) | GC14WV8 |
Type | left | typ keše (textově) | Traditional Cache |
Type icon | center | ikona typu keše | |
Type icon, text | left | typ keše - ikona a text | Traditional Cache |
Name | left | název keše | Terezka |
Size | left | velikost schránky (textově) | Small |
Size icon | center | ikona velikosti schránky | |
Size icon, text | left | velikost schránky - ikona a text | Small |
Size as num | left | velikost schránky (číselně) | 1 |
Difficulty | center | obtížnost keše (číselně) | 1.5 |
Difficulty icon | center | ikona obtížnosti keše | |
Difficulty icon, text | left | obtížnost keše - ikona a číslo | 1.5 |
Terrain | center | terénní obtížnost (číselně) | 4 |
Terrain icon | center | ikona terénní obtížnosti | |
Terrain icon, text | left | terénní obtížnost - ikona a číslo | 4 |
Status | left | stav keše | Disable |
Status icon | center | ikona stavu keše | |
Status icon, text | left | stav keše - ikona a text | Disable |
Author | left | autor keše (údaj uvedený v listingu) | Pitris, adopted by D@ewo |
DateCreate | center | datum založení keše | 4.8.2007 |
Coordinates | left | souřadnice keše v SELECTu je potřeba vybrat obě části souřadnic, spojit je do jediné textové hodnoty a jako oddělovač dát středník: SELECT (x||“;”||y) “Coordinates”
FROM geocache… | N50°5.207' E014°25.065' |
Country | left | země, ve které keš leží | Czech Republic |
Country flag | center | vlajka země | |
Country flag, text | left | země - vlajka a název | Czech Republic |
State | left | první úroveň správního členění (stát USA, kraj ČR, vojvodství Polska, …) | Hlavní město Praha |
Cache info | left | informace o keši (ikona typu, kód, název a vlajka země) | GC14WV8 - Terezka |
Distance | right | vzdálenost ke keši od domácích souřadnic (v jednotkách uvedených v konfiguraci Statoru) | 69,94 |
Direction | right | azimut ke keši od domácích souřadnic | 157° |
Direction icon | center | ikona směru ke keši od domácích souřadnic | |
Found date | center | datum nálezu | 14.12.2013 |
Found time | center | čas nálezu v SELECTu je potřeba hodnotu pojmenovat: SELECT dtfound “Found time” FROM geocache… | 16:25 |
Found DateTime | center | datum a čas nálezu v SELECTu je potřeba přepočítat obě hodnoty následovně: SELECT dtfound*10000+dtfoundtime “Found DateTime”
FROM geocache… | 14.12.2013 16:25 |
Order by finds | right | pořadí nálezu | 3126 |
Order row | right | pořadové číslo řádku v tabulce | 2 |
Date of last found | center | datum posledního nálezu na keši | 25.8.2014 |
Milestone | right | pořadí nálezu | 3126 |
Milestone, interval | right | počet dní od předchozího milníku | 128 |
Count | right | počet nálezů | 21 |
Percent | right | podíl počtu nálezů v % (zdrojová hodnota je absolutní počet nálezů, který se přepočte na podíl z celku) | 4.52 |
Histogram | – | sloupec histogramu počtu nálezů (zdrojová hodnota je absolutní počet nálezů, který se přepočte na podíl z celku) | |
Percent explicit | right | podíl počtu nálezů v % (zdrojová hodnota je přímo podíl nálezů v procentech) | 4.52 |
Histogram explicit | – | sloupec histogramu počtu nálezů (zdrojová hodnota je přímo podíl nálezů v procentech) |
(1.2.2.9) První buňka (sloupec) na řádku může mít v obou seznamech zvláštní význam. Pokud obsah prvního sloupce na kterémkoli řádku bude na začátku obsahovat text #_highlight_#
, pak celý řádek seznamu bude zvýrazněn a do sloupce seznamu bude vypsán obsah bez tohoto textu.
Nadpisy sloupců lze definovat v souboru ColumnNames[_XX].ini
.
Dokumentace modulů Statoru
Page | Date | Description | Tags |
---|---|---|---|
Modul Badges | 2016/01/06 19:01 | stator Modul Badges FIXME doplnit popis samotného modulu Dokumentace modulů Statoru stator stator_modul | stator, stator modul |
Modul BookmarkComposer | 2020/10/28 12:00 | stator Modul BookmarkComposer FIXME doplnit popis modulu Použití tohoto modulu závisí na správném otagování keší. Je možné postupovat ručně nebo si pro budou… | stator, stator modul |
Modul CalcBG | 2023/09/21 08:48 | stator Modul CalcBG Popis modulu Výpočetní modul, který vyhodnocuje informace o získaných odznacích pro modul Badges. Je použit automaticky, ale obsahuje i… | stator, stator modul |
Modul CalcGSAPI | 2019/06/05 14:32 | stator Modul CalcGSAPI Popis modulu Výpočetní modul, který vyhodnocuje informace z GSAPI. Je použit automaticky. Jeden suvenýr do textu Modul kromě vytvo… | stator, stator modul |
Modul CalcMain | 2019/06/05 14:33 | stator Modul CalcMain Popis modulu Hlavní výpočetní modul Statoru. Používají ho další moduly, jako Badges, Numbers a FTFPodium a mnoho dalších. Pokud je jaký… | stator, stator modul |
Modul CalcTrackable | 2015/12/29 22:07 | stator Modul CalcTrackable Popis modulu FIXME Modul využívá dat stažených pomocí GeoJarry, která “přechroustá” a předá k dalšímu použití. Seznam globálníc… | stator, stator modul |
Modul CwgList | 2015/12/30 08:18 | stator Modul CwgList Modul je určen pro zobrazování CWG (ale i SQ, vizitky a další typy) a data načítá z pluginu CwgList. Parametry modulu Základní funkce a… | stator, stator modul |
Modul MapPinboard | 2016/03/01 00:07 | stator Modul MapPinboard Modul pro puntíkování nálezů do mapy. Nahrazuje původní modul MapCzDot a má mnohem širší možnosti nastavení. Především výběr území, k… | stator, stator modul |
Modul MyOwnLife | 2016/02/18 00:00 | stator Modul MyOwnLife FIXME Parametry modulu * TagXTF obsahuje jméno kategorie tagu (implicitně OnMyCache???), do které uživatel zadává nicky FTFkařů na … | stator, stator modul |
Modul Numbers | 2020/10/28 11:59 | stator Modul Numbers Popis modulu FIXME Modul vytváří tabulku se zajímavými čísly rozdělenou do několika tématických částí. Pokud nemáte v částil s Logy uv… | stator, stator modul |
Modul QTHMap | 2020/10/28 11:58 | Modul QTHMap Modul je určený pro zobrazení pokrytí dané země QTH lokátory a jejich vyplnění kešemi. Defakto lovením keší v dané zemi se jednotlivé obdélníky ve… | stator, stator modul |
Modul SetFilter | 2020/10/28 12:05 | stator Modul SetFilter Popis modulu Běžně moduly do svého výstupu používají všechny nalezené keše. Pomocí modulu SetFilter1.4.1.12, je možné zadat podmínku a… | stator, stator modul |
Modul SQLTable - příklady SQL dotazů | 2020/10/28 12:04 | stator Modul SQLTable - příklady SQL dotazů Protože modul je docela komplikovaný a jeho možnosti opravdu široké, ukážeme jeho možnosti na několika příkladech.… | stator, stator modul |
Moduly CustomizedTable, SQLTable | 2020/10/28 12:03 | stator Moduly CustomizedTable, SQLTable Moduly umožňují vytvářet uživatelsky široce konfigurovatelné seznamy nálezů, případně i jiných dat z databáze GeoGetu.… | stator, stator modul |
Stator - moduly pro generování statistik | 2019/06/13 20:32 | stator Stator - moduly pro generování statistik Na této stránce je základní seznam všech modulů pro plugin Stator a jejich stručný popis. Naprostá většina mod… | author gord, author kiregps, author drakmrak, stator, stator modul, statistiky |