| java.lang.Object org.geotools.nature.SunRelativePosition
SunRelativePosition | public class SunRelativePosition (Code) | | Calcule la position du soleil relativement à la position de l'observateur.
Cette classe reçoit en entrés les coordonnées spatio-temporelles de
l'observateur, soit:
- La longitude (en degrées) de l'observateur;
- La latitude (en degrées) de l'observateur;
- La date et heure en heure universelle (GMT).
La position du soleil calculée en sortie comprend les valeurs suivantes:
- L'azimuth du soleil (en degrés dans le sens des aiguilles d'une montre depuis le nord);
- L'élévation du soleil (en degrés par rapport a l'horizon).
|
|
Les algorithmes utilisés dans cette classe sont des adaptations des algorithmes
en javascript écrit par le "National Oceanic and Atmospheric Administration,
Surface Radiation Research Branch". L'application original est le
Solar Position Calculator.
The approximations used in these programs are very good for years between
1800 and 2100. Results should still be sufficiently accurate for the range
from -1000 to 3000. Outside of this range, results will be given, but the
potential for error is higher.
since: 2.1 version: $Id: SunRelativePosition.java 20874 2006-08-07 10:00:01Z jgarnett $ author: Remi Eve author: Martin Desruisseaux |
Constructor Summary | |
public | SunRelativePosition() Constructs a sun relative position calculator. | public | SunRelativePosition(double twilight) Constructs a sun relative position calculator with the specified value
for the
. |
Method Summary | |
public double | getAzimuth() Retourne l'azimuth en degrés. | public Point2D | getCoordinate() Returns the coordinate used for
and
computation. | public Date | getDate() Returns the date used for
and
computation. | public double | getElevation() Retourne l'élévation en degrés. | public Date | getNoonDate() Retourne la date à laquelle le soleil est au plus haut dans la journée. | public long | getNoonTime() Retourne l'heure à laquelle le soleil est au plus haut. | public double | getTwilight() Returns the sun's
at twilight, in degrees. | public static void | main(String[] args) Affiche la position du soleil à la date et coordonnées spécifiée. | public void | setCoordinate(double longitude, double latitude) Set the geographic coordinate where to compute the
and
.
Parameters: longitude - The longitude in degrees. | public void | setCoordinate(Point2D point) Set the geographic coordinate where to compute the
and
. | public void | setDate(Date date) Set the date and time when to compute the
and
. | public void | setTwilight(double twilight) Set the sun's
at twilight, in degrees.
Common values are defined for the
(-18°),
(-12°) and
(-6°).
The
and
are
set to
when the sun elevation is below the twilight
value (i.e. |
ASTRONOMICAL_TWILIGHT | final public static double ASTRONOMICAL_TWILIGHT(Code) | | of astronomical twilight, in degrees.
Astronomical twilight is the time of morning or evening when the sun is 18° below
the horizon (solar elevation angle of -18°).
|
CIVIL_TWILIGHT | final public static double CIVIL_TWILIGHT(Code) | | of civil twilight, in degrees. Civil
twilight is the time of morning or evening when the sun is 6° below the horizon
(solar elevation angle of -6°).
|
NAUTICAL_TWILIGHT | final public static double NAUTICAL_TWILIGHT(Code) | | of nautical twilight, in degrees.
Nautical twilight is the time of morning or evening when the sun is 12° below
the horizon (solar elevation angle of -12°).
|
SunRelativePosition | public SunRelativePosition()(Code) | | Constructs a sun relative position calculator.
|
SunRelativePosition | public SunRelativePosition(double twilight) throws IllegalArgumentException(Code) | | Constructs a sun relative position calculator with the specified value
for the
.
Parameters: twilight - The new sun elevation at twilight, or Double.NaNif no twilight value should be taken in account. throws: IllegalArgumentException - if the twilight value is illegal. |
getAzimuth | public double getAzimuth()(Code) | | Retourne l'azimuth en degrés.
L'azimuth en degrés. |
getElevation | public double getElevation()(Code) | | Retourne l'élévation en degrés.
L'élévation en degrés. |
getNoonTime | public long getNoonTime()(Code) | | Retourne l'heure à laquelle le soleil est au plus haut. L'heure est
retournée en nombre de millisecondes écoulées depuis le debut de la
journée (minuit) en heure UTC.
|
main | public static void main(String[] args) throws ParseException(Code) | | Affiche la position du soleil à la date et coordonnées spécifiée.
Cette application peut être lancée avec la syntaxe suivante:
SunRelativePosition [longitude] [latitude] [date]
où date est un argument optionel spécifiant la date et l'heure.
Si cet argument est omis, la date et heure actuelles seront utilisées.
|
setCoordinate | public void setCoordinate(double longitude, double latitude)(Code) | | Set the geographic coordinate where to compute the
and
.
Parameters: longitude - The longitude in degrees. Positive values are East; negative values are West. Parameters: latitude - The latitude in degrees. Positive values are North, negative values are South. |
setCoordinate | public void setCoordinate(Point2D point)(Code) | | Set the geographic coordinate where to compute the
and
.
Parameters: point - The geographic coordinates in degrees of longitude and latitude. |
setDate | public void setDate(Date date)(Code) | | Set the date and time when to compute the
and
.
Parameters: date - The date and time. |
setTwilight | public void setTwilight(double twilight) throws IllegalArgumentException(Code) | | Set the sun's
at twilight, in degrees.
Common values are defined for the
(-18°),
(-12°) and
(-6°).
The
and
are
set to
when the sun elevation is below the twilight
value (i.e. during night). The default value is
SunRelativePosition.CIVIL_TWILIGHT .
Parameters: twilight - The new sun elevation at twilight, or Double.NaNif no twilight value should be taken in account. throws: IllegalArgumentException - if the twilight value is illegal. |
|
|