Lepší organizace mapových zdrojů při zoomu

Started by Čelda, September 19, 2012, 01:25:19

0 Members and 2 Guests are viewing this topic.

Čelda

Současné verze Locusu umožňují pracovat s mnoha různými mapami - offline (osobními), online, vektorovými. Různé mapy pokrývají různá území a různé zoomy. To je všecko na jedné straně bezva, na druhé straně je to někdy pro běžnou práci zoufale nepružné, pokud by člověk rád rychle přepínal třeba dva druhy map - jednu pro některé zoomy a jinou pro jiné.
Je fajn, že v rámci jednoho typu offline map umí Locus sám přecházet mezi jednotlivými soubory sqlite, pokud jsou umístěny v jednom podadresáři. K přepnutí na druhý typ map, se ale musí jít na tlačítko mapy (otevření seznamu - alespoň na mém telefonu - skoro sekundu trvá), najít správný druh mapy a dozoomovat na požadovaný zoom. Vím, že je tam ještě další mapové tlačítko pro rychlejší přepínání map (volitelně přidatelné do pravého panelu), ale to taky není úplně ono.
Mám proto následující nápady (ale jsou to jen nástřely, které zatím nemám domyšlené):

I) "Virtuální atlasy" nebo třeba "Mapa zoomů" by se tomu mohlo říkat
Zavěst do Locusu nějakou další dimenzi nazvanou třeba dle nadpisu výše, která by uživateli umožnila naskládat si předem svoje řazení zoomů ze zdrojů, které má k dispozici. Vznikla by vlastně taková tabulka, kde pro každý možný zoom by byla uvedena jedna z možností: konkrétní druh mapy (offline, online nebo vektorová) nebo "vynechat" (tento zoom se přeskočí) nebo některý z okolních zoomů + lupa. V praxi by to vypadalo třeba takto:
Můj virtuální atlas:
Zoom 06:   online Google Classic
Zoom 07:   offline Shocart
Zoom 08:   vynechat
Zoom 09:   offline Shocart
Zoom 10:   vynechat
Zoom 11:   offline Shocart
Zoom 12:   zoom 11, lupa 200%
Zoom 13:   offline Shocart
Zoom 14:   offline Shocart
Zoom 15:   offline zoom 16, lupa 50 %
Zoom 16:   offline Zabaged
Zoom 17:   vector ČR
Zoom 18:   vector ČR
... atd.
Pokud by to mělo být úplně dokonalé, tak na každém zoomu by v pořadí mohlo být uvedeno více zdrojů za sebou - ty by se pak volily v případě nedostupnosti (popořadě) nebo cyklicky přepínaly pomocí nějakého tlačítka na uživatelovo přání. Konfigurace atlasu by byla uložena pod nějakým jménem (? třeba jako soubor XML ?), takže uživatel by jich mohl mít definováno víc a pro různé příležitosti různě konfigurovat všechny svoje dostupné mapové zdroje.
A jaká by byla hlavní výhoda ? Na prosté a rychlé stisky tlačítek + a - přímo na displeji by to rychle "zoomovalo" dle požadavku.

Ale je mně jasné, že tohle by bylo celkem velké rozšíření Locusu. Pokud by toto náhodou :-) neprošlo, mám alespoň jiné, menší nápady směřující podobným směrem:
II) Umožnit přidat do panelu tlačíko vyvolající přímo zvolený mapový zdroj (nejlépe přímo na předem zvoleném zoomu)

a/nebo

III) Aspoň doladit dialogy pro výběr mapy/rychlý výběr mapy tak, aby se otevíraly okamžitě a nebylo tam to sekundové zdržení.

A ještě jeden:

IV) Vím, že to není dopředu jednoduché detekovat, ale pokud změním zoom a výsledkem je celý bílý displej (není pokrytí mapou ani kousku), je mi to VE VŠECH PŘÍPADECH na houby. Nešlo by v takovémto případě rovnou zařadit lupu předchozího zoomu. (Klidně dvoukrokově: zkusí - není ani jedna dlaždice - tak překreslí znovu jako lupu předchozího).

No tož tak. Uvidíme, jestli se aspoň něco ujme ... :-)
  •  

psuk

#1
I) je genialni napad  :idea:
  •  

dvzd

#2
Já jsem také pro možnost 1, akorát by to mělo umět ještě definovat, který zoom to z té které mapy vybere, protože ty off-line mapy mají v sobě víc zoomů.

Čili ne:
Zoom 11: offline Shocart
Zoom 12: zoom 11, lupa 200%

Ale např.:
Zoom 11: offline Shocart zoom 11
Zoom 12: offline Shocart zoom 14
  •  

Čelda

#3
No to jsem myslel samo sebou - příslušný mapový zdroj musí příslušný zoom umět, jinak mám smůlu.
Tj. pokud nenapíšu např.
Zoom 11: offline Shocart zoom 12, lupa 50 %
myslí se zápisem
Zoom 11: offline Shocart
samozřejmě
Zoom 11: offline Shocart zoom 11

Ale to už jsou implementační detaily - je otázka, jestli, když bych chtěl na nějakém zoomu použít jinou lupu než 100%, tak jestli ji vázat k definici jiného zoomu ve virtuálním atlase nebo rovnou k nějakému konkrétnímu zdroji. Nakonec ale pro příslušný zoom musí vyjít nějaký zdroj opravdu v "příslušném" zoomu, jinak by to nedávalo smysl.

Takže se domnívám, že tvůj zápis na posledním řádku
Zoom 12: offline Shocart zoom 14
by byl z tohoto pohledu špatně, protože Locus "ve směru zmenšování" zatím umí nejvíc jen 50%, takže by to nešlo, protože tvůj zápis fakticky znamená
Zoom 12: offline Shocart zoom 14, lupa 25 %
  •  

Čelda

#4
Dneska jsem byl na cca patnáctikilometrové keškolovné vycházce ve Chřibech a opět jsem se ujistil, že v téměř dokonalém Locusu opravdu nejvíc postrádám to, co jsem popsal v tomto vlákně výše. V praxi jsem totiž velmi často potřeboval přepínat zejména mezi "offline Shocart zoom 14 lupa 200%" (tam jsou turistické značky) a "offline ZABAGED zoom 16 lupa 100%" (tam jsou lesní cestičky). Přepínat tyto dvě nastavení třeba každých pět minut tam - mrknout - a hned zase přepínat zpět je vopravdu slušnej vopruz. Ono by to asi nějak šlo zlomit tím, že bych některé zoomy třeba z některých zdrojů vyházel a obojí dal do stejného podadresáře (soubory sqlite jak pro Shocart, tak i pro ZABAGED), ale nepřijde mně to jako dost "sexy" řešení.
Mimochodem - sledoval jsem podobný vývoj před cca dvěma lety v aplikaci Trekbuddy a v okamžiku, když se tam zavedla funkce "easy zoom" (= obdoba návrhu I výše, ale dělaná malinko jiným způsobem), tak se z Trekbuddyho rázem stala několikanásobně lepší aplikace.

Menione, jak to vypadá, můžu doufat :-) aspoň v něco z výše navrhovaného ? Vím, že se na tebe toho tady valí hodně, ale potřeboval bych od tebe alespoň nějakou základní reakci ve smyslu, co by třeba v budoucnu bylo/nebylo možné, abych podle toho případně mohl na GetSatisfaction pro příslušný nápad zkusit získávat hlasy. Díky.
  •  

Menion

#5
"Menione, jak to vypadá, můžu doufat :-) aspoň v něco z výše navrhovaného ?" - Celdo nevím :) Momentálně, kromě toho že jedu po letech konečně na vícedenní dovolenou, předělávám komplet databáze pro body a tratě, jelikož aktuální systém nevyhovuje potřebám add-onů a celkem blokuje další vývoj. Takže to mám práci tak do konce listopadu + nějaké ladění a práce na serveru, takže plánuju, že do konce roku se Locus moc nepohne. teda co se týče té pro uživatele viditelné části.

Nicméně, osobně bych nic takového nedělal, ale umím se představit využití. Vzhledem k tomu že by jsi chtěl kombinovat všechny možné typy map (i online, vector, ...), je to celkem velký zásah do aktuálního systému. Takže doporučuju jak píšeš, umístit nějaký rozumný post (ideálně v angličtině) na GetSatisfaction a když bude zájem tak se na to podívám detailněji. Aktuálně je tam snaha o podporu TrekBuddy atlasů ale to nepokrývá všechny typy map jak píšeš výše. Takže tak ...
- Official help (ideas, questions, problems): help.locusmap.eu
- Advanced topics, sharing of knowledges: you're here!
- LM 4 Beta download, LM 4 Release download
  •  

Čelda

#6
Díky za reakci, i když z ní nepřímo plyne, že v blízké budoucnosti mám asi smůlu :-0 :-)
Prozatím jsem proto teda dosáhl skoro toho, co chci, aspoň tím "nesexy" způsobem (vyhozením těch offline mapových zdrojů, které moc nepotřebuju, sesypáním zbylých offline mapových zdrojů tak, aby se přesně doplňovaly zoomy a volbou "Automaticky načíst mapy stejného typu (pokud existují), jinak jiný typ").

Rozumím tomu, že nápadů je moc a není čas. Přesto se mi ale zdá, že v Locusu zatím chybí nějaká vize (logický model) práce s mapovými vrstvami. Pokud budeš chtít nějak vyhovět přáním uživatelů (např. právě "podpora TB atlasů" apod.) stejně si tu vizi budeš muset vytvořit. Osobně mně členění zhruba podle těchto zásad přijde celkem životaschopné:
1) Mapová vrstva - je určena mapovým podkladem stejného druhu (např. Shocart turistická) a výsledným zoomem (např. 14), který může být dán i zvolenou lupou - viz moje příklady výše. Pokud se jedná o mapovou vrstvu typu "osobní", Locus by měl sám zajistit, že rozlohou větší vrstvy sám složí z více jednotlivých map, jsou li umístěny ve stejném podadresáři. (Podobně jako to dělá u online map - sám si stáhne právě ty dlaždice, které potřebuje.)
2) Atlas (virtuální atlas, mapa zoomu, ... ať už to nazveme jakkoliv) je v logické hierarchii o stupeň výš a umožňuje nějakým sofistikovaným způsobem kombinovat mapové vrstvy dle přání uživatele.
3) Uživatel buď pracuje v jednoduchém režimu s jednou mapovou vrstvou (ev. s více mapovými vrstvami, které jsou z jednoho zdroje, jen se liší zoomem) nebo ve složitějším režimu, kdy pracuje s atlasem.
V současnostil Locus slušně umí bod 1, ale bod 2 zatím skoro vůbec (s vyjímkou možnosti zapnutí výše uvedeného pravidla "Když nic nenajdeš, hledej >něco< v >nějaké< jiné vrstvě").
Filozofie atlasů v Trekbuddy je podobná (celkem do toho vidím, detaily v případě zájmu můžu poskytnout), ale v implementaci atlasů je jedno základní omezení, kterému by bylo vhodné se v Locusu případně vyhnout: Struktura vrstev v atlasu je dána fyzickou polohou mapových vrstev v adresářích na paměťové kartě a tudíž jedna mapová vrstva nemůže být zároveň součástí více atlasů (s vyjímkou triviálního případu, že ji znovu nakopíruju a mám ji na kartě víckrát, což zabírá zbytečně na paměťové kartě mraky místa). Tomu se snažím v návrhu I výše pro Locus vyhnout.

>Vzhledem k tomu že by jsi chtěl kombinovat všechny možné typy map (i online, vector, ...), je to celkem velký zásah do aktuálního systému.
Ano, ale (jak se snažím vysvětlit výše) ten zásah by neměl (mimo nezbytně nutné zásahy) jít proti stávajícímu řešení mapových zdrojů, ale měl by jen koncepci rozšířit NAVÍC o další úroveň (atlasy).

> Momentálně, kromě toho že jedu po letech konečně na vícedenní dovolenou
Enjoy ! :-)
  •