/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
double dLatPos1 = latdecimal(31, 0, 0, "N");
double dLonPos1 = londecimal(331, 0, 0, "E");
double dLatPos2 = latdecimal(2, 42, 0, "S");
double dLonPos2 = londecimal(16, 42, 0, "E");
System.
out.
print(measure
(dLatPos1, dLonPos1, dLatPos2, dLonPos2
)); }
static double measure(double lat1, double lon1, double lat2, double lon2){ // generally used geo measurement function
double R = 320; // Radius of Duna in KM
double dLat
= (lat2
- lat1
) * Math.
PI / 180; double dLon
= (lon2
- lon1
) * Math.
PI / 180; double a
= Math.
sin(dLat
/2) * Math.
sin(dLat
/2) + double d = R * c;
return d; // km
}
static double latdecimal
(double degree,
double minutes,
double seconds,
String direction
) { double dLatDecimal = degree + (minutes/60) + (seconds/3600);
if(direction.equals("S")) {
dLatDecimal = -1 * dLatDecimal;
}
return dLatDecimal;
}
static double londecimal
(double degree,
double minutes,
double seconds,
String direction
) { double dLonDecimal = degree + (minutes/60) + (seconds/3600);
if(direction.equals("W")) {
dLonDecimal = -1 * dLonDecimal;
}
return dLonDecimal;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCWRvdWJsZSBkTGF0UG9zMSA9IGxhdGRlY2ltYWwoMzEsIDAsIDAsICJOIik7CgkJZG91YmxlIGRMb25Qb3MxID0gbG9uZGVjaW1hbCgzMzEsIDAsIDAsICJFIik7CgkJZG91YmxlIGRMYXRQb3MyID0gbGF0ZGVjaW1hbCgyLCA0MiwgMCwgIlMiKTsKCQlkb3VibGUgZExvblBvczIgPSBsb25kZWNpbWFsKDE2LCA0MiwgMCwgIkUiKTsKCQkKCQlTeXN0ZW0ub3V0LnByaW50KG1lYXN1cmUoZExhdFBvczEsIGRMb25Qb3MxLCBkTGF0UG9zMiwgZExvblBvczIpKTsKCX0KCQoJc3RhdGljIGRvdWJsZSBtZWFzdXJlKGRvdWJsZSBsYXQxLCBkb3VibGUgbG9uMSwgZG91YmxlIGxhdDIsIGRvdWJsZSBsb24yKXsgIC8vIGdlbmVyYWxseSB1c2VkIGdlbyBtZWFzdXJlbWVudCBmdW5jdGlvbgoJICAgIGRvdWJsZSBSID0gMzIwOyAvLyBSYWRpdXMgb2YgRHVuYSBpbiBLTQoJICAgIGRvdWJsZSBkTGF0ID0gKGxhdDIgLSBsYXQxKSAqIE1hdGguUEkgLyAxODA7CgkgICAgZG91YmxlIGRMb24gPSAobG9uMiAtIGxvbjEpICogTWF0aC5QSSAvIDE4MDsKCSAgICBkb3VibGUgYSA9IE1hdGguc2luKGRMYXQvMikgKiBNYXRoLnNpbihkTGF0LzIpICsKCSAgICBNYXRoLmNvcyhsYXQxICogTWF0aC5QSSAvIDE4MCkgKiBNYXRoLmNvcyhsYXQyICogTWF0aC5QSSAvIDE4MCkgKgoJICAgIE1hdGguc2luKGRMb24vMikgKiBNYXRoLnNpbihkTG9uLzIpOwoJICAgIGRvdWJsZSBjID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMS1hKSk7CgkgICAgZG91YmxlIGQgPSBSICogYzsKCSAgICByZXR1cm4gZDsgLy8ga20KCX0KCQoJc3RhdGljIGRvdWJsZSBsYXRkZWNpbWFsKGRvdWJsZSBkZWdyZWUsIGRvdWJsZSBtaW51dGVzLCBkb3VibGUgc2Vjb25kcywgU3RyaW5nIGRpcmVjdGlvbikgewoJCWRvdWJsZSBkTGF0RGVjaW1hbCA9IGRlZ3JlZSArIChtaW51dGVzLzYwKSArIChzZWNvbmRzLzM2MDApOwoJCWlmKGRpcmVjdGlvbi5lcXVhbHMoIlMiKSkgewoJCQlkTGF0RGVjaW1hbCA9IC0xICogZExhdERlY2ltYWw7CgkJfQoJCXJldHVybiBkTGF0RGVjaW1hbDsKCX0KCQoJc3RhdGljIGRvdWJsZSBsb25kZWNpbWFsKGRvdWJsZSBkZWdyZWUsIGRvdWJsZSBtaW51dGVzLCBkb3VibGUgc2Vjb25kcywgU3RyaW5nIGRpcmVjdGlvbikgewoJCWRvdWJsZSBkTG9uRGVjaW1hbCA9IGRlZ3JlZSArIChtaW51dGVzLzYwKSArIChzZWNvbmRzLzM2MDApOwoJCWlmKGRpcmVjdGlvbi5lcXVhbHMoIlciKSkgewoJCQlkTG9uRGVjaW1hbCA9IC0xICogZExvbkRlY2ltYWw7CgkJfQoJCXJldHVybiBkTG9uRGVjaW1hbDsKCX0KfQ==