Mesh deviation with tessellation for large areas

Hi,
I am using the tessellation from Orekit.

When working with ‘wide’ polygons, the returned tiles have a different direction to that aimed for by TileAiming (with AlongTrackAiming). Furthermore, the maximum length specified is not respected.

You can see this in the attached image:

.

Two different tessellations have been performed here:

  • one for Corsica (the island).
  • one starting in France and going to China (the end is not shown here).

For the wider area, I found that the tiles can deviate by up to 44° and measure more than 440 km, whereas the limit was 300 km.

I eventually added quotes when talking about wide areas because the deviation is related to the latitude and longitude of the polygon.

Is it a limit of this algorithm ?

Yes, I think it is a limitation.
Tesselation is performed by starting at one almost arbitrary point and expanding the grid step by step. As the grid is expanded, it deforms because it is basically a 2D planar mapping of a sphere.
Also note that the AlongTrackAiming is used to build another mapping, a 1D mapping between latitude and aiming. This is done by using a simple Keplerian propagation over one half orbit, so it will not be accurate on several orbits.

I think however the deformation due to sphere to planar 2D mapping it the most important effect.

1 Like

Thank you for this clarification! @luc

Is there a way to predict the degree of deviation in the mesh before invoking the tessellation method? Perhaps by analysing the statistics of the zone to be tessellated?

I just need to know the worst-case scenario so that we can remove the ‘randomness’ of the InsidePointFinder used to start the node expansion., which is deterministic but difficult to handle.

No, there is currently no way to estimate the error.
There is also no way yet to change the initial point, but this could perhaps change. We could perhaps propose an alternate API where the users would provide this initial point by themselves. Would that suit your needs? If so, I suggest you open a feature request in our issue tracker.

Hi @luc,
Thank you for your suggestion. I will try a different approach so that I do not need this modification.

Have a great day!
Achille