05.04.2020, 07:56 (This post was last modified: 05.04.2020, 07:57 by nordlicht.)
(04.04.2020, 21:36)IlmariKrebs Wrote: Hmm als C++ Programmierer kanns Du doch ein Kommandozeilentool schreiben, welches quasi wie touch den timestamp in metadata setzt.
Gute Idee, aber ein eigenes Tool ist gar nicht nötig, GPS Babel kann das out of the box. Einfach eine GPX-Datei in eine GPX-Datei "konvertieren", GPS Babel schreibt dann in das Ergebnis solch einen Metadaten-Block:
05.04.2020, 09:54 (This post was last modified: 05.04.2020, 10:10 by tkansgar.)
(04.04.2020, 18:50)nordlicht Wrote:
(04.04.2020, 18:15)tkansgar Wrote: Dazu habe ich noch einen Vorschlag: Wenn du nicht möchtest, dass andere Anwender vom neuen Metadatenblock mit dem Speicherungszeitpunkt "überrascht" werden, könntest du doch eine Option einführen, die defaultmäßig den Metadatenblock weglässt und die ich dann anschalten müsste.
Das würde die Angelegenheit nur verkomplizieren. Wenn ein GPX-Track importiert wird, enthält er manchmal auch Metadaten, die dann beim Speichern auch bitte erhalten bleiben sollen, also nix mit default-mäßig weglassen. Daß beim Speichern <metadata><time> hinzugefügt oder überschrieben/aktualisiert wird, wäre für mich in Ordnung.
Nein, dass ein schon vorhandener Metadatenblock weggelassen werden soll, hatte ich natürlich nicht gemeint. Selbstverständlich müsste der erhalten bleiben. Das Weglassen bezog sich nur auf den Speicherungszeitpunkt. Und wenn schon einer drinsteht (wie gewöhnlich bei meinen alten Tracks), sollte der bei ausgeschalteter Option (wenn sie denn eingeführt wird) konsequenterweise auch erhalten bleiben. Was ansonsten (also bei eingeschalteter Option oder wenn sie nicht eingeführt wird) beim Speichern passieren sollte, dürfte inzwischen klar sein, denke ich.
(04.04.2020, 21:36)IlmariKrebs Wrote: Hmm als C++ Programmierer kanns Du doch ein Kommandozeilentool schreiben, welches quasi wie touch den timestamp in metadata setzt.
Gute Idee, aber ein eigenes Tool ist gar nicht nötig, GPS Babel kann das out of the box. Einfach eine GPX-Datei in eine GPX-Datei "konvertieren", GPS Babel schreibt dann in das Ergebnis solch einen Metadaten-Block:
Von solchen Notlösungen halte ich nichts. Derzeit denke ich darüber nach, ob ich Christian die Arbeit abnehme, falls er nicht dazu kommt. Er fordert ja sogar dazu auf das zu tun (s. https://www.routeconverter.com/development/de). Java ist zwar nicht so ganz meine Welt, aber so schwer kann das eigentlich nicht sein. Aber beschlossen ist das noch lange nicht. Auch mich würde das viel Zeit kosten, die ich eigentlich nicht habe.
05.04.2020, 12:42 (This post was last modified: 05.04.2020, 12:45 by nordlicht.)
(05.04.2020, 10:06)tkansgar Wrote: Von solchen Notlösungen halte ich nichts.
Für mich ist das keine Notlösung, GPS Babel hat mir schon öfter exotische Probleme gelöst. Zuletzt habe ich einen Dreizeiler-Batchjob damit geschrieben, der mir per Drag&Drop den GPS Week Rollover in den Tracks korrigiert, die zwei meiner Altgeräte liefern. Sowas kostet ein paar Minuten in der Doku von GPS Babel nachlesen, eine Batch-Datei und eine Verknüpfung auf dem Desktop erzeugen, danach ist alles mit einem Mausklick und Ziehen erledigt. Für den Metadatenblock habe ich das auch mal kurz gemacht und in den Anhang gestellt. Die Datei auspacken, ins GPS Babel Programmverzeichnis legen und eine Verknüpfung dazu an den Desktop senden, danach kannst du beliebig viele GPX-Dateien in einem Rutsch da drauf ziehen und mit Metadaten versehen.
(04.04.2020, 18:15)tkansgar Wrote: da muss ich wiederum widersprechen: Die <time> Einträge für Trackpoints trägt RouteConverter nur ein, wenn man selbst Zeitpunkte setzt oder explizit erzeugen lässt. Ansonsten fehlen sie (s. Minibeispiel in #13).
Korrekt. RouteConverter soll keine Daten "erfinden".
(04.04.2020, 18:15)tkansgar Wrote: Aber du hast Recht, in <metadata> muss meinetwegen außer dem Speicherungszeitpunkt nichts weiter rein.
Dann könnte ich ja statt <desc> einfach <time> "beschreiben" lassen.
(04.04.2020, 18:15)tkansgar Wrote: Dazu habe ich noch einen Vorschlag: Wenn du nicht möchtest, dass andere Anwender vom neuen Metadatenblock mit dem Speicherungszeitpunkt "überrascht" werden, könntest du doch eine Option einführen, die defaultmäßig den Metadatenblock weglässt und die ich dann anschalten müsste.
Die versteckte Option zum Weglassen von <metadata> gibt es bereits.
(04.04.2020, 18:15)tkansgar Wrote: Habe ich eine Chance, dass du mein Anliegen irgendwann realisierst? Ich wäre dir sehr dankbar.
Im Moment stehen die Chancen gut. Erst Arbeit, dann Familie, dann Sport, dann Hobbies...
Bitte probier mal die neueste Vorabversion aus, die ich gerade hochgeladen habe. Sie schreibt <time> von <metadata> bei GPX 1.1 und <time> von <gpx> bei GPX 1.0 – bei jedem Schreiben.
Christian, du erstaunst mich immer wieder! Das ist schon der zweite Wunsch innerhalb weniger Wochen, den du mir erfüllt hast. Und dabei ist Ostern doch erst nächstes Wochenende.
Der <time> Eintrag mit dem aktuellen Speicherungszeitpunkt ist drin, und zwar sowohl bei einer neu gespeicherten alten Datei mit vorhandenem Eintrag (bei der der Rest des Metadatenblocks wie bisher erhalten bleibt) als auch bei einer ganz neuen.
Tausend Dank, Christian! Ich hatte mich schon geistig darauf eingestellt, mir eine für Java geeignete Entwicklungsumgebung installieren und meine Java-Kenntnisse auffrischen zu müssen.
(05.04.2020, 20:33)tkansgar Wrote: Christian, du erstaunst mich immer wieder! Das ist schon der zweite Wunsch innerhalb weniger Wochen, den du mir erfüllt hast. Und dabei ist Ostern doch erst nächstes Wochenende.
Manchmal sind Dinge sehr einfach. Du kannst ja eine neue Sprache zu RouteConverter hinzufügen, im Forum aufpassen oder auf den Paypal-Button drücken