Re: [Talk-cz] MTB mapa vyhledava trasy

2013-06-18 Tema obsahu Martin Tesar
Ahojte,

určitě je potřeba doplnit nějaký popis toho, jak algoritmus funguje a jak
se zadané váhy projeví na výsledku.

Typický případ užití je asi takový, že si nastavím šablonu (vy tomu říkáte
speciální profil), která je mi nejbližší, např. MTB easy. Samo o sobě to
hledá poměrně dobře, to snad nikoho neodradí. Když mám pocit, že to pořád
hledá trasy které nechci, doladím konkrétní parametr. To jsou ty advanced
settings. Třeba mtb:scale=0 nechám na Ideální, ale mtb:scale=1 snížím na
Vhodný. Pak to automaticky upraví všem odpovídajícím cestám váhu.

Jakmile je uživatel se svým profilem spokojený, může si ho uložit a kdykoli
znova nahrát a použít, aby nemusel všechno dokola klikat.

Nějaký model který by nastavování zjednodušil by se určitě hodil. Hlavním
cílem mojí práce ale bylo právě to, aby si mohl každý nastavit všechno jak
chce, to si myslím, že jinde chybí.

Jak by se ta působivost počítala z dostupných dat si moc neumím představit,
obtížnost by asi šla.

Snad jsem aspoň trochu vysvětlil některé nejasnosti. Díky za nápady,
Martin


Dne 13. června 2013 23:51 Jan Kouba kouba.ho...@gmail.com napsal(a):

 **

 Ahoj,



 a) Já jsem předpokládal, že jedna cesta má jen jednu přiřazenou působivost
 a namáhavost, takže by se daly ty dva ůseky brát každý jako zvláštní cesta
 a mělo by to fungovat. Kvůli efektivitě, je ale asi takové kombinování
 úseků do jedné cesty potřeba. Kdyby se váha cesty počítala jak píšu, tedy:



 váha cesty = délka cesty*(namáhavost - obtížnost*působivost)



 zkráceně:

 v = d*(n - o*p)



 pak tedy:

 v = v_1 + v_2

 = d_1*(n_1 - o*p_1) + d_2*(n_2 - o*p_2) =

 = (d_1*n_1 + d_2*n_2 - o*(d_1*p_1 + d_2*p_2))*(d_1+d_2)/(d_1 + d_2)

 = (d_1+d_2) * ((d_1*n_1+d_2*n_2)/(d_1+d_2)

 - o*(d_1*p_1 + d_2*p_2)/(d_1 + d_2))

 = d*(n - o*p)



 tak mi vychází, že



 n = (d_1*n_1+d_2*n_2)/(d_1+d_2)

 p = (d_1*p_1 + d_2*p_2)/(d_1 + d_2)



 tedy že n a p jsou vážené průměr podle délky cesty.





 b) Ano, speciální profily pro pěší, horská, sliniční kola, auta, ... jsou
 určitě třeba. Já jsem se snažil navrhnout něco, co by fungovalo pro horská
 kola. O tom, jestli by to šlo použít i na jiné dopravní prostředky jsem
 zatím moc nepřemýšlel, ale příjde mi, že u působivosti by se dala použít
 stejná hodnota pro všechny dopravní prostředky, avšak namáhavost je pro
 každý dopravní prostředek jiná.



 c) Mít možnost nastavovat více parametrů by jistě šlo, ale hodně by
 záleželo, jak by ty parametry byly vysvětleny, aby to lidé opravdu
 používali a nenechávali všechno v default nastavení.



 Navíc s každým přidaným parametrem se znásobí počet různých ohodnocení
 grafu cest počtem hodnot parametru. Takže když budeš mít 5 parametrů každý
 s možností výběru 4 hodnot, tak se musí počítat 4^5 = 1024 různých
 ohodnocení hran. To teď není problém, protože podle toho, co psal Martin
 Tesař, se teď ohodnocení stejně počítá znova při kažném dotazu, ale časem
 by to možná chtěl zrychlit nějakou předgenerovanou vyhledávací strukturou.
 V tom se sice moc neorientuju, ale vím, že například algoritmus, který se
 používá na http://project-osrm.org/, potřebuje pro každé ohodnocení
 grafu, podle kterého se vyhledává, prostor úměrný velikosti grafu. A je
 dost možné, že ostatní vyhledávací struktury na tom budou dost podobně. A
 tady už je dost velký rozdíl, jestli máš 1024 různých ohodnocení, nebo jen
 5.



 A k těm tebou navrhovaným parametrům. Silnice vyšší třídy by měly
 namáhavost stejnou jako jakákoliv jiná cesta (třeba i lesní) s asfaltovým
 povrchem, ale působivost by měla jednu z nejmenších, takže ten navržený
 algoritmus by se té cestě stejně snažil vyhnout. A když by se jí nevyhnul,
 tak uživatel může do trasy přidat pár bodů navíc, které zajistí, že to po
 té silnici nepovede.



 Pokud chce někdo jezdit pouze po kvalitních cestách tak nevím proč by měl
 používat profil pro MTB. Ať použije profil pro trekingové kolo, kde budou
 nejspíš všechny lesní cestičky zakázané.



 A že by někdo chtěl preferovat pouze rovinatý terén se mi taky moc nezdá.
 Například jízda po rovině po cestě s mtb:scale=4 je určitě víc namáhavá než
 jet do kopce s 12% stoupáním, ale po asfaltu. Myslím si, že uživatel může
 spíš preferovat cesty, které nejsou moc namáhavé. To ale zařídí tak, že si
 obtížnost nastaví na minimum.





 Honza







 Dne Čt 13. června 2013 02:59:35, Jan Bilak napsal(a):

 a) Jaké vlastnosti mají namáhavost a působivost? Tedy mám dva úseky cesty
 s namáhavostí n_1 a n_2 a působivostí p_1 a p_2, jaká bude namáhavost n a
 působivost p složené cesty z těchto dvou úseků? Součet, maximum, vážený
 průměr s váhou délky úseku, ...?


 b) Nějaké pojmenované profily mi dávají smysl, protože řekněme jízda na
 horském kole a na silničním (pokud pominu, že jde o MTB mapu) je z principu
 jiná a nelze dost dobře vyjádřit zmíněným vzorečkem.


 c) Mě dává smysl mít možnost nastavit i další parametry (jako nějaké
 advanced settings). Např. za žádných okolností nechci jezdit po silnici
 vyšší třídy. Nebo naopak třeba chci 

Re: [Talk-cz] MTB mapa vyhledava trasy

2013-06-18 Tema obsahu Petr Holub
Ahoj,

 Ideální by bylo, kdyby v OSM existoval nejaký tag, který by popisoval právě 
 tu atraktivitu cesty, a
 kdyby ho také mapeři používali. O žádném takovém ale nevím.

existuje:
class:bicycle=[-3..3]
class:bicycle:mtb=[-3..3]
class:bicycle:mtb:technical=[-3..3]
https://wiki.openstreetmap.org/wiki/Class:bicycle

a MTB map ho uz respektuje podle nastaveni v Preferred ways.

Petr


___
Talk-cz mailing list
Talk-cz@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-cz