Software-Entwicklung 13

Entwicklung eines Routenplaners / Flexibles Kartenrendering

Aufgabenstellung 1: Entwicklung eines Routenplaners

Bei unserer ersten Aufgabenstellung geht es um die Entwicklung eines Routenplanungssystems, wahlweise für Radfahrer, Autofahrer, oder Fußgänger, das auf PCs läuft. Das System soll in der Lage sein für gegebenen Start- und Zielort geeignete  Routen zu berechnen. Weiterhin soll das System über eine graphische Benutzeroberfläche verfügen, über die einerseits Routenanfragen komfortabel an das Programm gestellt werden können, und die andererseits das Straßen- bzw. Wegenetz und die berechneten Routen graphisch darstellt. Bei der Kartendarstellung soll auf das Kartenrendering des OpenStreetMap-Projektes zurückgegriffen werden.

Das Standardverfahren zur Routenberechung ist der klassische Algorithmus von Dijkstra. Dieser arbeitet für größere Graphen (wie z.B. das deutsche Straßennetz) aber eigentlich zu langsam. Hier helfen sogenannte Speedup-Techniken, die Dijkstras Algorithmus zum Teil um vierstellige Faktoren beschleunigen. Für Ihr Projekt empfehlen wir Ihnen z.B. die Verwendung von Arc-Flags, einer einfachen aber recht effektiven Speedup-Technik.

 

Aufgabenstellung 2: Flexibles Kartenrendering

Bei unserer zweiten Aufgabenstellung geht es um die Entwicklung eines Renderers für Kartenmaterial in C++. Aus Geo-Daten erzeugt ein solcher Renderer graphische Darstellungen im Stile einer Landkarte. Die geographischen Daten stammen aus dem OpenStreetMap-Projekt. Mögliche Features sind z.B.: 

  • Verschiedener Stylesheets. Das selbe Kartenmaterial kann so auf verschiedene Weisen gerendert werden, z.B. als Straßenkarte, Fahrradkarte oder Wanderkarte.
  • Darstellung von Höhenlinien. Die benörigten Höhendaten können z.B. aus dem SRTM Datensatz stammen.

Der Renderer soll als Webserver gestaltet werden, der die gerenderte Karte in Form einzelner Kacheln zur Verfügung stellt.

 

Termine

  • Abgabe des Entwurfs bis spätestens Freitag, den 14.12.2012, 23:59 Uhr
  • Abgabe des Pflichtenheftes bis spätestens Freitag, den 16.11.2012, 23:59 Uhr
  • Das erste Treffen findet am Mittwoch, den 24.10.2012 um 17:30 Uhr im Raum 131 des Informatikhauptgebäudes (Gebäude 50.34) statt. Dies gilt für beide Aufgabenstellungen. Es besteht Anwesenheitspflicht. Achtung, hier gab es einen Schreibfehler. Das erste Treffen ist natürlich im Oktober und nicht wie ursprünglich angegeben im November.

 

Material