Aus dem Thema:
Re: [Talk-de] Mehr OpenStreetMap Softwareentwicklung und die?Engineering WG

Am 17.10.2011 16:26, schrieb Sven Geggus:
Nils Faerber<[email protected]>  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




_______________________________________________
Talk-de mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an