Esempio n. 1
0
    tle_data = [tle_data[i:i+3] for i in range(0, len(tle_data), 3)]
    return tle_data


if __name__ == "__main__":
    cb = init_central_body()
    sphere_coords = cb.plot_attributes()
    tle_data = get_tle_data("data/starlink.txt")

    count = 1

    for tle in tle_data:
        print("....Calculating State Vectors for Starlink No. " + str(count) + "....")
        # create satellite object and propagate it using orbital elements
        sat1 = Satellite(sat_id=1, name="ISS", center_body=cb, sat_type="Communication")
        sat1r0, sat1v0 = sat1.propagate_with_tle(tle)
        dt = sat1.period/190.0
        sat1r0 = sat1r0.tolist()
        sat1v0 = sat1v0.tolist()
        propagtor1 = op(sat1r0, sat1v0, sat1.period, dt=dt, central_body=cb)
        propagtor1.propagate()
        propagtor1.rs = propagtor1.rs * 1/6378
        if count == 1:
            coords = propagtor1.rs
        else:
            coords = np.concatenate((coords, propagtor1.rs), axis=1)
        count= count + 1

print(" ")
print("....Creating final_coords list for writing location data to Blender's Particle Cache....")
Esempio n. 2
0
    a = cb.radius + (iss['perigee height'] + iss['apogee height']) / 2
    eles = [
        a, iss['e'], iss['i'], iss['raan'], iss['arg_perigee'],
        iss['ma@epoch'], iss['Epoch']
    ]
    period = (24.0 * 3600.0) / iss['revs/day']
    return eles, period


if __name__ == "__main__":
    cb = init_central_body()
    sphere_coords = cb.plot_attributes()

    # create satellite object and propagate it using orbital elements
    sat1 = Satellite(sat_id=1, name="ISS", center_body=cb, sat_type="Station")
    sat1r0, sat1v0 = sat1.propagate_with_tle("data/iss.tle")
    sat1r0 = sat1r0.tolist()
    sat1v0 = sat1v0.tolist()
    propagtor1 = op(sat1r0, sat1v0, sat1.period, dt=100.0, central_body=cb)
    propagtor1.propagate()

    sat2 = Satellite(sat_id=2,
                     name="Starlink-31",
                     center_body=cb,
                     sat_type="Communication")
    sat2r0, sat2v0 = sat2.propagate_with_tle("data/starlink-31.tle")
    sat2r0 = sat2r0.tolist()
    sat2v0 = sat2v0.tolist()
    propagtor2 = op(sat2r0, sat2v0, sat2.period, dt=100.0, central_body=cb)
    propagtor2.propagate()