1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
.. _sunpy-topic-guide-coordinates-wcs:
*******************
Coordinates and WCS
*******************
The `sunpy.coordinates` sub-package provides a mapping between FITS-WCS CTYPE convention and the coordinate frames as defined in `sunpy.coordinates`.
This is used via the `astropy.wcs.utils.wcs_to_celestial_frame` function, with which the sunpy frames are registered upon being imported.
This list is used by for example, wcsaxes to convert from `astropy.wcs.WCS` objects to coordinate frames.
The `sunpy.map.GenericMap` class creates `astropy.wcs.WCS` objects as ``amap.wcs``, however, it adds some extra attributes to the `~astropy.wcs.WCS` object to be able to fully specify the coordinate frame.
It adds ``heliographic_observer`` and ``rsun``.
If you want to obtain a un-realized coordinate frame corresponding to a `~sunpy.map.GenericMap` object you can do the following:
.. code-block:: python
>>> import sunpy.map
>>> from sunpy.data.sample import AIA_171_IMAGE # doctest: +REMOTE_DATA
>>> amap = sunpy.map.Map(AIA_171_IMAGE) # doctest: +REMOTE_DATA +IGNORE_WARNINGS
>>> amap.observer_coordinate # doctest: +REMOTE_DATA
<SkyCoord (HeliographicStonyhurst: obstime=2011-06-07T06:33:02.880, rsun=696000.0 km): (lon, lat, radius) in (deg, deg, m)
(-0.00406429, 0.04787238, 1.51846026e+11)>
which is equivalent to:
.. code-block:: python
>>> from astropy.wcs.utils import wcs_to_celestial_frame # doctest: +REMOTE_DATA
>>> wcs_to_celestial_frame(amap.wcs) # doctest: +REMOTE_DATA
<Helioprojective Frame (obstime=2011-06-07T06:33:02.880, rsun=696000.0 km, observer=<HeliographicStonyhurst Coordinate (obstime=2011-06-07T06:33:02.880, rsun=696000.0 km): (lon, lat, radius) in (deg, deg, m)
(-0.00406429, 0.04787238, 1.51846026e+11)>)>
|