Brouter - offline router service pro cyklisty a turisty - volná diskuze

Started by poutnikl, November 30, 2015, 08:26:36

0 Members and 1 Guest are viewing this topic.

poutnikl

Nejdulezitesi je druh povrchu surface=  a kvalita povrchu tracktype=   ( grade1...grade5). Pro MTB jeste MTB scale - tam napomuze OSM wiki - je i v cestine. V podstate cele vyhodnocovani je o testovani hodnot textovych retezcu, pricemz u mnoha dat je platnou hodnotou i  retezec prazdny = data neznama. )

poutnikl

Quote from: Jirkous on February 29, 2016, 12:42:38...... Takže jsem si kontroloval co je v OSM zadáno u jiných cest a většinou tam není vyplněno nic, ani povrch......

To se asi tyka hlavne cest, ktere nebyly pridany rucne pri znalosti fyzickeho stavu, ale nejakou davkou z jinych databazi.

Dan S.

Quote from: poutnikl on February 29, 2016, 08:07:22
Pokud prudsi sjezdy preferujes, stalo by za to zrušit penalizaci sjezdů

assign   downhillcutoffvalue    1.5
assign   downhillcostvalue      0

a ladit penalizaci výjezdů

assign   uphillcostvalue   70
assign   uphillcutoffvalue   3.0

Při MTB Factor 1.0(2.0) je ze 70  46.6(23.3), takže počáteční hodnota může jít až cca ke 100 ( 200 ).

Takže z původních
Quoteassign   uphillcostvalue   switch equal hills 1 70
                                switch equal hills 2 80
                                switch equal hills 3 60
                                0
assign   uphillcutoffvalue   switch equal hills 1 3.0
                                switch equal hills 2 1.0
                                switch equal hills 3 0.5
                                1.5
assign   downhillcutoffvalue    switch equal hills 1 1.5
                                switch equal hills 2 0.5
                                switch equal hills 3 1.5
                                1.5
assign   downhillcostvalue      switch equal hills 1 60
                                switch equal hills 2 80
                                switch equal hills 3  0
                                60 

mám nastavit
Quoteassign   uphillcostvalue   switch equal hills 1 100 - hodnota může jít až k 200
                                switch equal hills 2 80
                                switch equal hills 3 60
                                0
assign   uphillcutoffvalue   switch equal hills 1 3.0
                                switch equal hills 2 1.0
                                switch equal hills 3 0.5
                                1.5
assign   downhillcutoffvalue    switch equal hills 1 1.5
                                switch equal hills 2 0.5
                                switch equal hills 3 1.5
                                1.5
assign   downhillcostvalue      switch equal hills 1 0
                                switch equal hills 2 80
                                switch equal hills 3  0
                                60 
?
změněné hodnoty jsou tučně
Locus Pro
  •  

poutnikl

Tak nejak. Ale myslel jsem to spis ze to jsou hodnoty - pro patricne MTB faktory, kdy by jeste Brouter nemel zlobit.
Ale spis bych Ti to zvysovat neradil, protoze pak se mu nebude do kopcu chtit.

Napadlo me, ze z praktickych duvodu by bylo lepsi profil hills 1 nechat, a strcit to spis do profilu hills 2 nebo 3, ktere pravdepodobne nepouzijes. Ovsem, pokud si to ulozis jako svuj vlastni koncovy profil, pak je to celkem jedno.

Dan S.

Zkouším to v testovacím profilu, ten co aktuálně používám (sedí mi) měnit nebudu.
Locus Pro
  •  

poutnikl

Autor Brouteru na forech/nebo v dokumentaci zminoval, ze kdyz je xxhillcost * xxhillcutoff > 100, muze dochazet k planovacim artefaktum. Brouter se pak pry nekdy snazi umele delat mikrozajizdky, aby nahnal vzdalenost a kopce mu pak prevysenim nebo strmosti vychazely mensi. V praxi jsem nic takoveho nepozoroval, ale zas jsem jej moc nepokousel.

Dan S.

A ještě se tě zeptám, jak upravit profil, když bych od něj chtěl, aby se částečně vyhýbal kopcům (ne za každou cenu). Pořád jde o ten tvůj profil mnou upravený (MTB faktor 2 a smallpaved -0,5). Na minulé stránce jsi psal, že když upravím Hill na hodnotu 2, tak je to už moc a je to vhodné na cestování na těžko.
Locus Pro
  •  

poutnikl

Žádný profil se nevyhýbá kopcum za každou cenu, nýbrž kazdy kopec má pomoci cutoff a cost svou stanovenou cenu vyjadrenou v ekvivalentni delce trasy.

Jde o to, ze hlavni vyznam penalizacnich profilu pro kopce lezi mimo MTB, stejne jako nastaveni jejich nominalnich hodnot.

V Implementaci MTBfactoru je jejich snižování zvolené tak,  aby se tolerance vuci kopcum zvyšovala spolu s rostouci preferenci cest v terenu. Pokud se Ti posun preferenci cest a penalizace kopcu zda nevyvazeny, klidne muzes s up/downhill cutoff/cost pohnout a zvolit si vlastni hodnoty.

Je mozne do budoucna implementovat balancni faktor.


Hills 0 ma pri MTB factor 2     up/downhillcutoff 1.5/1.5, up/downhillcost 0/20 
Hills 1 ma pri MTB factor 2     up/downhillcutoff 3.0/1.5, up/downhillcost 23/20 
Hills 2 ma pri MTB factor 2     up/downhillcutoff 1.0/0.5, up/downhillcost 27/27 

1 km 6% stoupani Te prijde navic
u Hills 0 na  ( 1000 *(6-1.5)/100 * 0 ) = 0 m
u Hills 1 na  ( 1000 *(6-3)/100 * 23 ) = 690 m
u Hills 2 na  ( 1000 *(6-1)/100 * 27 ) = 1350 m

1 km 6% klesani Te prijde navic
u Hills 0 na  ( 1000 *(6-1,5)/100 * 20 ) = 900 m
u Hills 1 na  ( 1000 *(6-1,5)/100 * 20 ) = 900 m
u Hills 2 na  ( 1000 *(6-0.5)/100 * 27 ) = 1485 m

Edit: s MTB 0.0 jsou vsechny vyse uvedene ekvivalentni metry 3x delsi - u dalkocykloplazu se kazdy vyskovy metr pocita.



poutnikl

Co bych Ti mozna poradil, je nahradit


assign   uphillcostvalue switch equal hills 1 70
                                switch equal hills 2 80
                                switch equal hills 3 60
                                0
assign   uphillcutoffvalue switch equal hills 1 3.0
                                switch equal hills 2 1.0
                                switch equal hills 3 0.5
                                1.5
assign   downhillcutoffvalue    switch equal hills 1 1.5
                                switch equal hills 2 0.5
                                switch equal hills 3 1.5
                                1.5
assign   downhillcostvalue      switch equal hills 1 60
                                switch equal hills 2 80
                                switch equal hills 3  0
                                60 


a


assign   MTB_hillcostfactor   multiply -0.3333 ( max -3.0 ( multiply -1.0 ( max 0.0 MTB_factor ) ) )
                  # for MTBfactor <=0 is 0, for MTBfactor >=3 is 1, otherwise 0.3333 * MTBfactor
      # progressively decreases hillcosts to be 0.0 at MTB_factor = 3.0
      # if MTB_factor = 1 , then downhillcost decreases e.g. from 60 to 40
 
assign   downhillcost if ( and consider_elevation set_downhill_cost )  then
        ( multiply ( add 1.0 ( multiply MTB_hillcostfactor -1.0 ) ) downhillcostvalue ) else 0

assign   uphillcost   if ( and consider_elevation set_uphill_cost   )  then
        ( multiply ( add 1.0 ( multiply MTB_hillcostfactor -1.0 ) ) uphillcostvalue ) else 0

assign   uphillcutoff    if ( and consider_elevation set_uphill_cost )   then    uphillcutoffvalue else 1.5
assign   downhillcutoff  if ( and consider_elevation set_downhill_cost ) then  downhillcutoffvalue else 1.5


primo pomoci kodu nize, a laborovat primo s konecnymi cisly.
Tak budes mit penalizaci kopcu nezavislou na MTB faktoru.


#ekvivalent hills 1 srazeny MTB factorem 2.0  
assign   downhillcost  20
assign   uphillcost    23
assign   uphillcutoff    3.0
assign   downhillcutoff  1.5

Dan S.

#ekvivalent hills 1 srazeny MTB factorem 2.0             
assign   downhillcost  20 - když nastavím 0, tak se sjezdy nebudou vůbec omezovat?
assign   uphillcost    23   - když nastavím vyšší číslo, tak se budou více eliminovat výjezdy?
assign   uphillcutoff    3.0 tohle je tolerance, která se odečítá od skutečného stoupání (nebo klesání u downhillcutoff)?
assign   downhillcutoff  1.5
Locus Pro
  •  

poutnikl

#ekvivalent hills 1 srazeny MTB factorem 2.0             
assign   downhillcost  20 - když nastavím 0, tak se sjezdy nebudou vůbec omezovat?     
    Nebudou ( kromě rozdilů mezi costfactor a downhillcostfactor
assign   uphillcost    23   - když nastavím vyšší číslo, tak se budou více eliminovat výjezdy?
    Budou
assign   uphillcutoff    3.0 tohle je tolerance, která se odečítá od skutečného stoupání (nebo klesání u downhillcutoff)?
    Ano. a zaroven je to tolerance, ve ktere se priority pocitaji podle costfactor, a ne podle uphillcostfactor/downhillcostfactor  ( nasobek, kterym se prodluzuje fyzicka delka trasy )
assign   downhillcutoff  1.5


Pocitana delka = fyzicka delka * costfactor
pro rovinu

Pocitana delka = fyzicka delka * [ uphillcostfactor  +  ( Stoupani% - uphillcutoff ) /100 * uphillcost ]
pro stoupani

Pocitana delka = fyzicka delka * [downhillcostfactor  +  ( Klesani% - downhillcutoff ) /100 * downhillcost ]
pro klesani

Stoupani/klesani neni dano samotnou OSm mapou, ale vyskovymi radarovymi terennimi daty, ktera jsou soucasti Brouter souboru RD5. Stoupani samotne cesty nekdy byva v mape zmineno jako incline=* , je ale velmi hrube, a musi se zpracovavat v ramci costfactoru. V mych profilech zohledneno neni, protože mimo MTB nema moc vyznam a není časté.

Dan S.

díky
Ještě jsem si všiml, že si upravil původní profil Trekking-Poutnik a doplnil tam

# Version 2.4.3 ALFA - !  added experimental up/downhillcostfactor shifts

čeho se to týká?
Locus Pro
  •  

poutnikl

Já jsem neupravil původní profil, já jsem upravil šablonu profilu, která je ve vývoji. Takže musíš počítat s tím, že se může kdykoliv překopat..   :)  Změna se týká tématu, o kterém jsme se bavili - experimentalní konstantní posun uphillcostfactor/downhillcostfactor vuci costfactor, a to pomoci uphillCFshift / downhillCFshift

  assign uphillcostfactor =
max 1.0 
add uphillCFshift
add rawcostfactor2
<promenliva cast>

  assign downhillcostfactor =
max 1.0
add downhillCFshift
add rawcostfactor2
<promenliva cast>



Žajdlík Josef

Zdravím Poutníku, dal jsem na help desk Locusu dotaz ohledně doplnění navigace. Jestli jsem ale odpověď Meniona správně pochopil, tvoří se příkazy přímo v Brouteru. Proto se zkusím zeptat zde.
Dotaz je, zda by bylo technicky možné doplnit navigační pokyny. Například když odbočuji ze silnice na cyklotrasu, tak by mohlo být: "Odbočte doprava na cyklotrasu č. XX". U turistiky zase třeba: "Pokračujte po modré" (značce), případně u silnic: "Odbočte doprava na I54".
Není možné něco takového v Brouteru vytvořit? Dost by to zlepšilo srozumitelnost pokynů.
  •  

poutnikl

Co vím od autora Brouteru, tak výhledově s generováním navigačních příkazů počítá, ale kdy se jich dočkáme se zatím neví. Profil sám o sobě je t.č. vygenerovat nemůže.

Co by šlo udělat už teĎ ( ale chtelo by to hodně chytrou hlavu ) je napsat externi utilitu, možná v Excelu chytre VBA makro, která by navigacni prikazy nastrkala do GPX souboru dodatecne, pokud to pak Locus umi pouzit.

Utilitka by vyhodnotila 2 soubory vygenerovaní Brouter Webem: 1/standardní Brouter GPX route ( interne track )  2/CSV soubor, popisujici jednotlive OSM segmenty  cesty. Jednotlive souřadnice GPX route by se porovnaly se souradnicemi v CSV, nejsou-li nahodou hranicnim bodem segmentu. Pokud ano vlozil by se navigační pokyn.

Myslím ale, že konkrétní označení cesty neni v RD5 souborech Brouteru k dispozici, bylo by to spis oznaceni typu cysty, resp tridy cyklostezky, ale uz ne jejiho cisla nebo nazvu.

http://brouter.de/brouter/profiles2/lookups.dat

Viz tez http://help.locusmap.eu/topic/dopln%C4%9Bn%C3%AD-pokyn%C5%AF-navigace-o-zna%C4%8Den%C3%AD-stezek-a-silnic