# Calculate actual Landsat image corner coordinates to derive azimuth (heading)

This is the continuation of an unsolved problem I had (see this thread if you like). I have a Landsat image and I would like to estimate the satellite azimuth for my location. As the satellite follows a near-polar orbit (see Landsat Handboook), the satellite must have an azimuth angle different than 0°, getting bigger as it moves poleward. If I have the coordinates of the corners of my image, I can estimate how the image is tilted against North direction (estimate the azimuth). So, the idea is:

1. to choose one of the two sides of my image (wether the left or right) to get the angle of the normalized direction (see also How to calculate orientation of line segments using open source GIS?)

2. to use the coordinates of the chosen corners (e.g. lower and upper left, as `a` and `b` variables, see below) in the following MATLAB function (inspired gist.github.com/604912)

``````function d = line_dir( ax, ay, bx, by )

dx= bx - ax;
dy= by - ay;
m= sqrt((dx^2)+(dy^2));
r= atan2(dx/m, dy/m);
d= (-r*180)/(pi);

if d<0
d=-d
end
end
``````

However, the coordinates of the corners in the metadata file refers to the background image, not the real image (see the figure below to understand), so can I find now the real corners of the image, to then find the azimuth angle? • @user30184 raises an important point in his follow-up to his answer: "simple if image is already orthorectified". Is your image already orthorectified? If it is, then every single pixel is georeferenced (has coordinates) and the problem then reduces to a simple: find azimuth between two coord points. May 30, 2014 at 19:31

Eventually, I came up with a good result. This is the procedure I followed to estimate Landsat azimuth at my location.

1. I drew two segments in a GIS, one for each side of my scene (left and right, see figure 1), and added four ("real") corner points on the end of them (green points). This is done in the Reference System of the specific scene (in my case is WGS84-UTM32N). 2. I estimated the x and y coordinates of the four points with the field calculator (I use QGIS).
3. Finally, I use the coordinates in my function, using the left or the right corners, and choosing the lower corners as `ax,y` variable and the upper as `bx,y`.

My results are 13.3695 for the left side, and 13.7344 for the right part.

The proof the Landsat satellite is inclinated relies in Figure 2, showing a scene of the equator and my scene, and it underlines the distortion being higher the closer the satellites get to the poles (in this case, Northward). My Landsat scene is from Italy (path/row= 193/028). I hope this can be of any help. Thanks to user30184 for the help!

I would believe in the specs which are referenced in the previous thread: "sunsynchronous and circular orbit at a 705 km nominal altitude, with an orbit inclination of 98.2 degrees." (Landsat7 Handbook)" By looking at the meaning of Sunsynchronous http://en.wikipedia.org/wiki/Sun-synchronous_orbit I do not find a reason why the inclination should be different closer to the poles. I may be wrong, this is sort of rocket science for me.

You point out that the paths are crearly S-shaped as in the image http://upload.wikimedia.org/wikipedia/commons/c/ce/Ground_track_metop-b_satellite.jpg

That's true, they look S-shaped in that projection because the projection is stretching the world so much near the poles. Finally on top of the poles a point will become a 360 degrees wide line on the map.

• According to the first link you posted, I got that the satellite passes above a specific location, always at the same hour ("same local mean solar time"), but the inclination of the satellite with respect to the polar orbit (saying, with respect a meridian), should be different as the satellite follows a "near-polar orbit". I am dealing with shadow casting on Earth, thus the satellite azimuth is very important to me. Finally, the S-shape is preserved, but should be slightly different than that of an exact polar orbit. May 30, 2014 at 11:07
• Ok, I understand better now. For me this looks like a problem that can be solved totally with mathematics because both the Landsat orbit and the rotation of Earth are well known. On contrary, I am not at all sure how reliable the method of measuring the corner coordinates of the Landsat scenes is. It I went to that direction I would probably a) select the center line of the image area as a baseline (not corners) b) draw a North-up line that goes through the centre point of the image area (simple if image is already orthorectified) c) measure the angle between the two lines. May 30, 2014 at 12:41
• I can derive the center of my image between its corners, but then how would I draw a line in it (in which direction?). I think using one of the side could anyway be a good proxy, but the best would be doing what you said, but it's tricky I suppose. May 30, 2014 at 13:05
• I was thinking that the corners of the scenes are somehow artificial (image may be wider in the South than in the North or vice versa) while the centerline is tied to the real path of the satellite and is thus more exact. However, the scene is not so wide and possible distortions should not be huge. Try both sides for drawing the line and if results do not differ forget my centerline suggestion. May 30, 2014 at 13:15