Angle between 2 GPS Coordinates

后端 未结 2 2023
别那么骄傲
别那么骄傲 2020-12-28 22:54

I\'m working in another iPhone App that uses AR, and I\'m creating my own framework, but I\'m having trouble trying to get the angle of a second coordinate relative to the c

相关标签:
2条回答
  • 2020-12-28 23:09

    Here is the android version of this code

    import com.google.android.maps.GeoPoint;
        public double calculateAngle(GeoPoint startPoint, GeoPoint endPoint) {
            double lat1 = startPoint.getLatitudeE6() / 1E6;
            double lat2 = endPoint.getLatitudeE6() / 1E6;
            double long2 = startPoint.getLongitudeE6() / 1E6;
            double long1 = endPoint.getLongitudeE6() / 1E6;
            double dy = lat2 - lat1;
            double dx = Math.cos(Math.PI / 180 * lat1) * (long2 - long1);
            double angle = Math.atan2(dy, dx);
            return angle;
        }
    
    0 讨论(0)
  • 2020-12-28 23:22

    If the two points are close enough together, and well away from the poles, you can use some simple trig:

    float dy = lat2 - lat1;
    float dx = cosf(M_PI/180*lat1)*(long2 - long1);
    float angle = atan2f(dy, dx);
    

    EDIT: I forgot to mention that latN and longN — and therefore dx and dy — can be in degrees or radians, so long as you don't mix units. angle, however, will always come back in radians. Of course, you can get it back to degrees if you multiply by 180/M_PI.

    0 讨论(0)
提交回复
热议问题