cr-ispinternet Posted November 29, 2009 Share Posted November 29, 2009 Hi There, Im a little bi lost and not sure where to start with this one, ive got a small gps receiver which im polling over a serial connection, each time i poll the device i get a load of rubbish back like this... $GPRMC,223450.000,A,5310.5785,N,00226.2042,W,0.0,25.8,291109,,,A*49 $GPGGA,223450.000,5310.5785,N,00226.2042,W,1,06,2.1,22.3,M,59.1,M,,0000*7D $GPVTG,25.8,T,,M,0.0,N,0.0,K,A*32 $PMST200,00,204*1E $PMST200,00,204*1E $PMST200,00,204*1E $PMST200,??,204*1E $PMST200,??,204*1E $PMST200,??,204*1E $PMST200,??,204*1E $PMST200,??,204*1E $PMST200,??,204*1E $GPGLL,5310.5785,N,00226.2042,W,223450.00,A,A*73 $GPGSA,A,3,02,04,05,07,08,10,,,,,,,4.5,2.1,4.0*39 $PMST200,??,204*1E $PMST200,??,204*1E $PMST200,??,204*1E As they are never ever in the same order i cant really use reg_exp to get what i want, basically im trying to capture the following and then use split to break them down further and insert into a DB $GPRMC,223450.000,A,5310.5785,N,00226.2042,W,0.0,25.8,291109,,,A*49 how can i just get it to extract that line and nothing else unless i ask it to???? the output from the serial devic come is extract using this $read = $serial->readPort(); than i just echo read etc etc and get my text which is further up, any ones help or suggestions would be brill... thanks in advance Alan Link to comment https://forums.phpfreaks.com/topic/183347-gprmc-and-nmea-how-to-extract-from-report/ Share on other sites More sharing options...
salathe Posted November 29, 2009 Share Posted November 29, 2009 You could use a basic regular expression to grab only the $GPMRC line (are you familiar at all with regular expressions?) then break that down into an array (or whatever) to work with. Here's a quick example (only lines 1, 2 and 4 are important). preg_match('/^\$GPRMC,.*$/m', $read, $match); $line = $match[0]; $keys = explode(',', 'command,timestamp,fix,lat,lath,lon,lonh,knots,bearing,date,mag_var,mode,checksum'); $values = explode(',', $line); $recmin = array_combine($keys, $values); // Just output the array to test var_dump($recmin); Link to comment https://forums.phpfreaks.com/topic/183347-gprmc-and-nmea-how-to-extract-from-report/#findComment-967741 Share on other sites More sharing options...
cr-ispinternet Posted November 30, 2009 Author Share Posted November 30, 2009 Sal... You the man my friend, im not that great with regular expressions but i knew thats what i need to do to get my output. Many thanks for taking a look at that for me i knew some one on here would be able to help me... thanks so much Alan Link to comment https://forums.phpfreaks.com/topic/183347-gprmc-and-nmea-how-to-extract-from-report/#findComment-967982 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.