[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.

Organization: AerospaceResearch.net

AerospaceResearch.net is a small team but the scope of the projects are big. The organization works with Small Satellite Student Society University o Stuttgart (KSat e.V.) and the Cosmic Dust Team and obviously with individual enthusiasts at the global level. Here all people work to solve problems related to space.

The work culture of this organization is very good. You got the freedom to work on your project the way you like. Working for this organization makes me feel good as I got to know more about the things related to space.

Work till starting 2 weeks

The Google Summer of Code 2018 officially started on May 14. The very first step is to get the TLE data and to store it in a database.

Now as we need a database, we must be clear which type of database we are going to use: SQL or No-SQL database. Both have their own advantages and disadvantages. After looking at the number of attributes we will need in a table, we chose SQL database.

For the database initialisation and updates. I wrote two python codes:

  • init_database.py
    The code first creates a database named cubesat in the MySQL database. Then is taking the NORAD cubesat TLEs from here and for each satellite it creates a table with timestamp, line1 and line2 as attributes.The first problem came during the creation of tables in the database with table name as a satellite name because satellite name contains special characters (such as -,(,),whitespace). To solve this problem, I converted the name of the satellite into hexadecimal hash using md5 hash function.
  • scraper.py
    The code updates the database. First it makes a connection to database and then select the database as cubesat. Then scrapes the data from the here and then it converts the satellite’s name into it’s corresponding md5 hexadecimal hash and updates the table by adding a tuple.

The database contains a table named mapping which contains two attributes satellite name and it’s corresponding md5 hexadecimal hash.

Work on Progress

  • The propagation model is almost complete.
  • Testing
  • Documentation

Schreibe einen Kommentar