GeographicZoneDetector problem

hello, i am currently using GeographicZoneDetector. it looks to work, but i have noticed a problem: if the step in the time duration (used by the propagator) is too high, the detector will not detect some passages since the passage is detected only if one discrete position of the satellite follow inside the zone selected.
This is known or is not possible this kind of error (and then the problem is my code) ??
This problem can happens also in the case that the step is “normal”(such as 10 sec), but my zone is very narrow (so discrete position of the sat will appear inside the narrow selected zone)

Hi @rekoraffa,

It shouldn’t be the propagator/integrator time step but the maxCheck attribute of your detector.
This attribute is set to 10min (600s) by default and it is the maximum time interval when the event is checked.
This means the g function of the event will be computed and checked (for a change of sign) every 10min.
Since an event is detected by a change of sign in the g function, if your event lasts less than 10min it can be missed by the detector.

Try to set it to a smaller value, example for 1min/60s:
GeographicZoneDetector myDetector = new GeographicZoneDetector(...).withMaxCheck(60.);

Hope this helps,

Thanks a lot… now it works well.
Since also 60 sec was too hight to detect the passage on my zone, i setted 10 sec.
I have a question related to the ‘.withMaxCheck’: changing the .withMaxCheck from the defoult 600s to 10s increase drammatically the computaional load ?

As you explain to me means that is not possible to detect an event with the duration smaller than the maxCheck duration.
But in my code happens that with .maxCheck(35) are detected events event with duration of 10 second. This is normal?

Hi @rekoraffa,

Yes, changing the max check value from the default 600 s to 10 s will significantly increase the computation time because the g-function will then be computed at least 60 times more often, and the GeographicZoneDetector g-function can take some time.

Yes, that is normal. It is possible to detect events whose duration is lower than the max check value, but it is then random, it will depend on the dates of calculation of the function g and if a change of sign is detected from one step to another. So even with the default value of 600s, a very short event can sometimes be detected.