org.cresques.cts
Class GeoCalc

java.lang.Object
  extended by org.cresques.cts.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.

Author:
Luis W. Sevilla (sevilla_lui@gva.es)

Nested Class Summary
protected  class GeoCalc.GeoData
           
 
Constructor Summary
GeoCalc(IProjection proj)
           
 
Method Summary
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)


Copyright © 2004-2013 gvSIG. All Rights Reserved.