@classmethod<EOL><INDENT>def from_coordinates(cls,   ra=None, dec=None,<EOL>distance=None,<EOL>pm_ra_cosdec=None, pm_dec=None,<EOL>radial_velocity=None,<EOL>obstime=<NUM_LIT>*u.year,<EOL>id=None, mag=None,<EOL>**kwargs):<DEDENT>
<EOL>N = len(np.atleast_1d(ra))<EOL>if id is None:<EOL><INDENT>id = ['<STR_LIT:{}>'.format(i) for i in range(N)]<EOL><DEDENT>if mag is None:<EOL><INDENT>mag = np.zeros(N)<EOL><DEDENT>standardized = Table(data=[id, mag], names=['<STR_LIT>', '<STR_LIT>'])<EOL>for k in cls.coordinate_keys:<EOL><INDENT>if locals()[k] is not None:<EOL><INDENT>standardized[k] = locals()[k]<EOL><DEDENT><DEDENT>return cls(standardized)<EOL>
Iniitalize a constellation object.


Parameters
----------

ra, dec, distance, pm_ra_cosdec, pm_dec, radial_velocity
    These must be able to initialize a SkyCoord.
id : list, array
    Identifications for the entries.
mag : list, array
    Magnitudes for the entries.
**kwargs
    All arguments and keyword arguments are passed along
    to SkyCoord. They can be coordinates in the first place,
    or, for example, ra and dec with units, or any other
    inputs that can initialize a SkyCoord.