TheWayOut 2008

de.thewayout.o8.api
Class Coordinates

java.lang.Object
  extended by de.thewayout.o8.api.BaseObject
      extended by de.thewayout.o8.api.Coordinates

public class Coordinates
extends BaseObject

Eine kleine mathematische Hilfsklasse zum Rechnen mit Winkeln, Bogenmass und Pixeln.

Author:
ObjectFab GmbH

Field Summary
static double DISTANCE_INVALID
           
static double DISTANCE_NO_LAND_DETECTED
           
 
Constructor Summary
Coordinates()
           
 
Method Summary
static double degToRad(double degree)
          Rechnet Gradzahlen in Bogenmass (Radiant) um.
static boolean isValidLatitude(double latitude)
          Überprueft ob der uebergebene Breitengrad valide ist, er also im Bereich [-PI/2; PI/2] liegt.
static boolean isValidLongitude(double longitude)
          Überprueft ob der uebergebene Längengrad valide ist, er also im Bereich [-PI; PI[ liegt.
static double radToDeg(double rad)
          Rechnet Radiant Werte in Gradzahlen um.
static double round(double number, int precision)
          Rundet eine Zahl auf n Stellen nach dem Komma.
static double shiftDeg(double degree)
          Verschiebt eine Gradzahl, so dass sie in den Bereich [-180; 180[ passt.
static double shiftDegToPositiveRange(double degree)
          Verschiebt eine Gradzahl in den positiven Bereich [0;360[.
static double shiftRad(double rad)
          Verschiebt einen Radiant Wert in den Bereich [-PI;PI[.
static double shiftRadLongitudeToPositiveRange(double rad)
          Verschiebt einen Radiant Wert in den Bereich [0; 2*PI[.
static double transformX2Longitude(int x, int width)
          Rechnet eine horizontale Pixelposition in einen Längengrad um.
static double transformY2Latitude(int y, int height)
          Rechnet eine vertikale Pixelposition in einen Breitengrad um.
 
Methods inherited from class de.thewayout.o8.api.BaseObject
areNotNull, createList, isEmpty, isEmpty, isEmpty, isEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotEmpty, isNotNull, isNull
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DISTANCE_INVALID

public static final double DISTANCE_INVALID
See Also:
Constant Field Values

DISTANCE_NO_LAND_DETECTED

public static final double DISTANCE_NO_LAND_DETECTED
See Also:
Constant Field Values
Constructor Detail

Coordinates

public Coordinates()
Method Detail

degToRad

public static double degToRad(double degree)
Rechnet Gradzahlen in Bogenmass (Radiant) um.

Parameters:
degree - ein Grad (kann +/-360 DEG übersteigen)
Returns:
ein Radiant im Bereich [-PI;PI[

shiftDeg

public static double shiftDeg(double degree)
Verschiebt eine Gradzahl, so dass sie in den Bereich [-180; 180[ passt.

Parameters:
degree - eine Gradzahl
Returns:
degree eine Gradzahl im Bereich [-180; 180[

shiftDegToPositiveRange

public static double shiftDegToPositiveRange(double degree)
Verschiebt eine Gradzahl in den positiven Bereich [0;360[.

Parameters:
degree - Gradzahl
Returns:
Gradzahl im Bereich [0;360[

transformY2Latitude

public static double transformY2Latitude(int y,
                                         int height)
Rechnet eine vertikale Pixelposition in einen Breitengrad um.

Parameters:
y - vertikale Position des Pixel (0 == oben; height-1 == unten)
height - Gesamthöhe des Bildes
Returns:
Breitengrad im Bereich [PI/2; -PI/2]

transformX2Longitude

public static double transformX2Longitude(int x,
                                          int width)
Rechnet eine horizontale Pixelposition in einen Längengrad um.

Parameters:
x - horizontale Position des Pixel (0 == links, totalPixelcountHorizontal-1 == rechts)
width - Gesamtbreite des Bildes
Returns:
der Längengrad im Bereich [-PI; PI]

shiftRad

public static double shiftRad(double rad)
Verschiebt einen Radiant Wert in den Bereich [-PI;PI[.

Parameters:
rad - Radiant Wert
Returns:
Radiant Wert im Bereich [-PI;PI[

shiftRadLongitudeToPositiveRange

public static double shiftRadLongitudeToPositiveRange(double rad)
Verschiebt einen Radiant Wert in den Bereich [0; 2*PI[.

Parameters:
rad - ein Radiant Wert
Returns:
ein Radiant Wert im Bereich [0;2*PI[

radToDeg

public static double radToDeg(double rad)
Rechnet Radiant Werte in Gradzahlen um.

Parameters:
rad - ein Radiant (kann +/- 2*PI übersteigen)
Returns:
eine Gradzahl im Bereich [-180;180[

isValidLatitude

public static boolean isValidLatitude(double latitude)
Überprueft ob der uebergebene Breitengrad valide ist, er also im Bereich [-PI/2; PI/2] liegt.

Parameters:
latitude - Breitengrad (Radiant)
Returns:
wahr wenn der Breitengrad im Bereich [-PI/2; PI/2] liegt, sonst falsch

isValidLongitude

public static boolean isValidLongitude(double longitude)
Überprueft ob der uebergebene Längengrad valide ist, er also im Bereich [-PI; PI[ liegt.

Achtung: Während Breitengrade geografisch wirklich auf Nord- und Südpol limitiert sind, können Längengrade den Wertebereich überschreiten, da eine Bewegung Richtung Ost oder West immer möglich ist.
In 80 * 4,5 Grad um die Welt.

Parameters:
longitude - Längengrad (Radiant)
Returns:
wahr wenn der Längengrad im Bereich [-PI; PI[ liegt, sonst falsch (+PI liegt ausserhalb des zugelassenen Wertebereiches, da dieser Längengrad identisch mit dem Längengrad an Stelle -PI ist)

round

public static double round(double number,
                           int precision)
Rundet eine Zahl auf n Stellen nach dem Komma.

Parameters:
number - Ausgangszahl
precision - Genauigkeit, also die Anzahl der Stellen nach dem Komma
Returns:
der gerundete Wert

© ObjectFab GmbH 2008