#!/usr/bin/env python3 import logging as log import fileinput from sys import argv from skyfield.api import Topos, load log.basicConfig(level=log.DEBUG) """ Converts pairs of format `name longitute latitude` to `ns3::Vector` format in ITRF frame See `ns3::Vector::operator >>` """ def isogeo(): for i in range(-60,60,5): for j in range(-180,180,5): yield "foo,%f,%f" % (i, j) """ Stores the vector data """ class Vector: def __init__(self, x, y, z): self.x = x self.y = y self.z = z def __repr__(self): return "%f:%f:%f" % (self.x, self.y, self.z) if __name__ == "__main__": if len(argv) > 1: if argv[1] == "-r": f = isogeo() else: f = fileinput.input(argv[1]) else: f = fileinput.input() for line in f: _, lat, lng = line.split(',') location = Topos(float(lat), float(lng)) d = location.itrf_xyz().m print(Vector(d[0], d[1], d[2]))