Package org.geotools.nature
Class SunRelativePosition
Object
SunRelativePosition
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:
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
|
![]() |
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
- Author:
- Remi Eve, Martin Desruisseaux (IRD)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
Elevation angle of astronomical twilight, in degrees.static final double
Elevation angle of civil twilight, in degrees.static final double
Elevation angle of nautical twilight, in degrees. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs a sun relative position calculator.SunRelativePosition
(double twilight) Constructs a sun relative position calculator with the specified value for the sun elevation at twilight. -
Method Summary
Modifier and TypeMethodDescriptiondouble
Retourne l'azimuth en degrés.getDate()
double
Retourne l'élévation en degrés.Retourne la date à laquelle le soleil est au plus haut dans la journée.long
Retourne l'heure à laquelle le soleil est au plus haut.double
Returns the sun's elevation angle at twilight, in degrees.static void
Affiche la position du soleil à la date et coordonnées spécifiée.void
setCoordinate
(double longitude, double latitude) void
setCoordinate
(Point2D point) void
void
setTwilight
(double twilight) Set the sun's elevation angle at twilight, in degrees.
-
Field Details
-
ASTRONOMICAL_TWILIGHT
public static final double ASTRONOMICAL_TWILIGHTElevation angle 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°).- See Also:
-
NAUTICAL_TWILIGHT
public static final double NAUTICAL_TWILIGHTElevation angle 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°).- See Also:
-
CIVIL_TWILIGHT
public static final double CIVIL_TWILIGHTElevation angle 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°).- See Also:
-
-
Constructor Details
-
SunRelativePosition
public SunRelativePosition()Constructs a sun relative position calculator. -
SunRelativePosition
Constructs a sun relative position calculator with the specified value for the sun elevation at twilight.- Parameters:
twilight
- The new sun elevation at twilight, orDouble.NaN
if no twilight value should be taken in account.- Throws:
IllegalArgumentException
- if the twilight value is illegal.
-
-
Method Details
-
setCoordinate
public void setCoordinate(double longitude, double latitude) - Parameters:
longitude
- The longitude in degrees. Positive values are East; negative values are West.latitude
- The latitude in degrees. Positive values are North, negative values are South.
-
setCoordinate
- Parameters:
point
- The geographic coordinates in degrees of longitude and latitude.
-
getCoordinate
Returns the coordinate used for elevation and azimuth computation. This is the coordinate specified during the last call to asetCoordinate(...)
method. -
setDate
- Parameters:
date
- The date and time.
-
getDate
Returns the date used for elevation and azimuth computation. This is the date specified during the last call tosetDate(java.util.Date)
. -
setTwilight
Set the sun's elevation angle at twilight, in degrees. Common values are defined for the astronomical twilight (-18°), nautical twilight (-12°) and civil twilight (-6°). The elevation and azimuth are set to NaN when the sun elevation is below the twilight value (i.e. during night). The default value isCIVIL_TWILIGHT
.- Parameters:
twilight
- The new sun elevation at twilight, orDouble.NaN
if no twilight value should be taken in account.- Throws:
IllegalArgumentException
- if the twilight value is illegal.
-
getTwilight
public double getTwilight()Returns the sun's elevation angle at twilight, in degrees. This is the value set during the last call tosetTwilight(double)
. -
getAzimuth
public double getAzimuth()Retourne l'azimuth en degrés.- Returns:
- L'azimuth en degrés.
-
getElevation
public double getElevation()Retourne l'élévation en degrés.- Returns:
- L'élévation en degrés.
-
getNoonTime
public long getNoonTime()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. -
getNoonDate
Retourne la date à laquelle le soleil est au plus haut dans la journée. Cette méthode est équivalente àgetNoonTime()
mais inclue le jour de la date qui avait été spécifiée à la méthodecompute()
. -
main
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.- Throws:
ParseException
-