It Started With a Hardware Limitation I have been using Quectel GNSS modules in my designs for a while. They are reliable, well-documented, and the support ecosystem is solid. But the module I had been using had one problem that I kept running into: no external antenna support . For most projects that is a minor inconvenience. For a marine vessel monitoring and control system , it is a non-starter. A vessel hull blocks sky view, antenna placement is critical, and the difference between a clean fix and no fix at all often comes down to whether you can mount the antenna where it actually has line of sight. An integrated antenna in a sealed enclosure below deck simply does not cut it. So I went directly to Quectel. The Conversation With Quectel I reached out through their official sample request channel. I was not expecting much — most component manufacturers have a standard process: fill out a form, wait, get a few uni...
Here is a thing that i have faced few times when it comes to GPS data. Below is the GPGGA string from NMEA data receives from GPS. I have highlighted the latitude and longitude from the string.
$GPGGA,081902.00,0412.75469,N,07332.48758,E,1,08,0.97,10.7,M,-93.5,M,,*41
Latitude = 0412.75469
Longitude = 07332.48758
If you want to plot this in google maps or any other platform you need to convert this data to decimal degrees, which will be easy to point the location rather than using raw data. In order to do that please follow these steps and write your own math function for this. For my purpose i am using my own function to handle the conversions.
First lets start with latitude. Get rid of the zero first.
rawdate = 412.75469 in this case 4 is the degrees which is in blue color and minutes in green
Formula:
degrees = 4
minutes = rawdate - (100*degrees)
minutes = 412.75469 - (100*4)
minutes = 12.75469
So to find out the decimal degree format of raw latitude value please follow the steps bellow.
latitude = degrees + (minutes/60)
latitude = 4 + (12.75469/60)
latitude = 4.212578
This latitude value is formatted to decimal degrees and now you can do the same for the longitude.
rawdate = 7332.48758 in this case 73 is the degrees which is in blue color and minutes in green
do the math and use google earth or map to check the coordinates are correct or not. You can write a function from Arduino, c or Python if you are using GPS with embedded systems or micro controllers.
Comments