You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#26 2010-01-29 13:09:17
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Dann: deine code nimmt an das die zeile so aussieht:
<trkpt lat="53.227362" lon="6.563737">
aber es gibt auch .gpx files wo die reihenfolge umgekehrt is. Dann geht es schief
<trkpt lon="8.60706806182861328125" lat="54.500476837158203125"/>
Besser du scheibst eine kleine function getattibvalue()
if (strpos($zeile,"<trkpt")) {
$lat[$n] = getattibvalue($zeile, "lat")
$lon[$n] = getattibvalue($zeile, "lon")
Danke für den Hinweis. Bisher hab ich noch keine gpx-Datei gesehen, die andersrum aufgebaut war. Daher ging ich davon aus, dass es der Standard ist.
EDIT: Den php-Code gibts jetzt auf meiner wiki-Seite. Ich denke, das ist übersichtlicher, als ihn hier zu posten.
http://wiki.openstreetmap.org/wiki/User … e_anzeigen
Last edited by aighes (2010-01-29 13:50:43)
Viele Grüße
Henning
Offline
#27 2010-01-29 14:38:31
- womisa
- Member
- Registered: 2009-06-30
- Posts: 445
Re: Eigene Tracks einfach anzeigen -- howto?
Hallo
ich habe damit mal angefangen ==> http://osmtools.de/easymap/index.php?la … age=editor
==> Ergebnis http://augilabs.de/osm/RW_BeWi_Buechele.htm
MfG
Achim
Offline
#28 2010-01-29 15:01:41
- greencaps
- Member
- Registered: 2009-10-05
- Posts: 423
Re: Eigene Tracks einfach anzeigen -- howto?
<?php
function getattibvalue($quelle, $suche) {
$quelle = substr($quelle, strpos($quelle, $suche)+ strlen($suche)+2);
return substr($quelle, 0, strpos($quelle, "\""));
}
?>
Dass geht alles gut hier aber für eine algemeine getattribvalue() function würde sie schnel scheitern. Z.b. auf
<trkpt latent="xxxx" lon="8.60706806182861328125" lat="54.500476837158203125"/>
<?php
function getattibvalue($quelle, $attribname) {
$suche = " " + $attribname + "=\"" ; // ' lat="'
.......
}
?>
Offline
#29 2010-01-29 15:13:42
- AlterSachse
- Member

- From: D-02763
- Registered: 2010-01-27
- Posts: 125
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Hallo aighes,
bin gerade am testen Deiner letzten Version. Leider bekomme ich aber dort dann nichts mehr angezeigt sondern im Quelltext steht dann plötzlich:
<b>Warning</b>: Wrong parameter count for max() in <b>/var/URL/index.php</b> on line <b>42</b><br />
<br />
<b>Warning</b>: Wrong parameter count for min() in <b>/var/URL/index.php</b> on line <b>43</b><br />
<br />
<b>Warning</b>: Wrong parameter count for max() in <b>/var/URL/index.php</b> on line <b>44</b><br />
<br />
<b>Warning</b>: Wrong parameter count for min() in <b>/var/URL/index.php</b> on line <b>45</b><br />
<br />
<b>Warning</b>: Division by zero in <b>/var/URL/index.php</b> on line <b>51</b><br />
<br />
<b>Warning</b>: Division by zero in <b>/var/URL/index.php</b> on line <b>51</b><br />
<br />
<b>Warning</b>: Division by zero in <b>/var/URL/index.php</b> on line <b>51</b><br />
usw, usw.
Die Version vom 28.01. 14:21 die funzt aber super auf meinem Server und mit den gpx die ich habe.
Gruß
GPS --Huawei Mate 20 / Garmin Oregon700 eigene OSM-Karte für meine Hometouren
Software -- Linux Debian Stable, QMapShack, JOSM
Offline
#30 2010-01-29 15:18:14
- greencaps
- Member
- Registered: 2009-10-05
- Posts: 423
Re: Eigene Tracks einfach anzeigen -- howto?
Besser du scheibst eine kleine function getattibvalue()
Da meinte ich getattribvalue() (von attribute)
Offline
#31 2010-01-29 15:47:47
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Hallo AlterSachse,
du wie schaut denn deine gpx-DAtei aus. Könntest du davon mal eine entsprechende Zeile posten.
evtl. könnte es helfen die Zeilen
$lat[$n] = getattibvalue($zeile, " lat=\"");
$lon[$n] = getattibvalue($zeile, " lon=\"");
mit
$lat[$n] = str_replace(",",".",getattibvalue($zeile, " lat=\""));
$lon[$n] = str_replace(",",".",getattibvalue($zeile, " lon=\""));
zuersetzen, wenn in der gpx-Datei ein Komma verwedet wird und kein Punkt.
Last edited by aighes (2010-01-29 15:53:37)
Viele Grüße
Henning
Offline
#32 2010-01-29 16:04:26
- greencaps
- Member
- Registered: 2009-10-05
- Posts: 423
Re: Eigene Tracks einfach anzeigen -- howto?
....",",".",getattibvalue($zeile, " lat=\""));
Nein, nein, nein... nein.
Dass ist häsliche code!
Die Anruf soll getattributevalue($zeile, "lat" ); bleiben. Die rest macht die function.
Offline
#33 2010-01-29 16:12:23
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Ja...ist im Eifer des Gefechts passiert...str_replace gehört natürlich in die Funktion ;-)
@AlterSachse: Ich konnte den Fehler eben reproduzieren und habe ihn gelöst.
Es lag an der Zeile
if (strpos($zeile,"<trkpt")) {
nachdem ich sie wieder in
if (strpos($zeile,"<trkpt") !== false) {
geändert hatte, trat der Fehler nicht mehr auf. Ist auch logisch. Wenn '<trkpt' am Zeilenanfang steht, liefert strpos natürlich eine 0 und 0 interpretiert er als false und das if... wird nicht ausgeführt. !== verhindert das.
Last edited by aighes (2010-01-29 16:30:01)
Viele Grüße
Henning
Offline
#34 2010-01-29 16:24:10
- AlterSachse
- Member

- From: D-02763
- Registered: 2010-01-27
- Posts: 125
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
HI,
also im Moment nutze ich zwei gpx Versionen, einmal von TTQV und eine aus GPS.Track.Analyse
die TTQV fängt so an
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<gpx
version="1.1"
creator="Touratech QV 4.0.123 Standard - http://www.ttqv.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1"
xmlns="http://www.topografix.com/GPX/1/1"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<metadata>
<time>2009-12-04T10:31:09Z</time>
<bounds minlat="50.8198142051697" minlon="14.7488451004028" maxlat="51.0515999794006" maxlon="14.8374223709106"/>
</metadata>
<trk>
<name>2009-07-18</name>
<cmt>Tour wo die Gabel kaputt ging
ActiveLog_2009-07-18_005
Download Date: 18.07.2009 14:06:58</cmt>
<trkseg>
<trkpt lat="51.0515999794006" lon="14.8168659210205">
<ele>287</ele>
<time>2009-07-15T05:57:00Z</time>
</trkpt>
<trkpt lat="51.0515999794006" lon="14.8168444633484">
<ele>287</ele>
<time>2009-07-15T05:57:18Z</time>
</trkpt>
<trkpt lat="51.0515999794006" lon="14.8168444633484">
<ele>285</ele>
<time>2009-07-15T05:57:22Z</time>
</trkpt>
</trkseg>
<trkseg>
<trkpt lat="51.0515999794006" lon="14.8168444633484">
<ele>291</ele>
<time>2009-07-15T05:57:33Z</time>
</trkpt>
<trkpt lat="51.0515999794006" lon="14.8168444633484">
<ele>288</ele>
<time>2009-07-15T05:57:34Z</time>
</trkpt>
<trkpt lat="51.0515999794006" lon="14.8168444633484">
<ele>288</ele>
<time>2009-07-15T05:57:35Z</time>
</trkpt>
<trkpt lat="51.0515999794006" lon="14.8168444633484">
<ele>276</ele>
<time>2009-07-15T05:57:36Z</time>
</trkpt>
und aus GPS.Track.Analyse
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="GPS-Track-Analyse.NET 4.x" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<metadata>
<link href="http://www.gps-freeware.de">
<text>Download GPS-Track-Analyse</text>
</link>
<time>2008-01-29T05:19:17Z</time>
<bounds maxlat="50.892508" maxlon="14.822417" minlat="50.806555" minlon="14.619183" />
</metadata>
<trk>
<name>Grenztrail</name>
<trkseg>
<trkpt lat="50.887132" lon="14.799467">
<ele>248.000000</ele>
<time>2006-05-01T07:54:15Z</time>
</trkpt>
<trkpt lat="50.886923" lon="14.799613">
<ele>248.000000</ele>
<time>2006-05-01T07:54:37Z</time>
</trkpt>
<trkpt lat="50.887885" lon="14.798990">
<ele>246.000000</ele>
<time>2006-05-01T07:55:00Z</time>
</trkpt>
<trkpt lat="50.888683" lon="14.797582">
<ele>244.000000</ele>
<time>2006-05-01T07:55:22Z</time>
</trkpt>
<trkpt lat="50.889407" lon="14.796105">
<ele>243.000000</ele>
<time>2006-05-01T07:55:45Z</time>
</trkpt>
Das andere werde ich testen. Aber wie gesagt das erste von gestern ging super erst mit dem Einbau der Funktion war es Tod. Ach ja muss vielleicht noch sagen das alles mit Sirf III aufgezeichnet ist und mittels TTQV ausgelesen wird. Dann meistens Export in die GPX und dann Höhen Auswertung mittels GPX.Track.Analyse weil das einfach ein geileres Profil erstellt was ich dann auch in meine Webseiten mit einbaue.
Gruß
Last edited by AlterSachse (2010-01-29 16:30:19)
GPS --Huawei Mate 20 / Garmin Oregon700 eigene OSM-Karte für meine Hometouren
Software -- Linux Debian Stable, QMapShack, JOSM
Offline
#35 2010-01-29 16:28:01
- greencaps
- Member
- Registered: 2009-10-05
- Posts: 423
Re: Eigene Tracks einfach anzeigen -- howto?
...um den ele-Wert auszulesen.
Verstehe ich nicht. Bitte gebe ein Beispiel.
Warum meinst du, dass das hässlich ist?
Du willst die attributevalue von ein attribute mit name lat bekommen. Dan schreibe lat. Code sieht besser aus: verständlicher auch.
Es komt auch vor das statt quotes ticks benutzt werden:
<trkpt latent="xxxx" lon="8.60706806182861328125" lat="54.500476837158203125"/>
<trkpt latent='xxxx' lon='8.60706806182861328125' lat='54.500476837158203125'/>
Mann implementiert dann getattributevalue() so dass die beide möchlichkeiten versucht wenn die erste fehlschlagt.
Last edited by greencaps (2010-01-29 16:29:53)
Offline
#36 2010-01-29 16:40:02
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Hallo greencaps,
du meinst sowas als Funktion:
function getattibvalue($quelle, $suche) {
$suche= " ".$suche."=\"";
if (strpos($quelle, $suche) == false){
$suche = str_replace("\"","'",$suche);
}
$quelle = substr($quelle, strpos($quelle, $suche)+ strlen($suche));
return str_replace(",",".",substr($quelle, 0, strpos($quelle, "\"")));
}Bzgl. dem ele. Ich wollte die Höhendaten eines GPX-Tracks auslesen, die so gespeichert sind: <ele>100.0</ele>, aber dafür schreib ich mir dann eine Extrafunktion.
Last edited by aighes (2010-01-29 16:47:51)
Viele Grüße
Henning
Offline
#37 2010-01-29 20:33:00
- greencaps
- Member
- Registered: 2009-10-05
- Posts: 423
Re: Eigene Tracks einfach anzeigen -- howto?
if (strpos($zeile,"<trkpt") !== false) {
geändert hatte, trat der Fehler nicht mehr auf. Ist auch logisch. Wenn '<trkpt' am Zeilenanfang steht, liefert strpos natürlich eine 0 und 0 interpretiert er als false und das if... wird nicht ausgeführt. !== verhindert das.
Also is eine php string auch 0 indiciert. Noch immer finde ich
!==
eine fremde operator. Ich kenne nur
!=
Ich denke dass besser zu schreiben ist:
if (strpos($zeile,"<trkpt") >= 0) {
denn dann bleibt es bei integers.
Offline
#38 2010-01-29 20:52:41
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Hallo greencaps,
schau mal ins php-Manual, Beispiel 2.
Last edited by aighes (2010-01-29 20:53:13)
Viele Grüße
Henning
Offline
#39 2010-01-29 21:31:39
- greencaps
- Member
- Registered: 2009-10-05
- Posts: 423
Re: Eigene Tracks einfach anzeigen -- howto?
Danke. Sehr erlauterend. Alle neu für mich: eine function die eine numerische werk zurück geben kann und auch ein boolischer.
Offline
#40 2010-01-30 12:26:55
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
So...mittlerweile bin ich mit der Funktionsumfang meines Skripts egtl. zufrieden.
Eben hab ich noch einen Fehler in der Längenberechnung gefixt, der Auftrat, wenn die selben lat und lon-Werte direkt aufeinanderfolgten.
Was mir als Funktion noch fehlt, wäre das Erstellen eines Höhenprofils. Wenn hier jemand eine Idee hat, ich bin für jede Hilfe dankbar. Die Koordinaten des Graphen sind vorhanden. Leider hab ich von php zu wenig Ahnung, um aus diesen Werten ein Diagramm zu erstellen.
Ich möchte das Höhenprofil aber selber erzeugen, da ich egtl. auf Abhängigkeiten von anderen Diensten nicht so besonders stehe.
Last edited by aighes (2010-01-30 12:28:59)
Viele Grüße
Henning
Offline
#41 2010-02-01 01:27:58
- es_ka
- Member
- Registered: 2010-01-31
- Posts: 2
Re: Eigene Tracks einfach anzeigen -- howto?
Hallo aighes,
probier doch mal PHPlot (http://phplot.sourceforge.net/)
einfache Anwendung: Höhendaten rein -> Grafik raus ;-)
Grüße,
Sebastian
Offline
#42 2010-05-18 18:20:22
- AlterSachse
- Member

- From: D-02763
- Registered: 2010-01-27
- Posts: 125
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
@ aighes
Noch mal ich, scheint sich wohl sonst keiner mit der Sache zu befassen. Also ich bastle im Moment an so etwas ähnlichen allerdings mit Datenbank. Was mir noch fehlt wäre jetzt die Berechnung der Fahrzeit aus dem Track. Aber hier muss ich echt passen habe keinen Schimmer. Das mit der Speicherzeit des Tracks und den Namen auslesen habe ich ja nun hin bekommen (siehe Deine Seite) aber mit der Fahrzeitberechnung komme ich nicht weiter. Kannst Du mir eventuell dabei helfen, denn Du hast ja den Track schon in ein Array gelegt und man müsste jetzt die Startzeit und die Endzeit daraus auslesen, dann noch die Differenz bestimmen und fertig. Allerdings bin ich an der Umsetzung im Moment gescheitert. Gruß AlterSachse
GPS --Huawei Mate 20 / Garmin Oregon700 eigene OSM-Karte für meine Hometouren
Software -- Linux Debian Stable, QMapShack, JOSM
Offline
#43 2010-05-18 19:24:15
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
Der Zeitpunkt eines Trackpunkts kannst du über die Zeile <time>2009-10-09T15:00:56Z</time> auslesen. Diese Elemente lädst du auch alle in ein Array, formatierst das, so dass du damit rechnen kannst. Nun musst du überlegen, ob du jede Streckenzeit berechnest und diese Addierst oder ob du wirklich nur Ende-Anfang rechnest.
Viele Grüße
Henning
Offline
#44 2010-05-22 19:27:30
- AlterSachse
- Member

- From: D-02763
- Registered: 2010-01-27
- Posts: 125
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
HI,
hat etwas gedauert aber ich hab es glaube hin bekommen. Ich habe die erste Zeit ausgelesen welche die Speicherzeit ist und oben in den Metadaten der GPX steht. Die nächste Zeit (zweiter <time> Wert) ist dann die Startzeit des Tracks und dann noch die letzte Zeit. Nun die Differenz gebildet und Stunden, Minuten und Sekunden ausgegeben.
Das jahr hab ich auch noch gebildet weil das mit in die Datenbank kommt zum aussortieren.
@aighes falls Du die Sachen mit bei dir einbauen willst hier der ganze Code den ich jetzt habe.
So nun frohes Pfingsten Gruß Jörg
<?php
function getlatlon($quelle, $suche) {//Funktion zum Auslesen von lat und lon aus der gpx-Datei
$suche= " ".$suche."=\"";
if (strpos($quelle, $suche) == false){
$suche = str_replace("\"","'",$suche);
}//end if
$quelle = substr($quelle, strpos($quelle, $suche)+ strlen($suche));
return str_replace(",",".",substr($quelle, 0, strpos($quelle, "\"")));
}//end function
function getele($quelle) {//Funktion zum Auslesen von ele aus der gpx-Datei
$quelle = substr($quelle, strpos($quelle, "<ele>")+ strlen("<ele>"));
return str_replace(",",".",substr($quelle, 0, strpos($quelle, "</ele>")));
}//end function
function gettime($quelle) {//Funktion zum Auslesen von time aus der gpx-Datei
$quelle = substr($quelle, strpos($quelle, "<time>")+ strlen("<time>"));
return substr($quelle, 0, strpos($quelle, "</time>"));
}//end function
function zertime($quelle) {//Funktion zum Umwandeln der Zeit
$quelle = str_replace(array("T","Z"),array(" ",""), $quelle);
return $quelle;
}//end function
?>
<?php
$track = "../110-gpx/".$filename; // erstellt die URL des Tracks aus dem Unterordner gpx
if (file_exists($track)) {//prüfen, ob angegebene Datei vorhanden ist
//Koordinaten und Höhen in Array schreiben
$fp = fopen( $track, "r"); // gpx-Datei öffnen
$n=0; //Zähler für lat lon
$m=0; //Zähler für Höhe
$t=0; //Zähler für Zeit
while (! feof( $fp )) {
$zeile = fgets( $fp , 4096);
//lat lon auslesen lür fast alles
if (strpos($zeile,"<trkpt") !== false) {
$lat[$n] = getlatlon($zeile, "lat");
$lon[$n] = getlatlon($zeile, "lon");
$n++;
} //end if
//ele - Höhe auslesen
if (strpos($zeile,"<ele>") !== false) {
$ele[$m] = getele($zeile);
$m++;
}//end if
//time - Zeit auslesen
if (strpos($zeile,"<time>") !== false) {
$time[$t] = gettime($zeile);
$t++; //das ist die Zahl wieviel mal <time> vorkommt
}//end if
} //end while
}//end if
fclose($fp); //gpx-Datei schließen
//Berechnung der Zeit'en
$tspeicher = zertime($time[$t-$t]); //Speicherzeit der gpx ermitteln
$tanfang = zertime($time[($t-$t)+1]); //Startzeit des Tracks
$tende = zertime($time[$t-1]); //Endzeit des Tracks
$jahr = substr($tanfang,0,-15);
//Berechnung der Fahrtzeit
$diff = ((strtotime($tende))-(strtotime($tanfang)));
$trackdiff = array("h"=>0, "m"=>0, "s"=>0);
while ($diff>=3600) {// 1 Stunde = 3600 Sekunden
$diff -= 3600;
$trackdiff['h']++;
}
while ($diff>=60) {// 1 Minute = 60 Sekunden
$diff -= 60;
$trackdiff['m']++;
}
$trackdiff['s'] = $diff;
//Ausgabe der Fahrzeit
$tfahrth = $trackdiff['h'];
$tfahrtm = $trackdiff['m'];
$tfahrts = $trackdiff['s'];
//Berechnung der Tracklänge
$i = 0;
$r0 = 6371.0;//Erdradius
$laenge = 0.0;
while ($i < ($n-1)) {
if(($lat[$i] != $lat[$i+1]) && ($lon[$i] != $lon[$i+1])) {
$a = (90.0 - $lat[$i]) * M_PI / 180.0;
$b = (90.0 - $lat[$i+1]) * M_PI / 180.0;
$gamma = (abs($lon[$i+1] - $lon[$i])) * M_PI / 180.0;
$c = $r0 * acos(cos($a)*cos($b) + sin($a)*sin($b)*cos($gamma));
$laenge = $laenge + $c;
}//end if
$i++;
}//end while
$laenge = (round(10 * $laenge) / 10);
//Höhenmeter addieren
if ($m > 0) {
$i=0;
$up=0.0;
$down=0.0;
while ($i < ($m-1)) {
if ($ele[$i] < $ele[$i+1]) {
$up = $up + $ele[$i+1] - $ele[$i];
}//end if
if ($ele[$i] > $ele[$i+1]) {
$down = $down + $ele[$i] - $ele[$i+1];
}//end if
$i++;
}//end while
$up = (round(10 * $up) / 10);
$down = (round(10 * $down) / 10);
$b_ele = true;
}//end if
?>GPS --Huawei Mate 20 / Garmin Oregon700 eigene OSM-Karte für meine Hometouren
Software -- Linux Debian Stable, QMapShack, JOSM
Offline
#45 2010-05-23 16:34:38
- AlterSachse
- Member

- From: D-02763
- Registered: 2010-01-27
- Posts: 125
- Website
Re: Eigene Tracks einfach anzeigen -- howto?
@aighes
Hallo noch mal ich also ich hab Deinen Code noch weiter ausgebaut dabei ist mir aber aufgefallen das die Tracklänge nicht mit anderen GPS Programmen übereinstimmt.
Also ich habe eine frisch aufgezeichnete GPX Datei genommen und die Tracklänge mit Deinem Code berechnet, raus kam 18,9 km mit up 342,7 HM. Die selbe Datei hab ich in GTA geöffnet und dort kamen 24,4 km und up 523 HM raus. Wie kann es zu diesen Abweichungen kommen, nach meinem Tacho hat GTA besser gerechnet.
Ich lege die Datei mal wieder hier ab http://mtb.kilu.de/down/23-MAI-10.gpx
Vieleicht haste noch eine Idee wie die Berechnung der Tracklänge noch genauer wird.
Gruß Jörg
Edit:
Uff das ist vielleicht komisch, also wie gesagt die Datei war eine frisch aufgezeichnete vom Garmin Dakota20, einfach runter gezogen und rechnen lassen. Dann habe ich die Datei in TTQV geladen und sofort wieder Exportiert ohne sie zu bearbeiten und siehe da wenn ich dann Deinen Code rechnen lasse kommt auch 24,4 km und up 524 HM heraus.
Das gleiche passiert mit GTA wenn ich die unbehandelte Garmin Dakota20 Datei in GTA öffne und dann wieder als gpx abspeichere stimmt die Berechnung auch.
Also liegt die erste falsche Berechnung eindeutig an der unbehandelten Garmin Dakota20 Datei.
Fazit für alle die den Code nutzen wollen wäre aus meiner Sicht niemals eine unbehandelte Garmin Dakota20 Datei verwenden. Wie es mit anderen Geräten ausschaut weiß ich nicht aber eventuell kann das ja mal jemand testen.
Gruß Jörg
Hab noch die Durchschnittsgeschwindigkeit mit eingebaut. Die Zeile hab ich unter der Tracklänge eingefügt, die Zeitberechnung hatte ich ja schon vorgestellt die muss natürlich auch erst gemacht werden.
//Durchschnitt km/h errechnen
$durchschnitt = str_replace(".",",",round($laenge/(((strtotime($tende))-(strtotime($tanfang)))/3600),2));GPS --Huawei Mate 20 / Garmin Oregon700 eigene OSM-Karte für meine Hometouren
Software -- Linux Debian Stable, QMapShack, JOSM
Offline