Re: [Talk-de] JOSM - Waypoints und Audio

2008-08-19 Diskussionsfäden Marcus Wolschon
Am 18.08.08 schrieb Bodo Meissner [EMAIL PROTECTED]:

 Wenn ich den Code richtig verstehe, wird nur ein XML-Tag time
 ausgewertet, nicht die Zeitangabe in cmt oder desc. Außerdem muß die
 Zeitangabe dem Format -MM-dd'T'HH:mm:ss entsprechen.

 Du brauchst also ein Programm, das beispielsweise
 ~  cmt18-AUG-08 13:33:03/cmt
 umwandelt in
 ~  time2008-08-18T13:33:03/time

 Keine Ahnung, ob das mit gpsbabel geht.

 Vielleicht könnte man in JOSM den Parser für GPX-Dateien erweitern, so
 daß er diese Zeitangaben in cmt und desc auch versteht.

Gute Idee.
Die allgemeine Code-Qualität in JOSM läßt eh sehr zu wünschen übrig.
Hat gerade jemand Zeit,
a) Das Parsen von cmt und desc, falls time nciht gefunden wird und
b) das Durchprobieren von
 DateFormat.getDateTimeInstance()
 DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG)
 DateFormat.getDateTimeInstance(Locale.EN_US)
 DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.EN_US)
einzubauen?
Code liegt im SVN, der entstandene Patch kann halt an die josm-dev -Liste oder
ein Ticket im Josm-track gehen.

Marcus
___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] JOSM - Waypoints und Audio

2008-08-19 Diskussionsfäden Roland Ramthun
Bodo Meissner schrieb:

 Wenn ich den Code richtig verstehe, wird nur ein XML-Tag time
 ausgewertet, nicht die Zeitangabe in cmt oder desc. Außerdem muß die
 Zeitangabe dem Format -MM-dd'T'HH:mm:ss entsprechen.
 
 Du brauchst also ein Programm, das beispielsweise
 ~  cmt18-AUG-08 13:33:03/cmt
 umwandelt in
 ~  time2008-08-18T13:33:03/time

Wenn man die Änderungen entsprechend vornimmt funktioniert es.
Danke also soweit schonmal, dann ist klar wo das Problem liegt.

  Vielleicht könnte man in JOSM den Parser für GPX-Dateien erweitern, so
  daß er diese Zeitangaben in cmt und desc auch versteht.

Das cmt-Attribut ist für Kommentare gedacht, exklusiv dort die Uhrzeit 
reinzuschreiben ist nicht sinnvoll.
Den Parser zu erweitern wäre also sehr komfortabel für den Benutzer, 
aber im Grunde lt. Standard unnötig.

Es wird doch noch jemand ein Garmin GPS mit Audio und JOSM benutzten?!
Wie macht ihr das?

Ich hole die GPS-Datei über
gpsbabel -t -w -i garmin -f /dev/ttyUSB0 -o gpx -F track.gpx

Grüße
Roland

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] JOSM - Waypoints und Audio - Patch beiliegend

2008-08-19 Diskussionsfäden Bodo Meissner

Roland Ramthun wrote, on 19.08.2008 11:43:

Bodo Meissner schrieb:



  Vielleicht könnte man in JOSM den Parser für GPX-Dateien erweitern, so
  daß er diese Zeitangaben in cmt und desc auch versteht.

Das cmt-Attribut ist für Kommentare gedacht, exklusiv dort die Uhrzeit 
reinzuschreiben ist nicht sinnvoll.


Hallo Roland,

da kann ich Dir nur zustimmen, aber das liegt wohl an Garmin. Wenn ich 
die Daten mit MapSource aus meinem Gerät hole, bekomme ich auch kein 
time-Feld, sondern die Zeit steht auch nur in cmt und desc.

MapSource versteht das time-Feld auch

Den Parser zu erweitern wäre also sehr komfortabel für den Benutzer, 
aber im Grunde lt. Standard unnötig.


Da wir die Garmin-Firmware nicht ändern können, bleiben uns nur die 
Möglichkeiten, den Konverter (gpsbabel?) oder JOSM entsprechend zu 
erweitern.



Es wird doch noch jemand ein Garmin GPS mit Audio und JOSM benutzten?!
Wie macht ihr das?


Ich benutze ein Garmin, habe aber noch nie mit Audio gearbeitet, sondern 
bisher nur mit Fotos. (Ich hätte sogar ein digitales Aufnahmegerät. Wäre 
gut, wenn JOSM auch MP3-Dateien verwenden könnte.)



Ich hole die GPS-Datei über
gpsbabel -t -w -i garmin -f /dev/ttyUSB0 -o gpx -F track.gpx


Vorläufig könntest Du ein kleines Perl-Skript verwenden, das die 
cmt-Zeilen auswertet und entsprechende time-Zeilen einfügt.



Ich habe mal probeweise mit einer von MapSource erzeugten GPX-Datei 
experimentiert.
MapSource ist ziemlich unflexibel beim Auswerten, da kommt es auf die 
Reihenfolge der Tags an. (vermutlich kein richtiger XML-Parser) Wenn die 
time-Zeile nach der cmt-Zeile kommt, kann MapSource die Datei nicht 
einlesen. NH-TopTrans kommt damit klar. Wenn ich dass aus NH-TopTrans 
wieder eine GPX-Datei schreibe, ist MapSource mit dem Ergebnis 
zufrieden, nur fehlen dann Garmin-spezifische Erweiterungen. Da steht 
dann time zwischen ele und name. Wenn ich in der von MapSource 
erzeugten GPX-Datei die time-Zeile an der gleichen Stelle einfüge, 
kann MapSource die auch wieder lesen.

JOSM ist die Reihenfolge der XML-Tags egal.



Zusätzlich zu dem Problem, daß JOSM die Zeitangaben bisher nicht 
auswerten kann, verwendet JOSM wohl ein zu kleines Limit für die 
erlaubte Abweichung der Waypoints von den Trackpoints.


Ich habe das mal für den ersten Punkt 001 überprüft. JOSM erlaubt eine 
Abweichung von 10.0e-7 (= 1.0e-6) mit einem Kommentar about 25m. Laut 
GPS-Track-Analyse beträgt der Abstand ca. 0,4m. (Keine Ahnung, ob das 
Programm richtig rechnet.)
Die größte Abweichung gibt es bei Punkt 036 mit ca. 2.9e-5, laut 
GPS-Track-Analyse ca. 3,2m.


Durch experimentelles Verändern des Limits habe ich festgestellt, daß 
bei 4.0e-4 nur noch Punkt 036 nicht zugeordnet wird, bei 5.0e-4 werden 
 sämtliche Punkte zugeordnet. (Weitere Zwischenwerte habe ich nicht 
ausprobiert.)


Wenn ich die unterschiedliche Abweichung in x- und y-Richtung und die 
Abhängigkeit von der geografischen Breite ignoriere, würde wohl ein 
Limit von 3.5e-3 etwa 25m entsprechen.


Ich habe mal das Limit auf 1.0e-3 geändert und Code zum Parsen der 
Garmin-Zeiteinträge in cmt und desc eingebaut.


Die unterschiedlichen Zeitzonen müssen aber außerhalb von JOSM 
korrigiert werden. (keine Ahnung, ob gpsbabel das kann)



Bodo
Index: src/org/openstreetmap/josm/data/gpx/WayPoint.java
===
--- src/org/openstreetmap/josm/data/gpx/WayPoint.java   (revision 800)
+++ src/org/openstreetmap/josm/data/gpx/WayPoint.java   (working copy)
@@ -48,6 +48,30 @@
}
}
 
+   /**
+* Convert a time stamp of the waypoint from the cmt or desc field 
+* into seconds from the epoch. Handles the date format as it is used 
by 
+* Garmin handhelds. Does not overwrite an existing timestamp (!= 0.0).
+* Does nothing if specified key does not exist or text cannot be 
parsed.
+* 
+* @param key The key that contains the text to convert.
+*/
+   public void setGarminCommentTime (String key) {
+   // do not overwrite time if already set
+   if (time != 0.0) {
+   return;
+   }
+   if (! attr.containsKey(key)) {
+   return;
+   }
+   // example date format 18-AUG-08 13:33:03
+   SimpleDateFormat f = new SimpleDateFormat(dd-MM-yy HH:mm:ss); 
// ignore timezone
+   Date d = f.parse(attr.get(key).toString(), new 
ParsePosition(0));
+   if (d != null /* parsing OK */) {
+   time = d.getTime() / 1000.0; /* ms = seconds */
+   }
+   }
+
public int compareTo(WayPoint w)
{
return Double.compare(time, w.time);
Index: src/org/openstreetmap/josm/gui/layer/GpxLayer.java
===
--- src/org/openstreetmap/josm/gui/layer/GpxLayer.java  (revision 805)
+++ 

Re: [Talk-de] JOSM - Waypoints und Audio - Patch beiliegend

2008-08-19 Diskussionsfäden Roland Ramthun
Bodo Meissner schrieb:

 Das cmt-Attribut ist für Kommentare gedacht, exklusiv dort die 
 Uhrzeit reinzuschreiben ist nicht sinnvoll.
 
 Hallo Roland,
 
 da kann ich Dir nur zustimmen, aber das liegt wohl an Garmin. Wenn ich 
 die Daten mit MapSource aus meinem Gerät hole, bekomme ich auch kein 
 time-Feld, sondern die Zeit steht auch nur in cmt und desc.
 MapSource versteht das time-Feld auch
 
 Ich habe mal probeweise mit einer von MapSource erzeugten GPX-Datei 
 experimentiert.
 MapSource ist ziemlich unflexibel beim Auswerten, da kommt es auf die 
 Reihenfolge der Tags an. (vermutlich kein richtiger XML-Parser) Wenn die 
 time-Zeile nach der cmt-Zeile kommt, kann MapSource die Datei nicht 
 einlesen. NH-TopTrans kommt damit klar. Wenn ich dass aus NH-TopTrans 
 wieder eine GPX-Datei schreibe, ist MapSource mit dem Ergebnis 
 zufrieden, nur fehlen dann Garmin-spezifische Erweiterungen. Da steht 
 dann time zwischen ele und name. Wenn ich in der von MapSource 
 erzeugten GPX-Datei die time-Zeile an der gleichen Stelle einfüge, 
 kann MapSource die auch wieder lesen.
 JOSM ist die Reihenfolge der XML-Tags egal.

Danke fürs Testen, das konnte ich nämlich nicht ohne Windows bzw. die 
passende Software.

 Zusätzlich zu dem Problem, daß JOSM die Zeitangaben bisher nicht 
 auswerten kann, verwendet JOSM wohl ein zu kleines Limit für die 
 erlaubte Abweichung der Waypoints von den Trackpoints.
 
 Ich habe das mal für den ersten Punkt 001 überprüft. JOSM erlaubt eine 
 Abweichung von 10.0e-7 (= 1.0e-6) mit einem Kommentar about 25m. Laut 
 GPS-Track-Analyse beträgt der Abstand ca. 0,4m. (Keine Ahnung, ob das 
 Programm richtig rechnet.)
 Die größte Abweichung gibt es bei Punkt 036 mit ca. 2.9e-5, laut 
 GPS-Track-Analyse ca. 3,2m.
 
 Durch experimentelles Verändern des Limits habe ich festgestellt, daß 
 bei 4.0e-4 nur noch Punkt 036 nicht zugeordnet wird, bei 5.0e-4 werden 
  sämtliche Punkte zugeordnet. (Weitere Zwischenwerte habe ich nicht 
 ausprobiert.)
 
 Wenn ich die unterschiedliche Abweichung in x- und y-Richtung und die 
 Abhängigkeit von der geografischen Breite ignoriere, würde wohl ein 
 Limit von 3.5e-3 etwa 25m entsprechen.
 
 Ich habe mal das Limit auf 1.0e-3 geändert und Code zum Parsen der 
 Garmin-Zeiteinträge in cmt und desc eingebaut.

Das würde ich ähnlich sehen, auch wenn ich die Nebenwirkungen dort nicht 
so gut wie bei den anderen Änderungen abschätzen kann.

 Die unterschiedlichen Zeitzonen müssen aber außerhalb von JOSM 
 korrigiert werden. (keine Ahnung, ob gpsbabel das kann)

Da das dann nur noch Suchen-und-Ersetzen ist, sollte das für fast jeden 
Benutzer machbar sein.

Vielen Dank auch für den Patch, den habe ich mit meinem Schnell-Patch 
aus der heutigen Mittagspause zusammengeführt und an die josm-dev-Liste 
gemailt, mal sehen was die zu den Änderungen sagen.

Und hoffentlich commited es dann auch einer der Leute mit Schreibzugriff.

Viele Grüße
Roland

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


[Talk-de] JOSM - Waypoints und Audio

2008-08-18 Diskussionsfäden Roland Ramthun
Hallo,

ich wollte gerade ein kombiniertes GPX-Log mit Way- und Trackpoints und
den dazugehörigen Audio-Track in JOSM laden.

Dabei sprang er in folgende Stelle des Codes:

/trunk/src/org/openstreetmap/josm/gui/preferences/AudioPreference.java

if (untimedMarkersOmitted) {
  JOptionPane.showMessageDialog(Main.parent, tr(Some waypoints which
were too far from the track to sensibly estimate their time were
omitted.));
}

Das Resultat ist, dass nur an ca. 1/3 aller Waypoints ein
Audiofähnchen ist. Eine Systematik erkenne ich so nicht.

Leider habe ich zu diesem Problem auf die Schnelle nichts finden können.

Der erste Waypoint sieht so aus:

wpt lat=49.751007641 lon=6.685312260
   ele274.580200/ele
   name001/name
   cmt18-AUG-08 13:33:03/cmt
   desc18-AUG-08 13:33:03/desc
   symFlag, Blue/sym
/wpt

Diese Zeit ist die lokale Zeit.

Der erste Trackpoint sieht so aus:

trkpt lat=49.750884930 lon=6.685242439
   ele275.074463/ele
time2008-08-18T11:32:31Z/time
/trkpt

Diese Zeit ist UTC.

Kann das ein Problem sein?

Grüße
Roland


___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] JOSM - Waypoints und Audio

2008-08-18 Diskussionsfäden Dirk Stöcker

On Mon, 18 Aug 2008, Roland Ramthun wrote:


Der erste Waypoint sieht so aus:

wpt lat=49.751007641 lon=6.685312260
  ele274.580200/ele
  name001/name
  cmt18-AUG-08 13:33:03/cmt
  desc18-AUG-08 13:33:03/desc
  symFlag, Blue/sym
/wpt

Diese Zeit ist die lokale Zeit.

Der erste Trackpoint sieht so aus:

trkpt lat=49.750884930 lon=6.685242439
  ele275.074463/ele
time2008-08-18T11:32:31Z/time
/trkpt

Diese Zeit ist UTC.

Kann das ein Problem sein?


Ja. ich glaube nicht, dass er mit der ersten Zeitangabe etwas anfangen 
kann. Vielleicht hilft Dir gpsbabel beim Konvertieren (auch wenn ich 
jedesmal fast verrückt werden, wenn ich gpsbabel irgendeine 
Kommandozeilenoption übergeben will).


Ciao
--
http://www.dstoecker.eu/ (PGP key available)___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] JOSM - Waypoints und Audio

2008-08-18 Diskussionsfäden Roland Ramthun
Dirk Stöcker schrieb:

 Ja. ich glaube nicht, dass er mit der ersten Zeitangabe etwas anfangen 
 kann. Vielleicht hilft Dir gpsbabel beim Konvertieren (auch wenn ich 
 jedesmal fast verrückt werden, wenn ich gpsbabel irgendeine 
 Kommandozeilenoption übergeben will).

Ich habe an den Zeiten etwas herumgespielt, aber geholfen hat es nichts.

Mein GPX-File liegt unter 
http://tmp.roland-ramthun.de/srv.php?file=track.txt

Wenn man dazu eine beliebige WAV-Audio-Datei lädt, die lang genug ist, 
kommt der Hinweis.

Normalerweise sollten dann ja an allen Waypoints die klickbaren Marker 
sein, sind sie aber nicht.

Grüße
Roland

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de


Re: [Talk-de] JOSM - Waypoints und Audio

2008-08-18 Diskussionsfäden Bodo Meissner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Roland Ramthun wrote, on 18.08.2008 21:33:
| Dirk Stöcker schrieb:
|
| Ja. ich glaube nicht, dass er mit der ersten Zeitangabe etwas anfangen
| kann. Vielleicht hilft Dir gpsbabel beim Konvertieren (auch wenn ich
| jedesmal fast verrückt werden, wenn ich gpsbabel irgendeine
| Kommandozeilenoption übergeben will).
|
| Ich habe an den Zeiten etwas herumgespielt, aber geholfen hat es nichts.

Wenn ich den Code richtig verstehe, wird nur ein XML-Tag time
ausgewertet, nicht die Zeitangabe in cmt oder desc. Außerdem muß die
Zeitangabe dem Format -MM-dd'T'HH:mm:ss entsprechen.

Du brauchst also ein Programm, das beispielsweise
~  cmt18-AUG-08 13:33:03/cmt
umwandelt in
~  time2008-08-18T13:33:03/time

Keine Ahnung, ob das mit gpsbabel geht.

Vielleicht könnte man in JOSM den Parser für GPX-Dateien erweitern, so
daß er diese Zeitangaben in cmt und desc auch versteht.


Bodo
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkip6+IACgkQnMz9fgzDSqc2mQCgmqDaFgVAQ0bZBTHo826Aeh5n
9ngAn0jPHr5Nu1GBagFbeqDVNWuAIyhg
=I+q4
-END PGP SIGNATURE-

___
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de