The Satellite Database is a listing of active satellites currently in orbit around the Earth. The database includes basic information about the satellites and their orbits.

options(width=100)
knitr::opts_chunk$set(out.width='1000px',dpi=200,message=FALSE,warning=FALSE)
#load packages and csv file
library(ggplot2)
library(dplyr)
library(gridExtra)
library(RColorBrewer)
library(Amelia)
library(ggmap)

Data

#load and check the csv file
df<-read.csv('database.csv',sep=',')
#missmap(df, main="Missings Map", col=c("yellow", "black"),y.cex = 0.4, x.cex = 0.6, legend=FALSE)
Most of the missing entries of this dataset are for Longitude.of.Geosynchronous.Orbit..Degrees column (18)
[Show NA’s]
##      Official.Name.of.Satellite Country.Organization.of.UN.Registry
## 16                      USA 246                                  NR
## 184                 ChinaSat 2C                                  NR
## 443                    Gaofen 4                                  NR
## 447                 Cosmos 2513                                  NR
## 567                     USA 253                                 USA
## 568                     USA 254                                 USA
## 797            Long Excursion 1                                  NR
## 801                     Luch 5A                              Russia
## 852                      MUOS-5                                  NR
## 954               ORBCOMM FM-21                                 USA
## 1019                 QueztSat-1                      United Kingdom
## 1025                Raduga 1-M3                              Russia
## 1040                  Resurs-P3                                  NR
## 1090                    USA 241                                 USA
## 1103                      SCD-2                                  NR
## 1105                     S-Cube                                  NR
## 1110                    USA 236                                 USA
## 1246                    TDRS-12                                 USA
##                                                                                                                 Operator.Owner
## 16                                                                                                                US Air Force
## 184                                                                         China Satellite Communication Corp. (China Satcom)
## 443                                                                 China Aerospace Science and Technology Corporation (CASTC)
## 447                                                                                                        Ministry of Defense
## 567                                                                                        Air Force Satellite Control Network
## 568                                                                                        Air Force Satellite Control Network
## 797                                                                                                                           
## 801                                                                                               Russian Federal Space Agency
## 852                                                                                                                DoD/US Navy
## 954                                                                                                               ORBCOMM Inc.
## 1019 SES World Skies (SES [Société Européenne des Satellites (SES)]) -- total capacity leased to subsidiary of EchoStar Corp. 
## 1025                                                                                                       Ministry of Defense
## 1040                                                                                  Russian Federal Space Agency (Roskosmos)
## 1090                                                                                                              US Air Force
## 1103                                                                          Instituto Nacional de Pesquisas Espaciais (INPE)
## 1105                      Planetary Exploration Research Center (PERC) of the Chiba Institute of Technology, Tohoku University
## 1110                                                                         National Reconnaissance Office (NRO)/US Air Force
## 1246                                                                      National Aeronautics and Space Administration (NASA)
##      Country.of.Operator.Owner                 Users                Purpose
## 16                         USA              Military         Communications
## 184                      China Commercial/Government         Communications
## 443                      China            Government      Earth Observation
## 447                     Russia              Military         Communications
## 567                        USA              Military      Space Observation
## 568                        USA              Military      Space Observation
## 797                      China                                             
## 801                     Russia            Government         Communications
## 852                        USA              Military         Communications
## 954                        USA            Commercial         Communications
## 1019                       USA            Commercial         Communications
## 1025                    Russia              Military         Communications
## 1040                    Russia Government/Commercial      Earth Observation
## 1090                       USA              Military      Earth Observation
## 1103                    Brazil            Government      Earth Observation
## 1105                     Japan                 Civil Technology Development
## 1110                       USA              Military         Communications
## 1246                       USA            Government         Communications
##               Detailed.Purpose Class.of.Orbit      Type.of.Orbit
## 16                                        GEO                   
## 184                                       GEO                   
## 443            Optical Imaging            GEO                   
## 447                                       GEO                   
## 567                    Imaging            GEO                   
## 568                    Imaging            GEO                   
## 797                                                             
## 801                                       GEO                   
## 852                                       GEO                   
## 954                                       LEO Non-Polar Inclined
## 1019                                      GEO                   
## 1025                                      GEO                   
## 1040                                      LEO    Sun-Synchronous
## 1090          Infrared Imaging            GEO                   
## 1103 Meteorology/Earth Science            LEO Non-Polar Inclined
## 1105                                      LEO Non-Polar Inclined
## 1110                Data Relay            GEO                   
## 1246                                      GEO                   
##      Longitude.of.Geosynchronous.Orbit..Degrees. Perigee..Kilometers. Apogee..Kilometers.
## 16                                            NA                35700               35803
## 184                                           NA                35787               35801
## 443                                           NA                35792               35796
## 447                                           NA                35783               35805
## 567                                           NA                35749               35757
## 568                                           NA                35800               35900
## 797                                           NA                   NA                  NA
## 801                                           NA                35778               35793
## 852                                           NA                35576               35998
## 954                                           NA                  810                 822
## 1019                                          NA                35774               35798
## 1025                                          NA                35777               35797
## 1040                                          NA                  469                 472
## 1090                                          NA                35770               35790
## 1103                                          NA                  735                 760
## 1105                                          NA                  397                 408
## 1110                                          NA                35771               35805
## 1246                                          NA                35780               35785
##      Eccentricity Inclination..Degrees. Period..Minutes. Launch.Mass..Kilograms.
## 16       1.22e-03                  4.20           1436.1                    6169
## 184      1.66e-04                  0.50           1436.1                    5200
## 443      4.74e-05                  0.60           1436.1                    4600
## 447      2.61e-04                  0.00           1436.1                    5000
## 567      9.50e-05                  0.03             1434                        
## 568      1.18e-03                  0.03                                         
## 797            NA                    NA                                         
## 801      1.78e-04                  4.85           1436.8                     950
## 852      5.01e-03                  4.50           1436.1                    6804
## 954      8.35e-04                 45.00           101.21                      45
## 1019     2.85e-04                  0.02          1436.09                    5514
## 1025     2.37e-04                  0.10          1436.13                    2400
## 1040     2.19e-04                 97.28            94.01                    5900
## 1090     2.37e-04                  6.45          1436.11                    4500
## 1103     1.76e-03                 25.00             99.8                     110
## 1105     8.12e-04                 51.64            92.61                       4
## 1110     4.03e-04                  4.91            23.94                        
## 1246     5.93e-05                  6.99          1435.88                    3454
##      Dry.Mass..Kilograms. Power..Watts. Date.of.Launch Expected.Lifetime..Years.
## 16                                           9/18/2013                        14
## 184                                          11/3/2015                        15
## 443                                         12/28/2015                         8
## 447                                         12/10/2015                          
## 567                   600                    7/28/2014                          
## 568                   600                    7/28/2014                          
## 797                                                                             
## 801                                         12/11/2011                          
## 852                                          6/24/2016                          
## 954                    22           160      9/23/1998                         5
## 1019                                         9/29/2011                        15
## 1025                                        11/11/2013                         5
## 1040                                         3/13/2016                         5
## 1090                                         3/19/2013                        12
## 1103                                 70     10/23/1998                         3
## 1105                                         9/17/2015                          
## 1110                                         6/20/2012                          
## 1246                 1600   3,500 (EOL)      1/23/2014                        15
##                                                                                                   Contractor
## 16                                                                             Lockheed Martin Space Systems
## 184                                                                 China Academy of Space Technology (CAST)
## 443                                                       China Aerospace Science and Technology Corporation
## 447                                                                                            ISS Reshetnev
## 567                                                                                   Orbital Sciences Corp.
## 568                                                                                   Orbital Sciences Corp.
## 797                                                                                                         
## 801                                                                        ISS Reshetnev/Thales Alenia Space
## 852                                                                       Lockheed Martin Missiles and Space
## 954                                                                                   Orbital Sciences Corp.
## 1019                                                                                     Space Systems/Loral
## 1025                                                                                           OAO Resetneva
## 1040                                        TsSKB Progress (State Research & Production Space Rocket Center)
## 1090                                                                           Lockheed Martin Space Systems
## 1103                                                        Instituto Nacional de Pesquisas Espaciais (INPE)
## 1105 Planetary Exploration Research Center (PERC) of the Chiba Institute of Technology and Tohoku University
## 1110                                                                      National Reconnaissance Laboratory
## 1246                                                                                Boeing Satellite Systems
##      Country.of.Contractor                     Launch.Site   Launch.Vehicle COSPAR.Number
## 16                     USA                  Cape Canaveral          Atlas 5     2013-050A
## 184                  China Xichang Satellite Launch Center    Long March 3B     2015-063A
## 443                  China Xichang Satellite Launch Center    Long March 3B     2015-083A
## 447                 Russia             Baikonur Cosmodrome         Proton M     2015-075A
## 567                    USA                  Cape Canaveral         Delta 4M     2014-043A
## 568                    USA                  Cape Canaveral         Delta 4M     2014-043B
## 797                                                                                      
## 801          Russia/France             Baikonur Cosmodrome         Proton M     2011-074B
## 852                    USA                  Cape Canaveral          Atlas 5     2016-041A
## 954                    USA  Wallops Island Flight Facility          Pegasus     1998-053A
## 1019                   USA             Baikonur Cosmodrome         Proton M     2011-054A
## 1025                Russia             Baikonur Cosmodrome         Proton M     2013-062A
## 1040                Russia             Baikonur Cosmodrome       Soyuz 2-1b     2016-016A
## 1090                   USA                  Cape Canaveral          Atlas 5     2013-011A
## 1103                Brazil                  Cape Canaveral          Pegasus     1998-060A
## 1105                 Japan     International Space Station Cubesat Deployer    1998-067GY
## 1110                   USA                  Cape Canaveral          Atlas 5     2012-033A
## 1246                   USA                  Cape Canaveral          Atlas 5     2014-004A
##      NORAD.Number
## 16          39256
## 184         41021
## 443         41194
## 447         41121
## 567         40099
## 568         40100
## 797            NA
## 801         37951
## 852         41622
## 954         25475
## 1019        37826
## 1025        39375
## 1040        41386
## 1090        39120
## 1103        25504
## 1105        40898
## 1110        38466
## 1246        39504

As in a first step I’m interested in an overview (Countries, date, Purpose), I will not remove these NA’s. There are also empty rows (4) for the Date.of.Launch so I need to remove them since I want to create a year and month columns for later use.

df<-df[!(is.na(df[,19]) | df[,19]==""), ]
df$year<-as.numeric(format(as.POSIXct(df$Date.of.Launch,format="%m/%d/%Y"),"%Y"))
df$month<-as.numeric(format(as.POSIXct(df$Date.of.Launch,format="%m/%d/%Y"),"%m"))

Overview per Purpose

Number per year
ggplot(df,aes(x=factor(year))) + geom_bar(aes(fill=Purpose)) + theme(axis.text.x = element_text(angle=90, hjust=1),legend.position='top',legend.text=element_text(size=5),legend.key.size = unit(.2, "cm"),legend.title=element_blank(),axis.title.x=element_blank())

Distribution
d1<-as.data.frame(df %>% group_by(Purpose) %>% summarise(number = n()) %>% arrange(-number))
d1$Purpose <- reorder(d1$Purpose, -d1$number)
d1$Percentage <- d1$number / sum(d1$number) * 100
d1$LABEL <-paste0(round(d1$Percentage,1),"%")
ggplot(d1, aes(x=Purpose, y=number)) + geom_bar(width = 0.9, stat="identity") + xlab('') + ylab('') + geom_text(aes(label=LABEL), position=position_dodge(width=0.9), vjust=-0.25,size=2) + theme(axis.text.x = element_text(angle=90, hjust=1))

Comments :

Overview per Country

Number per year
ggplot(df,aes(x=factor(year))) + geom_bar(aes(fill=Country.of.Contractor)) + theme(axis.text.x = element_text(angle=90, hjust=1),legend.position='top',legend.text=element_text(size=5),legend.key.size = unit(.2, "cm"),legend.title=element_blank(),axis.title.x=element_blank()) 

Number per year : USA contributions vs. World

Here I select the Country.of.Contractor having the USA to show the contribution of the USA vs. world

df1<-df %>% mutate(isUSA = ifelse(grepl("USA", Country.of.Contractor ), 'isUSA',' other'))
ggplot(df1,aes(x=factor(year))) + geom_bar(aes(fill=isUSA)) + theme(axis.text.x = element_text(angle=90, hjust=1),legend.position='top',legend.text=element_text(size=5),legend.key.size = unit(.2, "cm"),legend.title=element_blank(),axis.title.x=element_blank())

Distribution
d1<-as.data.frame(df %>% group_by(Country.of.Contractor) %>% summarise(number = n()) %>% arrange(-number))
d1$Country.of.Contractor <- reorder(d1$Country.of.Contractor, -d1$number)
d1$Percentage <- d1$number / sum(d1$number) * 100
d1$LABEL <-paste0(round(d1$Percentage,0),"%")
ggplot(d1, aes(x=Country.of.Contractor, y=number)) + geom_bar(width = 0.9, stat="identity") + xlab('') + ylab('') + geom_text(aes(label=LABEL), position=position_dodge(width=0.9), hjust=.2,vjust=-0.25,size=2) + theme(axis.text.x = element_text(angle=90, hjust=1))

Comments :

Summary

res<-df %>% group_by(year,month) %>% summarise(number= n())
mymonths <- c("January","February","March","April","May","June","July","August","September","October","November","December")
res$MonthAbb <- mymonths[ res$month ]
res$ordered_month <- factor(res$MonthAbb, levels = month.name)
ggplot(data=res, aes(x=year,y=ordered_month)) + geom_tile(aes(fill = number),colour = "white") + scale_fill_gradient(low="steelblue", high="black") + theme(axis.title.y=element_blank(),axis.title.x=element_blank())

as.data.frame(df %>% group_by(Purpose,Country.of.Contractor) %>% summarise(number = n()) %>% arrange(-number)) %>% ggplot(aes(x=Country.of.Contractor,y=Purpose,size=number)) + geom_point() + theme(axis.text.x = element_text(angle=90, hjust=1),axis.text=element_text(size=6),axis.title.y=element_blank(),axis.title.x=element_blank())

GeoLocations

getGeo<-function(x,coord){
  for(i in 1:length(x)){
    val<-as.numeric(geocode(as.character(x[i])))[coord]
    return(val)
    }
}

launches<-factor(unique(df$Launch.Site))
pos<-as.data.frame(launches)
#get geocode
pos$geoLon<-sapply(pos$launches,getGeo,1)
pos$geoLat<-sapply(pos$launches,getGeo,2)

#impute by hand 2 unknown locations
pos$geoLat[13]<-40.954662848
pos$geoLon[13]<-100.28833218
pos$geoLat[18]<-51.6999972
pos$geoLon[18]<-128.0

#impute all by hand 
#pos$geoLon<-c(-52.77235,-80.60771,102.24487,63.31336,-120.57244,59.84240,80.22655,40.57484,128.33411,80.22655,111.72082,80.22655,40.95466,130.95750,-118.22393,-118.22393,-81.51594,51.70000,-152.40413,-75.46988,80.22655,131.07611,167.7280,NA,34.68018,127.53411)
#pos$geoLat<-c(5.207912,28.392218,27.893082,45.859478,34.742027,51.094366,13.725865,62.927855,51.883937,13.725865,38.804986,13.725865,100.288332,30.374834,33.74340,33.743406,28.330790,128.000000,57.790832,37.936702,13.725865,31.251236  ,8.730619,NA,31.884686,34.441730)
colnames(pos)[1]<-'Launch.Site'

#group dataframe by Launch.Site 
res<-df %>% group_by(Launch.Site) %>% summarise(number= n())
res<-merge(res,pos,by='Launch.Site')

map<-ggplot() + borders("world",colour="grey75",fill="white")
g1<-map + geom_point(data=res,aes(x=geoLon, y=geoLat,size=number,color=factor(Launch.Site)),alpha=.5) + theme(legend.text=element_text(size=5),legend.position="none")
g1 + geom_text(aes(label = ifelse(res$number>150,as.character(res$Launch.Site),''), x = res$geoLon, y = res$geoLat))

History :