|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectucar.unidata.geoloc.Bearing
public class Bearing
Computes the distance, azimuth, and back azimuth between two lat-lon positions on the Earth's surface. Reference ellipsoid is the WGS-84. You may use a default Earth (equator radius = 6378137.0 meters, flattening = 1.0 / 298.257223563) or you may define your own using a ucar.unidata.geoloc.Earth object.
Constructor Summary | |
---|---|
Bearing()
|
Method Summary | |
---|---|
static Bearing |
calculateBearing(double lat1,
double lon1,
double lat2,
double lon2,
Bearing result)
Computes distance (in km), azimuth (degrees clockwise positive from North, 0 to 360), and back azimuth (degrees clockwise positive from North, 0 to 360), from latitude-longituide point pt1 to latitude-longituide pt2. |
static Bearing |
calculateBearing(Earth e,
double lat1,
double lon1,
double lat2,
double lon2,
Bearing result)
Computes distance (in km), azimuth (degrees clockwise positive from North, 0 to 360), and back azimuth (degrees clockwise positive from North, 0 to 360), from latitude-longituide point pt1 to latitude-longituide pt2. |
static Bearing |
calculateBearing(Earth e,
LatLonPoint pt1,
LatLonPoint pt2,
Bearing result)
Calculate the bearing between the 2 points. |
static Bearing |
calculateBearing(LatLonPoint pt1,
LatLonPoint pt2,
Bearing result)
Calculate the bearing between the 2 points. |
static LatLonPointImpl |
findPoint(double lat1,
double lon1,
double az,
double dist,
LatLonPointImpl result)
Calculate a position given an azimuth and distance from another point. |
static LatLonPointImpl |
findPoint(Earth e,
double lat1,
double lon1,
double az,
double dist,
LatLonPointImpl result)
Calculate a position given an azimuth and distance from another point. |
static LatLonPointImpl |
findPoint(Earth e,
LatLonPoint pt1,
double az,
double dist,
LatLonPointImpl result)
Calculate a position given an azimuth and distance from another point. |
static LatLonPointImpl |
findPoint(LatLonPoint pt1,
double az,
double dist,
LatLonPointImpl result)
Calculate a position given an azimuth and distance from another point. |
double |
getAngle()
Get the azimuth in degrees, 0 = north, clockwise positive |
double |
getBackAzimuth()
Get the back azimuth in degrees, 0 = north, clockwise positive |
double |
getDistance()
Get the distance in kilometers |
static void |
main(String[] args)
Test the calculations - forward and back |
String |
toString()
Nice format. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Bearing()
Method Detail |
---|
public static Bearing calculateBearing(Earth e, LatLonPoint pt1, LatLonPoint pt2, Bearing result)
e
- Earth object (defines radius & flattening)pt1
- Point 1pt2
- Point 2result
- Object to use if non-null
public static Bearing calculateBearing(LatLonPoint pt1, LatLonPoint pt2, Bearing result)
pt1
- Point 1pt2
- Point 2result
- Object to use if non-null
public static Bearing calculateBearing(double lat1, double lon1, double lat2, double lon2, Bearing result)
lat1
- Lat of point 1lon1
- Lon of point 1lat2
- Lat of point 2lon2
- Lon of point 2result
- put result here, or null to allocate
public static Bearing calculateBearing(Earth e, double lat1, double lon1, double lat2, double lon2, Bearing result)
Algorithm from U.S. National Geodetic Survey, FORTRAN program "inverse," subroutine "INVER1," by L. PFEIFER and JOHN G. GERGEN. See http://www.ngs.noaa.gov/TOOLS/Inv_Fwd/Inv_Fwd.html
Original documentation:
SOLUTION OF THE GEODETIC INVERSE PROBLEM AFTER T.VINCENTY
MODIFIED RAINSFORD'S METHOD WITH HELMERT'S ELLIPTICAL TERMS
EFFECTIVE IN ANY AZIMUTH AND AT ANY DISTANCE SHORT OF ANTIPODAL
STANDPOINT/FOREPOINT MUST NOT BE THE GEOGRAPHIC POLE
e
- Earth object (defines radius and flattening)lat1
- Lat of point 1lon1
- Lon of point 1lat2
- Lat of point 2lon2
- Lon of point 2result
- put result here, or null to allocate
public double getAngle()
public double getBackAzimuth()
public double getDistance()
public String toString()
toString
in class Object
public static void main(String[] args)
args
- non usedpublic static LatLonPointImpl findPoint(Earth e, LatLonPoint pt1, double az, double dist, LatLonPointImpl result)
e
- Earth object (defines radius and flattening)pt1
- Point 1az
- azimuth (degrees)dist
- distance from the point (km)result
- Object to use if non-null
findPoint(double,double,double,double,LatLonPointImpl)
public static LatLonPointImpl findPoint(LatLonPoint pt1, double az, double dist, LatLonPointImpl result)
pt1
- Point 1az
- azimuth (degrees)dist
- distance from the point (km)result
- Object to use if non-null
findPoint(double,double,double,double,LatLonPointImpl)
public static LatLonPointImpl findPoint(double lat1, double lon1, double az, double dist, LatLonPointImpl result)
lat1
- latitude of starting pointlon1
- longitude of starting pointaz
- forward azimuth (degrees)dist
- distance from the point (km)result
- Object to use if non-null
public static LatLonPointImpl findPoint(Earth e, double lat1, double lon1, double az, double dist, LatLonPointImpl result)
Original documentation:
SOLUTION OF THE GEODETIC DIRECT PROBLEM AFTER T.VINCENTY MODIFIED RAINSFORD'S METHOD WITH HELMERT'S ELLIPTICAL TERMS EFFECTIVE IN ANY AZIMUTH AND AT ANY DISTANCE SHORT OF ANTIPODAL
e
- Earth object (defines radius and flattening)lat1
- latitude of starting pointlon1
- longitude of starting pointaz
- forward azimuth (degrees)dist
- distance from the point (km)result
- Object to use if non-null
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |