NMEA 183 Textfile auswerten und in Excel darstellen

Hallo Knime Community!
Folgende Situation:

Ich habe 3Stk. NMEA 183 Protokolle (.txt).
Jedes Protokoll beinhaltet folgende Datensätze:

$GPGGA,014621.000,1358.7759,S,13626.6236,E,1,08,1.3,20.2,M,54.7,M,00007F
$GPGLL,1358.7759,S,13626.6236,E,014621.000,A
2B
$GPRMC,014621.000,A,1358.7759,S,13626.6236,E,0.11,102.06,170806,11
$GPVTG,102.06,T,M,0.11,N,0.2,K
67

Ich möchte diese Datensätze je Protokoll in einem Excelfile in Spalten darstellen. Das bedeutet beispielsweise je eine Spalte für “Quality” oder “Time” etc.

Im Anschluss sollen dann die drei Excel file’s zusammengefasst in einem einzigen .xlsx dargestellt werden um die drei Protokolle miteinander vergleichen zu können.

Hat hier jemand eine Idee wie man diese Aufgabenstellung mittels Knime lösen kann?

Danke und liebe Grüße

GNSS

@GNSS so ganz ist mir die Aufgabenstellung nicht klar.
Es wäre sehr hilfreich, wenn du ein Beispiel von Eingabedaten und das gewünschte Ergebnis hier zeigst.

Wenn es darum geht, den Werten in den Datensätzen passende Spalten zuzuordnen, so sollte sich das relativ einfach machen lassen:

  1. Über den CSV Reader — NodePit die Daten lesen
  2. Mit der Column Expressions — NodePit abhängig von der Datensatzart die entsprechenden Spalten in eine (neue) passende Spalte einfügen
  3. Natürlich lassen sich die Daten dann wieder in eine EXCEL-Datei zurückschreiben
3 Likes

Also die Datensätze sollen je Messwert in Tabellenform dargestellt werden.
Das bedeutet in diesem Format:

$GPRMC,HHMMSS,A,BBBB.BBBB,b,LLLLL.LLLL,l,GG.G,RR.R,DDMMYY,M.M,m,F*PP

Es muss jeder Wert, der durch ein Kommer getrennt ist, in einer eigenen Spalte angezeigt werden und die Spalten müssen betitelt sein.

Es sind zwei Arten von NMEA Protokollen vorhanden. Eines mit GPS Daten und eines mit multi-GNSS Daten.
Dabei ist es jedoch so, dass im jeweiligen Protokoll vier unterschiedliche Zeilen wiederkehrend geschrieben werden. Relevant sind jedoch nur die Zeilen beginnend mit $GNGGA und $GPGGA!
Diese sollen in einem Excelfile gegenübergestellt werden um Vergleiche anzustellen. Wichtig dabei ist, dass man diesen Prozess mit immerwieder neuen NMEA Protokollen durchführen kann.

Die Protokolle sehen so aus (ASCII):

NMEA183 Protokoll #2:
[[2090,086400.512]]$GNVTG,T,M,0.026,N,0.048,K,A*35
[[2090,086400.661]]$GNGGA,235941.00,4813.15971,N,01623.43580,E,1,12,0.97,186.7,M,42.1,M,41
[[2090,086401.510]]$GNVTG,T,M,0.047,N,0.088,K,A
3E
[[2090,086401.661]]$GNGGA,235942.00,4813.15976,N,01623.43587,E,1,12,0.97,186.4,M,42.1,M,*41

NMEA183 Protokoll #1:
$GPGGA,014621.000,1358.7759,S,13626.6236,E,1,08,1.3,20.2,M,54.7,M,0000 7F
$GPGLL,1358.7759,S,13626.6236,E,014621.000,A
2B
$GPRMC,014621.000,A,1358.7759,S,13626.6236,E,0.11,102.06,170806, 11
$GPVTG,102.06,T,M,0.11,N,0.2,K
67

ff. (mit abweichenden Werten)

Das Ergebnis sollte in etwa so aussehen:

Der Auswerteprozess sieht in etwa so aus:
Auswerteprozess

Ich hoffe die Angelegenheit ist nun etwas klarer geworden.

Danke und beste Grüße

GNSS

I m sure this could be done with KINME it would go a long way if you could provide an actual example with full data and a result. Otherwise we would have to work with screenshots.


KNIME sollte in der Lage sein so etwas zu machen. Ein funktionierendes Beispiel wäre sehr hilfreich am besten mit einem ergebnis.

@GNSS: Mangels Testdaten kann ich hier hier nur eine Lösungsskizze mit den Herausforderungen zeigen:

  1. Die erste Datei GPGGA mit csv-Reader-node einlesen. Hierbei wird jeder Wert in eine eigene Spalte gelesen
  2. Ggf. die relevanten Datensätze mit der Row-Filter-Node filtern
  3. Ggf. noch überflüssige Spalten mit der Column-Filter-Node filtern
  4. Ggf. noch die Spalten mit der Coulmn-Rename-Node umbenennen

Das Ganze parallel für die zweite Datei GNGGA durchführen

Jetzt wird es etwas schwierig, da die Zeitstempel mit Sicherheit der Aufzeichnungen wahrscheinlich unterschiedlich sein dürften.
Diese müssen also geschickt passend gemacht werden, damit das gewünschte Mapping erfolgen kann.
Das muss natürlich für beide Aufzeichnungen erfolgen.

Jetzt lassen sich die beiden Aufzeichnungen (Dateien) mit Hilfe der Column-Joiner-Node zusammenfahren (Kriterium: Gleicher Zeitstempel).

Falls wirklich notwendig: Noch in eine EXCEL-Datei zurückschreiben.

HTH

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.