Class FITSWCS.projections.CEAProjection
All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class FITSWCS.projections.CEAProjection

java.lang.Object
   |
   +----FITSWCS.Projection
           |
           +----FITSWCS.projections.CEAProjection

public class CEAProjection
extends Projection
This class provides support for the cylindrical equal area projection (CEA) used by the FITS "World Coordinate System" (WCS) convention.

The FITSWCS package was translated from the WCSLIB C library. This original library was written in support for coordinate systems used by astronomical data stored in FITS format. For more information on these coordinate systems, refer to the paper by Greisen and Calabretta at:

ftp://fits.cv.nrao.edu/fits/documents/wcs/wcs.all.ps.Z
Nomenclature

In WCSLIB the "forward" direction is from (lng,lat) celestial coordinates to (x,y) coordinates in the plane of projection. This accords with the notion that spherical projections are a projection of the sphere onto a plane, the "reverse" direction is therefore that of deprojection from plane to sphere.

Unfortunately, this is opposite to what is generally understood to be the forward direction for FITS, namely that of transforming pixel coordinates to world coordinates. However, the ordering of function argument lists should make it clear what is intended.

Accuracy

Closure to a precision of at least 1.0-10 degree of longitude and latitude has been verified for typical projection parameters on the 1 degree grid of native longitude and latitude (to within 5 degrees of any latitude where the projection may diverge). Notwithstanding this, absolutely no claim is made for the accuracy or reliability of these routines. They are supplied as is, with no warranty of fitness for any purpose.


COPYRIGHT NOTICE

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details.

You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Correspondence concerning WCSLIB may be directed to:

     Internet email: mcalabre@atnf.csiro.au
     Postal address: Dr. Mark Calabretta,
                     Australia Telescope National Facility,
                     P.O. Box 76,
                     Epping, NSW, 2121,
                     AUSTRALIA
Correspondence concerning the Java implementation may be directed to Raymond L. Plante (rplante@ncsa.uiuc.edu).

Variable Index

 o tol

Constructor Index

 o CEAProjection(double, double)
Create an CEAProjection object
 o CEAProjection(double)
Create an CEAProjection object
 o CEAProjection(double, double[])
Create an CEAProjection object
 o CEAProjection(double[])
Create an CEAProjection object
 o CEAProjection()
Create an empty Projection object; a call to setProjParm() must be made to avoid throwing UnsetProjectionParameterException

Method Index

 o fwd(double, double)
Compute (x,y) coordinates in the plane of projection from native spherical coordinates (phi,theta).
 o fwd(double[])
same as fwd(phitheta[0], phitheta[1])
 o rev(double, double)
Compute native spherical coordinates (phi,theta) from the (x,y) coordinates in the plane of projection.
 o setProjParm(double[])
set the projection parameters
 o setR0(double)
set the sphere radius

Variables

 o tol
  protected final static double tol

Constructors

 o CEAProjection
  public CEAProjection(double r0,
                       double lambda) throws BadProjectionParameterException
Create an CEAProjection object
Parameters:
r0 - sphere radius; if 0, it defaults to 180/PI
lambda - the square of the cosine of the latitude at which the projection is conformal
Throws: BadProjectionParameterException
if p is outside of range (0,1].
 o CEAProjection
  public CEAProjection(double lambda) throws BadProjectionParameterException
Create an CEAProjection object
Parameters:
lambda - the square of the cosine of the latitude at which the projection is conformal
Throws: BadProjectionParameterException
if p is outside of range (0,1].
 o CEAProjection
  public CEAProjection(double r0,
                       double p[]) throws ArrayIndexOutOfBoundsException, BadProjectionParameterException
Create an CEAProjection object
Parameters:
r0 - sphere radius
p - projection parameters, where p[1] is the lambda, the square of the cosine of the latitude at which the projection is conformal
Throws: ArrayIndexOutOfBoundsException
if p.length < 2;
Throws: BadProjectionParameterException
if p[1] is outside of range (0,1].
 o CEAProjection
  public CEAProjection(double p[]) throws ArrayIndexOutOfBoundsException, BadProjectionParameterException
Create an CEAProjection object
Parameters:
p - projection parameters, where p[1] is the lambda, the square of the cosine of the latitude at which the projection is conformal
Throws: ArrayIndexOutOfBoundsException
if p.length < 2;
Throws: BadProjectionParameterException
if p[1] is outside of range (0,1].
 o CEAProjection
  public CEAProjection()
Create an empty Projection object; a call to setProjParm() must be made to avoid throwing UnsetProjectionParameterException

Methods

 o fwd
  public double[] fwd(double phi,
                      double theta)
Compute (x,y) coordinates in the plane of projection from native spherical coordinates (phi,theta).
Returns:
double[] a two-element array containing x,y
Overrides:
fwd in class Projection
 o fwd
  public double[] fwd(double phitheta[])
same as fwd(phitheta[0], phitheta[1])
Overrides:
fwd in class Projection
 o rev
  public double[] rev(double x,
                      double y) throws PixelBeyondProjectionException
Compute native spherical coordinates (phi,theta) from the (x,y) coordinates in the plane of projection.
Returns:
double[] a two-element array containing phi,theta
Overrides:
rev in class Projection
 o setR0
  public void setR0(double r0)
set the sphere radius
Overrides:
setR0 in class Projection
 o setProjParm
  public void setProjParm(double p[]) throws ArrayIndexOutOfBoundsException, BadProjectionParameterException
set the projection parameters
Parameters:
p - array of projection parameters; a null value cause no updates to be made.
Throws: ArrayIndexOutOfBoundsException
if p.length < 2;
Throws: BadProjectionParameterException
if p[1] = -1;
Overrides:
setProjParm in class Projection

All Packages  Class Hierarchy  This Package  Previous  Next  Index