Skip to content

Simple algorithm description

iliasam edited this page Aug 1, 2023 · 1 revision

I developed this algorithm in 2015, it really dumb.

After starting process ("DrawMarkersTask()") program will:

  • Update global variables based on GUI settings
  • Calculate image "flight start time" and "flight duration"
  • Read TLE data
  • Calculate satellite positions (projected to a ground) for every line of the image - using TLE, "flight start time" and "flight duration".
  • For every mark in the KML file: Draw mark if it is possible

Method of drawing marks ("DrawMarkAtPos()"):

  • Calculate all distances between mark and all satellite positions (projected to a ground) - in km.
  • Find smallest of them and remember image line with that smallest distance.
  • Now we know Y value at image vertical center line, satellite position for that Y value, distance to the mark in km. So it is possible to calculate angle between camera optical axis (nadir) and the mark. Using this angle we can calculate distance between center line and the mark in pixels of the image, so we can find X and Y positions of the mark in pixels.
Clone this wiki locally