The Planets in Our Solar System

ID Name Planet Group Distance from
Sun (km)
Orbital Period
(days)
Rotational
Period (days)
Radius (km) Mass (kg) Discoverer Date of Discovery
I Mercury Inner 5.8E+07 88 58.60 2,440 3.3E+23   .
II Venus Inner 1.1E+08 225 . 6,052 4.9E+24   .
III Earth Inner 1.5E+08 365 0.99 6,378 6.0E+24   .
IV Mars Inner 2.3E+08 687 1.03 3,397 6.4E+23   .
V Jupiter Outer 7.8E+08 4,333 0.41 71,492 1.9E+27   .
VI Saturn Outer 1.4E+09 10,760 0.45 60,268 5.7E+26   .
VII Uranus Outer 2.9E+09 30,685 -0.72 25,559 8.7E+25 Herschel 1781
VIII Neptune Outer 4.5E+09 60,190 0.67 24,766 1.0E+26 Adams 1846
IX Pluto Outer 5.9E+09 90,800 -6.39 1,137 1.3E+22 Tombaugh 1930

 


 
Planetary Orbits

Planetary Group Planet Distance from Sun (km) Circumference of Orbit
Inner Mercury 5.8E+07 3.639E+08
  Venus 1.1E+08 6.798E+08
  Earth 1.5E+08 9.400E+08
  Mars 2.3E+08 1.432E+09
Inner   1.4E+08 8.540E+08
Outer Jupiter 7.8E+08 4.890E+09
  Saturn 1.4E+09 8.979E+09
  Uranus 2.9E+09 1.804E+10
  Neptune 4.5E+09 2.830E+10
  Pluto 5.9E+09 3.716E+10
Outer   3.1E+09 1.947E+10

 


 
Orbital Speeds

Planetary Group Planet Distance from Sun (km) Orbital Period (days) Speed in Orbit (km per hr)
Inner Mercury 5.8E+07 87.97 172,340.45
  Venus 1.1E+08 224.70 126,064.40
  Earth 1.5E+08 365.26 107,225.42
  Mars 2.3E+08 686.98 86,864.98
Inner   1.4E+08 341.23 104,275.83
Outer Jupiter 7.8E+08 4,332.71 47,029.72
  Saturn 1.4E+09 10,759.50 34,770.30
  Uranus 2.9E+09 30,685.00 24,494.88
  Neptune 4.5E+09 60,190.00 19,590.35
  Pluto 5.9E+09 90,800.00 17,051.54
Outer   3.1E+09 39,353.44 20,617.90

 


 
Planet Densities

Planetary Group Planet Radius of Planet (km) Mass of Planet (kg) Density of Planet (kg per cubic m)
Inner Mercury 2,440.00 3.3E+23 3.2E+16
  Venus 6,052.00 4.9E+24 1.9E+17
  Earth 6,378.00 6.0E+24 2.2E+17
  Mars 3,397.00 6.4E+23 4.5E+16
Inner   4,566.75 3.0E+24 1.5E+17
Outer Jupiter 71,492.00 1.9E+27 6.3E+18
  Saturn 60,268.00 5.7E+26 2.2E+18
  Uranus 25,559.00 8.7E+25 8.1E+17
  Neptune 24,766.00 1.0E+26 9.8E+17
  Pluto 1,137.00 1.3E+22 2.7E+15
Outer   36,644.40 5.3E+26 3.5E+18

 


 
Rotational Speeds

Planetary Group Planet Radius of Planet (km) Rotational Period (days) Speed of Rotation (km per hr)
Inner Mercury 2,440.00 58.60 10.90
  Venus 6,052.00 . .
  Earth 6,378.00 0.99 1,686.62
  Mars 3,397.00 1.03 863.43
Inner   4,566.75 20.21 59.17
Outer Jupiter 71,492.00 0.41 45,650.11
  Saturn 60,268.00 0.45 35,062.47
  Uranus 25,559.00 -0.72 -9,293.51
  Neptune 24,766.00 0.67 9,677.19
  Pluto 1,137.00 -6.39 -46.58
Outer   36,644.40 -1.12 -8,596.30

 


 
Planets and Their Moons

Planet ID Planet Name Moon Name Distance from Planet Orbital Period Relative Size
3 Earth Moon 384,000 27 .272499
4 Mars Phobos 9,000 0 .003238
    Deimos 23,000 1 .001766
5 Jupiter Metis 128,000 0 .000280
    Adrastea 129,000 0 .000140
    Amalthea 181,000 1 .001315
    Thebe 222,000 1 .000699
    Io 422,000 2 .025471
    Europa 671,000 4 .021891
    Ganymede 1,070,000 7 .036843
    Callisto 1,883,000 17 .033612
    Leda 11,094,000 239 .000112
    Himalia 11,480,000 251 .001301
    Lysithea 11,720,000 259 .000252
    Elara 11,737,000 260 .000532
    Ananke 21,200,000 -631 .000210
    Carme 22,600,000 -692 .000280
    Pasiphae 23,500,000 -735 .000350
    Sinope 23,700,000 -758 .000252
6 Saturn Pan 134,000 1 .000166
    Atlas 138,000 1 .000249
    Prometheus 139,000 1 .000763
    Pandora 142,000 1 .000697
    Epimetheus 151,000 1 .000946
    Janus 151,000 1 .001477
    Mimas 186,000 1 .003302
    Enceladus 238,000 1 .004132
    Tethys 295,000 2 .008794
    Calypso 295,000 2 .000216
    Telesto 295,000 2 .000249
    Dione 377,000 3 .009292
    Helene 377,000 3 .000265
    Rhea 527,000 5 .012677
    Titan 1,222,000 16 .042726
    Hyperion 1,481,000 21 .002373
    Iapetus 3,561,000 79 .011913
    Phoebe 12,952,000 -550 .001825
7 Uranus Cordelia 50,000 0 .000509
    Ophelia 54,000 0 .000626
    Bianca 59,000 0 .000861
    Cressida 62,000 0 .001291
    Desdemona 63,000 0 .001135
    Juliet 64,000 0 .001643
    Portia 66,000 1 .002152
    Rosalind 70,000 1 .001056
    Belinda 75,000 1 .001330
    Puck 86,000 1 .003013
    Miranda 130,000 1 .009234
    Ariel 191,000 3 .022732
    Umbriel 266,000 4 .022888
    Titania 436,000 9 .030870
    Oberon 583,000 13 .029774
    Caliban 7,200,000 -930 .001174
    Sycorax 12,200,000 -1,280 .002348
8 Neptune Naiad 48,000 0 .001171
    Thalassa 50,000 0 .001615
    Despina 53,000 0 .002988
    Galatea 62,000 0 .003190
    Larissa 74,000 1 .003876
    Proteus 118,000 1 .008439
    Triton 355,000 -6 .054631
    Nereid 5,513,000 360 .006864
9 Pluto Charon 20,000 6 .515391

/*****************************************************/
/*****************************************************/
/**                                                 **/
/** A Program to Demonstrate SAS HTML Capabilitites **/
/**           Using the Planets Data Set            **/
/**                                                 **/
/**                I.  List Reports                 **/
/**                                                 **/
/**        Created by Christine R. Riddiough        **/
/**                     May 2000                    **/
/**                                                 **/
/*****************************************************/
/*****************************************************/

/*****************************************************/
/* Part 1. Create a new style named                  */
/* STYlES.NEWDOC by making changes to                */
/* the StatDoc style. What follows                   */
/* is the StatDoc template modified                  */
/*****************************************************/

proc template;
    define style Styles.NEWDOC;
      parent = styles.StatDoc;
   replace fonts /
      'SASTitleFont' = ("Verdana, Helvetica, Helv",2,Bold Italic)
      'TitleFont2' = ("Verdana, Helvetica, Helv",2,Bold Italic)
      'TitleFont' = ("Verdana, Helvetica, Helv",2,Bold Italic)
      'StrongFont' = ("Verdana, Helvetica, Helv",2,Bold Italic)
      'EmphasisFont' = ("Verdana, Helvetica, Helv",2,Italic)
      'FixedEmphasisFont' = ("Courier New, Courier",2,Italic)
      'FixedStrongFont' = ("Courier New, Courier",2,Bold)
      'FixedHeadingFont' = ("Courier New, Courier",2,Bold)
      'FixedFont' = ("Courier New, Courier",2)
      'headingEmphasisFont' = ("Verdana, Helvetica, Helv",2,Bold Italic)
      'headingFont' = ("Verdana, Helvetica, Helv",2,Bold)
      'docFont' = ("Verdana, Helvetica, Helv",2);
   replace colors /
      'contentbg' = cxB0B0B0
      'contentfg' = cx0033AA
      'link2' = cx0066AA
      'link1' = cx004488
      'bg5' = cxE0E0E0
      'bg4' = cx004488
      'fg4' = cx0066AA
      'bg3' = cxDEDDED
      'fg3' = cx151219
      'bg2' = cxEBDDED 
      'fg2' = cx151219
      'fg' = cx191719;
   replace Container;
   replace Index from Container /
      foreground = colors('fg');
   replace Contents from Document /
      bullet = "decimal"
      pagebreakhtml = html('break')
      background = colors('bg2')
      leftmargin = 8;
   replace Pages from Document /
      bullet = "decimal"
      pagebreakhtml = html('break')
      background = colors('bg2')
      leftmargin = 8;
   replace Date from Container /
      outputwidth = 100%
      foreground = colors('fg3');
   replace BodyDate from Date;
   replace IndexItem from Container /
      prehtml = html('fake bullet')
      listentryanchor = on
      bullet = NONE;
   replace ContentFolder from IndexItem /
      posthtml = html('posthtml flyover')
      prehtml = html('prehtml flyover bullet')
      listentryanchor = off;
   replace IndexProcName from Index /
      listentryanchor = off
      bullet = "decimal"
      posthtml = html('posthtml flyover')
      prehtml = html('prehtml flyover')
      posttext = text('suffix1')
      pretext = text('prefix1');
   replace IndexTitle from Index /
      posthtml = html('posthtml flyover line')
      prehtml = html('expandAll');
   replace SysTitleAndFooterContainer from Container /
      posthtml = ""
      prehtml = ""
      font = Fonts('TitleFont2')
      rules = NONE
      frame = VOID
      outputwidth = 100%
      cellpadding = 1
      cellspacing = 1
      borderwidth = 0;
   replace TitleAndNoteContainer from Container /
      posthtml = ""
      prehtml = ""
      rules = NONE
      frame = VOID
      outputwidth = 100%
      cellpadding = 1
      cellspacing = 1
      borderwidth = 0;
   replace TitlesAndFooters from Container /
      font = Fonts('TitleFont2')
      foreground = colors('fg');
   replace BylineContainer from Container /
      rules = NONE
      frame = VOID
      outputwidth = 100%
      cellpadding = 1
      cellspacing = 1
      borderwidth = 0;
   replace SystemTitle from TitlesAndFooters /
      font = Fonts('TitleFont');
   replace SystemFooter from TitlesAndFooters /
      font = Fonts('TitleFont');
   replace Byline from TitlesAndFooters /
      font = fonts('TitleFont')
      foreground = colors('fg2');
   replace ProcTitle from TitlesAndFooters /
      font = fonts('TitleFont2');
   replace Output from Container /
      rules = GROUPS
      frame = BOX
      cellpadding = 7
      cellspacing = 1
      borderwidth = 1;
   replace Table from Output /
      posthtml = ""
      prehtml = "";
   replace Batch from Output
      "Batch (capture) Output style." /
      font = fonts('FixedFont')
      foreground = colors('fg');
   replace Graph from Output;
   replace Note from Container /
      posthtml = ""
      prehtml = "";
   replace NoteBanner from Note /
      font = fonts('StrongFont')
      pretext = text('Note Banner');
   replace NoteContent from Note
      "Controls the contents for NOTE:s." /
      just = L;
   replace NoteContentFixed from NoteContent
      "Controls the contents for NOTE:s. Fixed font." /
      just = L
      font = fonts('FixedFont');
   replace WarnBanner from Note
      "Controls the banner for WARNING:s." /
      pretext = text('Warn Banner');
   replace WarnContent from Note
      "Controls the contents of WARNING:s." /
      just = L;
   replace WarnContentFixed from WarnContent
      "Controls the contents for WARNING:s. Fixed font." /
      font = fonts('FixedFont');
   replace ErrorBanner from Note
      "Controls the banner for ERROR:s." /
      pretext = text('Error Banner');
   replace ErrorContent from Note
      "Controls the contents of ERROR:s." /
      just = L;
   replace ErrorContentFixed from ErrorContent
      "Controls the contents for ERROR:s. Fixed font." /
      font = fonts('FixedFont');
   replace FatalBanner from Note
      "Controls the banner for FATAL:s." /
      pretext = text('Fatal Banner');
   replace FatalContent from Note
      "Controls the contents of FATAL:s." /
      just = L;
   replace FatalContentFixed from FatalContent
      "Controls the contents for FATAL:s. Fixed font." /
      font = fonts('FixedFont');
   replace Data from Cell /
      font = Fonts('DocFont')
      foreground = colors('fg3')
      background = colors('bg3');
   replace DataEmphasis from Data /
      font = fonts('EmphasisFont');
   replace DataEmphasisFixed from DataEmphasis /
      font = fonts('FixedEmphasisFont');
   replace DataStrong from Data /
      font = fonts('StrongFont');
   replace HeadersAndFooters from Cell /
      font = fonts('HeadingFont')
      foreground = colors('fg2')
      background = colors('bg2');
   replace Caption from HeadersAndFooters;
   replace HeaderEmphasis from Header /
      font = fonts('EmphasisFont');
   replace HeaderStrong from Header /
      font = fonts('StrongFont');
   end;
run;
/*****************************************************/
/*                                                   */
/* Part 2. Close the listing output                  */
/* open the html output and define the web pages/    */
/* frames/bodyand use the style                      */
/*                                                   */
/*****************************************************/

ods listing close;
ods html body='pllist.htm' frame='pllfr.htm' page='pllpg.htm'
         (nobot) rs=none style=styles.newdoc;

/*****************************************************/
/*                                                   */
/* Part 3. Run the print procedure using             */
/* STYlES.NEWDOC                                     */
/*                                                   */
/*****************************************************/

ods proclabel 'List of Planets';
proc print data=crr.planets noobs label;
     var id name cat soldist orbper rotper radius mass discov datedisc;
     label ID='ID' name='Name' discov='Discoverer' soldist='Distance from Sun (km)'
	       orbper='Orbital Period (days)' datedisc='Date of Discovery' radius='Radius (km)'
           mass='Mass (kg)' rotper='Rotational Period (days)' cat='Planet Group';
	 format soldist mass e8. orbper radius comma6.;
	 title '';
	 title2 ' ';
	 title3 'The Planets in Our Solar System';
	 footnote;
run;

/*****************************************************/
/*                                                   */
/* Part 4. Run the report procedure using            */
/* STYlES.NEWDOC                                     */
/*                                                   */
/*****************************************************/

ods proclabel 'Report on Planetary Planetary Orbits';
proc report data=crr.planets headline headskip nowd;
     title 'Planetary Orbits';
     column cat name soldist circum;
	define cat / order 'Planetary Group' width=10 center;
	define name / display 'Planet' left;
	define soldist / mean 'Distance from Sun (km)' format=E7. width=9;
	define circum / computed format=E10. 'Circumference of Orbit' width=15;
	compute circum;
	        circum=2*3.14159*soldist.mean;
	endcomp;
	break after cat / ol skip summarize;
run;
ods proclabel 'Report on Planetary Orbital Speeds';
proc report data=crr.planets headline headskip nowd;
     title 'Orbital Speeds';
     column cat name soldist orbper speed;
	define cat / order 'Planetary Group' width=10 center;
	define name / display 'Planet' left;
	define soldist / mean 'Distance from Sun (km)' format=E7. width=13;
	define orbper / mean 'Orbital Period (days)' width=14 format=comma10.2;
	define speed / computed 'Speed in Orbit (km per hr)' width=16 format=comma10.2;
	compute speed;
	        speed=2*3.14159*soldist.mean/(orbper.mean*24);
	endcomp;
	break after cat / ol skip summarize;
run;
ods proclabel 'Report on Planet Densities';
proc report data=crr.planets headline headskip nowd;
     title 'Planet Densities';
     column cat name radius mass density;
	define cat / order 'Planetary Group' width=10 center;
	define name / display 'Planet' left;
	define radius / mean 'Radius of Planet (km)' format=comma10.2 width=14;
	define mass / mean 'Mass of Planet (kg)' format=E7. width=14;
	define density / computed 'Density of Planet (kg per cubic m)' format=E7. width=14;
	compute density;
	        density=mass.mean/(4*3.14159*radius.mean*1000/3);
	endcomp;
	break after cat / ol skip summarize;
run;
ods proclabel 'Report on Planetary Rotational Speeds';
proc report data=crr.planets headline headskip nowd;
     title 'Rotational Speeds';
     column cat name radius rotper speed;
	define cat / order 'Planetary Group' width=10 center;
	define name / display 'Planet' left;
	define radius / mean 'Radius of Planet (km)' format=comma10.2 width=14;
	define rotper / mean 'Rotational Period (days)' format=comma10.2 width=14;
	define speed / computed 'Speed of Rotation (km per hr)' format=comma10.2 width=14;
	compute speed;
	        speed=2*3.14159*radius.mean/(rotper.mean*24);
	endcomp;
	break after cat / ol skip summarize;
run;

/*****************************************************/
/*                                                   */
/* Part 5. Run the sql to create a join              */
/* between the planet and moon tables                */
/* use proc report to print this out                 */
/*                                                   */
/*****************************************************/

proc sql;
     create table moon_planet as 
            select p.id, p.name label='Planet Name', m.mname label='Moon Name', 
            m.soldist label='Distance from Planet' format=comma14.,
            m.orbper label='Orbital Period' format=comma5.,
            m.radius/p.radius label='Relative Size' format=E7. 
            from crr.planets p, crr.moon m
	       where p.pid=m.pid order by p.id, m.soldist;
ods proclabel 'Planets and Their Moons';
title 'Planets and Their Moons';
proc report data=moon_planet headline headskip nowd;
     column id name mname soldist orbper _tema005;
	define id / order 'Planet ID' width=10 center format=2.;
	define name / order 'Planet Name';
     define mname / 'Moon Name'; 
     define soldist / 'Distance from Planet' format=comma14.;
     define orbper / 'Orbital Period' format=comma6. width=8;
     define _tema005 / 'Relative Size' format=7.6 width=8;
run;


/*****************************************************/
/*                                                   */
/* Part 6. Close the html and run two data           */
/* steps. The first will update the page frame       */
/* and the second will add source code to the body   */
/*                                                   */
/*****************************************************/

ods html close;
/* Modify the table of contents */
data _null_;
    infile 'pllpg2.htm' end=no_more;
    file 'pllpg.htm' mod;
    input;
    put _infile_;
    if no_more then put '';
run;
/* List the program with the pages */
data _null_;
    infile 'pllist.sas' end=no_more;
    file 'pllist.htm' mod;
    input;
    if _n_=1 then do;
       put '
';
       put '';
    end;
    put _infile_;
    if no_more then put '
'; run; ods listing;