def add_offset(self, da_cosdec, ddec): """ Adds an offset to the star position Parameters: da_cosdec (int, float): offset in Delta_alpha_cos_delta in mas ddec (int, float): offset in Delta_delta in mas """ dadc = test_attr(da_cosdec, float, 'da_cosdec') dd = test_attr(ddec, float, 'ddec') self.offset = SphericalCosLatDifferential(dadc * u.mas, dd * u.mas, 0.0 * u.km)
c = SkyCoord([[1, 2], [3, 4]], [[5, 6], [7, 8]], unit='deg', frame=frame, obstime=Time('2016-01-02'), location=EarthLocation(1000, 2000, 3000, unit=u.km)) cy = load(dump(c)) compare_coord(c, cy) @pytest.mark.parametrize('rep', [ CartesianRepresentation(1*u.m, 2.*u.m, 3.*u.m), SphericalRepresentation([[1, 2], [3, 4]]*u.deg, [[5, 6], [7, 8]]*u.deg, 10*u.pc), UnitSphericalRepresentation(0*u.deg, 10*u.deg), SphericalCosLatDifferential([[1.], [2.]]*u.mas/u.yr, [4., 5.]*u.mas/u.yr, [[[10]], [[20]]]*u.km/u.s), CartesianDifferential([10, 20, 30]*u.km/u.s), CartesianRepresentation( [1, 2, 3]*u.m, differentials=CartesianDifferential([10, 20, 30]*u.km/u.s)), SphericalRepresentation( [[1, 2], [3, 4]]*u.deg, [[5, 6], [7, 8]]*u.deg, 10*u.pc, differentials={ 's': SphericalDifferential([[0., 1.], [2., 3.]]*u.mas/u.yr, [[4., 5.], [6., 7.]]*u.mas/u.yr, 10*u.km/u.s)})]) def test_representations(rep): rrep = load(dump(rep)) assert np.all(representation_equal(rrep, rep))
if a1 is None: a1 = {} if a2 is None: a2 = {} assert np.all(a1 == a2) # Testing FITS table read/write with mixins. This is mostly # copied from ECSV mixin testing. el = EarthLocation(x=1 * u.km, y=3 * u.km, z=5 * u.km) el2 = EarthLocation(x=[1, 2] * u.km, y=[3, 4] * u.km, z=[5, 6] * u.km) sr = SphericalRepresentation([0, 1] * u.deg, [2, 3] * u.deg, 1 * u.kpc) cr = CartesianRepresentation([0, 1] * u.pc, [4, 5] * u.pc, [8, 6] * u.pc) sd = SphericalCosLatDifferential([0, 1] * u.mas / u.yr, [0, 1] * u.mas / u.yr, 10 * u.km / u.s) srd = SphericalRepresentation(sr, differentials=sd) sc = SkyCoord([1, 2], [3, 4], unit='deg,deg', frame='fk4', obstime='J1990.5') scc = sc.copy() scc.representation_type = 'cartesian' tm = Time([2450814.5, 2450815.5], format='jd', scale='tai', location=el) # NOTE: in the test below the name of the column "x" for the Quantity is # important since it tests the fix for #10215 (namespace clash, where "x" # clashes with "el2.x"). mixin_cols = { 'tm': tm, 'dt': TimeDelta([1, 2] * u.day), 'sc':