<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div>Sveikas, Tomai,</div>
<div><br>
</div>
<div>Nežinau dėl kitų blogų dalykų, bet šiuo atveju ne žymėjimas juostomis yra problemos esmė. Problemos esmė šiuo atveju yra tai, kad maršruto alternatyvos eina pernelyg skirtingo lygio keliais (primary vs. service) bei nenurodytas [max] greitis, todėl maršrutas
su kvailu apsisukimu algoritmui atrodo greitesnis.</div>
<div><br>
</div>
<div>Aš paleidau OSRM'ą ant savo kompo ir pabandžiau pažaisti su skirtingais vietos žymėjimais, pasižiūrėti, kaip atrodo OSRM „debug“ informacija.</div>
<div><br>
</div>
<div>Originalus žymėjimas -- primary ir service -- žr. restr-service.png . Kaip matyti iš paveiksliuko, Ozo gatve jis prognozuoja 48 km/h, apsisukimo kvadrate apie 40 km/h, o va service keliuke tik 15 km/h. Tai natūralu, kad greičiausio kelio paieška leidžia
kvailam keliui būti net daugiau kaip 2 kartus ilgesniam. Nu, gal kiek mažiau, nes posūkiams į kairę uždeda 7+sek. baudos.</div>
<div><br>
</div>
<div>Jei ant service uždedame maxspeed=50, tai OSRM'as pradeda skaičiuoti greitį toje vietoje 40 km/h (žr. restr-maxspeed50.png), o maršrutą pradeda vesti per service kelią. </div>
<div><br>
</div>
<div>Iš kitos pusės, aš šitą kelią svarstyčiau žymėti kaip primary_link, nes ten, kur jis 2 juostų, tai gal dar service, tačiau ten, kur 6, tai nežinau ar vis dar tinka „service“. Taigi, pakeitus highway į primary_link, OSRM'as skaičiuoja greitį 30 km/h (žr.
restr-primlink.png, atkreipkite dėmesį, kad greitis mažesnis, nei service+maxspeed), ir maršrutą veda per primary_link, o ne ratais-kvadratais. Pabandžiau dar vieną dalyką -- nuėmiau apribojimą sukti į dešinę. Vis tiek, pasižymėjus paskirties tašką už primary
ir link susikirtimo maršrutas korektiškai veda per link'ą.</div>
<div><br>
</div>
<div>Kiek man teko susidurti su route'inimo varikliukais, tai visi jie jazzuoja panašiu principu, tik kiekvienas savo konstantas susidėlioja, taigi, jei sutvarkysime OSRM'ui, labai tikėtina, kad geriau(-ai?) veiks ir kituose. Ir praeityje, kiek tekdavo susidurti
su tokiais kvailais nuvedimais, praktiškai visada būdavo arba atsijungęs kuris nors kelias, arba šitokio tipo labai jau skirtingų lygių kelių alternatyvos.</div>
<div><br>
</div>
<div>Kuriuos tag'us keisti palieku spręsti vietiniams, nes ta jungtimi neteko važiuoti ir situacijos ten aš nežinau.</div>
<div><br>
</div>
<div>Iš kitos pusės, jei jau grįžti prie to, kad restrictionų neįmanoma nurodyti, tai OSRM'as jau įtraukė į savo kodą patobulinimus, kad pripažintų daugiau nei vieną via tipo narį turn restrictionuose. <a href="https://github.com/Project-OSRM/osrm-backend/pull/5907">https://github.com/Project-OSRM/osrm-backend/pull/5907</a> Kol
kas dar į release nepateko, bet artimiausiame jau turėtų būti. Tik tiek, kad šitą dalyką reikėtų naudoti ne šitokiems apsisukimams riboti, bet sudėtingesnėms sankryžoms, a la prie Čiurlionio tilto Kaune: <a href="https://openmap.lt/#m/17.25/54.88376/23.92665/0/0">https://openmap.lt/#m/17.25/54.88376/23.92665/0/0</a> .
Tiesa, kiti varikliukai tokio žymėjimo, greičiausiai, dar kurį laiką nesupras.</div>
<div><br>
</div>
<div><br>
</div>
<div class="-x-evo-signature-wrapper"><span class="-x-evo-signature" id="c4fe4de328134db51884689ca7f9a6b80edc5cf4">
<pre>-- <br></pre>
<div data-evo-paragraph="" class="">Aidas Kasparas</div>
</span></div>
<div><br>
</div>
<div>On Sat, 2021-04-24 at 10:25 +0300, Tomas Straupis wrote:</div>
<blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
<div>Sveiki<br>
</div>
<div><br>
</div>
<div> Dar kartą įsitikiname, kad juostų žymėjimas atskirais vektoriais yra blogis:<br>
</div>
<div><br>
</div>
<div> <a href="https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=54.71046%2C25.25804%3B54.71250%2C25.26253">
https://www.openstreetmap.org/directions?engine=fossgis_osrm_car&route=54.71046%2C25.25804%3B54.71250%2C25.26253</a><br>
</div>
<div><br>
</div>
<div> Ir kaip nurodyti, kad na negalima va taip apsukti sankryžos ratu ir<br>
</div>
<div>pasukti į dešinę? :-) Kiekvienas atskiras posūkis yra teisingas, bet<br>
</div>
<div>jų visuma - ne.<br>
</div>
<div><br>
</div>
</blockquote>
</body>
</html>