Alexey Schröder

immer bereit!

Routen-Rechner

Das Projekt wurde im Rahmen der Veranstaltung "Mobile Computing "entwickelt, Projektleiter: Prof. Dr.-Ing. Cornelius Wille. Der Routen-Rechner  soll einem Postboten helfen, eine möglichst kurze Route zu finden. Die Route muss alle Adresspunkte der Pakete enthalten, die ausgeliefert werden sollen. Auf diese Weise erspart der Routen-Rechner dem Postboten Zeit und Geld, da er eine kürzere Strecke zurücklegen muss. Darüber hinaus erhöht  der Routen-Rechner die Effizienz der Arbeit vom Postboten, weil er nun in der Lage ist mehr Pakete in derselben Zeit auszuliefern. Der Routen-Rechner verschafft somit für das Postunternehmen ein entscheidenden Vorteil, nämlich die Möglichkeit der Minimierung von Postboten. Das Unternehmen kann letztendlich mit geringerem Kapital (z.B. durch das Einsparen von mehreren Fahrzeugen) auskommen. Die Kunden dürfen auch zufrieden sein, da sie ihre Post nun schneller erhalten.


Das Projekt hat folgende Abgrenzungen:

  • Windows Mobile
  • .NET Compact Framework
  • C#

Programmablauf ist in folgende Schritte untergeteilt:

  • Man lädt eine XML-Datei mit einer Adressenliste (die Datei muss einem vordefenirtem Format entsprechen, sonst wird eine Warnung geworfen)
  • Die Adressen werden als eine Tabelle dargestellt.
  • Der Knopf "Route berechnen" wird gedruckt.
  • Das Programm sucht nach einer Datenbank.
    • Falls eine Datenbank gefunden wird, sucht das Programm nach der Entfernung zwischen den Adressen aus der Adressenliste.
      • Falls die Abstande nicht gefunden wurden, schickt das Programm eine Anfrage an Google.
        • Falls Google keine Antwort liefert, schickt das Programm eine Anfrage an Yahoo.
          • Falls Yahoo keine Antwort liefer, versucht das Programm die Entfernung zu interpolieren.
            • Falls der Versuch erfolglos ist, fragt das Programm beim Benutzer nach der Entfernung.
          • Falls Yahoo eine Antwort liefert, versucht das Programm die Entfernung Abstand zu interpolieren.
        • Falls Google eine Antwort liefer, werden die eingereichten Daten in der Datenbank gespeichert.
      • Falls die Entfernung gefunden wird, berechnet das Programm die Route.
    • Falls eine Datenbank nicht gefunden wird, wird eine leehre Datenbank erstellt.
      • Das Programm sendet eine Anfrage an Google.
        • Falls Google keine Antwort liefert, sendet das Programm eine Anfrage an Yahoo.
          • Falls Yahoo keine Antwort liefert, versucht das Programm die Entfernung zu interpolieren
            • Falls der Versuch erfolglos ist, fragt das Programm beim Benutzer nach der Entfernung.
          • Falls Yahoo eine Antwort gegeben hat, versucht das Programm den Abstand zu interpolieren.
        • Falls Google eine Antwort liefert, werden die eingereichten Daten in der Datenbank gespeichert.
      • Das Programm berechnet die Route.
    • Die berechnete Route wird als eine Tabelle dargestellt.

Für die Berechnung der Route benutzt das Programm den Algorithmus von Little. Da die Implementierung rein prozedural ist, ist sie recht schnell und passt gut für Mobile Geräte, deren CPU ziemlich "schwach" ist.


Screenshots:

startladenadressenlisteanfrage an googleantworten von googleroute


Der Quelltext ist hier zu finden