![]() |
| 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 '