Der kürzeste Weg zwischen zwei Punkten(in einer OpenStreetMap-Datei)

Eigentlich, suche ich den kürzesten Weg zwischen zwei Punkten(in einer OpenStreetMap-Datei) zu bestimmen deshalb denke ich an eine Konvertierung der OpenStreetMap-Dateien in eine andere Datenstruktur (z.B: mit boost::graph probieren (siehe www.boost.org)). Eine andere Idee ist, die OSM-Datenstrukturen um einen Pfadplanungsalgorithmus zu erweitern. Eine dritte ist, eine eigene Klasse zu entwickeln, die den Pfadplanungsalgorithmus anbietet. Das Finden des kürzesten Weges ist mit dem A*-Algorithmus. Die sind die Ideen die ich habe, vielleicht gibt es auch noch andere. Hat Jemand ein so ähnliches Problem behandelt. (Programmiersprache: C++)