[Talk-de] Entwicklung eines Navi für OSM Daten
hannes
hannes222 at online.de
Mi Okt 19 17:51:32 UTC 2011
Aus dem Thema:
Re: [Talk-de] Mehr OpenStreetMap Softwareentwicklung und
die?Engineering WG
Am 17.10.2011 16:26, schrieb Sven Geggus:
> Nils Faerber<nils.faerber at kernelconcepts.de> wrote:
>
>> Habe nochmal etwas weiter geguckt - leider ist es nach dem Release 0.3
>> von Monav reichlich still geworden. Seit April 2011 keine Updates mehr
>> im Code - schade eigentlich, die Routing-Funktion war schon brachial
>> schnell.
> Die Routingfunktion ist in einem separaten daemon implementiert, der z.B.
> auch von Marble verwendet wird.
>
> Prinzipiell sollte es daher möglich sein für Android und Konsorten native
> frontends zu schreiben.
>
> Gruss
>
> Sven
>
Ich hab mal ein neues Thema angefangen weil im alten Thema über
verschiedene Dinge diskutiert wurde und wir Kai sein Thema geklaut
haben. Tschuldigung Kai!
Weiter oben im alten Thema wurde das Problem mit den hohen
Einstiegshürden aufgezeigt, das sehe ich genau so. Die Einarbeitungszeit
um sich in die Gedanken eines anderen einzuarbeiten ist einfach zu lang.
Es ist doch schade, da macht sich jemand an die Arbeit und schreibt
z.B. ein Navi, da geht dann mehr Zeit rein als gedacht und die Arbeit
wird eingestellt. Die bis dahin geleisteten Mühen sind verloren, weil es
zu aufwändig für andere ist sich einzuarbeiten.
Ich kann mir vorstellen das es etliche Leute wie mich gibt, die gern an
einem Programm mitarbeiten würden aber unter zeitlicher Begrenzung. Ich
denke an langfristig 5 Std. pro Woche, in der Anfangsphase sicher etwas
mehr. Damit so jemand nützlich sein kann müsste ein Projekt
*** in möglichst viele abgeschlossene Module aufgetrennt sein, mit
dokumentierter Schnittstelle. Geht das überhaupt? Na, wenn nicht, das
Umdokumentieren nicht vergessen.
*** für Neulinge dokumentiert sein. Ich meine grundsätzliche Dinge
sollten erklärt werden.
Beispiel:
Ich habe mich mal mit einem Router auf OSM-Daten beschäftigt:
typedef struct _Cross {
struct _Way *a[MAXWAYPERCROSS];
gfloat lon,lat;
gint64 id;
guchar flag;
} CrossT;
typedef struct _Way {
guchar flag;
gchar type;
GList *glp; //g list pointer
gint anznd;
guint64 id;
//gfloat length;
CrossT *from, *to;
// gchar name[100];
// gchar ref[100];
gchar *name;
// gchar *ref;
// struct _koords {gint64 nd; gfloat lon, lat;} k [MAXND];
gint64 nd[MAXND];
} WayT;
Alles klar? Wohl kaum. Dabei sind das die wichtigsten Strukturen.
/*
Der Router arbeitet auf einer Karte die aus Wegen besteht, diese haben
eine Länge, einen Namen, eine Geschwindigkeitsbegrenzung etc. Die Wege
sind am Anfang und am Ende an Kreuzungen angeschlossen. Die Kreuzungen
enthalten Zeiger auf die angeschlossenen Straßen/Straßensegmente(Way).
*/
Jetzt ist es klarer - vermute ich. Wenn man dann noch den
Standartalgorithmus zum routen kennt ist es fast klar wie das Programm
aussieht.
*** die alten Mitarbeiter im Projekt sollten für Neulinge Arbeiten
definieren, beschreiben und die Einstiegspunkte aufzeigen.
Das dient alles dazu einem Interessierten den Einstieg zu erleichtern
und zu motivieren dabei zu bleiben.
Kann das funktionieren? Keine Ahnung! Aber ich würde es so versuchen.
Wie ist es, wollen wir versuchen ein Navi herzustellen? Hat jemand Lust
mitzumachen?
Wie wollen wir starten? Fangen wir von vorne an und arbeiten Teile von
monav oder gosmore ein oder bauen wir auf monav auf oder...
Gruß
Hannes
Mehr Informationen über die Mailingliste Talk-de