GPS Module(EM-406 and E-gizmo GPS Shield) Pointing to a transmission tower.

Hello,

To start, this is a problem I've encountered for a couple of months now. Only recently though, that I actually typed in the coordinates sent out on my 2 GPS-modules. Only to find that the Coordinates points to a Transmission tower in Cavite. (My location is in Paranaque, Philippines)

My first GPS module, from e-gizmo (http://www.e-gizmo.com/KIT/gps%20shield.html).
I don't have the proof here, but the $GPGGA data, had 0 satellites found and pointed to the same transmission towers (14.287660,121.022912)

My second module, which I bought online. EM-406. Now has more accurate number of satellites(average of 4 with 3 as a minimum number of reliable satellites) which makes the coordinates and time more valid (Supposedly). But, it still shows coordinates in the same range of the transmission towers.

I've done tests both at home and at school(Magallanes,Makati). Both devices say the same at both locations(but with gizmo's SKG without any reliable satellites).

Here's the sample code I've been using:

#include <SoftwareSerial.h>
 
SoftwareSerial mySerial(2, 3);
 
void setup()
{
Serial.begin(9600);
mySerial.begin(4800);
}
 
void loop()
{
while(!(mySerial.available())){}
Serial.write(mySerial.read());
}

And also, all of the pins on my EM406 are connected except the last one, the 1PPS.
I've searched around front internet for it's usage, but some said to leave it behind. I don't know if that's reliable or not.

Is there something wrong with what I'm doing?

Edit:
Sorry, forgot to say that I know how to parse the data(in a seperate code for a project). It's just that the data is not accurate and I don't know if it's just my location or a problem in wiring, or even something totally different.
Also, I'm told to use $GPGGA than GPRMC. And some told me to use the GPGSV, but will require the azimuth rotation, which I have not really got much chance to use.

There may not be a problem with your modules. I suggest to compare the GPS locations reported by the modules, to those produced by a good quality commercial GPS unit.

Maps and satellite photos often disagree with the GPS system due to differing coordinate systems (there are something like 50 different coordinate systems used to describe latitude and longitude locations in various regions of the world), local surveying errors, map making errors, etc. You certainly cannot count on Google Earth to be correct, either.

In particular many oceanic regions were mapped in the 1800s and many of those maps have not been updated since. For example, I bought marine charts to use while sailing in the Sea of Cortez, Mexico, and they are nearly useless. They disagree with the GPS satellite locations by several kilometers.

Commercial gps units? like actual gps devices or similar to cellphone gps devices(that doesn't rely on wifi)

Let me check and get back to that suggestion.

But, I know for sure, that both places I tested (home and school) it in have data that is approximately near to each other.

so for example, this just now:
$GPGGA,040509.000,1428.7695,N,12102.3105,E,1,07,1.0,44.9,M,39.8,M,,0000*6C

translates to
1428.7695,N
and
12102.3105,E

I don't know if there are any other way to parse that but through DDMM.mmmm(lat), DDDMM.mmmm(long)
It's the more logical sense in the situation since it is in my country. Parsing it in another way would leave me in another country. What's curious here is that the difference in MM or in the minutes is what makes it off from the actual place I'm in. Considering that my school is farther away north, it still shows the coordinates to the same transmission tower, so distance and differences are so far off that it would affect the real data.

The village I'm in is roughly(according to http://www.whatsmygps.com/)
14.4698638
121.04211020000002

And my school is about:
14.5306839
121.01965459999997

1 Latitudal minute = 1.853km

Home to Transmission tower:
0.1821688 = in Minutes 18.21688 = 33.75587864 kms
0.019005200000002 = in Minutes 1.90052000000002 = 3.521663560003706km

Home to school
0.0608201 = in Minutes 6.08201
0.02245560000005 = 2.245560000005

School to Transmission tower:
0.2429889 = in Minutes 24.29889 = 45.02584317 kms
0.0034500000003 = in Minutes 0.34500000003 = 0.6392850005559 kms

That is a huge difference between the transmission tower and the two test sites. And they still pulse in on the transmission tower.

And the Pulsing goes like:

Where the difference goes in the seconds part or in the decimal area of the minutes. Which is too small and is correct to say that a GPS error only lies in METERS, and not in large disparities like Kilometers.

I'll try and see what I can find but I know, it shouldn't act that way where others elsewhere get correct measurements and only in the Philippines where the data is obscure.

I think you are still confused. The GPS system is internally consistent, and was originally designed and created for use by the U.S. military, together with the U.S. military mapping system.

It is not guaranteed that other people's maps or latitude and longitude coordinates for a given location agree with those delivered by GPS receivers. In fact, in many places around the world, they don't agree very well at all.

You will notice with a commercial GPS receiver that there are several "Map Datums", or coordinate systems to choose from. The default is usually WGS84, but as I said there are roughly 50 others (NAD27, NAD83, Guam 1963, Djakarta, etc) and they don't agree with each other very well. You should check whether WGS84, if the default, is even appropriate for maps of the Phillipines. Accordingly to Wikipedia, islands are a particular problem and coordinates can be off by kilometers. Read more here: Geodetic datum - Wikipedia

Finally, as for accuracy, GPS receivers are very consistent. You can use them to identify your current location relative to the GPS satellite system, and return to it hours or years later, to within a few meters. Where that location happens to be on a map depends on the map, not the GPS system.

DDMM.mmmm is the (only) correct way to parse the $GPGGA and $GPRMC latitude and longitude fields.

Hmm... okay I kind of understand what you were saying at your first post.

I found something in regards with geodetic reference.

The Philippines actually use: http://www.namria.gov.ph/prs92/about.asp.

I'm gonna look it up even more. Thanks again. Will be back if I find anything new.

Edit:
I searched, and all I got were very confusing translations of my NMEA data to PRS92 standard.
There are some that even required height(sea level?). Come on, I don't want to stray from my given data on the modules.
Also, if this helps in helping me:
In the Spec sheet of EM406 Under GPGGA:
"SiRF Technology Inc. does not support geoid corrections. Values are WGS84 ellipsoid heights."
Also:
Under GPRMC:
"SiRF Technology Inc. does not support magnetic declination. All “course over ground” data are
geodetic WGS48 directions."

My first GPS module, from e-gizmo (http://www.e-gizmo.com/KIT/gps%20shield.html).
I don't have the proof here, but the $GPGGA data, had 0 satellites found and pointed to the same transmission towers (14.287660,121.022912)

This does worry me. It is impossible for a GPS unit to get a fix using less than 3 satellites, so that location is completely bogus, or came from somewhere other than satellites.

You should check the "valid flag" of the $GPGGA (equal to 1 or 2) or $GPRMC record (equal to "A"), and also the $GPGSV record to be sure of the number of satellites. See Welcome gpsinformation.org - Hostmonster.com

Here is a web page that may help to transform coordinates from WGS84 (the GPS default system) to PRS92 http://epsg.io/4994/map

jremington:
This does worry me. It is impossible for a GPS unit to get a fix using less than 3 satellites, so that location is completely bogus, or came from somewhere other than satellites.

You should check the "valid flag" of the $GPGGA (equal to 1 or 2) or $GPRMC record (equal to "A"), and also the $GPGSV record to be sure of the number of satellites. See www.gpsinformation.org/dale/nmea.htm

Here is a web page that may help to transform coordinates from WGS84 (the GPS default system) to PRS92 http://epsg.io/4994/map

Thanks for the follow up.
1.)I'm not using the first Gps module anymore since it gives 0 satellites and is invalid.
My EM406 though is valid and now has an average of 4~7 satellites always in view.

2.)I'm still confused if the raw data is for direct usage for conversion.
For example:
$GPGGA,040509.000,1428.7695,N,12102.3105,E,1,07,1.0,44.9,M,39.8,M,,0000*6C
Do I take this as whole? like 1428.7695,N,12102.3105,E?
Convert from DDMM.mm to DD.mmmm?
I know that is still in a WGS84 format or is it in PRS92(Though the value seems really off, and I plotted it as PRS92 first then converted to WGS84, it showed me a place somewhere in Indonesia...)
Or is there something I'm missing?

What I'm planning is actually sending the coordinates through a text(already done,GSM module) and when it gets to the receiver, the guy will just have to punch in the coordinates in google map or anything similar.

This page explains how to parse GPS coordinates.

Unless otherwise stated, GPS coordinates are assumed to be in the WGS84 system. If you need to convert them to some other system, like PRS92, you will have to find or write code or a web page to do that. It can be quite complicated.

Try to find a professional land surveyor in your city, to ask about these corrections.

Well thanks anyway for the follow up.

I know the basics of parsing NMEA sentences, we're just looping back to the original question as to why the coordinates stated in my NMEA sentences still point to a transmission tower.

Which is still weird because it happens on 2 devices and 1 already says it's valid. I'll still go back to your first suggestion and find GPS devices that are not Assisted(with wifi).

Quick update, sorry for the double post.

I downloaded the Sirf demo code, and it showed something different, and the coordinates are now exact. I do not know how it divides it, but I'll look into the manual if it has.
I am still wondering why it was translated to this even though the base GPGGA shows a transmission tower.

Edit:
I found a site that converted NMEA into actual coordinates.
http://www.gonmad.co.uk/nmea.php
Gonna look or ask for the code on how they actually converted a full GPGGA sentence and not just simply parsing it.
It might have something to do with the Geoid fix, though I know it said in the manual that the NMEA data received in Sirf products is under WGS84 standards (so no need to translate to PRS92)

FINALLY:
I finally found the simplest solution...
All I had to do was to convert from NMEA to Degrees-decimal minutes to decimal-degrees
http://home.online.no/~sigurdhu/Deg_formats.htm

d = D + m/60
Example: D = 58°, m = 39.225′
d = 58° + 39.225°/60 = 58° + 0.65375° = 58.65375°
So 58° 39.225′ corresponds to 58.65375°.

I guess I was just overthinking things. Thank you so much for putting up with me.
Requesting for thread close.