Thanks to the U.S. Department of Defense (and good ole President Ronald Reagan) GPS signals are freely available for civilian use. The fact is, today GPS is basically ubiquitous in most people's lives. Most new cars use it to show you where you are and your proximity to the nearest Starbucks. Raising the "cool factor" bar for technology using GPS is its implications on the Internet as we know it. For example people are geocoding their images in their online photo albums, Cool apps like Google Earth, Geocaching and all sorts of new creative games using real places are sprouting up all over the Internet (people are going outside again!). Basically, with GPS the Internet can break out of it's closed linear stage and becomes part of our real three dimensional world. Very cool, but more on that later - let's dive into what makes the Global Positioning System tick and how you can take advantage of the technology in your next project.
You will find that most GPS devices out there (USB GPS for your PC, handheld GPS's, etc etc) will report data from satellites in a neat standard format called NMEA. NMEA uses a serial ASCII protocol to send GPS data to your application for consumption. The resulting comma delimited data is piped out or logged sentence by sentence from your device. The NMEA format makes it easy to take the data and parse it anyway we'd like. Now we could just use the software that came with our Microsoft's Streets and Trips or Earthmate GPS but that's no fun.
Decoding GPS log files
There are many different types of NMEA sentences. Luckily they are all in an easy to read format. The first field is the sentence type and will start with $. I am only going to focus on a couple sentence types that give us our position information. For the purpose of this blog, we'll ignore the other sentences but there is plenty of references online about them.
My favorites, $GPGGA and $GPRMC. You will find that these two will have all the data you should need for tracking.
Example sentence (GPGGA):
$GPGGA,192122,3514.7971,N,07634.7585,W,1,04,01.3,00006.2,M,-035.9,M,,*79
Translation:
$GPGGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh
Here is what each field means:
1 = UTC of Position
2 = Latitude
3 = N or S
4 = Longitude
5 = E or W
6 = GPS quality indicator (0=invalid; 1=GPS fix; 2=Diff. GPS fix)
7 = Number of satellites in use [not those in view]
8 = Horizontal dilution of position
9 = Antenna altitude above/below mean sea level (geoid)
10 = Meters (Antenna height unit)
11 = Geoidal separation (Diff. between WGS-84 earth ellipsoid and
mean sea level. -=geoid is below WGS-84 ellipsoid)
12 = Meters (Units of geoidal separation)
13 = Age in seconds since last update from diff. reference station
14 = Diff. reference station ID#
15 = Checksum
Example sentence (GPRMC):
$GPRMC,192137,A,3514.7966,N,07634.7588,W,000.0,000.0,310707,,,A*66
Translation:
$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a,m*hh
Here is what each field means:
1 = UTC time of fix
2 = Data status (A=Valid position, V=navigation receiver warning)
3 = Latitude of fix
4 = N or S of longitude
5 = Longitude of fix
6 = E or W of longitude
7 = Speed over ground in knots
8 = Track made good in degrees True
9 = UTC date of fix
10 = Magnetic variation degrees (Easterly var. subtracts from true course)
11 = E or W of magnetic variation
12 = Mode indicator, (A=Autonomous, D=Differential, E=Estimated, N=Data not valid)
13 = Checksum
By parsing these etypes either in real time by reading the data from a COM port, or from an existing log file you can use the coordinate information in any way you choose. I am currently working on a cool (Ok, I think its cool..) vehicle tracking application that I should be releasing here on this site soon. There are allot of good examples floating around with source code that should give you a handle on using this data.
In closing, the Global Positioning System is a powerful resource that you can tap into and enable your applications to become spatially aware. This opens plenty of doors for new and innovative apps - so get coding!
If you read this far, you should follow me on Twitter!
12 comments:
It is very useful thanks for sharing information
Cara Melancarkan BAB
Mengobati Diabetes Secara Ampuh
Cara Meredakan Masalah Sakit Lambung
Cara Menyembuhkan DBD
Cara Mengobati TBC Sampai Sembuh
Resep Tradisional Buah Apel Untuk Batu Empedu
Obat Terbaik Diabetes Melitus
how google earth detect this...
canon pixma ix6870 driver download
canon pixma mg3670 driver download
canon pixma g2000 driver download
canon pixma mp287 driver download
canon pixma ix6770 driver download
Printer driver download
canon printer driver download
great post and very helpful, hope can be always guided every post shared on this site. Thank you to visit our site also on the printer drivers:
OKI B431DN Drivers
Ricoh Aficio MP-2000L2 Driver
Driver Printer Epson L355
Driver Canon LBP 1120
Driver Printer Xerox Phaser 3010
Thank you very much for sharing this very useful information, I am very happy to have found this information that I have been looking for
Obat Luka Jahitan Yang Terbuka
Cara Mengobati Keputihan
Obat Tumor Parotis
Obat Penumbuh Jaringan Kulit
Obat Nyeri Persendian
Cara Mengobati Hirschsprung
Obat Batuk Berdarah
Cara Menyembuhkan Radang Tenggorokan
Thank you very much for sharing this very useful information, I am very happy to have found this information that I have been looking for
Obat Sakit Leher
Obat Tenggorokan
Obat Panu Alami
Obat Kapalan Alami
Obat Gondongan
Thank you very much for sharing this very useful information, I am very happy to have found this information that I have been looking for
cara untuk mengobati kusta dengan cepat
obat alami menyembuhkan tipes dengan cepat
Thank you for your support who has read our article. I'm very happy if you can share our article below
Toko Obat Herbal
Obat Nyeri Sendi
Cara Merawat Kesehatan Jantung
Obat Penambah HB darah
Obat Untuk Menghilangkan Milia
Thank you very much for sharing this very useful information, I am very happy to have found this information that I have been looking for
obat kelenjar tiroid membengkak
cara menghilangkan flek hitam di wajah
obat penambah darah alami
cara ampuh mengobati mata katarak
obat kaki bengkak akibat keseleo
cara mengobati rhinitis
may be useful for all, helpful article once and pardon me permission to share also here :
Cara mengobati scabies
Obat tumor rahang tanpa operasi
Obat flek paru paru ampuh
Cara menyembuhkan gusi bengkak
Cara mengatasi perut kembung
Obat herbal limpa bengkak
Cara mengatasi bronkitis kronis
It’s important to choose a tracker that is simple enough to understand and use, yet durable enough to withstand extreme conditions. An ideal GPS Tracker should have an SOS button for emergency situations, the battery should last at least 5 days and it should have a water-resistant and rugged design. Fleet Management Solutions
Superb post, we enjoyed each and everything as per written in your post. Thank you for this informative article because it’s really helpful, I really like site.
Please visit our website: @ Packers and Movers Kolkata
Thank you for sharing this article with us! I believe there will be more people like me, they can find many sangam packers
I am happy to find this post very useful for me, as it contains lot of information. I always prefer to read the quality content and this thing I found in you post.
Click Here to Get More Sites readmore
Packers and Movers Pune
Packers And Movers Pune to Bangalore
Post a Comment