Mapping Toolbox | ![]() ![]() |
Astronomical Data
The Mapping Toolbox provides an interface to a set of astronomical data called FK5, the Fifth Fundamental Catalog of Stars. This catalog consists of positions, proper motions, and other characteristics for over 4500 stars. The data is provided by the Astronomical Data Center (ADC), located at the NASA Goddard Space Flight Center, and can be retrieved over the Internet at the ADC's home page at <http://adc.gsfc.nasa.gov/>
or by anonymous FTP at <ftp://adc.gsfc.nasa.gov/>
. Documentation and other information can be found at these sites as well.
The data comes in two files, `FK5.dat
' and `fk5_ext.dat
'.
You can read both files using the readfk5
interface function. There are more than four thousand stars in the catalog, so reading and processing the data takes a while.
fk5 = readfk5('FK5.dat'); fk5e = readfk5('fk5_ext.dat'); whos
|
|
|
|
|
|
|
|
|
1x1535 |
5042752 |
|
|
1x3117 |
10226424 |
|
The star catalog is processed into MATLAB structures by the external interface function. The fields of the structures contain the different types of information for each star, while the structure elements represent the individual stars.
To view the fields of the structure, type the following:
fk5(1) ans = FK5: 1 RAh: 0 RAm: 8 RAs: 23.2650 pmRA: 1.0390 DEd: 29 DEm: 5 DEs: 25.5800 pmDE: -16.3300 RAh1950: 0 RAm1950: 5 RAs1950: 47.8770 pmRA1950: 1.0360 DEd1950: 28 DEm1950: 48 DEs1950: 51.9600 pmDE1950: -16.3300 EpRA1900: 43.3100 e_RAs: 0.7000 e_pmRA: 2 EpDE1900: 33 e_DEs: 1.3000 e_pmDE: 3.1000 Vmag: 2.0600 n_Vmag: '' SpType: 'A0p' plx: 0.0240 RV: -11.7000 AGK3R: '' SRS: '' HD: '358' DM: 'BD+28 4' GC: '127'
If you just want to display the locations of the stars, you can find position and visual magnitude data in the stars
workspace as part of the Mapping Toolbox atlas data. The remainder of this section illustrates the use of Mapping Toolbox functions to manipulate and transform star data for display.
The star positions are given in terms of right ascension and declination. You can display a star map by converting the positions to latitude and longitude coordinates. Right ascension is given in hours, minutes, and seconds, while declination is in degrees, minutes, and seconds.
hRA = [fk5.RAh fk5e.RAh]'; dDE = [fk5.DEd fk5e.DEd]'; mRA = [fk5.RAm fk5e.RAm]'; mDE = [fk5.DEm fk5e.DEm]'; sRA = [fk5.RAs fk5e.RAs]'; sDE = [fk5.DEs fk5e.DEs]'; lat = dms2deg(dDE,mDE,sDE); lon = hms2hr(hRA,mRA,sRA)*360/24;
You probably want the map to look like you are inside the celestial sphere looking out, so switch the sign of the longitudes:
It is customary to display the stars with sizes proportional to the visual magnitudes. Extract the magnitudes from the data structures:
Faint stars have large visual magnitude numbers, while bright ones have smaller values. The magnitudes of particular bright stars were used to define the visual magnitude scale. It was later determined that certain stars were even brighter than the reference stars, resulting in negative visual magnitudes. You will need to convert the values to relative intensities for plotting.
Stars in equatorial coordinates are typically displayed in the Equidistant Azimuthal projection. Here is the southern sky. You can see the southern cross at about 60° S, 175° E.
axesm eqdazim framem; gridm; mlabel; plabel setm(gca,'Origin',[-90 180 0],'FLatLimit',[-inf 90],... 'MLineLocation',15,'MLabelLocation',-180:15:165,... 'MLabelParallel','equator','MLineLimit',[-75 75],... 'PLabelLocation',-15:-15:-75,'PlabelMeridian',... 'LabelRotation','on','GLineWidth',.01,'GLineStyle','-') set(handlem('alltext'),'HorizontalAlignment','center',... 'VerticalAlignment','bottom') scatterm(lat,long,sqrt(relintensity)*20,'filled')
The sky is often depicted in galactic coordinates, with the center of our galaxy as the origin of a polar coordinate system. You can use the Mapping Toolbox to transform the star positions from equatorial coordinates to galactic coordinates. First define the location of the galactic pole and the galactic center.
% galactic pole poleRAhms = mat2hms([12 49 0]); poleDEhms = mat2hms([27 24 0]); polelat = dms2deg(poleDEhms); polelon = zero22pi(-hms2hr(poleRAhms)*360/24); % galactic center cntrRAhms = mat2hms([17 42 0.4]); cntrDEhms = mat2hms([-28 55 0]); cntrlat = dms2deg(cntrDEhms); cntrlon = zero22pi(-hms2hr(cntrRAhms)*360/24);
Next create a new origin vector based on the location of the new pole in the old equatorial coordinate system. Use it to rotate the locations of the pole and the center of the galactic coordinates. Note that the origin provided by the newpole
function results in a system centered on the location of the new pole in the old coordinate system. Rotate the star positions and bring the galactic center to zero longitude.
% new origin vector origin = newpole(polelat,polelon); % rotate our known points [newpolelat,newpolelon] = rotatem(polelat,polelon,... origin,'forward','degrees'); [newcntrlat,newcntrlon] = rotatem(cntrlat,cntrlon,... origin,'forward','degrees'); % rotate the stars [glat,glon] = rotatem(lat,lon,origin,'forward','degrees'); glon = glon - newcntrlon;
The stars in galactic coordinates are commonly displayed in a pseudo-cylindrical projection like the Hammer.
figure axesm hammer framem; gridm; mlabel; plabel setm(gca,'MLabelLocation',-120:60:180,... 'MLineLocation',15,'MLabelParallel','equator',... 'GLineWidth',.01,'GLineStyle','-') scatterm(glat,glon,sqrt(relintensity)*30,'filled')
![]() | U. S. Gridded Elevation Data | Importing Other Data | ![]() |