Four weeks at GSoC

About the Author: Hello guys, I am Aakash Deep. I am a B.Tech. student from Indraprastha Institute of Information Technology, Delhi (IIIT-D) in Computer Science and Engineering (CSE). I am a speed-cuber and obviously, my hobby is solving Rubik's Cube.

This post is in the continuation of my last post, as the last post contains the information about the first two weeks as being a GSoC student and the work done in that time frame. Those who missed it can access that post here.

Week 3 and 4

As the database was created earlier and now it is updating every day as the new TLEs are getting store into it. Now, the work left is implementing propagation model.

For the propagation algorithm, the SGP4 algorithm is used. The algorithm takes the TLE as input and computes position and velocity vectors. Now, we will come to the workflow of the code,  that how the code is behaving. A sample test file is added to my github (can be found here). The file contains the multiple TLEs of a single satellite which is taken from the database. The code takes this as input and passes it to the propagation model. Then propagation model computes the position and velocity vectors of each TLE. After that, the averaging occurs and in the end, we get a single position and velocity vector. These vectors are then used to find the orbital elements of the satellite.

Evaluation 1

Phase 1 evaluation of the GSoC is nearby. The dates of the deadline are from June 11 to June 15. Following checkpoints are met before the deadline:

  • Creating database
    Creating the database and a table for mapping satellite’s name to its corresponding md5 hexadecimal hash and initializing tables in the database for each satellite.
  • Scraping data from web
    Scrape data from the celestrak site and populated it into the database into their respective tables.
  • Maintaining database
    Updating database whenever new TLE comes on the website.
  • Implement Propagation Model
    Converting TLE into position and velocity vector and then computing orbital elements. Now, there can be two ways to do it.  We have a file containing multiple TLE of the same satellite at different time points.
    The first way is, feeding this file as input. Compute position and velocity vector of every TLE and average these vectors to get a single vector. Use this averaged vector to calculate orbital elements.
    The second way is, feeding the file as input. Compute position and velocity vector of each TLE and from these TLE calculate position and velocity vector for each pair of vector and then average the orbital elements. After this, we will get the averaged orbital elements.
    Right now, I don’t know which way is better but we as a team trying to figure it out.
  • Compute orbital elements
    Calculates orbital elements from the given pair of position and velocity vector.

Work on Progress

  • Documentation
  • Testing

[GSoC2018|OrbitDeterminator|Aakash] Implementing Two-Line Element (TLE) Input / Output and using it for evaluation

About the author: Hello everyone, I am Aakash Deep, B.Tech student in Computer Science and Engineering (CSE) from Indraprastha Institute of Information Technology, Delhi (IIIT-D). Currently completed my 3rd year in it. I am a space enthusiast and always keep searching about the space.


Orbit Determinator,  I think the project is self-explanatory. Yes, you are right the project is tracking the orbit of the satellites using their TLEs at different time points.

TLE short for Two-Line Element. It is a data format encoding a list of orbital elements of the Earth-orbiting object for a given point in time. It consists of two line with each having character length 70. Orbital elements play a major role in plotting the orbit of the satellite. Line2 of the TLE contains all the orbital elements. „[GSoC2018|OrbitDeterminator|Aakash] Implementing Two-Line Element (TLE) Input / Output and using it for evaluation“ weiterlesen