aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorBananeweizen <bananeweizen@gmx.de>2013-01-13 08:33:49 +0100
committerBananeweizen <bananeweizen@gmx.de>2013-01-13 08:33:49 +0100
commit37b6f8103d9fb50d287d8bf9d06fa3d0c8fba79d (patch)
tree18bd81e2bd7c018884a93c66264d2ffce11a39a5 /main/src
parentc0d057890cc0489115b47f80ec09e02167305ef5 (diff)
parent6e66c8f2da1d6893e2d9e100957a966bc3f9e69a (diff)
downloadcgeo-37b6f8103d9fb50d287d8bf9d06fa3d0c8fba79d.zip
cgeo-37b6f8103d9fb50d287d8bf9d06fa3d0c8fba79d.tar.gz
cgeo-37b6f8103d9fb50d287d8bf9d06fa3d0c8fba79d.tar.bz2
Merge remote-tracking branch 'origin/release'
Conflicts: main/src/cgeo/geocaching/geopoint/Geopoint.java
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/geopoint/Geopoint.java35
1 files changed, 14 insertions, 21 deletions
diff --git a/main/src/cgeo/geocaching/geopoint/Geopoint.java b/main/src/cgeo/geocaching/geopoint/Geopoint.java
index fc5bfbc..a4821b9 100644
--- a/main/src/cgeo/geocaching/geopoint/Geopoint.java
+++ b/main/src/cgeo/geocaching/geopoint/Geopoint.java
@@ -104,11 +104,9 @@ public final class Geopoint implements ICoordinates, Parcelable {
* @param lonDegFrac
*/
public Geopoint(final String latDir, final String latDeg, final String latDegFrac,
- final String lonDir, final String lonDeg, final String lonDegFrac) {
- latitude = Double.parseDouble(latDeg + "." + addZeros(Integer.parseInt(latDegFrac), 5)) *
- getLatSign(latDir);
- longitude = Double.parseDouble(lonDeg + "." + addZeros(Integer.parseInt(lonDegFrac), 5)) *
- getLonSign(lonDir);
+ final String lonDir, final String lonDeg, final String lonDegFrac) {
+ this(getLatSign(latDir) + latDeg + "." + addZeros(latDegFrac, 5),
+ getLonSign(lonDir) + lonDeg + "." + addZeros(lonDegFrac, 5));
}
/**
@@ -124,11 +122,9 @@ public final class Geopoint implements ICoordinates, Parcelable {
* @param lonMinFrac
*/
public Geopoint(final String latDir, final String latDeg, final String latMin, final String latMinFrac,
- final String lonDir, final String lonDeg, final String lonMin, final String lonMinFrac) {
- latitude = (Double.parseDouble(latDeg) + Double.parseDouble(latMin + "." + addZeros(Integer.parseInt(latMinFrac), 3)) / 60) *
- (getLatSign(latDir));
- longitude = (Double.parseDouble(lonDeg) + Double.parseDouble(lonMin + "." + addZeros(Integer.parseInt(lonMinFrac), 3)) / 60) *
- (getLonSign(lonDir));
+ final String lonDir, final String lonDeg, final String lonMin, final String lonMinFrac) {
+ this(latDir + " " + latDeg + " " + latMin + "." + addZeros(latMinFrac, 3),
+ lonDir + " " + lonDeg + " " + lonMin + "." + addZeros(lonMinFrac, 3));
}
/**
@@ -147,10 +143,8 @@ public final class Geopoint implements ICoordinates, Parcelable {
*/
public Geopoint(final String latDir, final String latDeg, final String latMin, final String latSec, final String latSecFrac,
final String lonDir, final String lonDeg, final String lonMin, final String lonSec, final String lonSecFrac) {
- latitude = (Double.parseDouble(latDeg) + Double.parseDouble(latMin) / 60 + Double.parseDouble(latSec + "." + addZeros(Integer.parseInt(latSecFrac), 3)) / 3600) *
- (getLatSign(latDir));
- longitude = (Double.parseDouble(lonDeg) + Double.parseDouble(lonMin) / 60 + Double.parseDouble(lonSec + "." + addZeros(Integer.parseInt(lonSecFrac), 3)) / 3600) *
- (getLonSign(lonDir));
+ this(latDir + " " + latDeg + " " + latMin + " " + latSec + "." + addZeros(latSecFrac, 3),
+ lonDir + " " + lonDeg + " " + lonMin + " " + lonSec + "." + addZeros(lonSecFrac, 3));
}
/**
@@ -580,16 +574,15 @@ public final class Geopoint implements ICoordinates, Parcelable {
return (Math.abs(deg) * 3600) % 60;
}
- private static String addZeros(final int value, final int len) {
- return StringUtils.leftPad(Integer.toString(value), len, '0');
+ private static String addZeros(final String value, final int len) {
+ return StringUtils.leftPad(value.trim(), len, '0');
}
- private static int getLonSign(final String lonDir) {
- return "W".equalsIgnoreCase(lonDir) ? -1 : 1;
+ private static String getLonSign(final String lonDir) {
+ return "W".equalsIgnoreCase(lonDir) ? "-" : "";
}
- private static int getLatSign(final String latDir) {
- return "S".equalsIgnoreCase(latDir) ? -1 : 1;
+ private static String getLatSign(final String latDir) {
+ return "S".equalsIgnoreCase(latDir) ? "-" : "";
}
-
}