RouteConverter Forum
Metadaten fehlen oder sind veraltet - Printable Version

+- RouteConverter Forum (https://forum.routeconverter.com)
+-- Forum: Users (https://forum.routeconverter.com/forum-17.html)
+--- Forum: Deutsch: Diskussionen (https://forum.routeconverter.com/forum-4.html)
+--- Thread: Metadaten fehlen oder sind veraltet (/thread-3000.html)

Pages: 1 2 3


Metadaten fehlen oder sind veraltet - tkansgar - 30.03.2020

Hallo,

meine Offroad-Navi-App Locus Map benötigt einige Metadaten aus der gpx-Datei, um einen Tracknamen und ein Erstellungsdatum zu haben, u.a. für die Sortierung nach Namen oder Datum. Aber wenn ich mit RouteConverter eine gpx-Datei mit einem neuen Track erstelle, fehlen diese Daten vollständig. Und wenn ich eine bestehende Datei öffne, ein paar Trackpoints einfüge, ändere oder lösche, den Tracknamen ändere und die Datei wieder speichere, sind die Metadaten die gleichen wie vorher. Ich würde erwarten (und Locus Map auch), dass RouteConverter wenigstens das Erstellungsdatum in die Metadaten einträgt (wie GPSies das ehemals auch tat). Derzeit muss ich die erstellte Datei immer per Hand anpassen, damit Locus Map sie ordentlich einsortieren kann. Und der Vollständigkeit halber könnte auch der Trackname noch in die Metadaten eingetragen werden.


Daher mein Vorschlag für einen minimalen aktualisierten oder neuen metadata-Block:

Code:
    <metadata>
        <name>Mein Testtrack</name>
        <time>2020-03-30T21:50:51Z</time>
    </metadata>


Wäre das machbar?


Grüße



tkansgar


RE: Metadaten fehlen oder sind veraltet - nordlicht - 31.03.2020

(30.03.2020, 21:02)tkansgar Wrote: Aber wenn ich mit RouteConverter eine gpx-Datei mit einem neuen Track erstelle, fehlen diese Daten vollständig.

Nein, sie sind an der richtigen Stelle vorhanden:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<gpx xmlns:gpxtpx1="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" xmlns="http://www.topografix.com/GPX/1/1" xmlns:trp="http://www.garmin.com/xmlschemas/TripExtensions/v1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v2" version="1.1" creator="RouteConverter 2.28-SNAPSHOT-99">
    <trk>
        <name>Neue Positionsliste 1</name>
        <desc>Created at 2020-03-31T05:14:03Z</desc>
        <trkseg>
            <trkpt lat="54.2266037" lon="10.0064691">
                <ele>53.0</ele>
...

Eine GPX-Datei kann beliebig viele Tracks enthalten, RC schreibt Trackname und Trackdatum spezifikationskonform in die Trackdaten, siehe Code-Beispiel.

Der Metadatenblock im GPX-Header ist optional und bezieht sich auf die gesamte GPX-Datei, man kann da z.B. einen Projektnamen vergeben, der alle Inhalte der GPX-Datei umfaßt, als da wären beliebig viele Wegpunkte, beliebig viele Routen mit beliebig vielen Routenpunkten, beliebig viele Tracks mit beliebig vielen Tracksegmenten mit beliebig vielen Trackpunkten, und das alles zusammen in einer einzigen GPX-Datei.

Wenn Locus Tracknamen und Datum nicht korrekt ausliest, ist das ein Problem von Locus und nicht von RouteConverter.


RE: Metadaten fehlen oder sind veraltet - tkansgar - 31.03.2020

Was definitiv fehlt, ist ein <time> Eintrag, entweder unter <metadata> wie oben vorgeschlagen oder beim ersten Trackpoint:

Code:
            <trkpt lat="52.3054282" lon="9.4043827">
                <ele>267.0</ele>
                <time>2020-03-30T21:50:51Z</time>
                <name>01</name>
            </trkpt>

Der Zeitpunkt in <desc> nützt nichts, weil das dem Sinn nach nur dummer Text ist. Mit einem der beiden möglichen <time> Einträge gäbe es ein brauchbares Sortierkriterium.


RE: Metadaten fehlen oder sind veraltet - nordlicht - 31.03.2020

(31.03.2020, 16:48)tkansgar Wrote: Was definitiv fehlt, ist ein <time> Eintrag, entweder unter <metadata> wie oben vorgeschlagen oder beim ersten Trackpoint:

Code:
            <trkpt lat="52.3054282" lon="9.4043827">
                <ele>267.0</ele>
                <time>2020-03-30T21:50:51Z</time>
                <name>01</name>
            </trkpt>

Der Zeitpunkt in <desc> nützt nichts, weil das dem Sinn nach nur dummer Text ist. Mit einem der beiden möglichen <time> Einträge gäbe es ein brauchbares Sortierkriterium.

Als sinnvoll könnte ich mir vorstellen, daß RC den Dateinamen ohne Erweiterung und den Zeitstempel der letzten Änderung in den Metadatenblock schreibt. Das müßte nicht-destruktiv erfolgen, d.h. wenn ein Metadatenblock mit <name>-Tag existiert, müßte das <name>-Tag erhalten bleiben. Ob und wann das umsetzbar wäre, muß Christian entscheiden.


RE: Metadaten fehlen oder sind veraltet - tkansgar - 31.03.2020

Hi Hans und Christian,
dafür wäre ich wirklich sehr dankbar. Die manuelle Nachbearbeitung ist echt nervig, zumal ich das gelegentlich zunächst vergesse, feststellen muss, dass Locus Map den neuen Track falsch einsortiert und den Import mit korrigiertem bzw. ergänztem <time> Eintrag wiederholen muss.
Grüße
tkansgar


RE: Metadaten fehlen oder sind veraltet - routeconverter - 03.04.2020

(31.03.2020, 16:48)tkansgar Wrote: Was definitiv fehlt, ist ein <time> Eintrag, entweder unter <metadata> wie oben vorgeschlagen oder beim ersten Trackpoint:

Ob es definitiv fehlt, darüber kann man sicherlich lange diskutieren. Viele Nutzer möchten minimale GPX-Dateien haben und sie nicht aufgebläht wissen.

Was stünde denn in dem <time> Eintrag drin? Und wann sollte er aktualisiert werden?


RE: Metadaten fehlen oder sind veraltet - routeconverter - 03.04.2020

(31.03.2020, 17:01)nordlicht Wrote: Als sinnvoll könnte ich mir vorstellen, daß RC den Dateinamen ohne Erweiterung und den Zeitstempel der letzten Änderung in den Metadatenblock schreibt. Das müßte nicht-destruktiv erfolgen, d.h. wenn ein Metadatenblock mit <name>-Tag existiert, müßte das <name>-Tag erhalten bleiben. Ob und wann das umsetzbar wäre, muß Christian entscheiden.

Dort unten im Maschinenraum ist nicht bekannt, wohin geschrieben wird. Es ist noch nicht einmal bekannt, ob in Dateien, in HTTP-Requests oder den Hauptspeicher oder wo auch immer hin geschrieben wird.

Was genau braucht man denn in Locus? Wie sieht das aus? Und warum kann Locus nicht geändert werden, bevor ich Klimmzüge mache?


RE: Metadaten fehlen oder sind veraltet - nordlicht - 03.04.2020

Hallo Christian,

ich nutze Locus nicht und brauche an der von tkansgar genannten Stelle keine Änderung. Wenn der Maschinenraum das nicht hergibt, würde ich da keine Arbeit reinstecken, zumal die Trackinfos ja am richtigen Platz vorhanden sind. In #2 hatte ich schon geschrieben "Wenn Locus Tracknamen und Datum nicht korrekt ausliest, ist das ein Problem von Locus und nicht von RouteConverter." Die Autoren von Locus wären auch nicht die ersten, die das GPX-Format nicht vollständig verstanden haben.


RE: Metadaten fehlen oder sind veraltet - tkansgar - 03.04.2020

(03.04.2020, 10:16)routeconverter Wrote:
(31.03.2020, 16:48)tkansgar Wrote: Was definitiv fehlt, ist ein <time> Eintrag, entweder unter <metadata> wie oben vorgeschlagen oder beim ersten Trackpoint:

Ob es definitiv fehlt, darüber kann man sicherlich lange diskutieren. Viele Nutzer möchten minimale GPX-Dateien haben und sie nicht aufgebläht wissen.

Was stünde denn in dem <time> Eintrag drin? Und wann sollte er aktualisiert werden?
Hallo Christian,
so ganz genau kann ich das nicht sagen. Locus Map selbst trägt in die Metadaten von Aufzeichnungen keinen <time> Eintrag ein, dafür einen bei jedem Trackpoint. In diesem Fall dient der Eintrag des ersten Trackpoints als Sortierkriterium. GPSies dagegen trug in die Metadaten den Zeitpunkt der letzten Speicherung ein und bei den Trackpoints immer nur "2010-01-01T00:00:00Z". In diesem Fall nimmt Locus Map den Zeitpunkt aus den Metadaten.
Ich denke, Locus Map macht es zumindest nicht falsch. Wenn in den Metadaten ein Zeitpunkt drinsteht, nimmt es diesen, ansonsten ersatzweise den vom ersten Trackpoint. RouteConverter trägt jedoch leider nirgendwo einen <time> Eintrag ein bzw. behält vorhandene Einträge trotz vorgenommener Änderungen bei. M.E. sollte RouteConverter den Speicherungszeitpunkt wie auch von Nordlicht vorgeschlagen in die Metadaten eintragen. Welche Zeitpunkte in die Trackpoints eingetragen werden und ob überhaupt, wäre dann aus meiner Sicht egal (könnte also so bleiben, wie es ist).
Korrekterweise sollte ich noch erwähnen, dass der Zeitpunkt in UTC eingetragen werden sollte, was GPSies falsch machte, soweit ich weiß.
Grüße
tkansgar


RE: Metadaten fehlen oder sind veraltet - tkansgar - 03.04.2020

(03.04.2020, 10:20)routeconverter Wrote:
(31.03.2020, 17:01)nordlicht Wrote: Als sinnvoll könnte ich mir vorstellen, daß RC den Dateinamen ohne Erweiterung und den Zeitstempel der letzten Änderung in den Metadatenblock schreibt. Das müßte nicht-destruktiv erfolgen, d.h. wenn ein Metadatenblock mit <name>-Tag existiert, müßte das <name>-Tag erhalten bleiben. Ob und wann das umsetzbar wäre, muß Christian entscheiden.

Dort unten im Maschinenraum ist nicht bekannt, wohin geschrieben wird. Es ist noch nicht einmal bekannt, ob in Dateien, in HTTP-Requests oder den Hauptspeicher oder wo auch immer hin geschrieben wird.

Was genau braucht man denn in Locus? Wie sieht das aus? Und warum kann Locus nicht geändert werden, bevor ich Klimmzüge mache?
Dazu möchte ich auch noch etwas sagen: An irgendeiner Stelle beim Speichern muss doch klar sein, dass im GPX-Format geschrieben wird. Und an dieser Stelle müsste es doch möglich sein einen Metadatenblock mit dem vermissten <time> Eintrag wegzuschreiben, sofern noch nicht vorhanden, bzw. diesen im vorhandenen Metadatenblock zu ergänzen oder zu aktualisieren. Den aktuellen Zeitpunkt in UTC zu ermitteln dürfte kein größeres Problem darstellen, und das ISO-Format für Zeitpunkte einzuhalten ebensowenig. Für beides dürfte es auch in Java Standardfunktionen geben. Wie so ein Eintrag aussehen sollte, kannst du z.B. meinem Eingangsposting entnehmen. Auf den Namen im Metadatenblock könnte ich verzichten. Der steht ja im <trk>-Block, wo er hingehört und woher Locus Map ihn auch nimmt.