Hi!
I have a list of dates for which I’m trying to generate altaz measurements based on CPF data from EDC. My first approach was something like this:
...
earth = OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS,
Constants.WGS84_EARTH_FLATTENING,
itrf)
station = GeodeticPoint(math.radians(lat), math.radians(lon), elevation)
topo = TopocentricFrame(earth, station, "topo")
alts = [ ]
azs = [ ]
distance = [ ]
times = list_of_dates
for t in times:
absdate = datetime_to_absolutedate(t)
state = prop.propagate(absdate)
pvInit = state.getPVCoordinates()
frame = state.getFrame()
alt = np.degrees(topo.getElevation(pvInit.getPosition(), frame, absdate))
az = np.degrees(topo.getAzimuth(pvInit.getPosition(), frame, absdate))
distance = topo.getRange(pvInit.getPosition(), frame, absdate)
alts.append(alt)
azs.append(az)
distances.append(distance)
And I think it works ok, but I read somewhere that I should use AngularAzElBuilder for that kind of things, so I tried but I have no idea how to create scheduler that would allow me to generate measurements for given dates:
err = 1e-5
altazError = [err, err]
altazWeight = [1.0, 1.0]
covariance = MatrixUtils.createRealDiagonalMatrix([err**2, err**2, err**2, err**2, err**2, err**2])
random_vector = CorrelatedRandomVectorGenerator(covariance, 1.0e-10, GaussianRandomGenerator(MersenneTwister()))
obs_sat = ObservableSatellite(0)
generator = Generator()
generator.addPropagator(prop)
absdates = [datetime_to_absolutedate(t) for t in times]
azelBuilder = AngularAzElBuilder(random_vector, ground_station, altazError, altazWeight, obs_sat)
generator.addScheduler(???)
meas = generator.generate(absdates[0], absdates[-1])
Is this approach valid and/or better than the first one? And if it’s better how to approach this problem?