I am working on the GPS related project. The objective is to understand the calculation process of the raw GPS data (server side calculation). It means " How did we get the latitude and the longitude points from GPS raw data (the converion between the Raw GPS data to latitude and longitude points).I have been searching for the material related to this. But still can't find one.
Raw GPS Data – Calculating Latitude and Longitude Points
assisted-gpsbase-stationgpsgpsbabellatitude longitude
Related Solutions
This is a fascinating problem where a little analysis can be most revealing.
First consider the effects of elevation. When a mapped unit distance is traversed, and the elevation changes by an amount dz (which for ground-based vehicles is always small compared to the map distance), then the actual distance traversed is very close to sqrt(1 + dz^2). (This would be perfectly accurate when the motion is made perfectly in a straight line. For actual motions over short distances that's usually a good approximation.) Because dz is presumed small, dz^2 is very small and dz^4 is incredibly small. This allows us to approximate the square root by 1 + dz^2/2, because the error made is proportional to dz^4.
Let's run some numbers to get a handle on the sizes of these errors. To make computation easy, choose our units of distance so that the vehicle traverses one unit between each GPS reading. Over the course of n readings, the mapped distance totals n*1 = n and neglects the additional distance from the elevation changes totaling about n * dz^2 / 2. How big might that be? Because dz determines the slope, the error depends on typical slopes. Approximately, a slope of t degrees translates into a value of dz of about t/60. The error relative to the mapped distance therefore equals (approximately)
(n * (t/60)^2 / 2) / n = t^2 / 7200.
For instance, for typical slopes of t = 10 degrees (fairly steep for most vehicles), the relative error equals 10^2 / 7200 = 1/72 = 1.5%.
Notice that this error should be thought of as negative: calculations from the mapped GPS coordinates would underestimate the true distance by this amount.
A similar analysis shows how one could correct a GPS reading based on an appropriate average of slopes encountered during a trip.
What about the other source of error, the measurement error in the GPS itself? This can be thought of as a random "drift" in the discrepancy between the observed GPS coordinates (X,Y) and the correct coordinates (x,y). The drift is a usually manifest as a gradual change in (X-x, Y-y) over time. It does indeed introduce some error, but it usually is not as great as one would think. In an answer at https://stats.stackexchange.com/a/2497, I report a typical 0.5% overestimate of total trip length. It would be difficult to produce an error that not only cancels out the negative error due to ignoring elevation, but also adds 3-5%.
These errors typically do not depend on duration of travel, but they do depend on the route. Normally, though, as a route becomes more tortuous, the GPS readings tend to replace "wiggles" with line segments, once more underestimating the distance. Again it is difficult to see how the GPS could be introducing a net 3-5% overestimate. Several possible alternative explanations are:
The GPS may be subject to unusually erratic conditions, such as those that might be faced by a unit traveling deep within urban clutter.
The distance believed to be correct might actually be incorrect. (For example, a car's tires can wear by 3% - 5% of their diameter during their usable lifetimes, resulting in a 3 - 5% increase in odometer readings. If the odometer is calibrated for a new fully inflated tire but the car is run on worn partly inflated tires to measure a route, it conceivably could overestimate the distance by 5% or more.)
The "correct" distances may have been calculated on a map using a projection with substantial scale error.
So the answer was staring me in the face, the coordinates weren't returned in decimal notation they're degrees + minutes so;
55.564382° is actually 55° 56.4382" which in decimal is 55 + (56.4382 / 60) = 55.94063667°
Best Answer
Short Answer
Go to the European Space Agency's GNSS Tools site, and download the GNSS Data Processing eBooks and open source tools. They provide good introductory materials on the topic you are interested in.
Long Answer
You need specialized equipment that can output such observables. The smartphones can't, unless they are equipped with specialized chips. For example - I work with the Trimble R8s.
The computation on the GNSS observables into coordinates (i.e., lat/long) is called positioning. And, there are many kinds of positioning, e.g., autonomous, differential, relative, precise, and etc.
The positioning done by recreational devices and mobile phones is the autonomous positioning. On the smartphone, the GNSS chip performs this positioning. There is no "server-side".