1
$\begingroup$

first post here. As I'm new, StackExchange won't let create or use the wcsaxes tag. wcsaxes looks like the most appropriate tool for the job, but astropy is closely related.

I think the title says it all, but I'll give a little more detail. I have a bunch of sources in (RA, Dec) and want to plot them in the simplest possible projection (i.e. square, but if this is not possible we can make allowances). I want to see the geometry of the Earth over my region of interest, mostly to identify the Earth's magnetic field lines.

The following code gets me close, but I get this error:

AttributeError: 'NoneType' object has no attribute 'to_geodetic'

If I change "altaz" to "galactic", I get a Galactic coordinates grid over the points, which is what I want, but obviously in the wrong coordinate frame.

#!/usr/bin/env python2

import numpy as np
from astropy.wcs import WCS
from astropy.time import Time
import matplotlib.pyplot as plt


# time = Time(2606629, format="jd", location=("116.670810d", "-26.756528d")).iso
w = WCS(naxis=2)
w.wcs.ctype = ["RA---MER", "DEC--MER"]
# w.wcs.dateavg = time

ra_min = 0
ra_max = 15
dec_min = -45
dec_max = -15
N = 1000

sim_ra  = np.random.uniform(ra_min, ra_max, size=N)
sim_dec = np.random.uniform(dec_min, dec_max, size=N)

fig = plt.figure()
ax = fig.add_axes([0.1, 0.1, 0.9, 0.9], projection=w)
overlay = ax.get_coords_overlay('altaz')

overlay[0].set_ticks(color='white')
overlay[1].set_ticks(color='white')
overlay[0].set_axislabel('Longitude')
overlay[1].set_axislabel('Latitude')
overlay.grid(color='black', linestyle='solid', alpha=0.5)

plt.scatter(sim_ra, sim_dec)
plt.xlabel('RA')
plt.ylabel('Dec')
plt.show()

I played a little with trying to get the observation time into the WCS header (note that the actual time is artificial, but should work regardless), without success. Any ideas?

$\endgroup$
3
  • $\begingroup$ Have you looked into pyephem? $\endgroup$
    – user21
    Apr 28, 2016 at 2:19
  • $\begingroup$ I noticed that stackoverflow.com has over 350 questions each for both astropy and pyephem. $\endgroup$
    – uhoh
    Apr 28, 2016 at 2:37
  • $\begingroup$ Note that stellarium will display an overlay of AltAz and RADec grids, and that the "north" here is the Earth's rotational north pole, not the Earth's magnetic north pole. $\endgroup$
    – user21
    Apr 28, 2016 at 17:15

0

You must log in to answer this question.

Browse other questions tagged .