... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
gpx Datei aus Stadtradeln App
#7
Es geht noch einfacher und genauer, siehe Code unten.
Ach ja, den Code in eine Textdatei kopieren mit der Erweiterung .rex (z.B. konv.rex),
dann in der Eingabeaufforderung aufrufen mit "konv.rex Dateiname_aus_Stadtradeln.gpx korrigierte_Datei.gpx"
Voraussetzung: Installierter REXX Interpreter (z.B. Regina)
Code:
/* Stadtradeln gpx file (Unix Zeitstempel) in Standard gpx konvertieren */
NUMERIC DIGITS 14 /* Erhöht den Genauigkeitsbereich von Integerzahlen von 9 auf 14 Stellen */
/* die eingelesenen Werte haben bereits 13 signifikante Stellen */
/* ohne diese Erhöhung der Genauigkeit werden die Sekunden-Werte auf 10-Sekunden-Schritte gerundet */
parse arg infile outfile
if outfile='' then do
   say "Es muessen 2 Dateinamen angegeben werden"
   exit 1
end
/* Kopfzeilen unveraendert ausgeben */
do i = 1 to 4
line = linein(infile)
lout = line
rc = lineout(outfile,lout)
end

/* Startdatum der unix Zeitrechnung in der REXX Zeitrechnung */
/* REXX Zeitrechnung beginnt am 01.01.0001 */
uxstart = DATE('B','1 Jan 1970','N')
/* Zeilenweise konvertieren */
do while lines(infile)>0
line = linein(infile)
if line = '</trkseg>' then leave
parse var line beginn "<time>" uxtime "</time>" schluss
uxdays = uxtime % 86400000 /* Integer Division */
rxdays = uxstart + uxdays
sec = TRUNC((uxtime / 1000) - (uxdays * 86400))
/* die Aneinander-Reihung von Variablen und Strings ohne trennende Leerzeichen erzeugt eine Verkettung ohne Leerzeichen: */
lout = beginn'<time>'DATE('I',rxdays,'B')'T'TIME('N',sec,'S')'Z</time>'schluss
rc = lineout(outfile,lout)
end
/* Schlusszeilen ausgeben */
lout = line
rc = lineout(outfile,lout)
do while lines(infile)>0
line = linein(infile)
lout = line
rc = lineout(outfile,lout)
end
Reply


Messages In This Thread
gpx Datei aus Stadtradeln App - by wilfriedh - 02.07.2023, 20:25
RE: gpx Datei aus Stadtradeln App - by wilfriedh - 04.07.2023, 20:06

Forum Jump:


Users browsing this thread: 1 Guest(s)