Every time I have to do something that involves math I end up curled up in a corner, sobbing softly and hoping for it all to just go away.
For those who share my fear of algebra I’ve compiled a little PHP library that contains the most important functions when you need to calculate GPS locations and bearings for example for use in Augmented Reality applications.
It’s available for download here.
distanceBetweenCoords($lat1, $lon1, $lat2, $lon2)
Calculates the distance between 2 GPS coordinates using the Havesine formula.
bearingBetweenCoords($lat1, $lon1, $lat2, $lon2)
Calculates the initial bearing (angle) between 2 GPS coordinates. Mind you that the bearing changes during the travel from one point to the other.
Mirrors a bearing over the x or y axis. By default the axis is ‘y’.
calcLatLong($lat, $lon, $distance, $bearing)
Calculates the coordinates of a point that is situated “distance” meters from the given lat/lon travelling in the direction of “bearing”.
Note that I’m not very sure how correct this calculation is although it worked fine for me.