Last modified: December 2020

AHELP for CIAO 4.16


Context: contrib


Convert between string and numeric formats for Astronomical positions.


from coords.format import *
(rad, decd) = sex2deg(ras, decs)
rad = ra2deg(ras)
decd = dec2deg(decs)
ras = deg2ra(rad, fmt, ndp=None)
decs = deg2dec(decd, fmt, ndp=None)

rad and decd are in decimal degrees, ras and decs are strings.
fmt is a string and can be one of: " ", "space", ":", "colon", and then
either "hms", "HMS", "hour" or "dms", "degree" for deg2ra() and
deg2dec() respectively
ndp gives the number of decimal places, if not None.

The Python help command - e.g. help(deg2ra) - can be used.


The coords.format module contains 5 routines for converting between string and numeric formats for Astronomical positions.

Loading the routines

The routines can be loaded into a Python session or script by saying:

from coords.format import *


Example 1

>>> from coords.format import *
>>> (ra, dec) = (101.28854, -16.71314)
>>> def doit1(fmt): print(f"Format={fmt:6s} ra={deg2ra(ra,fmt)}")
>>> for fmt in [" ", ":", "hms", "HMS", "hour"]: doit1(fmt)
Format= ra=6 45 9.249599999997713
Format=: ra=6:45:9.249599999997713
Format=hms ra=6h 45m 9.249599999997713s
Format=HMS ra=6H 45M 9.249599999997713S
Format=hour ra=6.752569333333333h
>>> def doit2(fmt): print(f"Format={fmt:6s} dec={deg2dec(dec,fmt)}")
>>> for fmt in [" ", ":", "dms", "degree"]: doit2(fmt)
Format= dec=-16 42 47.30399999999719
Format=: dec=-16:42:47.30399999999719
Format=dms dec=-16d 42' 47.30399999999719"
Format=degree dec=-16.71314d

The deg2ra() and deg2dec() routines are used to convert decimal values into strings, showing the various different formatting options.

Example 2

>>> print(deg2ra(ra, 'hms', ndp=3))
6h 45m 9.250s
>>> print(deg2dec(dec, 'dms', ndp=2))
-16d 42' 47.30"

Here we use the oprional ndp argument to deg2ra() and deg2dec() to restrict the number of decimal places in the output.

Example 3

>>> print(ra2deg('6:45:9.2496'))
>>> print(dec2deg('-16d 42\' 47.304"'))

Here we convert a string value into a decimal position.

Changes in the scripts 4.13.0 (December 2020) release

The optional argument ndp has been added to the deg2ra and deg2dec routines.

Changes in the scripts 4.8.1 (December 2015) release

The code has been updated to avoid warning messages from NumPy version 1.9. There is no difference to how the script behaves.

Changes in the scripts 4.5.5 (October 2013) release

The deg2dec routine now correctly handles small negative declinations; that is it now correctly converts the following

>>> print(deg2dec(-0.00138888888889, ':'))

Changes in the scripts 4.5.4 (August 2013) release

Documentation for the coords.format module is new in this release.

About Contributed Software

This module is not an official part of the CIAO release but is made available as "contributed" software via the CIAO scripts page. Please see this page for installation instructions.

See Also

coords_chandra, coords_gratings, coords_utils, identify_name