org.cresques.cts

## Class GeoCalc

• ```public class GeoCalc
extends Object```
Operaciones relacionadas con las proyecciones y sistemas de coordenadas. cmartinez: Esta clase no debería formar parte de una API, pero se deja hasta que se aborde el refactoring de libProjection.
• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`protected class ` `GeoCalc.GeoData`
• ### Constructor Summary

Constructors
Constructor and Description
`GeoCalc(IProjection proj)`
• ### Method Summary

Methods
Modifier and Type Method and Description
`protected GeoCalc.GeoData` ```distanceAzimutVincenty(Point2D pt1, Point2D pt2)```
Returns the distance between two geographic points on the ellipsoid and the forward and reverse azimuths between these points.
`double` ```distanceEli(Point2D pt1, Point2D pt2)```
`double` ```distanceGeo(Point2D pt1, Point2D pt2)```
`double` ```distanceVincenty(Point2D pt1, Point2D pt2)```
Algrothims from Geocentric Datum of Australia Technical Manual http://www.anzlic.org.au/icsm/gdatum/chapter4.html This page last updated 11 May 1999 Computations on the Ellipsoid There are a number of formulae that are available to calculate accurate geodetic positions, azimuths and distances on the ellipsoid.
`protected GeoCalc.GeoData` ```getPointVincenty(Point2D pt, double azimut, double dist)```
Returns the lat and long of projected point and reverse azimuth given a reference point and a distance and azimuth to project.
`double` ```surfaceSphere(Point2D pt1, Point2D pt2, Point2D pt3)```
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Constructor Detail

• #### GeoCalc

`public GeoCalc(IProjection proj)`
Parameters:
`proj` -
• ### Method Detail

• #### distanceGeo

```public double distanceGeo(Point2D pt1,
Point2D pt2)```
• #### distanceEli

```public double distanceEli(Point2D pt1,
Point2D pt2)```
• #### distanceVincenty

```public double distanceVincenty(Point2D pt1,
Point2D pt2)```
Algrothims from Geocentric Datum of Australia Technical Manual http://www.anzlic.org.au/icsm/gdatum/chapter4.html This page last updated 11 May 1999 Computations on the Ellipsoid There are a number of formulae that are available to calculate accurate geodetic positions, azimuths and distances on the ellipsoid. Vincenty's formulae (Vincenty, 1975) may be used for lines ranging from a few cm to nearly 20,000 km, with millimetre accuracy. The formulae have been extensively tested for the Australian region, by comparison with results from other formulae (Rainsford, 1955 & Sodano, 1965). * Inverse problem: azimuth and distance from known latitudes and longitudes * Direct problem: Latitude and longitude from known position, azimuth and distance. * Sample data * Excel spreadsheet Vincenty's Inverse formulae Given: latitude and longitude of two points (phi1, lembda1 and phi2, lembda2), Calculate: the ellipsoidal distance (s) and forward and reverse azimuths between the points (alpha12, alpha21).
• #### distanceAzimutVincenty

```protected GeoCalc.GeoData distanceAzimutVincenty(Point2D pt1,
Point2D pt2)```
Returns the distance between two geographic points on the ellipsoid and the forward and reverse azimuths between these points. lats, longs and azimuths are in decimal degrees, distance in metres Returns ( s, alpha12, alpha21 ) as a tuple
Parameters:
`pt1` -
`pt2` -
Returns:
• #### getPointVincenty

```protected GeoCalc.GeoData getPointVincenty(Point2D pt,
double azimut,
double dist)```
Returns the lat and long of projected point and reverse azimuth given a reference point and a distance and azimuth to project. lats, longs and azimuths are passed in decimal degrees. Returns ( phi2, lambda2, alpha21 ) as a tuple
Parameters:
`pt` -
`azimut` -
`dist` -
Returns:
• #### surfaceSphere

```public double surfaceSphere(Point2D pt1,
Point2D pt2,
Point2D pt3)```