edu.sc.seis.TauP
Class SphericalCoords
java.lang.Object
|
+--edu.sc.seis.TauP.SphericalCoords
- public class SphericalCoords
- extends java.lang.Object
Utility class for spherical coordinate (lat-lon) transformations. Given
lat, lon, lat, lon you can find the distance or azimuth and
given lat, lon, distance, azimuth you can find the lat lon of the resultant
point. Just uses spherical relations, no ellpticity correction is applied.
See Appendix A of "Seismology and Plate Tectonics" by David Gubbins
Cambridge University Press, 1990
and
Chapter 3 of "Plate Tectonics: How it Works"
by Allan Cox and Robert Brian Hart
Blackwell Scientific Publications, 1986
Method Summary |
static double |
azimuth(double latA,
double lonA,
double latB,
double lonB)
Calculates azimuth between two lat lon pairs. |
static double |
distance(double latA,
double lonA,
double latB,
double lonB)
Calculates angular distance between two lat lon pairs. |
static double |
latFor(double latA,
double lonA,
double distance,
double azimuth)
Calculates the latitude of a point a given distance along a given
azimuth from a starting lat lon. |
static double |
lonFor(double latA,
double lonA,
double distance,
double azimuth)
Calculates the longitude of a point a given distance along a given
azimuth from a starting lat lon. |
static void |
main(java.lang.String[] args)
|
static double[] |
rotate(double latA,
double lonA,
double[] pole,
double angleDeg)
rotates a point about a pole by an angle. |
static double[] |
rotationPole(double latA,
double lonA,
double latB,
double lonB)
Find the rotation pole required to rotate the first lat lon pair to
the second. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SphericalCoords
public SphericalCoords()
distance
public static double distance(double latA,
double lonA,
double latB,
double lonB)
- Calculates angular distance between two lat lon pairs.
azimuth
public static double azimuth(double latA,
double lonA,
double latB,
double lonB)
- Calculates azimuth between two lat lon pairs.
rotationPole
public static double[] rotationPole(double latA,
double lonA,
double latB,
double lonB)
- Find the rotation pole required to rotate the first lat lon pair to
the second. Just does a cross product.
rotate
public static double[] rotate(double latA,
double lonA,
double[] pole,
double angleDeg)
- rotates a point about a pole by an angle.
- Parameters:
pole
- is a 3 element double array with X, Y and Z components of
the pole.
latFor
public static double latFor(double latA,
double lonA,
double distance,
double azimuth)
- Calculates the latitude of a point a given distance along a given
azimuth from a starting lat lon.
lonFor
public static double lonFor(double latA,
double lonA,
double distance,
double azimuth)
- Calculates the longitude of a point a given distance along a given
azimuth from a starting lat lon.
main
public static void main(java.lang.String[] args)