FTN INIT C PROGRAM INIT: APPROXIMATE VALUES OF ORIENTATION PARAMETERS 9201 C 9202 C ALLOW A MAXIMUM OF 100 PHOTOGRAPHS / MODELS PER FLIGHT LINE 9203 DIMENSION LORI(8,100), LADD(4) 9204 MPH = 100 9205 DOUBLE PRECISION B1, B2, COSI, FAC 9206 1 FORMAT (1H1) 9207 3 FORMAT (8I10) 9208 5 FORMAT (13H0 MORE THAN I4, ' PHOTOGRAPHS / MODELS IN STRIP') 9209 C 9210 C DEFINE INPUT AND OUTPUT DEVICES 9211 IRD = 1 9212 ICD = 2 9213 IPR = 3 9214 WRITE (IPR,1) 9215 C 9216 C READ ALL PHOTOGRAPHS / MODELS, ONE FLIGHT LINE AT A TIME 9217 110 DO 112 N = 1,MPH 9218 READ (IRD, 3, END=114) (LORI(J,N), J=1,8) 9219 IF (LORI(1,N) .LE. 0) GO TO 115 9220 112 CONTINUE 9221 READ (IRD, 3, END=120) (LADD(J), J=1,4) 9222 IF (LADD(1) .GT. 0) GO TO 153 9223 NXT = LADD(4) 9224 N = MPH 9225 GO TO 120 9226 114 NXT = -1 9227 GO TO 116 9228 115 NXT = LORI(4,N) 9229 116 N = N - 1 9230 IF (N-1) 150, 117, 120 9231 C SINGLE MODEL OR PHOTOGRAPH ENCOUNTERED 9232 117 LADD(2) = 1 9233 LADD(3) = 0 9234 GO TO 130 9235 C 9236 C MORE THAN ONE MODEL OR PHOTOGRAPH: COMPUTE BASE 9237 120 NM1 = N-1 9238 DO 125 J = 2,4 9239 125 LADD(J) = (LORI(J,N) - LORI(J,1)) / NM1 9240 IF (N .EQ. 2) GO TO 130 9241 IF (LORI(4,2) .NE. 0) GO TO 130 9242 C 9243 C MORE THAN TWO MODELS OR PHOTOGRAPHS: INTERPOLATE E, N, H 9244 DO 126 J2 = 2,NM1 9245 DO 126 J1 = 2,4 9246 126 LORI(J1,J2) = LORI(J1,J2-1) + LADD(J1) 9247 C 9248 C COMPUTE A, B, C, D 9249 130 GO TO (132,131,132,131), KODE 9250 131 B1 = LADD(2) 9251 B2 = LADD(3) 9252 GO TO 133 9253 132 B1 = LADD(3) 9254 B2 =-LADD(2) 9255 133 IF (KODE .GT. 2) GO TO 134 9256 B1 = -B1 9257 B2 = -B2 9258 134 COSI = B1 / (B1**2 + B2**2)**.5D0 9259 LADD(3) = ((1D0 - COSI) * .5D0)**.5D0 * FAC 9260 LADD(4) = ((1D0 + COSI) * .5D0)**.5D0 * FAC 9261 IF (B2 .LT. 0) LADD(3) = -LADD(3) 9262 IF (LADD(4) .LT. 0) LADD(4) = -LADD(4) 9263 LADD(1) = 0 9264 LADD(2) = 0 9265 DO 135 J2 = 1,N 9266 DO 135 J1 = 1,4 9267 135 LORI(J1+4,J2) = LADD(J1) 9268 C 9269 C PUNCH ORIENTATION PARAMETERS 9270 DO 141 J2 = 1,N 9271 141 WRITE (ICD,3) (LORI(J1,J2), J1=1,8) 9272 C 9273 C SET ROTATION CODE AND SCALE FACTOR 9274 150 IF (NXT .LT. 0) GO TO 159 9275 KODE = NXT 9276 IF (KODE .EQ. 0) KODE = 4 9277 FAC = LORI(8,N+1) 9278 IF (FAC .GT. 0.) FAC = (FAC * 1D7)**.5D0 9279 IF (FAC .LE. 0.) FAC = 1D7 9280 GO TO 110 9281 C 9282 153 WRITE (IPR,5) MPH 9283 159 STOP 9284 END 9285 FTN PNCH C PROGRAM PNCH: PUNCH ORIENTATION ELEMENTS AND TERRAIN COORDINATES 9401 C 9402 DIMENSION LORI(8,300), LTER(4) 9403 8 FORMAT (8I10) 9404 9 FORMAT (19H0 NO DATA IN FILE I3) 9405 C 9406 C DEFINE INPUT AND OUTPUT DEVICES 9407 JD31 = 31 9408 JD32 = 32 9409 JD33 = 33 9410 C 9411 C ORIENTATION ELEMENTS 9412 READ (JD31,END=208) ITER,N,NIM,NW,LF,((LORI(J1,J2),J1=1,8),J2=1,N) 9413 DO 201 J2 = 1,N 9414 201 WRITE (JD32,8) (LORI(J1,J2), J1=1,8) 9415 C 9416 C TERRAIN COORDINATES 9417 202 READ (JD31,END=209) (LTER(J), J=1,4) 9418 C OMIT TERRAIN POINTS WITH POINT NUMBER 7777, AS REQUIRED BY BUNDLE 9419 C ADJUSTMENT 9420 IF (LTER(1) .EQ. 7777) GO TO 202 9421 C ELIMINATE PREFIX USED IN BUNDLE ADJUSTMENT 9422 LTER(1) = LTER(1) - (LTER(1) / 1000000) * 1000000 9423 WRITE (JD33,8) (LTER(J), J=1,4) 9424 GO TO 202 9425 C 9426 208 WRITE (IPR,9) JD31 9427 STOP 1 9428 209 STOP 77 9429 END 9430