Class WGS84Punkt
- java.lang.Object
-
- de.bsvrz.sys.funclib.bitctrl.geolib.WGS84Koordinate
-
- de.bsvrz.sys.funclib.bitctrl.geolib.WGS84Punkt
-
- All Implemented Interfaces:
java.lang.Comparable<WGS84Punkt>
public class WGS84Punkt extends WGS84Koordinate implements java.lang.Comparable<WGS84Punkt>
Ein geographischer Punkt in WGS84-Koordinaten.
-
-
Field Summary
Fields Modifier and Type Field Description static double
ERD_RADIUS_KM
$Auml;quatorradius der Erde (6378,137 km).static double
GENAUIGKEIT_KOORDINATEN
Genauigkeit, mit der die Koordinaten verglichen werden.-
Fields inherited from class de.bsvrz.sys.funclib.bitctrl.geolib.WGS84Koordinate
MAX_BREITE, MAX_LAENGE, MIN_BREITE, MIN_LAENGE
-
-
Constructor Summary
Constructors Constructor Description WGS84Punkt(double laenge, double breite)
Konstruktor für Punkt mit WGS84-Koordinaten in Dezimalnotation.WGS84Punkt(WGS84Koordinate w)
Konstruktor.
-
Method Summary
Modifier and Type Method Description static double
abstand(WGS84Punkt p1, WGS84Punkt p2)
Abstandsberechnung zwischen 2 Punkten mit Näherungsformel (idealisierte Erdkugel).static double
abstandExakt(WGS84Punkt p1, WGS84Punkt p2)
Abstandsberechnung zwischen 2 Punkten auf der Erdoberfläche mit exakter Formel.static double
abstandKartesisch(WGS84Punkt p1, WGS84Punkt p2)
Berechnet den Abstand der Punkte auf der Basis der transformierten kartesischen Koordinaten.int
compareTo(WGS84Punkt p)
Vergleicht erst die Länge und dann die Breite der beiden Punkte.boolean
equals(java.lang.Object obj, double maxAbweichung)
Testet auf gleiche Punkte mit einer maximalen Abweichung.double
getUtmX()
Deprecated.neu:toUTMKoordinate()
double
getUtmY()
Deprecated.neu:toUTMKoordinate()
int
getUTMZone()
Deprecated.neu:toUTMKoordinate()
static double
koordinateRunden(double wert)
Liefert einen gerundeten Koordinatenwert.UTMKoordinate
toUTMKoordinate()
Gibt die UTM-Koordinate zu diesem WGS84-Punkt zurück.
-
-
-
Field Detail
-
ERD_RADIUS_KM
public static final double ERD_RADIUS_KM
$Auml;quatorradius der Erde (6378,137 km).- See Also:
- Constant Field Values
-
GENAUIGKEIT_KOORDINATEN
public static final double GENAUIGKEIT_KOORDINATEN
Genauigkeit, mit der die Koordinaten verglichen werden.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
WGS84Punkt
public WGS84Punkt(double laenge, double breite)
Konstruktor für Punkt mit WGS84-Koordinaten in Dezimalnotation. Beispiel +4.354551 +50.839402 bedeutet 4°. 354551 O 50°. 839402 N- Parameters:
laenge
- Längebreite
- Breite
-
WGS84Punkt
public WGS84Punkt(WGS84Koordinate w)
Konstruktor.- Parameters:
w
- Koordinate
-
-
Method Detail
-
abstand
public static double abstand(WGS84Punkt p1, WGS84Punkt p2)
Abstandsberechnung zwischen 2 Punkten mit Näherungsformel (idealisierte Erdkugel). Formel: d=arccos(sin(X2)*sin(X1)+cos(X2)*cos(X1)*cos(Y2 - Y1)) * Erdradius- Parameters:
p1
- erster Punktp2
- zweiter Punkt- Returns:
- Abstand der Punkte in m
-
abstandExakt
public static double abstandExakt(WGS84Punkt p1, WGS84Punkt p2)
Abstandsberechnung zwischen 2 Punkten auf der Erdoberfläche mit exakter Formel. (Algorithmus: http://de.wikipedia.org/wiki/Orthodrome) b1 := Geografische Breite von Standort 1 l1 := Geografische Länge von Standort 1 b2 := Geografische Breite von Standort 2 l2 := Geografische Länge von Standort 2 f := Abplattung der Erde (1/298,257223563) a := Äquatorradius der Erde (6378,14 km) F := (b1+b2)/2 G := (b1-b2)/2 l := (l1-l2)/2 S := sin²(G)cos²(l) + cos²(F)sin²(l) C := cos²(G)cos²(l) + sin²(F)sin²(l) w := arctan(sqrt(S/C)) in rad R := sqrt(S*C)/w D := 2*w*a H1 := (3R-1)/(2C) H2 := (3R+1)/(2S) Abstand: s := D(1 + f*H1*sin²(F)cos²(G) - f*H2*cos²(F)sin²(G))- Parameters:
p1
- erster Punktp2
- zweiter Punkt- Returns:
- Abstand der Punkte in m
-
abstandKartesisch
public static double abstandKartesisch(WGS84Punkt p1, WGS84Punkt p2)
Berechnet den Abstand der Punkte auf der Basis der transformierten kartesischen Koordinaten.- Parameters:
p1
- erster Punktp2
- zweiter Punkt- Returns:
- Abstand der Punkte in m
-
koordinateRunden
public static double koordinateRunden(double wert)
Liefert einen gerundeten Koordinatenwert.- Parameters:
wert
- der Wert der gerundet werden soll- Returns:
- der gerundete Wert
-
compareTo
public int compareTo(WGS84Punkt p)
Vergleicht erst die Länge und dann die Breite der beiden Punkte.- Specified by:
compareTo
in interfacejava.lang.Comparable<WGS84Punkt>
-
equals
public boolean equals(java.lang.Object obj, double maxAbweichung)
Testet auf gleiche Punkte mit einer maximalen Abweichung.- Parameters:
obj
- ObjektmaxAbweichung
- max. zul. Abweichung- Returns:
- true wenn gleich sonst false
-
toUTMKoordinate
public UTMKoordinate toUTMKoordinate()
Gibt die UTM-Koordinate zu diesem WGS84-Punkt zurück.- Returns:
- die entsprechende UTM-Koordinate.
-
getUtmX
@Deprecated public double getUtmX()
Deprecated.neu:toUTMKoordinate()
Gibt die nach UTM transformierte x-Koordinate (Rechtswert) zurück.- Returns:
- kartesische x-Koordinate des Punktes
-
getUtmY
@Deprecated public double getUtmY()
Deprecated.neu:toUTMKoordinate()
Gibt die nach UTM transformierte y-Koordinate (Hochwert) zurück.- Returns:
- kartesische y-Koordinate des Punktes
-
getUTMZone
@Deprecated public int getUTMZone()
Deprecated.neu:toUTMKoordinate()
Gibt die Zone der UTM-Transformation an.- Returns:
- Zonen-Nummer
-
-