|
KosherJava Zmanim Homepage | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sourceforge.zmanim.util.GeoLocation
public class GeoLocation
A class that contains location information such as latitude and longitude
required for astronomical calculations. The elevation field is not used by
most calculation engines and would be ignored if set. Check the documentation
for specific implementations of the AstronomicalCalculator
to see if
elevation is calculated as part o the algorithm.
Constructor Summary | |
---|---|
GeoLocation()
Default GeoLocation constructor will set location to the Prime Meridian at Greenwich, England and a TimeZone of GMT. |
|
GeoLocation(String name,
double latitude,
double longitude,
double elevation,
TimeZone timeZone)
GeoLocation constructor with parameters for all required fields. |
|
GeoLocation(String name,
double latitude,
double longitude,
TimeZone timeZone)
GeoLocation constructor with parameters for all required fields. |
Method Summary | |
---|---|
Object |
clone()
An implementation of the Object.clone() method that
creates a deep copy
of the object. |
boolean |
equals(Object object)
|
double |
getElevation()
Method to get the elevation in Meters. |
double |
getGeodesicDistance(GeoLocation location)
Calculate geodesic distance in Meters between this Object and a second Object passed to this method using Thaddeus Vincenty's inverse formula See T Vincenty, "Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations", Survey Review, vol XXII no 176, 1975 |
double |
getGeodesicFinalBearing(GeoLocation location)
Calculate the final geodesic bearing between this Object and a second Object passed to this method using Thaddeus Vincenty's inverse formula See T Vincenty, "Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations", Survey Review, vol XXII no 176, 1975 |
double |
getGeodesicInitialBearing(GeoLocation location)
Calculate the initial geodesic bearing between this Object and a second Object passed to this method using Thaddeus Vincenty's inverse formula See T Vincenty, "Direct and Inverse Solutions of Geodesics on the Ellipsoid with application of nested equations", Survey Review, vol XXII no 176, 1975 |
double |
getLatitude()
|
long |
getLocalMeanTimeOffset()
A method that will return the location's local mean time offset in milliseconds from local standard time. |
String |
getLocationName()
|
double |
getLongitude()
|
double |
getRhumbLineBearing(GeoLocation location)
Returns the rhumb line bearing from the current location to the GeoLocation passed in. |
double |
getRhumbLineDistance(GeoLocation location)
Returns the rhumb line distance from the current location to the GeoLocation passed in. |
TimeZone |
getTimeZone()
|
int |
hashCode()
|
void |
setElevation(double elevation)
Method to set the elevation in Meters above sea level. |
void |
setLatitude(double latitude)
Method to set the latitude. |
void |
setLatitude(int degrees,
int minutes,
double seconds,
String direction)
Method to set the latitude in degrees, minutes and seconds. |
void |
setLocationName(String name)
|
void |
setLongitude(double longitude)
Method to set the longitude in a double format. |
void |
setLongitude(int degrees,
int minutes,
double seconds,
String direction)
Method to set the longitude in degrees, minutes and seconds. |
void |
setTimeZone(TimeZone timeZone)
Method to set the TimeZone. |
String |
toString()
|
String |
toXML()
A method that returns an XML formatted String representing
the serialized Object . |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public GeoLocation(String name, double latitude, double longitude, TimeZone timeZone)
name
- The location name for display use such as "Lakewood,
NJ"latitude
- the latitude in a double format such as 40.095965 for
Lakewood, NJ longitude
- double the longitude in a double format such as -74.222130 for
Lakewood, NJ. timeZone
- the TimeZone
for the location.public GeoLocation(String name, double latitude, double longitude, double elevation, TimeZone timeZone)
name
- The location name for display use such as "Lakewood,
NJ"latitude
- the latitude in a double format such as 40.095965 for
Lakewood, NJ longitude
- double the longitude in a double format such as -74.222130 for
Lakewood, NJ. elevation
- the elevation above sea level in Meters. Elevation is not used
in most algorithms used for calculating sunrise and set.timeZone
- the TimeZone
for the location.public GeoLocation()
Method Detail |
---|
public double getElevation()
public void setElevation(double elevation)
elevation
- The elevation to set in Meters. An IllegalArgumentException
will be thrown if the value is a negative.public void setLatitude(double latitude)
latitude
- The degrees of latitude to set. The values should be between
-90° and 90°. An IllegalArgumentException will be
thrown if the value exceeds the limit. For example 40.095965
would be used for Lakewood, NJ. Note: For latitudes south of the
equator, a negative value should be used.public void setLatitude(int degrees, int minutes, double seconds, String direction)
degrees
- The degrees of latitude to set between -90 and 90. An
IllegalArgumentException will be thrown if the value exceeds
the limit. For example 40 would be used for Lakewood, NJ.minutes
- minutes of arcseconds
- seconds of arcdirection
- N for north and S for south. An IllegalArgumentException will
be thrown if the value is not S or N.public double getLatitude()
public void setLongitude(double longitude)
longitude
- The degrees of longitude to set in a double format between
-180° and 180°. An IllegalArgumentException will be
thrown if the value exceeds the limit. For example -74.2094
would be used for Lakewood, NJ. Note: for longitudes east of
the Prime
Meridian (Greenwich) a negative value should be used.public void setLongitude(int degrees, int minutes, double seconds, String direction)
degrees
- The degrees of longitude to set between -180 and 180. An
IllegalArgumentException will be thrown if the value exceeds
the limit. For example -74 would be used for Lakewood, NJ.
Note: for longitudes east of the Prime
Meridian (Greenwich) a negative value should be used.minutes
- minutes of arcseconds
- seconds of arcdirection
- E for east of the Prime Meridian or W for west of it. An
IllegalArgumentException will be thrown if the value is not E
or W.public double getLongitude()
public String getLocationName()
public void setLocationName(String name)
name
- The setter method for the display name.public TimeZone getTimeZone()
public void setTimeZone(TimeZone timeZone)
AstronomicalCalendar
, it is
critical that
AstronomicalCalendar.getCalendar()
.setTimeZone(TimeZone)
be called in order for the AstronomicalCalendar to output times in the
expected offset. This situation will arise if the AstronomicalCalendar is
ever cloned
.
timeZone
- The timeZone to set.public long getLocalMeanTimeOffset()
noon
(with adjustment for the equation of time)
the sun should be directly overhead, so a user who is 1° west of this
will have noon at 4 minutes after standard time noon, and conversely, a
user who is 1° east of the 15° longitude will have noon at 11:56
AM. The offset returned does not account for the Daylight saving
time offset since this class is unaware of dates.
public double getGeodesicInitialBearing(GeoLocation location)
location
- the destination locationpublic double getGeodesicFinalBearing(GeoLocation location)
location
- the destination locationpublic double getGeodesicDistance(GeoLocation location)
location
- the destination locationpublic double getRhumbLineBearing(GeoLocation location)
location
- destination location
public double getRhumbLineDistance(GeoLocation location)
location
- the destination location
public String toXML()
String
representing
the serialized Object
. Very similar to the toString
method but the return value is in an xml format. The format currently
used (subject to change) is:
<GeoLocation> <LocationName>Lakewood, NJ</LocationName> <Latitude>40.0828°</Latitude> <Longitude>-74.2094°</Longitude> <Elevation>0 Meters</Elevation> <TimezoneName>America/New_York</TimezoneName> <TimeZoneDisplayName>Eastern Standard Time</TimeZoneDisplayName> <TimezoneGMTOffset>-5</TimezoneGMTOffset> <TimezoneDSTOffset>1</TimezoneDSTOffset> </GeoLocation>
String
.public boolean equals(Object object)
equals
in class Object
Object.equals(Object)
public int hashCode()
hashCode
in class Object
Object.hashCode()
public String toString()
toString
in class Object
Object.toString()
public Object clone()
Object.clone()
method that
creates a deep copy
of the object. TimeZone
in
the clone will be changed from the original, it is critical that
AstronomicalCalendar.getCalendar()
.setTimeZone(TimeZone)
is called after cloning in order for the AstronomicalCalendar to output
times in the expected offset.
clone
in class Object
Object.clone()
|
KosherJava Zmanim Homepage | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |