public final class GeoTransformation
extends java.lang.Object
Eine Klasse zur Koordinatentransformation.
Modifier and Type | Field and Description |
---|---|
private static double |
_centralMeridian |
private static boolean |
_centralMeridianIsSetFromOutside |
private static double |
alpha
Einige Koeffizienten, die in arcLengthOfMeridian benutzt werden.
|
private static double |
alphaF
Einige Koeffizienten, die in footpointLatitude benutzt werden.
|
private static double |
beta |
private static double |
betaF |
private static double |
delta |
private static double |
deltaF |
private static double |
ep2 |
private static double |
epsilon |
private static double |
epsilonF |
private static double |
gamma |
private static double |
gammaF |
private static double |
n
Einige Größen des WGS84-Ellipsoiden
|
private static double |
n_power_3 |
private static double |
n_power_4 |
private static double |
n_power_5 |
private static double |
n_square |
private static double |
R_M
mittlerer Erdradius.
|
private static double |
UTM_SCALE_FACTOR
UTM-Skalierungsfaktor.
|
private static double |
WGS84_A
Ellipsoid Halbachse a.
|
private static double |
WGS84_B
Ellipsoid Halbachse b.
|
Modifier | Constructor and Description |
---|---|
private |
GeoTransformation()
privater Konstruktor.
|
Modifier and Type | Method and Description |
---|---|
private static double |
arcLengthOfMeridian(double phi)
Die Meridianbogenlänge
Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., GPS: Theory and Practice, 3rd ed.
|
private static double |
footpointLatitude(double y)
Die Fußpunkt-Breite.
|
private static void |
latLonToUTMXY(double lat,
double lon,
UTMCoordinate utm)
Umrechnung von WGS84-Länge und -Breite im Bogenmaß in eine UTM-Koordinate.
|
static double |
lengthOfCircleArc(double arc)
Berechnet die Länge des Kreisbogens auf der Erdoberfläche zu dem Winkel.
|
private static void |
mapLatLonToXY(double phi,
double lambda,
double lambda0,
UTMCoordinate utm)
Umrechnung von WGS84-Länge und -Breite im Bogenmaß in eine UTM-Koordinate, wobei der Zentralmeridian angegeben wird.
|
private static void |
mapXYToLatLon(double x,
double y,
double lambda0,
WGS84Coordinate wgs)
Berechnung einer WGS84-Koordinate (Länge/Breite) aus einem x- und y-Wert einer UTM-Koordinate unter Angabe des Zentralmeridians.
|
static void |
setCentralMeridianFromOutside(double centralMeridian)
Setzt den Zentralmeridian von außen und unterbindet damit die automatische interne Berechnung.
|
private static double |
uTMCentralMeridian(int zonep)
Berechnung des UTM-Zentralmeridians der entsprechenden UTM-Zone.
|
static WGS84Coordinate |
uTMToWGS84(UTMCoordinate utm)
Transformiert die UTM-Koordinaten nach WGS84.
|
private static void |
uTMXYToLatLon(UTMCoordinate utm,
boolean southhemi,
WGS84Coordinate wgs)
Berechnet eine WGS84-Koordinate (Länge/Breite) aus einer UTM-Koordinate.
|
static void |
wGS84ToUTM(double wgs84laenge,
double wgs84breite,
UTMCoordinate utm)
Projeziert eine WGS84-Koordinate nach UTM.
|
private static final double UTM_SCALE_FACTOR
UTM-Skalierungsfaktor.
private static final double WGS84_A
Ellipsoid Halbachse a.
private static final double WGS84_B
Ellipsoid Halbachse b.
private static final double R_M
mittlerer Erdradius.
private static final double n
Einige Größen des WGS84-Ellipsoiden
private static final double n_square
private static final double n_power_3
private static final double n_power_4
private static final double n_power_5
private static final double alpha
Einige Koeffizienten, die in arcLengthOfMeridian benutzt werden.
private static final double beta
private static final double gamma
private static final double delta
private static final double epsilon
private static final double alphaF
Einige Koeffizienten, die in footpointLatitude benutzt werden.
private static final double betaF
private static final double gammaF
private static final double deltaF
private static final double epsilonF
private static final double ep2
private static boolean _centralMeridianIsSetFromOutside
private static double _centralMeridian
private static double arcLengthOfMeridian(double phi)
Die Meridianbogenlänge
Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., GPS: Theory and Practice, 3rd ed. New York: Springer-Verlag Wien, 1994.
phi
- Breite des Punkts im Bogenmaßprivate static double footpointLatitude(double y)
Die Fußpunkt-Breite.
Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., GPS: Theory and Practice, 3rd ed. New York: Springer-Verlag Wien, 1994.
y
- Der UTM-Hochwert.private static void latLonToUTMXY(double lat, double lon, UTMCoordinate utm)
Umrechnung von WGS84-Länge und -Breite im Bogenmaß in eine UTM-Koordinate. Der Zentralmeridian wird aus der Zone der UTM-Koordinate berechnet.
lat
- Die Breite im Bogenmaß.lon
- Die Länge im Bogenmaß.private static void mapLatLonToXY(double phi, double lambda, double lambda0, UTMCoordinate utm)
Umrechnung von WGS84-Länge und -Breite im Bogenmaß in eine UTM-Koordinate, wobei der Zentralmeridian angegeben wird.
Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., GPS: Theory and Practice, 3rd ed. New York: Springer-Verlag Wien, 1994.
phi
- Die Breite im Bogenmaß.lambda
- Die Längee im Bogenmaß.lambda0
- Länge des Zentralmeridians im Bogenmaß.private static void mapXYToLatLon(double x, double y, double lambda0, WGS84Coordinate wgs)
Berechnung einer WGS84-Koordinate (Länge/Breite) aus einem x- und y-Wert einer UTM-Koordinate unter Angabe des Zentralmeridians.
Reference: Hoffmann-Wellenhof, B., Lichtenegger, H., and Collins, J., GPS: Theory and Practice, 3rd ed. New York: Springer-Verlag Wien, 1994.
x
- Der Rechtswert in Metern.y
- Der Hochwert in Metern.lambda0
- Länge des Zentralmeridians im Bogenmaß.private static double uTMCentralMeridian(int zonep)
Berechnung des UTM-Zentralmeridians der entsprechenden UTM-Zone.
zonep
- Eine ganze Zahl aus [1,60].public static void setCentralMeridianFromOutside(double centralMeridian)
Setzt den Zentralmeridian von außen und unterbindet damit die automatische interne Berechnung.
centralMeridian
- der neue Zentralmeridianpublic static WGS84Coordinate uTMToWGS84(UTMCoordinate utm)
Transformiert die UTM-Koordinaten nach WGS84.
utm
- Koordinaten in UTMprivate static void uTMXYToLatLon(UTMCoordinate utm, boolean southhemi, WGS84Coordinate wgs)
Berechnet eine WGS84-Koordinate (Länge/Breite) aus einer UTM-Koordinate.
x
- Der Rechtswert in Metern.y
- Der Hochwert in Metern.utmzone
- Die UTM-Zone des Punktes.southhemi
- True, falls der Punkt auf der Südhalbkugel liegt.public static void wGS84ToUTM(double wgs84laenge, double wgs84breite, UTMCoordinate utm)
Projeziert eine WGS84-Koordinate nach UTM.
wgs84laenge
- geographische Länge in Dezimalgradwgs84breite
- geographische Breite in Dezimalgradpublic static double lengthOfCircleArc(double arc)
Berechnet die Länge des Kreisbogens auf der Erdoberfläche zu dem Winkel.
arc
- Winkel in Grad