Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/utils/DistanceCalculator.java @ 778:9a828e5a2390
Removed trailing whitespace
gnv-artifacts/trunk@851 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 29 Mar 2010 07:58:51 +0000 |
parents | 1ab23cd66870 |
children | b1f5f2a8840f |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/utils/DistanceCalculator.java Fri Mar 26 15:31:20 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/utils/DistanceCalculator.java Mon Mar 29 07:58:51 2010 +0000 @@ -15,57 +15,57 @@ public class DistanceCalculator { private final static double flattening = 1.0 / 298.257233563; - + private final static double earthRadius = 6378137.0 / 1000.0 ; - + /** * Constructor */ public DistanceCalculator() { } - + public static double calculateDistance(Point p1, Point p2){ return calculateDistance(p1.getCoordinate(), p2.getCoordinate()); } public static double calculateDistance(Coordinate p1, Coordinate p2){ double resultValue = 0.0; - + double b1 = p1.y; double b2 = p2.y; - + double l1 = p1.x; double l2 = p2.x; - - + + double F = (b1 + b2) / 2.0; double G = (b1 - b2) / 2.0; double l = (l1 - l2) / 2.0; - + F = (Math.PI / 180.0) * F; G = (Math.PI / 180.0) * G; l = (Math.PI / 180.0) * l; - + double S = ((Math.sin(G) * Math.sin(G)) * ((Math.cos(l) * Math.cos(l))))+ ((Math.cos(F) * Math.cos(F)) * ((Math.sin(l) * Math.sin(l)))); - + double C = ((Math.cos(G) * Math.cos(G)) * ((Math.cos(l) * Math.cos(l))))+ ((Math.sin(F) * Math.sin(F)) * ((Math.sin(l) * Math.sin(l)))); - + double w = Math.atan(Math.sqrt((S/C))); - + double D = 2.0 * w * earthRadius; - + double R = Math.sqrt((S*C)) / w; - + double H1 = (3.0 * R - 1.0 ) / (2.0 * C); double H2 = (3.0 * R + 1.0 ) / (2.0 * S); - - resultValue = D * (1 + (flattening * H1 * (Math.sin(F) * Math.sin(F)) * - (Math.cos(G) * Math.cos(G))) - - (flattening * H2 * (Math.cos(F) * Math.cos(F)) * + + resultValue = D * (1 + (flattening * H1 * (Math.sin(F) * Math.sin(F)) * + (Math.cos(G) * Math.cos(G))) - + (flattening * H2 * (Math.cos(F) * Math.cos(F)) * (Math.sin(G) * Math.sin(G)))); - + return resultValue; }