FootprintOverlapDetector for large regions (countries)

Hello all,

I’m looking to understand when a satellite footprint will be over various regions of the world. For sake of this discussion, let’s assume countries. I can load the country borders (from somewhere like https://www.naturalearthdata.com/) and build my footprint detector but the detector does not seem to properly record when it’s inview of the country. My satellite has a relatively small footprint, near-nadir pointing, so I need something of reasonably high fidelity to catch the edge cases

In some cases it completely misses the country. In others detects the entry border, only to detect the exit condition minutes before the satellite actually leaves the border.

I have used the GeographicZoneDetector, which works much better, but misses the satellite’s FoV.

I do understand there is a limit to the sampling distance for the FootprintOverlapDetector. I believe hipparchus has an underlying limit of 1,000 sample points. So for the large areas, I end up computing the sampling distance backwards out from the country’s area.

I’ve considered the following solutions:

  1. sample all the areas and simply use a multitude of detectors for each. I’m concerned about runtime
  2. slice my large areas into smaller pieces. Perhaps intersect my countries with a 10-degree lat/lon box or something, and run a detector for each of those.
  3. Propagate to a very small time-step and check the FieldOfView using the resulting SpacecraftState myself.

Each of those three options concern me in various ways, so before I ran down one (or more) of them, I thought I’d check here. Does anyone have a recommendation, or a better idea, for tackling this problem?

thanks!
–joe

Hi,

This seems to be a recurring demand, so I guess our current handling does not meet users needs. We need to do better and redesign a solution.

Unfortunately, this is a difficult task, so it will take time.

Could you open a feature request in the forge to ask for an efficient handling of large ground zones visibility from an onboard FoV?

1 Like

Hi Luc,

Absolutely. I’ve tackled this problem in the past, with varieties of success. Almost all of them involve some specialized assumptions based on the uniqueness of the sensor/orbit/area to stay efficient.

I’ll definitely open a feature request, and am interested in discussions regarding the solution too.

–joe

1 Like

Hi @luc, I was wondering if there have been any updates with this feature? I saw there were some comments on the forge request but haven’t found much more information. Thanks!

Hi @klp welcome!

Unfortunately there have been no progress on this feature.
We still want to redesign it, but didn’t even start. I don’t know when I will be able to look at this.

Hi @greyskyy, I am wondering how do you decide how many detectors do you need as a function of the area or something else?

Sorry for the delayed reply … not sure how this slipped out of my inbox.

I’ve always decided on the number of detectors based on the size of the sensor footprint. For example, if my footprint is a 10km square at nadir, i would sample the region using a hex-grid with a sample distance of slightly less than 10km.

However, i could use a combination of a GeographicZoneDetector and the FootprintOverlapDetector. Basically use the FootprintOverlapDetector to detect when the footprint is overlapping the boundary and the GeographicZoneDetector to detect when the nadir point is within the region. If I collect all the events and turn them into time intervals, I can then combine the overlapping time intervals, creating the intervals when the FOV is overlapping the region.