public final class GeoTransformation extends Object
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
private static final double WGS84_A
private static final double WGS84_B
private static final double R_M
private static final double n
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
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
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)
phi
- Breite des Punkts im Bogenmaßprivate static double footpointLatitude(double y)
y
- Der UTM-Hochwert.private static void latLonToUTMXY(double lat, double lon, UTMCoordinate utm)
lat
- Die Breite im Bogenmaß.lon
- Die Länge im Bogenmaß.private static void mapLatLonToXY(double phi, double lambda, double lambda0, UTMCoordinate utm)
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)
x
- Der Rechtswert in Metern.y
- Der Hochwert in Metern.lambda0
- Länge des Zentralmeridians im Bogenmaß.private static double uTMCentralMeridian(int zonep)
zonep
- Eine ganze Zahl aus [1,60].public static void setCentralMeridianFromOutside(double centralMeridian)
centralMeridian
- der neue Zentralmeridianpublic static WGS84Coordinate uTMToWGS84(UTMCoordinate utm)
utm
- Koordinaten in UTMprivate static void uTMXYToLatLon(UTMCoordinate utm, boolean southhemi, WGS84Coordinate wgs)
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)
wgs84laenge
- geographische Länge in Dezimalgradwgs84breite
- geographische Breite in Dezimalgradpublic static double lengthOfCircleArc(double arc)
arc
- Winkel in Grad