Ein Navigationssystem ist alles andere als leicht zu programmieren, gerade wenn man kürzeste und schnellste Wege berechnen will - ich empfehle in diesem Zusammenhang Google anzuwerfen und nach dem Stichwort "Shortest Path Problem" zu suchen. Um eine einfache Form eines Navigationssystems herstellen zu können solltest du dich bereits mit den Grundlagen zur Graphentheorie auseinandergesetzt haben, denn ohne mathematische Kenntnis ist das Problem für Einsteiger in diesem Gebiet ein nahezu unbezwingbares Problem.
In deinem kleinen Koordinatenauszug hast du dabei nur eine kleine Basis betrachtet: Die Koordinaten an den jeweiligen Kreuzungen (im mathematischen Sinne: Knoten). Was du jetzt speichern musst, sind die Verbindungen deiner Kreuzungen zueinander, beispielsweise:
- 1 zu 2
- 2 zu 1, 3 und 12
- .. usw
Sobald die Verbindungen (im mathematischen Sinne: Kanten) geklärt sind kommt es vereinfacht gesagt darauf an, welchen Weg du einschlagen willst:
- Kürzesten Weg berechnen
- Schnellsten Weg berechnen
(Hinweis an die Leute mit mehr Wissen: Ich möchte es hier nur vereinfacht darstellen, Dinge wie gerichtete Graphen blende ich aus, da es den Rahmen für dieses Projekt sprengen würde)
Bei dem kürzesten Weg kommt es darauf an, dass du den Weg mit den wenigsten Kreuzungen findest - hier wäre der A*-Algorithmus angebracht. Wenn du den schnellsten Weg berechnen willst, musst du den Verbindungen zwischen den Kreuzungen, also den Kanten, sinngemäß noch die Entfernung untereinander zuweisen. Dann kannst du mit Hilfe des Dijkstra-Algorithmus verhältnismäßig einfach den schnellsten Weg berechnen.
Du erkennst damit, dass das Thema "Routenberechnung bei einem Navigationssystem" für Anfänger in diesem Gebiet kein wirklich leichtes Thema ist. Es benötigt mathematisches (Fach)Wissen, was praktisch gesehen nur in einem Studium vermittelt wird.
Gruß
rg