How to deal with Latitude Longitude errors of gps data while plotting on google map? - gps

Recently I am working to plot latitude and longitude of GPS data on Google Map. The latitude and longitude is in NMEA format and I have converted it in to compatible format to display on google map. I am able to plot the data on google map successfully. My data is supposed to be on a straight line but it goes zigzag like mountains. Is is the problem of GPS data not having accurate latitude and longitude? or the problem while converting the NMEA format data? How to fix these kinds of errors if the GPS data is not 100% accurate?
Thank you.

Depending on the quality of your GPS receiver (recreational, professional, survey, military, etc), the accuracy of your GPS solution can be different. Some receivers can track more GPS signals at different frequencies, and can have an access to DGPS information, etc.
For recreational GPS receivers the error level can be at the order of 10 meters. So my suggestion is if you know that uour solution is a straight line, you can do a least square parameter estimation to a linear function. That approach tend to smooth out error and you can get better solution.

Related

Determining GPS accuracy in Firemonkey

I'm busy with an app for rapid recording of gps positions. I've integrated the records with Google Maps, and it is clear that a few records, though not all of them, are quite far off - up to 200m out measured using Google Earth. This is probably due to the GPS accuracy (maybe the GPS wasn't on for long enough, enough satellites, etc). I can work with this, but I would like to report on the accuracy.
My question is, is there a property that returns the GPS accuracy (perhaps as HDOP / EPE in meters) in the Delphi Firemonkey location sensor for Android, or can one access it in another way? From what I can see this may only be possible on iOS, but then I would like to know where many of the GPS apps (GPS Essentials, Locus Maps) do it? Is it a Firemonkey limitation? The locationsensor.accuracy looks like the value I'm after, but that is an input?
Any advice will be appreciated! All I want to do is set a threshold to warn the user of possible inaccurate readings so he/she can wait a few seconds for better accuracy.
I have tried changing the LocationSensor.accuracy property, but as stated, I want an output from the GPS, not an input.

GPS trajectory dataset

Stackoverflow community,
I have a CSV file containing GPS coordinates (latitude and longitude) for a set of towns (in the image below),
I am working for a covid-19 contact tracing project, so I want to generate a GPS trajectories dataset for a number of humans, my dataset must contain many close GPS points, and I want to know if there is a way to find the closest GPS points around every town GPS coordinates
please, I need a solution as soon as possible Cordinates Details

Projections into Cartesian Space from Latitude and Longitude for Kalman Filtering

I am trying to properly project Latitude and Longitude into cartesian coordinates so that I can use an unscented Kalman filter to smooth out some GPS data. I am using constant jerk newtonian motion as my state transfer matrix. My issue is that I have tried many popular projections(Mercator, etc.) and when I reproject into latitude and longitude, my data is stretched with respect to maps. Any insight on my situation would be greatly appreciated! If you need more information please ask in the comments. Thank you.
The stretch factor between longitude and latitude is cos(latitude).
So you can do a local Cyclindrical Equidistant transformation.
this is a simple tranformation, but is only acurate around 10-100km
of the center (longitudeCenter, latitudCenter). this kind of projektion needs a (fixed) center.
Look further for "Cyclindrical Equidistant Projection" to get the simple formula.

Using SQL spacial data queries to calculate distance from two different projections

So, I've got some data that has longitude and latitude. I don't know what projection those are from. I've got some latitude and longitude I'll be fetching from Google maps API, which uses a projection with SRID of 3857.
If I just assume the data is from the same projection, and it turns out they're not, how far off could my distances be?
For instance, if they're from a 3-d projection (say 4326), but I just put them into a Geometry column with SRID 3857, and we're in the Northern Hemisphere, (Great Lakes area, but also other parts of the US), is there a way I can figure out how far off that would be?
EPSG:3857 uses meters as units, while EPSG:4326 uses degrees. If you try to plot them on the same map without reprojecting one or the other, they will be very far off (many orders of magnitude) from each other.
You said you'll be fetching lat-lng from the Google Maps API, using a EPSG:3857 as a projection, but latitude and longitude coordinates are not projected by definition, although they may use a different datum. I can't find official Google documentation, but consensus seems to be that Google Maps API uses WGS84, same as EPSG:4326, so lat-lngs you pull from google maps API will probably fit exactly on top of others from EPSG:4326.
See http://spatialreference.org/ref/epsg/4326/ and http://spatialreference.org/ref/sr-org/7483/ and https://gis.stackexchange.com/questions/34276/whats-the-difference-between-epsg4326-and-epsg900913

GPS position correction

I wrote simple NMEA parser and I'm reading latitude and longitude from GPS. Values readed by my parser are very scattered comparing to some GPS commercial library I'm using. Values readed from this library are very smooth.
What algorithms I should use to correct readed position from gps?
One option would be a Kalman filter
GPS Signals read from a GPS receivers are today only scattered, if the receiver
is standing still, or moving very slowly.
A simple and very effective approach is to ignore all positions which have its speed attribute below 5km/h.
This works well for vehicles.
For pedestrians it gets more complex.