2012-10-24

[taxi Logistics] Wstępna analiza problemu

Cel pracy

Celem pracy jest implementacja systemu wspomagającego przekazywanie zleceń przewozu dla
korporacji taksówkarskich bądź firm logistycznych.

Założenia ogólne systemu

W założeniu zlecenia mają być przekazywane przez operatora systemu z wykorzystaniem systemu GIS
do urządzeń mobilnych zamontowanych w taksówkach.

Funkcjonalność systemu obejmuje: monitorowanie pozycji i stanu taksówek (zajęty/wolny/gotowy/
po pracy itp.), określenie celu oraz wyznaczanie optymalnej trasy, wycenę kosztów oraz czasu
przewozu, tworzenie statystyk itp.

Wstępna architektura systemu

System składać się będzie z dwóch modułów głównych:
1) Serwer główny – na którym osadzona będzie aplikacja przeglądarkowa (webowa)
obsługiwana przez operatora w centrali.
2) Rozproszony moduł urządzeń mobilnych zainstalowanych w pojazdach/taksówkach;

Opis modułów i ich funkcji


Serwer:

  • Aplikacja przeglądarkowa.
  • Ma udostępniać prosty moduł monitorowania pozycji taksówek na mapie 
      • automatyczna aktualizacja pozycji co jakiś czas - kilka sekund 
      • w podziale na regiony/obszary mapy (miasto).
    • Po wybraniu opcji "monitoring" wyświetla się opcja wyboru regionu 
      • regiony zdefiniowane statycznie w opcjach aplikacji
    • Po wyborze regionu wyświetla się mapa (google maps) regionu z dostępnymi ("on-line" pojazdami);
      • Przy każdym pojeździe ma wyświetlić się jego aktualny status (zajęty/wolny/gotowy);
      • Opcja - obok wyświetla się lista wszystkich pojazdów z ostatnią (wysłaną do serwera) pozycją - status pojazdu "po pracy";
  • Moduł określania celu i wyznaczania najbliższego pojazdu
    • Po wybraniu opcji "wprowadź cel" wyświetla się formatka wprowadzenia celu przejazdu (adres docelowy);
    • System (przy pomocy dostępnych, darmowych bibliotek programistycznych google) wyszukuje wolne pojazdy (status "wolny/gotowy") i wyznacza trasy;
    • Wyniki wyświetlane są na zdefiniowanej obok liście :
      • Lista zawiera:
        • Id pojazdu
        • Czas przejazdu
        • Długość trasy
        • Status pojazdu
      • Lista posortowana jest wg rosnącej wartości czasu przejazdu i długości trasy
    • System wysyła propozycję trasy do klientów mobilnych:
      • [wybór] Automatycznie dla pierwszych z listy (np. 3);
      •  [wybór] dla wszystkich pojazdów z listy;
      • [wybór] dla wybranych pojazdów z listy;
    • Opcja: wyznaczenie kosztu przejazdu:
      • Wymagane średnie spalanie dla pojazdu
      • [opcja] wymagana informacja na temat przejezdności/przepustowości ulic wyznaczonych dla trasy;
  • Moduł statystyk:
    • [?] zastanowić się co możemy zapisywać i prezentować w tym miejscu;
    • [?] ilość przejazdów (tras) danego pojazdu
    • [?]średnie spalanie pojazdu

Klient mobilny:
  • Urządzenie mobilne z systemem Android
  • Klient wysyła co jakiś czas informacje do systemu:
    • Status (automatycznie)
    • Pozycja (automatycznie)
    • Akceptacja/ rezygnacja z trasy (ręcznie)
    • Odbiera propozycje trasy wyznaczone przez system;
    • Akceptuje lub odrzuca trasę proponowaną przez system
    • Po akceptacji klient pobiera dane na temat trasy przejazdu i prezentuje ją na mapie
    • Podstawowe dane na temat trasy:
      • Id/nazwa trasy
      • Adres
      • Nazwa klienta/firmy
      • Średni czas przejazdu
      • Średni koszt przejazdu

[taxi Logistics] studium wykonalności

W jednym z pierwszych etapów realizacji projektu przeprowadzę studium jego wykonalności (SW).
Zadania w ramach SW:

  1. (szczegółowa) analiza i ocena wykonalności projektu:
    • czy wobec istniejących ograniczeń (czas, zasoby) problemy określone w założeniach projektowych są wykonalne?
  2. Analiza powinna objąć celowość projektu:
    • czy nowy system rzeczywiście będzie skuteczniejszy od aktualnie istniejącego;
    • może istniejący system jest wart modernizacji w całości lub w części?
  3. Analiza (dyskusja) możliwości wariantów do wykonania projektu
    •  wskazuje wariant optymalny w aktualnie analizowanych warunkach.
  4. Analiza powinna zawierać komplet informacji niezbędnych do podjęcia ostatecznej decyzji o realizacji projektu przez inwestora.

Cele studium wykonalności:

  • zapewnienie ustrukturalizowanej metody spojrzenia na problem,
  • identyfikacja celów, 
  • ocena alternatyw
  • wybór najlepszego rozwiązania,
  • wzmocnienie przekonania o tym, że wybrane działanie jest najlepszym rozwiązaniem problemu,
  • uwiarygodnić, że wnioskowany projekt ma być, powinien być i będzie zrealizowany.

info

Problem z R.layout

W trakcie tworzenia aplikacji przykładowej na środowisko Android w Eclipse "nagle" (tzn. po kolejnym włączeniu środowiska :) ) pojawiły się błędy kompilacji typu:

activity_android_wsclient cannot be resolved or is not a fiel


activity_wsclient_android to nazwa (jak na razie) jedynego activity w aplikacji.
Źródło problemu ukryte było w pliku java (odpowiadającego activity) w linii z komendą:

setContentView(R.layout.activity_android_wsclient);

Rozwiązanie problemu:
Z jakiegoś bliżej nieznanego mi powodu Eclipse dodał do pliku źródłowego .java klauzulę importu klasy R (klasa systemowa Android) z pakietu android.

 import android.R;


Aby rozwiązać problem trzeba skasować instrukcję importu - i problem z głowy :)

2012-10-23

Google Maps & Android

Jak uderzyć z androidem do Google Maps? Obiecujący wydaję się post zamieszczony na stronie:
Android_google_routing.

Są tu zamieszczone przykładowe implementacje obsługi google do wyznaczania trasy - z użyciem usługi sieciowej (Google Maps Web Service).

Wprowadzenie do Google Maps od strony developerskiej androida można znaleźć na stronie Google