Parent Topic: STGBIG
The object is to rectify a radar image so that it overlays a digital elevation model which has been previously registered to a UTM grid. In so doing, the radar image becomes registered to the same UTM grid.
The algorithm is output driven. For each output pixel location in the output window on the master (output) file, the corresponding input pixel location on the uncorrected (input) file is determined. The pixel value at the input pixel location is copied to the output pixel location.
The following values are constant for each output location:
OALTI = aircraft height above sea level in metres. HEIGHT = aircraft height above ground (for ground range only) OHEAD = aircraft heading angle E0 = easting of the point on the flight path (OPOINT(1)) N0 = northing of the point on the flight path (OPOINT(2)) INPXSZ(1) = input radar image pixel spacing in range direction S0 = slant range to first pixel (DELAY * C / 2) G0 = ground range to first pixel (SQRT(S0**2 - HEIGHT**2))The following values are different for each output location:
E = easting at the output location
N = northing at the output location
H = height (elevation) at the output location
S = slant range distance from flight path to output location
G = ground range distance from flight path to output location
EI = easting of intercept point between flight path and
perpendicular line connecting output location to flight path
NI = northing of intercept point between flight path and
perpendicular line connecting output location to flight path
D = distance between intercept point and OPOINT
P = input pixel number corresponding to output location
L = input line number corresponding to output location
The following steps are taken for each output location:1. Compute the intercept (EI,NI), given (E0,N0), OHEAD, and (E,N).
N - N0 + tan(OHEAD)*E + tan(90-OHEAD)*E0
EI = ----------------------------------------
tan(OHEAD) + tan(90-OHEAD)
NI = N0 + tan(90-OHEAD)*(EI - E0)
See the ALGORITHM section of the documentation for the FLIGHT
program for the derivation of the above equations. The above
equations cannot be used if OHEAD is a multiple of 90.If OHEAD = 0 (north) or 180 (south), then the intercept point is:
EI = E0
NI = N
If OHEAD = 90 (east) or 270 (west), then the intercept point is:
EI = E
NI = N0
2. Compute the distance D, given (E0,N0) and (EI,NI).
D = square root of ((EI - E0)**2 + (NI - N0)**2)
D is (+) when intercept is on or ahead of the flight path point.
D is (-) when intercept is behind the point on the flight path.
3. Compute the line number L, given D and OCOEFF.
L = a + (b * D ) + (c * D**2) + (d * D**3) + (e * D**4)
+ (f * D**5) + (g * D**6) + (h * D**7) + (i * D**8)
where OCOEFF = a,b,c,d,e,d,f,h,i4. Compute the ground range G, given (E,N) and (EI,NI).
G = square root of ((EI - E)**2 + (NI - N)**2)
5. Compute the slant or ground rangeIf RANGETYP="SLANT", compute the slant range as follows:
S = square root of (G**2 + (OALTI - H)**2)
If RANGETYP="GROUND", compute the ground range as follows:
G2 = square root of (G**2 + HEIGHT**2 - (OALTI - H)**2)
S or G2 is (+) when the output pixel is on or right of the
flight path.
S or G2 is (-) when the output pixel is left of the flight path.
6. Compute the pixel number on the input imageIf RANGETYP="SLANT", compute the input pixel number as follows:
P = (S - S0) / INPXSZ(1) + 1
If RANGETYP="GROUND", compute the input pixel number as follows:
P = (G2 - G0) / INPXSZ(1) + 1
If the input pixel location (P,L) is within the input database
channel, then the input pixel value is copied to the output pixel
location. Otherwise, the output pixel location is left unchanged.