AM a stacje benzynowe

  • 32 Odpowiedzi
  • 8951 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline mikal

  • **
  • 178
  • Płeć: Mężczyzna
  • Sprzęt: Asus A636, AM, TT, MapaMap
Odp: AM a stacje benzynowe
« Odpowiedź #30 dnia: Listopad 27, 2008, 22:34:27 »
... Problem jest tylko w stałych i bardzo restrykcyjnych parametrach odległości (do 150m w linnii prostej w bok od trasy)...

No właśnie chodziło o tą kropkę nad "i", na którą się czeka najdłużej  :mrgreen:

Niestety nie jest tak różowo jak to Marek przedstawia. Algorytm podający faktyczną odległość do POI "przy trasie" działa jako tako, ponieważ defaultowo dopuszczalna odległość w linii prostej POI od trasy jest niewielka. Algorytm obliczający drogę do pokonania działa mniej więcej tak: liczy drogę jaką trzeba pokonać do punktu, w którym (w przybliżeniu) leży POI i dodaje te kilkaset metrów. Innymi słowy zakłada, iż bezpośrednio z zaplanowanej trasy będzie można, krótką drogą do tego POI dojechać. Im większą odległość w linii prostej POI od trasy się dopuści, tym większe ryzyko, iż wyliczona droga z faktyczną będzie miała niewiele wspólnego. Zresztą już przy tych fabrycznych ustawieniach algorytm ten potrafi płatać psikusy. Ekstremalny przykład to trasa A4 Kraków-Katowice (od bramek do bramek). Według algorytmu istnieje kilka stacji "przy trasie". Jeżeli wybierze się tę leżącą po lewej stronie autostrady to może się okazać, iż trzeba nadłożyć 40 km choć wg. AM stacja leży przy trasie. Bo niby i leży, tylko co z tego, skoro nie ma do niej jak dojechać.

W metodzie o jaką mi chodzi aktualny algorytm byłby tylko pierwszym krokiem służącym do wyznaczenia tych POI, które w ogólne mogą być brane pod uwagę - leżą w jakimś pasie ciągnącym się wzdłuż wyznaczonej trasy. AM w tle powinna policzyć dla nich faktyczne odległości bazując na normalnym algorytmie wyznaczania trasy i podać faktyczne odległości z informacją ile trzeba będzie nadłożyć. Wtedy taka stacja po niewłaściwej stronie autostrady w ogóle nie będzie wyświetlana, jako warta rozważenia.

*

Offline nocnyMarek

  • *****
  • 9913
  • Sprzęt: Palmax, viliv X70
Odp: AM a stacje benzynowe
« Odpowiedź #31 dnia: Listopad 27, 2008, 23:47:38 »
Wcale nie twierdziłem, że jest różowo  B)
Napisałem wyraźnie, że AM podaje niemal rzeczywistą odległość, bo jest to rzeczywista odległość
do miejsca na trasie, z którego jest najbliżej w linii prostej do szukanego POI.
(Przynajmniej tak mi wyszło z testów)
Informacją dodatkową przy każdym POI przy trasie jest strona po której się znajduje
(ikona trasy w kolorze ciemnoszarym to POI 'gorszy' - po lewej stronie trasy)
oraz orientacyjnej odległości (w linii prostej) od trasy dla POI po prawej mieszczących się w kryterium 'przy trasie'
(ciemnozielona - blisko, jasnozielona - dalej, jasnoszara - jeszcze dalej)

Twoja metoda jest w jednym momencie groźna, im więcej znajdzie się POI przy trasie,
tym bardziej czasochłonne będą wyliczenia. Mogłoby to nawet całkiem 'zarzynać' wydajność,
jeśli graniczna odległość będzie duża, trasa długa, a kategoria liczna.
Dlatego po jak to okresliłeś pierwszym kroku, MZ nie może natąpić ten drugi,
przynajmniej nie w wersji liczącej automatem rzeczywistą odległość do każdego znalezionego punktu.
Lepszym wyjściem, jak sądzę, byłoby gdyby po wskazaniu konkretnego POI z listy wyników
pojawiło sie wyskakujące okienko z jego opisem* i wyliczoną 'w locie' rzeczywistą odległością od trasy,
tu pojedyncze wyliczenie tak krótkiej trasy nie powinno zająć zbyt wiele czasu.

*opis choćby po to, żeby móc zobaczyć, czy o danej porze punkt będzie czynny,
bo cóż z tego, że będzie bardzo blisko, jeśli będzie go można tylko pooglądać.
AM3/4/5/6, DPN/D6, AP, N2/9, OM-free

*

Offline mikal

  • **
  • 178
  • Płeć: Mężczyzna
  • Sprzęt: Asus A636, AM, TT, MapaMap
Odp: AM a stacje benzynowe
« Odpowiedź #32 dnia: Listopad 28, 2008, 01:29:57 »
Informacją dodatkową przy każdym POI przy trasie jest strona po której się znajduje
(ikona trasy w kolorze ciemnoszarym to POI 'gorszy' - po lewej stronie trasy)

W praktyce te po lewej stronie wcale nie muszą (choć mogą) być "gorsze". Na autostradach często jest tak, iż stacja/restauracja/motel leżą po jednej stronie i istnieje specjalnie wiadukt by tam dojechać także z tej drugiej nitki.

Cytuj
Twoja metoda jest w jednym momencie groźna, im więcej znajdzie się POI przy trasie,
tym bardziej czasochłonne będą wyliczenia. Mogłoby to nawet całkiem 'zarzynać' wydajność,
jeśli graniczna odległość będzie duża, trasa długa, a kategoria liczna.

Nigdy nie było moim zamiarem liczenie odległości do wszystkich punktów na całej trasie. Ja sobie wyobrażam to mniej więcej tak: w menu mam opcje: tankuj za 30 km, tankuj za 60 km, tankuj za 90 km (oczywiście przykładowo). Program bierze pas wzdłuż trasy (np szerokości 1-2 km) rozpoczynający się 15 km przed i kończący się 15 km za wybraną opcją (czyli przy 60 km byłoby to 45 i 75). I na takim obszarze poszukuje używając obecnej metody stacji, które mogą wchodzić w grę. Następnie poczynając od środka tj. najbliżej 60-tego km i najbliżej trasy zaczyna wykonywać obliczenia faktycznej odległości i drogi jaką trzeba nadłożyć. Nie liczy oczywiście całej trasy, lecz tylko taką której początek (dla wybranego przykładu) leży na 40-tym, a koniec na 80-tym kilometrze, a stacja jest traktowana jako "przez". Odległość do stacji to odległość do punktu "przez", a długość wyliczonej trasy minus 40 km to droga jaką trzeba nadłożyć.Aby zapobiec zablokowaniu, o którym pisałeś można: ograniczyć ilość stacji dla których faktyczne dane będą liczone, zmniejszyć szerokość pasa, ustalić kryterium przerywające liczenie jeśli znaleziono zadowalającą ilość stacji spełniających kryteria odległości, czy też w każdym momencie przerwać liczenie ręcznie. Generalnie nie wydaje mi się by trasa długości ok 40 km z jednym przez liczyła się dłużej niż 3-5 sekund. Nawet przy 30-40 znalezionych potencjalnych POI ich policzenie nie powinno zająć więcej niż 2-3 minuty.

Cytuj
Lepszym wyjściem, jak sądzę, byłoby gdyby po wskazaniu konkretnego POI z listy wyników
pojawiło sie wyskakujące okienko z jego opisem* i wyliczoną 'w locie' rzeczywistą odległością od trasy,
tu pojedyncze wyliczenie tak krótkiej trasy nie powinno zająć zbyt wiele czasu.

Jeśli "moja" metoda by się nie wyrabiał czasowo, to owszem jest to dobry pomysł. Jego wadą jest to, iż absorbuje kierowcę zapewne w czasie jazdy - nikt nie będzie stawał by szukać stacji, skoro będzie za jakiś czas i tak musiał sie na niej zatrzymać. Dlatego będzie to robił w czasie jazdy. W mojej metodzi odpala i dostaje za kilka minut gotową listę sensownych propozycji.

Cytuj
*opis choćby po to, żeby móc zobaczyć, czy o danej porze punkt będzie czynny,
bo cóż z tego, że będzie bardzo blisko, jeśli będzie go można tylko pooglądać.

Tak to cenna uwaga :ok: