<p>This is because the ICRS has an origin at the barycenter and this is not the same as the center of the Sun (the heliocenter). The heliocenter is offset from the barycenter (although it's still within the radius of the Sun) and varies with time, primarily due to the perturbations of Jupiter and Saturn.</p>

<p>If you use <code>BarycentricTrueEcliptic</code> it will work fine:</p>

<pre><code>from astropy.coordinates import BarycentricTrueEcliptic
from astropy import units as u

cvz = BarycentricTrueEcliptic(lon=0*u.deg, lat=-90*u.deg)
cvz.transform_to(ICRS)
Out[9]:
  &lt;ICRS Coordinate: (ra, dec) in deg
  (89.9999853, -66.56071866)&gt;
</code></pre>

<p>Which agrees with the Coordinate conversions using the <code>LAMBDA</code> website at NASA's <a href="https://lambda.gsfc.nasa.gov/toolbox/tb_coordconv.cfm" rel="nofollow noreferrer">HEASARC</a></p>

CC BY-SA 4.0
2019-10-07T16:13:05.343Z
2019-10-07T21:12:49.117Z
2019-10-07T21:12:49.117Z
astrosnapper
<p>I am new at using the Python packages <code>astropy/astroquery</code> and what I want to achieve is to use it to find stars that lay on the TESS continuous view zone (CVZ).</p>

<p>I know the CVZ is centered at the south pole of the ecliptic an I would like to use the function <code>astroquery.mast.Observations.query_region()</code> to query a region centered at the coordinates of the pole. Such function uses coordinates in the international celestial reference system (ICRS) so first I have to convert from the ecliptic frame the pair <span class="math-container">$(\text{lon}=0^\circ , \text{lat}=-90^\circ)$</span>.</p>

<p>I tried the conversion using the function <code>transform_to(ICRS)</code>,however, it returns the following error: </p>

<blockquote>
  <p>UnitsError: The input HeliocentricTrueEcliptic coordinates do not have length units. This probably means you created coordinates with lat/lon but no <strong>distance</strong>.  Heliocentric&lt;->ICRS transforms cannot function in this case because there is an <strong>origin shift</strong>.</p>
</blockquote>

<p>Could someone elaborate a bit more about the "distance" and "origin shift" mentioned in the error message and how to correct it?</p>

<coordinate><astropy><star-catalogues><frame-of-reference><tess>
How to query a region on the sky when given only ecliptic coordinates?
Stefano
# How to query a region on the sky when given only ecliptic coordinates?

(Asked by: username_0 on 2019-10-06)

I am new at using the Python packages `astropy/astroquery` and what I want to achieve is to use it to find stars that lay on the TESS continuous view zone (CVZ).

I know the CVZ is centered at the south pole of the ecliptic an I would like to use the function `astroquery.mast.Observations.query_region()` to query a region centered at the coordinates of the pole. Such function uses coordinates in the international celestial reference system (ICRS) so first I have to convert from the ecliptic frame the pair $(\text{lon}=0^\circ , \text{lat}=-90^\circ)$.

I tried the conversion using the function `transform_to(ICRS)`,however, it returns the following error:

> UnitsError: The input HeliocentricTrueEcliptic coordinates do not have length units. This probably means you created coordinates with lat/lon but no **distance**. Heliocentric<->ICRS transforms cannot function in this case because there is an **origin shift**.

Could someone elaborate a bit more about the "distance" and "origin shift" mentioned in the error message and how to correct it?

**Tags:** coordinate, astropy, star-catalogues, frame-of-reference, tess


---

## 1 answers

### Answer by username_1 on 2019-10-07. Score: 2 | Accepted answer

This is because the ICRS has an origin at the barycenter and this is not the same as the center of the Sun (the heliocenter). The heliocenter is offset from the barycenter (although it's still within the radius of the Sun) and varies with time, primarily due to the perturbations of Jupiter and Saturn.
If you use BarycentricTrueEcliptic it will work fine:
from astropy.coordinates import BarycentricTrueEcliptic
from astropy import units as u

cvz = BarycentricTrueEcliptic(lon=0*u.deg, lat=-90*u.deg)
cvz.transform_to(ICRS)
Out[9]:
  

Which agrees with the Coordinate conversions using the LAMBDA website at NASA's HEASARC


---

