So I am working on a research problem which requires to identify a location accurately (with error distance of few meters). For instance:

Problem

How to find the coordinates of C? Am I doing anything wrong?

The correct answer is 39.98,-83.03, but I am getting 8 miles off the track.

Since the points are static thus I know there location already. Flipping of the triangle is avoided by adding one more known location. I have calculated the distances using great circle distance formulae.

double theta = lon1 - lon2;

double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2)) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.cos(deg2rad(theta));

dist = Math.acos(dist);

dist = rad2deg(dist);

dist = dist * 60 * 1.1515; //in miles

Problem

How to find the coordinates of C? Am I doing anything wrong?

The correct answer is 39.98,-83.03, but I am getting 8 miles off the track.

Since the points are static thus I know there location already. Flipping of the triangle is avoided by adding one more known location. I have calculated the distances using great circle distance formulae.

double theta = lon1 - lon2;

double dist = Math.sin(deg2rad(lat1)) * Math.sin(deg2rad(lat2)) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.cos(deg2rad(theta));

dist = Math.acos(dist);

dist = rad2deg(dist);

dist = dist * 60 * 1.1515; //in miles

No. I am taking the great circle calculations. Please see the code. the figure is spherical triangle.

Calculated spherical angle - "BA with horizontal axis + CAB". Based on this angle calculated vertical and horizontal displacement of point C from point A. Based on these displacements I calculated change in Lat and change in Lon.