Coder Social home page Coder Social logo

marwinmarw / rinex-satellite-position Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 157 KB

Parser of a RINEX nav file, for calculating of satellites positions.

License: Apache License 2.0

Python 100.00%
rinex2 satellite-tracking satellite-position satellite satellites rinex navigation

rinex-satellite-position's Introduction

RINEX-SATELLITE-POSITION

The modules are created to parsing the RINEX format V2 files and calculating positions of satellites which data are described in the RINEX files.

Positions presented in ECEF coordinate system.

How to use (example)

from RSP.parse_rinex import read_rinex
from RSP.satpos import calculate_satpos


sat_data = read_rinex(filename)
for key, rinex_info in sat_data.items():
    pos = calculate_satpos(rinex_info)

As result of the read_rinex function you can see a dictionary with processed data of the file specified as argument of the function.

Below you can see one of the records:

{'14': {'PRN': '14', 'EPOCH': {'YEAR': '17', 'MONTH': '12', 'DAY': '4', 'HOUR': '12', 'MINUTE': '0', 'SECOND': '0.0'}, 'SV_clock_bias': -8.9911278337e-05, 'SV_clock_drift': -7.9580786405e-13, 'SV_clock_drift_rate': 0.0, 'IODE': 90.0, 'Crs': -18.0, 'Delta_n': 4.5944770927e-09, 'M0': -1.5157133401, 'Cuc': -9.5367431641e-07, 'e_Eccentricity': 0.0092511395924, 'Cus': 9.760260582e-06, 'sqrt_A': 5153.7131844, 'Toe': 129600.0, 'Cic': 2.2724270821e-07, 'OMEGA': 2.5507638894, 'Cis': 1.1548399925e-07, 'i0': 0.96156005357, 'Crc': 193.0625, 'omega': -1.9530666137, 'OMEGA_DOT': -7.8846141401e-09, 'IDOT': -8.7146487144e-10, 'Codes_L2_channel': 0.0, 'GPS_week': 1978.0, 'L2_P': 0.0, 'SV_accuracy': 2.4, 'SV_health': 0.0, 'TGD': -9.7788870335e-09, 'IODC': 90.0, 'TTM': 122418.0, 'Fit_interval': 0.0}}

After this, need to process the received data to get satellites positions described in the RINEX file. For this task we can use calculate_satpos function.

The function return tuple with a position of the satellite (x, y, z)

Return example:

 (-3666055.9598023687, -14502006.7903851, 21551445.60757155)

Or we can use the calculate_positions function to process all records which we can get from the read_rinex function.

from RSP.parse_rinex import read_rinex
from RSP.satpos import calculate_positions


sat_data = read_rinex(filename)
sat_pos = calculate_positions(sat_data)

Examplethe output of the code is:

{'14': {'x': -3666055.9598023687, 'y': -14502006.7903851, 'z': 21551445.60757155}, '17': {'x': 17072083.067698468, 'y': 4702360.387043671, 'z': 14688820.05491982}}

Where key of the dictionary is a PRN of a satellite.

The RINEX nav data, I took from the UNAVCO ftp resource

link -> ftp://data-out.unavco.org/pub/rinex/nav/

rinex-satellite-position's People

Contributors

marwinmarw avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

leboyfongang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.