LAL  7.5.0.1-8083555

Detailed Description

Module providing routines to convert among various sky coordinate systems.

Author
Creighton, T. D.
Date
2002

Most of these routines are discussed in Sec. 5.1 of [15]; we reproduce here some of the essential elements of this discussion.

Definition of latitude phi and longitude lambda for an arbitrary coordinate system.

A general spatial coordinate system is shown in this figure. It is defined by six parameters: three positions specifying the location of the origin \(O\), two angles specifying the direction of the pole or \(z\)-axis, and one further angle specifying a reference meridian or \(x\)-axis orthogonal to the \(z\)-axis. A \(y\)-axis can also be defined such that \(x\), \(y\), and \(z\) form an orthogonal right-handed coordinate system; however, in astronomy it is more conventional to use spherical coordinates, defined as follows:

For any given point \(P\), define a plane (called its meridian) containing both the \(z\)-axis and the point in question. The longitude \(\lambda\) is the angle in the \(x\)- \(y\) plane from the \(x\)-axis to the line where the object's meridian crosses the \(x-y\) plane. The latitude \(\phi\) is the angle in the meridian plane between this line and the direction to the object. The distance \(r\) is simply measured in a straight line from the origin to the point. Longitude is defined to increase in the right-handed direction about the \(z\)-axis (i.e. the \(y\)-axis lies at positive \(\pi/2\) radians longitude), and is typically given in the range \([0,2\pi)\) radians. Latitude is defined to increase towards the \(z\)-axis (i.e. the \(z\)-axis lies at positive \(\pi/2\) radians latitude), and is typically given in the range \([-\pi/2,\pi/2]\) radians; a point with latitude \(\pm\pi/2\) radians has arbitrary (undefined) longitude. Distance should always be positive. This convention is shown in this figure.

In the routines in this module, we do not perform transformations between coordinate systems having different origins. By default, all coordinates are assumed to be centred on the observer; however, one may also consider coordinate systems that are geogentric (having their origin at the centre of the Earth), heliocentric (origin at the centre of the Sun), barycentric (origin at the centre of mass of the solar system), and Galactocentric (origin at the centre of our Galaxy). Since we ignore translations in the coordinate origin, distances remain unchanged, so these routines only consider transformations in latitude and longitude. To put it another way, these routines transform directions in space, not locations in space. These directions are generically stored in the SkyPosition structure, defined below.

The coordinate systems that we consider are defined as follows:

Definition of the horizon coordinate system.
Horizon coordinates:
This is a local coordinate system for a particular observation point \(O\) on the Earth, as shown in this figure. The \(z\)-axis is defined to be the direction opposite to the local acceleration due to gravity. The \(x\)-axis is defined to lie in the plane formed by the \(z\)-axis and the Earth's rotational axis, and to be directed into the northern hemisphere. In this coordinate system, the latitude coordinate is called the altitude and the longitude coordinate is the negative of what astronomers call the azimuth; this sign reversal is due to the fact that astronomers define azimuth to increase clockwise, and our longitudinal coordinates uniformly increase counterclockwise about the \(z\)-axis. This coordinate system is related to the geographic coordinate system (below) by the geographic latitude \(\phi_z\) and longitude \(\lambda_z\) of the observer's \(z\)-axis direction.

Definition of the geographic (Earth-fixed) coordinate system.
Geographic coordinates:
This is a planetwide Earth-fixed coordinate system, shown in this figure. The \(z\)-axis is defined to be parallel to the Earth's axis, in the direction of the Earth's north pole. The \(x\)-axis is defined to be parallel to the direction perpendicular from the Earth's rotation axis to a reference point in Greenwich, UK (the prime meridian. Note that we adopt a longitude convention that is consistent with the Astronomical Almanac, but opposite to that in [15] , in that our geographic longitudes increase eastward (counterclockwise) like the rest of our longitudinal coordinates.

The terms latitude'' andlongitude'' without qualification normally refer to geographic latitude and longitude. However, we emphasize once again that geographic latitude and longitude as defined above refer to directions in space, not to locations on the Earth's surface. This can lead to some confusion. The geodetic latitude and longitude of a point on the Earth's surface are the latitude and longitude of its vertical direction; this is the standard meaning used by cartographers, and relates directly to the horizon-based coordinate system above. However, one can also define a geocentric latitude and longitude for a point on the surface, which are the latitude and longitude of the direction from the geometric centre of the Earth through that point. These angles are not necessarily the same, due to the Earth's ellipticity, as shown in this figure in TerrestrialCoordinates.c.

Geographic coordinates are related to sky-fixed equatorial coordinates by specifying the counterclockwise angle to the prime meridian from the reference meridian \(\Upsilon\) of the sky-fixed coordinates, as defined below. This angle is called the Greenwich Mean Sidereal Time (GMST), and is often specified in hours, minutes, and seconds.

Definition of the ecliptic sky-fixed coordinate systems.
Equatorial coordinates:
This is the standard sky-fixed coordinate system. The \(z\)-axis is defined as for geographic coordinates, above; the plane orthogonal to this passing through the Earth's centre is called the equator. The \(x\)-axis is defined to be the direction, as viewed from the centre of the Earth, where the Sun appears to cross the equator moving north in spring. This is called the vernal equinox \(\Upsilon\), and is shown in this figure. In this coordinate system, the latitude coordinate is called the declination \(\delta\) and the longitude coordinate is called the right ascension \(\alpha\).
Ecliptic coordinates:
This is another sky-fixed coordinate system, shown in this figure. The \(z\)-axis is defined to be the direction orthogonal to the orbital plane of the Earth about the Sun, directed such that the Earth orbits in a right-handed sense. The \(x\)-axis is defined as for equatorial coordinates, above; we note that by definition it lies parallel to the intersection of the equatorial and orbital planes of the Earth.

The equatorial and ecliptic coordinate systems are related by a single angle \(\epsilon\), called the obliquity of the ecliptic (that is, the inclination of the Earth's rotation axis relative to its orbital axis). Ecliptic latitude is normally denoted as \(\beta\) and ecliptic longitude as \(\lambda\).

Definition of the Galactic coordinate system.
Galactic coordinates:
This coordinate system is shown in this figure. The \(z\)-axis is defined to be the direction orthogonal to the plane of our Galaxy and pointing into the northern hemisphere of the equatorial coordinate system. (Unfortunately this convention has the unintuitive result that the physical rotation of the Galaxy is left-handed about this axis.) The \(x\)-axis is defined to be the direction of the Galactic centre as viewed from the Earth. The Galactic latitude coordinate is normally denoted as \(b\) and the Galactic longitude as \(l\).

The definition of the Galactic coordinate system is completely unrelated to any of the the other coordinate systems; thus, the relationship between Galactic and equatorial coodinates requires one to specify three arbitrary (but constant) angles. Two of these are the right ascension \(\alpha_\mathrm{NGP}\) and declination \(\delta_\mathrm{NPG}\) of the North Galactic Pole ( \(z\)-axis) in the equatorial coordinate system, the third is the Galactic longitude \(l_\mathrm{ascend}\) of the point where the Galactic plane ascends through the equatorial plane; i.e. the \(l\) value for the direction along the intersection of the Galactic and equatorial planes, such that right-handed rotation about the Galactic \(z\)-axis moves you from south to north through the equator.

Modules

 Module CelestialCoordinates.c
 Converts among Galactic, ecliptic, and equatorial coordinates.
 
 Module TerrestrialCoordinates.c
 Converts among equatorial, geographic, and horizon coordinates.
 
 Module SkyCoordinates.c
 Automatically converts among sky coordinate systems.
 

Data Structures

struct  SkyPosition
 This structure stores the two spherical coordinates of a sky position; ie a generic latitude and longitude; the structure is not defined specific to a particular coordinate system, but maintains a tag indicating which coordinate system it is expressed in. More...
 
struct  EarthPosition
 This structure stores the location of a point on (or near) the surface of the Earth in both geodetic and geocentric coordinates, as described in TerrestrialCoordinates.c . More...
 
struct  ConvertSkyParams
 This structure stores parameters for the function LALConvertSkyPosition(). More...
 

Enumerations

enum  CoordinateSystem {
  COORDINATESYSTEM_HORIZON , COORDINATESYSTEM_GEOGRAPHIC , COORDINATESYSTEM_EQUATORIAL , COORDINATESYSTEM_ECLIPTIC ,
  COORDINATESYSTEM_GALACTIC
}
 This enumerated type is used to identify data as being in one of the coordinate systems discussed in Header SkyCoordinates.h. More...
 

Files

file  GeocentricGeodeticTest.c
 Tests geocentric to geodetic conversion.
 
file  SkyCoordinatesTest.c
 Transforms coordinates among various systems.
 

Error codes

#define SKYCOORDINATESH_ENUL   1
 Unexpected null pointer in arguments. More...
 
#define SKYCOORDINATESH_ESYS   2
 Wrong coordinate system in input. More...
 
#define SKYCOORDINATESH_EZERO   3
 Angular coordinates undefined at origin. More...
 
#define SKYCOORDINATESH_ESING   4
 Point is inside singular ellipsoid. More...
 

Enumeration Type Documentation

◆ CoordinateSystem

This enumerated type is used to identify data as being in one of the coordinate systems discussed in Header SkyCoordinates.h.

Enumerator
COORDINATESYSTEM_HORIZON 

A horizon coordinate system.

COORDINATESYSTEM_GEOGRAPHIC 

The Earth-fixed geographic coordinate system.

COORDINATESYSTEM_EQUATORIAL 

The sky-fixed equatorial coordinate system.

COORDINATESYSTEM_ECLIPTIC 

The ecliptic coordinate system.

COORDINATESYSTEM_GALACTIC 

The galactic coordinate system.

Definition at line 56 of file SkyCoordinates.h.

Macro Definition Documentation

◆ SKYCOORDINATESH_ENUL

#define SKYCOORDINATESH_ENUL   1

Unexpected null pointer in arguments.

Definition at line 36 of file SkyCoordinates.h.

◆ SKYCOORDINATESH_ESYS

#define SKYCOORDINATESH_ESYS   2

Wrong coordinate system in input.

Definition at line 37 of file SkyCoordinates.h.

◆ SKYCOORDINATESH_EZERO

#define SKYCOORDINATESH_EZERO   3

Angular coordinates undefined at origin.

Definition at line 38 of file SkyCoordinates.h.

◆ SKYCOORDINATESH_ESING

#define SKYCOORDINATESH_ESING   4

Point is inside singular ellipsoid.

Definition at line 39 of file SkyCoordinates.h.