Simulations of observations

Got pretty much all the way but got stuck near the end. I don’t really understand how to build EventDetector. So far I have:

  • A TLE for testing (random starlink):
tle_line1 = "1 53700U 22107A   22262.25002315 -.00003400  00000-0 -19788-4 0  9995"
tle_line2 = "2 53700  53.2141 203.0545 0001141 114.0473 238.9866 15.73231113  2358"
mytle = TLE(tle_line1,tle_line2)
  • Topocentric frame and ground stationd declared as:
ITRF = FramesFactory.getITRF(IERSConventions.IERS_2010, True)
earth = OneAxisEllipsoid(Constants.WGS84_EARTH_EQUATORIAL_RADIUS, 
                         Constants.WGS84_EARTH_FLATTENING, 
                         ITRF)
longitude = radians(22.61861)
latitude  = radians(37.97194)
altitude  = 930.0
station = GeodeticPoint(latitude, longitude, altitude)
stationFrame = TopocentricFrame(earth, station, "Kryoneri")
groundStation = GroundStation(station_frame)
  • Propagator, generator, ObservableSatellite and AngularAzElBuilder:
propagator = TLEPropagator.selectExtrapolator(mytle)
generator = Generator()
sat = generator.addPropagator(propagator)
azElBuilder = AngularAzElBuilder(None, groundStation, [0.,0.], [1.,1.], sat)

Now I can’t really figure out how to define DoubleDihedralFieldOfView. Lets say I have a camera with X degrees width and Y degrees height with its center pointing at 180 degrees AZ and 45 degrees EL. Can’t really figure out how to transform this coordinates and numbers in horizontal reference system to Vector3D.

I suspect the rest of the code will look like this:

fov = DoubleDihedraFieldOfView(/*need some help here*/)
fovGroundDetector = GroundFieldOfViewDetector(stationFrame, fov)
scheduler = EventBasedScheduler(azElBuilder, FixedStepSelector(30.0), 
                                sat, fovGroundDetector,
                                SignSemantic.FEASIBLE_MEASUREMENT_WHEN_NEGATIVE).withHandler(ContinueOnEvent())

Additionally, is this method detects only visible satellites, i.e. not in Earth umbra or do I need to implement another method to detect if satellite is in umbra. Moreover is there a simple way to detect only after civil dusk and before civil dawn, like check if in location of detector Sun is more than 6 degrees below the horizon?