This question is related to another stackoverflow discussion between long and exact points.
Here is the code from the top voted answer:
private double distance(double lat1, double lat2, double lon1, double lon2, double el1, double el2) { final int R = 6371;
The top voting answer has the following comment:
"Why not Math.toRadians () instead of deg2rad ()? That would be really self-consistent."
I looked at the Math.toRadians () method in the documentation and noticed this:
"Converts an angle, measured in degrees, to an approximately equivalent angle, measured in radians. Converting from degrees to radians is usually inaccurate. "
- Is the upper voice response deg2rad more or less accurate than the Math.toRadians () method?
- Using the deg2rad method performs two arithmetic operations and one Math.Pi searches, it is unclear how Math.toRadians () performs the agreement. Assuming that this distance calculation can be performed frequently and requires a quick response to user input, which conversion method will scale more efficiently?
If the answer to question 1 is that the two methods have about the same inaccuracy / accuracy, I think I will use Math.toRadians. Using Math.ToRadians makes the code more readable, and I assume that it will scale and be more efficient.
java math big-o
gnate Feb 13 '15 at 22:52 2015-02-13 22:52
source share