I think your method should work, but beware this computation will be either very slow if you use a very fine grid, or very inaccurate if you use a coarse grid. Probably somewhere in the middle, it will be both slow and inaccurate ![]()
There are currently no way to do this efficiently.
We have another discussion pending about something akin: https://forum.orekit.org/t/footprintoverlapdetector-for-large-regions-countries/2020/5 but we did not make progress there either.