Geokuk - tvorba vlastních ikon: Porovnání verzí

Z GeoWiki
Přejít na: navigace, hledání
(Umístění ikon)
(Smazání obsahu, protože neumím smazat stránku. Přesouvá se na github.)
 
(Není zobrazeno 12 mezilehlých verzí od 4 uživatelů.)
Řádka 1: Řádka 1:
== Ikony v Geokuku ==
 
Program geokuk je vcelku univerzální program pro zobrazování bodů nad mapou. Zobrazované body mohou být libovolné, jejich počet není nijak omezen a uživatel má tedy možnost doplnit zobrazení vlastních bodů a přizpůsobit si již připravené zobrazení. Každý bod může být zobrazen jako ikona složená z různých vrstev, které se vzájemně překrývají a tvoří tak výsledný obraz ikony.
 
  
Program má trochu zvláštní terminologii, ale v základu je pochopitelná. Základem je '''kešoid''', což je jakási zobecněná keš. Zobecněná proto, že se vůbec nemusí jednat o kěš jako takovou, ale v podstatě o jakýsi souhrnný typ bodz. Jeho zajímavou vlastností je to, že může se může dál dělit na další podtypy '''waypoint'''. Pojem waypoint je v porovnání s geocachingem opět trochu rozšířen. Jako příklad uveďme:
 
 
* kešoid '''keš''' s tapy tradiční, multy, mystery, ..., ale také dodatečné waypointy parkovistě, finalový bod, stage of multicache, ...
 
* kešoid '''waymark''' může obsahovat dynamicky se měnící (rozšiřující se) typy, namátkou fontány, triangulační body, porály, sakrální stavby, ...
 
* kešoid '''Český geodetický bod''' obsahuje například typy Trigonometrický bod centrální, Trigonometrický bod přidružený, Zhušťovací bod centrální, Zhušťovací bod přidružený, Bod základního tíhového pole, Bod ZGS (základní geodynamické síť) a Základní nivelační bod.
 
 
== Adresářová struktura ==
 
Program pro kreslení ikon používá adresářovou strukturu, která začíná v místě zadaném v menu '''Soubor / Umístění souborů'''
 
v položkách
 
 
* Složka s rozšiřujícími obrázky jiných geokolegů
 
* Složka s mými vlastními rozšiřujícími obrázky
 
 
K tomu, aby byly příslušné funkce opravdu využity, je nutné u každé položky ještě zaškrtout volbu '''Aktivní'''. Zde zadaným
 
bodům říkejme '''Kořen'''. V něm vždy adresář '''map''', který dál obsahuje pro každou sadu ikon další adresář. Budeme-li vyvíjet vlastní sadu, nazvěme pro další příklady adresář s naší sadou '''Vyvoj'''.
 
 
+ kořen
 
    + map
 
      + Vyvoj
 
          + skloX
 
          + skloY
 
          - skla.txt obsahuje ... seznam podadresaru sklo*, které definují překrývající se vrstvy pro
 
                                  vlastní vykreslování ikon
 
          - groups.properties ... obsahuje definici typ!=texovy popis. (pocet pismen typu je dulezity?)
 
          - iconOfSada.png (???k cemu???)
 
      + Dalsi sada
 
 
=== Adresáře s definicí skla ===
 
Každý adresář s definicí skla obsahuje další podadresáře, jejichž jméno vždy začíná číslicí, která určuje vrstvu. Další část jména je popisná a program ji nevyužívá. ???
 
 
Uvnitř adresáře mohou být soubory ikona a soubory s příponou '''properties''', které popisují vlastnosti zde definovaných ikon. Jsou to obyčejné textové soubory, na každém řádku je jedna definice vlastnosti. Vlastnost, která nemá být použita není v souboru vůbec definována.
 
 
width=NN ...... šířka ikony
 
height=NN ..... výška ikony
 
class=cz.geokuk.api.mapicon.XXXXX ... tvar vykreslení plochy s ikonou
 
                            XXXXX = OvalRdaver (kružnice/elipsa)
 
                                    RoundRectDrawer (čtverec/obdélník se zaoblenými rohy)
 
                                    StdArchivDrawer (???)
 
                                    GrayDrawer (???)
 
                                    (nějaké další???)
 
fill=RRR,GGG,BBB ... RGB složky barvy pro vyplnění vykreslené plochy,
 
                      složky jsou v dekadickém tvaru oddělené čárkou
 
lineWidth=NN ....... šířka čáry ohraničující vykreslenou plochu (0=bez čáry)
 
 
Soubory s ikonami mají pevně daný formát jména (před příponou). Jeho vysvětlení je dál v textu.
 
 
== Princip zobrazování ikon ==
 
Vlastní obrázky, z kterých je ikona složena, mohou být v různých formátech (JPG, PNG, GIF, BMP) a je vhodné, aby hoorní vrstvy byly v takovém formátu, který podporuje průhlednost, aby v některých místech mohly být vidět vrstvy spodní. Autor opět zavedl svou vlastní terminologii, kde vrstvě s nějakou sledovanou vlastností přisoudil jméno '''Gen''' (v některém dialogu je pro zmatení použil pojem '''Fenotyp'''???) a hodnotám, které může vrstva (vlastnost) nabývat dal jméno '''Alela'''. Příklad:
 
 
* gen '''velikost keše''' má alely mikro, small, regular, ...
 
* gen '''typ waypointu''' může mít alely keš, waymark, ...
 
 
Seznam genů (tedy sledovaných vlastností a tedy i vrstev) je ohraničený a každému genu je přiřazena konkrétní vrstva daného čísla. Číslo zároveň udává počet znaků, které musí mít pojmenování všech alel tohoto genu. Skládáním jmena alel za sebe pak vzniká cesta a jméno souboru, z nějž se načítají ikony.
 
 
: <table border=1>
 
<tr><th>Gen</th><th>Číslo vrstvy</th><th>Možné alely</th><th>Ikonový kód</th></tr>
 
<tr><th>Typ waypointu</th><td>0</td><td>Alely nejsou pevně stanoveny</td></tr>
 
<tr><th rowspan=3>Postavení</th><td rowspan=3>1</td><td>Nevykresluje se.</td><td>0</td></tr>
 
<tr><td>Hlavní bod kešoidu - vždy právě jeden.</td><td>h</td></tr>
 
<tr><td>Vedlejší body kešoidu. Žádný nebo více.</td><td>v</td></tr>
 
 
<tr><th rowspan=5>Druh kešoidu</th><td rowspan=5>2</td><td>Nevykresluje se.</td><td>00</td></tr>
 
<tr><td>Keš</td><td>gc</td></tr>
 
<tr><td>Waymark, kromě Českých geodetických bodů</td><td>wm</td></tr>
 
<tr><td>České geodetické body (speciální Waymark)</td><td>gb</td></tr>
 
<tr><td>Obecný waypoint (může mít i dodatečné waypointy, ale nejspíš mít nebude).</td><td>wp</td></tr>
 
 
<tr><th rowspan=4>Vztah</th><td rowspan=4>3</td><td>Nehledáno a tudíž nemohlo být nalezeno</td><td>hnf</td></tr>
 
<tr><td>Nalezeno</td><td>fnd</td></tr>
 
<tr><td>Moje vlastní</td><td>own</td></tr>
 
<tr><td>Neexistující, tedy vůbec nezaloženo,
 
(vyskytuje se jen českých geodetických bodů, u kterých existuje databáze)</td><td>not</td></tr>
 
 
<tr><th rowspan=3>Stav</th><td rowspan=3>4</td><td>Aktivní</td><td>actv</td></tr>
 
<tr><td>Disable</td><td>dsbl</td></tr>
 
<tr><td>Archivovaná</td><td>arch</td></tr>
 
 
<tr><th rowspan=8>Velikost</th><td rowspan=8>5</td><td>Nevykresluje se</td><td>00000</td></tr>
 
<tr><td>Micro</td><td>micro</td></tr>
 
<tr><td>Small</td><td>small</td></tr>
 
<tr><td>Regular</td><td>regul</td></tr>
 
<tr><td>Large</td><td>large</td></tr>
 
<tr><td>Huge</td><td>hugex</td></tr>
 
<tr><td>Nespecifikována</td><td>nspec</td></tr>
 
<tr><td>Nazaškrtnuta</td><td>nchec</td></tr>
 
 
<tr><th rowspan=3>Výlet</th><td rowspan=3>6</td><td>Nevíme</td><td>nevime</td></tr>
 
<tr><td>Lovíme</td><td>lovime</td></tr>
 
<tr><td>Ignorujeme</td><td>ignoru</td></tr>
 
 
<tr><th rowspan=3>Postavení k myši</th><td rowspan=3>7</td><td>Myš není nad waypoitem z keše</td><td>nomouse</td></tr>
 
<tr><td>Myš je nad jiným waypointm z keše</td><td>mousean</td></tr>
 
<tr><td>Myš je nad tímto waypointem</td><td>mouseon</td></tr>
 
 
<tr><th rowspan=2>Vybranost</th><td rowspan=2>8</td><td>Nevybraný, čili normální</td><td>noselect</td></tr>
 
<tr><td>Vybraný</td><td>selected</td></tr>
 
 
<tr><th rowspan=2>Vyluštěnost</th><td rowspan=2>9</td><td>Mysterka, multina či jiná nevyluštěná</td><td>nevyluste</td></tr>
 
<tr><td>Keš je vyluštěna, to znamená, že existuje finální waypoint nebo je to keš tradiční.</td><td>vylusteno</td></tr>
 
 
<tr><th rowspan=2>Zdroj</th><td rowspan=2>10</td><td>Importované z PQ či jiného zdroje</td><td>pqimported</td></tr>
 
<tr><td>Ručně přidané</td><td>handedited</td></tr>
 
 
<tr><th rowspan=2>Terény</th><td rowspan=2></td><td>Nevykresluje se</td><td>ter0</td></tr>
 
<tr><td>Terény 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5</td><td>ter10, ter15, ter20, ...</td></tr>
 
 
<tr><th rowspan=2>Obtížnost</th><td rowspan=2></td><td>Nevykresluje se</td><td>dif0</td></tr>
 
<tr><td>Obtížnosti 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5</td><td>dif10, dif15, dif20, ...ccc</td></tr>
 
 
</table>
 
Výčet alel v genech není omezen tímto výčtem. Jen pro tenrto výčet jsou připraveny ikony.
 
 
== Tvorba jmen souborů s ikonami ==
 
Jméno souboru s ikonou je poskládáno z jednotlivých jmen alel (hodnoty uvedené v posledním sloupci v tabulce) a v případě potřeby je možné doplnit ještě některé další vlastnosti.
 
 
=== Priorita ===
 
Jména souborů jsou složena ze jmen jednotlivých alel, jména se oddělují podtržítkem. Protože úroveň 0 nemá žádný znak, musí jméno souboru začínat podtržítkem.
 
 
Pokud by mohlo vyhovovat v jedné vrstvě více souborů, může být ke jménu doplněna ještě priorita ve tvaru '''_pN''', kde N je číslo priority. v tom případě bude použita ikona s vyšším číslem priority. Pokud priorita není určena, má hodnotu 5.
 
 
=== Umístění ikon ===
 
Za normálních okolností se ikona umisťuje střenem na zadané souřadnice. Pomocí dalších parametrů ve jméně souboru s ikonou je možné ikonu pozicovat jinak.
 
 
* '''x3''' - X na pozici tři, Y na střed
 
* '''y14''' - X na střed, , Y na pozici 14.
 
* '''x8_y20''' - X na pozici 8 a Y na pozici 20.
 
 
 
== Jednoduchý příklad definice vlastní sady ==
 
Protože mám k dispozici GPX soubor se stanicemi pražské MHD, rozhodl jsem se je zobrazit. Zadal jsem si tedy
 
kořenový adresář a v nem vytvořil strukturu '''map/MHD''' a v něm vytvořil textový soubor '''skla.txt''' obsahující řádky
 
 
skloNormal.VSE
 
skloZvyrazneni.MYS
 
skloNormal.MYS
 
 
(Netuším, co znamenají ty přípony, ale opsal jsem to z jakési dokumentace od autora ???)
 
 
Pak jsem vytvořil adresáře '''skloNormal''' a '''skloZvyrazneni''' (v adresáři MHD) a další soubor '''groups.properties'''.
 
Do tohoto souboru jsem zapsal jediný řádek
 
 
mh!=MHD
 
 
kterým jsem definoval nový typ kešoidu. V adresáři '''skloNormal\2ctverce''' jsem vytvořil soubor '''_mh_actv_nomouse_p7_h16_v16.properties''' s následujícím obsahem:
 
 
class=cz.geokuk.api.mapicon.RoundRectDrawer
 
width=16
 
height=16
 
fill=255,255,255
 
 
Tím jsem definoval velikost zobrazených ikon. V adresáři '''skloNormal\5typy''' jsem vytvořil soubory s ikonami jednotlivých typů zastavek:
 
 
mh!Bus.png
 
mh!MetroA.png
 
mh!MetroB.png
 
mh!MetroC.png
 
mh!Tram.png
 
 
Pak už zbývá jen do gpx souborů pro každou zastávku správně uvést
 
 
  <type>mh</type>
 
  <sym>Bus</sym>
 
  resp. příslušný symbol dopravního prostředku
 
 
A na mapě se zastávky objevily. Definice se nijak nedotkne zobrazení dalších bodů, protože ty zůstávají zobrazeny implicitním způsobem. Jen jsem doplnil nové body.
 

Aktuální verze z 13. 2. 2016, 17:48