Onko rastit.fi -sivusto tuttu?
Tuonna voi ladata gps-jäljen gpx-tiedostomuodossa ja lisätä rastit käsin. Varsin näppärän oloinen keksintö ja voisi auttaa näin, atomiaikaa elettäessä, oman reittivalinnan analysointia.
Sivuston koodi ei näy osaavan lukea Garminin tiedostoa, jossa on rastimerkit.
Ota ne jolkottelusi Garmin Connectista gpx-muodossa, niin johan ymmärtää.
Vielä on sivusrton kanssa kehitystyötä kehittäjällä. Mm. Hajontarastit ja tapahtumien määrän lisääntyessä nimeäminen ja haku voisi olla parempi.
Mutta itse olen kokenut saavani hyötyä ja oppia.
Garminista pitää jolkuttelut ottaa gpx:nä, mutta se ei riitä, vaan pitää tekstieditorilla poista segmentit. Vasta sitten menee. Lisäksi gpx-tiedostossa ei saa olla ylimääräistä whitespacea. Ilmisesti tekijä on halunnut kirjoittaa XML-parserin itse, eikä käyttää valmista toimivaa parseria.
Ei minulla mitään toimenpiteitä tarvitse, jos tuon gpx-tiedoston ottaa Garmin Connectin kautta omalle koneelle.
ja lataa sen sitten rastit.fi-sivustolle.
Korjasin gpx-lukijaa ja nyt palvelu hyväksyy myös usemman segmentin gpx-filejä.
XML-tiedostot kannattaa lukea oikealla parserilla. PHP5:ssä on mm. DOM-laajennus sitä varten. Helppoa kuin heinänteko. DOMDocument->getElementsByTagName:lla saa kerralla kaikki trkpt:t eikä tarvi välittää onko segmenttejä vai ei, whitespaceja vai ei.
$doc = new DOMDocument();
$doc->loadXML( file_get_contents( "test.gpx" ) );
$trkpts = $doc->getElementsByTagName( "trkpt" );
foreach ( $trkpts as $trkpt ) {
echo $trkpt->attributes->getNamedItem( "lon" )->value . " "
. $trkpt->attributes->getNamedItem( "lat" )->value . " "
. $trkpt->getElementsByTagName( "time" )->item(0)->textContent . "n";
Esille