Visa ett inlägg
Oläst 2009-08-20, 14:20 #2
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
objx objx är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 154
Det där låter ju helspännande!

Som jag förstår det så är innehållet i GPRMC-filer rätt enkla att utläsa.
Läser från dessa sidor:
http://www.codepedia.com/1/The+GPRMC+Sentence
http://aprs.gids.nl/nmea/#rmc

Egentligen behöver ju du bara använda valfritt språk (PHP/ASP) för att läsa av filerna som laddats upp till FTP'n och plocka ut den senaste inlagda raden för att få koordinaterna.

Vill du kunna backa i historiken så kan du ju istället lägga in koordinaterna i en databas med datumstämpeln som anger när du befann dig på dessa koordinater.


I den andra länken så visas en platsangivelse ur en GPRMC-fil på följande sätt:

$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7,1 91194,020.3,E*68

En kommaseparerad sträng med följande betydelser:

1 220516 Time Stamp
2 A validity - A-ok, V-invalid
3 5133.82 current Latitude
4 N North/South
5 00042.24 current Longitude
6 W East/West
7 173.8 Speed in knots
8 231.8 True course
9 130694 Date Stamp
10 004.2 Variation
11 W East/West
12 *70 checksum


I PHP skulle du då kunna få ut uppgifterna på följande sätt:

<?php

$string = '$GPRMC,225446,A,4916.45,N,12311.12,W,000.5,054.7, 191194,020.3,E*68';
$parts = explode(",",$string);

$latitud = $parts[3];
$longitud = $parts[5];

$tidpunkt = substr($parts[1],0,2).":".substr($parts[1],2,2).":".substr($parts[2],4,2);

$dag = substr($parts[9],0,2);
$manad = substr($parts[9],2,2);
$ar = substr($parts[9],4,2);

$tid_timmar = substr($parts[1],0,2);
$tid_minuter = substr($parts[1],2,2);
$tid_sekunder = substr($parts[1],4,2);

$timestamp = mktime($tid_timmar,$tid_minuter,$tid_sekunder,$man ad,$dag,$ar);

$v_dir = $parts[4];
$h_dir = $parts[6];


print date("Y-m-d, H:i:s",$timestamp)." befann jag mig på longitud ".$longitud." och latitud ".$latitud." och färdades i ".$v_dir.$h_dir." riktining.";

?>
objx är inte uppkopplad   Svara med citatSvara med citat