A FORTRAB BWCX ADJUS~NT P.ROGlWl BY INDEPENDEN'l' JroDElS .ABD IE.AS! SQUARES SUIT.ABI.E FOR ARDITIURT BWCI<S J.ND SUA.LL COMPO'l'ERS- JOSE EDUARDO JULIA 'the treatMnt o~ thie progru is that fd the .A.Dblock with iterations betnen planiae1iz7 and alt.iaet:l7 aJ'lll with direct solution td t.u reduoed: noraal equations,vhl.oh are solved b7 th• Gauss elimination ~chnique with aD optimiaation oonsiatiQg not in ainimizin& the baz:d vid.th but 1n the skipping of all zeros. The progru onn edjuat 1lllT VPa of' blook rogr..a.rdless ~ shape,anrlap am points distribution.It hD.s onl.7 900 Fortran instructions vhich require elmoat 30 K bytes in llB IBll 370 ooll:;nte.r .The working area requirements depeni on the bl~ck sizo(50 models need 10 K bytes and 200 aod.el• requi:H 40 K b,.Ws} 1 Thua for rela:tive~ ls:rge blooka am. ema.ll computers,there is not even need of progru segmentation or speoie.l techniques o'f dyn.D.l!dq storage tor the vorkin& area. This aida holR'We:r 1fill be moesea.:ey"' either tdth v•ey large blocks or T8Z7 small. oomputera 9 ~ data. ha.ndl1ng is extreMly easy rtho output ot the plotting instrumnt ca be usoci direotly as input ot the prograa. Some edjut.cl bloolta of real. vork are 1nol~o4 ... JOSE EDUARD 0 .lvenida DIDEPENDENCIA 18oo Insti tuto de GEWESIJ,.. Faot~l'tsd 4·000 S.N. do 'l'UCUMAJT de CIENCIJ.S EX.lCT.AS-1Jnivere1da4 Bacionel de WCUMAN D•oobv 29th , 1979 359. l.Introduotion Our Institute could develop in 1977 a bil.ock adjustment program by leaat squares and iDiepement models(3) ,which was able to handle rela- tively irregular blocks • Later,in 1978,a second prog:ram(4)based on Anblock_formulation and Gauss Seidel procedure ,sui table :for blocks of arbitrary shape and overlap was completed. The main feature of this program was that the solved system was that of the Reduced Normal Equations and not that of the Normal Equations as it is the case in the solutions given by Or,hange (Anblock) and Masson d'Autum (Bundles) deimribed in (1) ani (6). The conve]). gence was good:Starting with good approximate values (previous strip formation),less than 5 iterations were enough.Jstartit~.g with approximate values sensibly worse than those obtained with strip formation,lO iterations sufficedJstarting with arbitrary approximate values (all of them equal to zero,for instanoe),40 iterations were needed. With too scarce ground control the number of iterations was somewhat greater .Finally in july 1979 a program sui 'b.ble for large arbitrary blocks and small computers based on a direct solution of the reduced normal equationa could be completed. This program,whose name is OOBLO (for Oompensacidn en Bloque ),is based on the Anblock solution with iterations between planimetry and altimetry and it will be described in this paper. 2.Employed Algorithm The mathematical treatment :for the planimetry is that of Anblock as presented in (1). For the altimetry similar formulas were developed by the author. 2.1. Formation of the Reduced Normal Equations The block of Fig.l will give rise to a normal equations system(Fig. 2). Starting fro• this system one can obtain the so called "reduced normal equations system ttJ Fig.) shows tMs system :for the case in which the vector Xx containing the unknown poin~ coordinates has been eliminated and the models hsve been numbered according to flight direotion(the vector Xt in normal equations will be called simply X in the reduced normal equations system ). In Fig.),the submatrixes N will be of 4 by 4 in planime try and of 3 by 3 in al timetry,and the subvectors Xl, X2, etc ., whioh contain the orientatation parameters of models,will be of 4 by 1 in planimetry and 3 by 1 in altimetry • The iDiependent terms vector R is also subdivided into subvectors R1, ....• ,R5, in the same w~. !he :tormation of the reduced normal equations ill! done in the follewd.ng w~ a Tlie J1rOgram takes a point,establishes the models to which it belongs am computes the contributions to the corresponding submatrixes. 360. 101 102 ...,o' Fig.l SIMETRICA Fig. 2 36:1.. 103 Nu Nl2 Nt3 N14 ~U5 N22 0 ~4 Nm N33 N3~ 0 SIMETRICA N~4 N4& N&a Fig.) The point 303, ~or instance, contributes to form submatrixes H11, N12, N14, N15, N22, N24 , N25, N44, N45, N55• Only one of these submatrixea is in oore memory. Once the contribution is computed, it is trans~ered to external storage. The same process is repeated for all the uDknown points participating in the adjustment and their contributions are added to the already stored ones. 2.2. Solution of the Reduced Normal Equations We shall consider the block of Fig.4, which givea rise to the reduced normal equations system represented in Fig.5 • NII N• NT N2t N23 N NT n N3J NH N35 NT NT 34 NH N_., NT NT N:II lr H N1e 36 T N" !~ 41 ... N47 N_.s NI I NT N,, NT -47 NT NT 17 N77 N78 T N1e NN ... 362. N_.s T Nse N,7 Unlike what it is done in other methods (2), no attempt is ma:le here to minimize the band width, and the solution is basically the Gauss elimination ani back susti tution method, employing submatri:us as computation units. In spite of the large bandwidths,which could be present, the procedure is efficient becauses 1) One works only with half part of the matrix because of its' symmetry. 2) In computing the sucoesive reductions,all matrix products,having a zero matrix as one of its factors,are omitted. Thus, in the first reduction of the system of Fig.5,in substracting from the seoom "row" the .first ''row" premul tiplied by Nl2 only the following computations will be performed: Nit ' T -1 N22- Nl2Nll Nl2 f T -1 O - Nl2 Nll Nl6 The submatrixes N am N nll remain unchanged,ard the compu23 24 tations: T -1 N23- Nl2 Nll.O T -1 J N24- Nl2 Nll • 0 are skipped. In the same wey the su"bstraction,third "row''minus first "row'' premultiplied by N T N - 1 is also skipped because N T • o, and 13 11 13 the third "row'' remains thus unchanged. In this w~ much computer tfime is saved and a good efficiency is attained. 3. Type of blooks to be admitted by COBLO Fig.6 363. There are no restrictions regarding the shape and overlap of the block • The strips can have completely different scales azd posi tiona • Thus,it is possible to adjust simultaneously b:l.Ooks · f'ormed by two or more indepement flights , (Fig.6). The minimun blOck size is one model . The .JlUDlber of unknown points per model partici.pating in the adjustment is arbitrary am oan be rather large because they are stored externally. Each point has an identification number, by me ans of which the program establishes the ties. The numbering of tie and terrain points is arbitrary. The perspective oentre83 act as additional tie points in altime try. COBLO admits ground control points in arbitrary positions and their number per model can be also large. The ground control points can be planial time trio, a1 timetric or planime tric. No initial approximate values f'or the unknowns are required. Some minor changes will be made in the future to introduce the use of points along shorelines • 4• Data handling The data handling is very easy because the plotting instrume nt output can be used directly as input of COBLO. Eaoh model:. card deck is formed by the oardao of all model points ( one card per point ) grouped arbitrarily. Precedi.ng each model deck there is one card containing the model coordinates of the two perspective centres and information about the quantity of tie and ground control points. The aodel ·deoka thus formed are grouped sequentially (The same order of measure•ent at the plotting instrument) to form the strip deck. All strip decks are then grouped in an arbitrary wzcy to form the final data deck. Figure 7 shows one vq to form the data deck of block ot Fig.6. Before each strip deck a card should be placed indicating hov m~ models the strip has.- 1 23 o4 5 G 1 12 3-4 5 1 2 3 4 56 7 12 3 4 561 21 2 3 4 5 57 STRIP 1 t STR IP 3 STRIP STRI P 4 STRI P 5 t STRIP 7 ST RI P 6 2 364. STRI P e Figure 8 shows a fictitious block of 6 models: 3 strips of 2 models each. Supposing that all models were measured ~th the same base,the scale of the third strip will differ strong~ from the other two (the factor is almost 3 ). Fig.8 The simulated terrain is somewhat montaneous ani all models were taken out fro their correct positions to prepare the fictitious input data,by applying 3 translations and 3 rotations (orthogonal transformations). As no simulated errors were introduced, the final results of the adjustment were,naturally,exact. Figure 9 is the input data of block of Fig.B. The first oard contains information about the number of iterations (3 for montaneous terrainJ 2 for flat terrain) and the wei~ to be assigned to ground control. The second card contains the block size (number of models) and the number of strips. After these two specification cards,there follows the above described data deck. Figure 10 is the output of this example (the results of two iter ations are shown). Each line contains (from left to right ): the identification number of the point, its three adjusted coordinates and the discrepancies between these last coordinates and the transformed coordinates of the same point in all models in which it appears. I f the point happens to be in more than 4 models,a second line will be necessary to print all disorpancies (this is the case with point 202 which appears in 6 models). The treated example was included to show the data handling,but it also shows how COBLO can process blocks with cross strips. 365. 7 • " (r~. 0 311 • n } I' Ll. llG 21:;. h1~ ; ~If • a fo <o ._ l j z r~ 3 . ': ._ 7 . I:< l 7 7 c.. .. . 1.- J. ;' ~ 4 .c..o~ . l ; l J Ct, • ~:!•J; ,. u:Jo;, '""'" . 1 "' 2 1 G2 • R,_,o4 .. 97P J07,.n(j o 4QQ. n •·~ J(!Q. 2f. O 5Q 4 ,.f. 77 7 ••: . • 1 ·'1 1" ~ 6\ll..l~l 1 ~·. ? 11-1 2 (1 2,. 7 4 ~ 14 9 .t- 11 7 7 (l F . 214 "02. i'j. '? 2t 1 l . 0 ' 1 F\ 7 117. 774 lf· o·q"" n ? O l,. r' ?t;, e;r f.•") "l} T. 7 t- C 1 . 7'-J? 71 14 ~ '"'~ . 73? H)~.473 21 •} . 7 '- 3 1 o~ 201. 1 ?t> 21 r.. .n,. .., 1~ 3 .. (\I-"' 0 21 Q. 1 hb loQ h(l .... "' '"' ~ t- 7 . l ? to 611. 6!;.~-<?1 l~t'.,7f. 4(1f>.' .. id: 2 4}1,. 7hP 7 (1. (1 .... 7 t-.':1 .. 4"':1.) 3"' 7 .. l 7,.., 4f. (l . 4 o4 F\ t-S . 1 P7 2~ 73Q ,. 7R ~>, 1~7 ., 1J4} f;oiQ.Qt,p 1G 1. 0"' 1 :_:arH,, ,. 3t..}.3~8 ;'h f"l,. £-77 1 2 .. , '·~ 7') .f'"ll ~1-::~ • ? 7;,: 4 ° tl . .. 1 ~ ::'!. Q) R 1P3.? ~ 7 : w:a.l'"'~ 3~H 3 Q'f ~., 20~.277 1" 1 1 ,.. ... Lo l R. "1':-. ~hF< 4 ( lb . 0 300 .. 3G':>,.O?'- tn ? 4 4113 . -'<Gh Jl.lt.•• 1"- 5(""13 . ,;.' .. 4 o4 (' 5 . 212 J...;l, . 5 7 ;' 4 (- ":1 • .'.-:1.4 7 " 2 C7 P. l c.: .. ?I 7 1 OJ,. Cfh?, ?1•~ tn "(''"-. 7'l.4 1!'1 1t..o ~ - . ...... 7 l · •1. 70.L. '- '> L t ?; 21-'1 ? l ~ . 0 'l.~ ) lo} f. 1L ~ (,1~ ·"'"'7 I , <J J.t 0 ('I .., .. 1n3 702 ?03 .. 3~!-l 1 ~-H, r n c ;-c. ... 312 ltJ 3 ,. 7.,,.., i' II A;M,7 39 3,. 1-"'2 2 ~"'. ".i ~7 7ll.9 h R '7"l, ....... 5 ~ 7 .. 7C,,.., t.; . ?? "' J2n fl . f' r'l0 lH"'I(l ,.(lnr, }nf'o.O~ (} .... .. . . "17 lrl fi: l.fl(IO ?47.44)-1 }<.,1. zn 1. p-:~ ~ 34o4 0 FI';-7 19 0 ,.77~ 1-0? . l 11 7 :9l' . 73 . . . ?'- 1. ~I) 1 i <J2. 4h ~ t-or· ~ 3 .. ~ . 'l, <; 4'.>4 . ". {\4 1Q .... 3Q.t,. Q (' 4 .. ">~4 ')~ :.. 077 '>O~.o·H 7 z.c, 1 40':1. "'h4 lfl? 7. .... )-1 7 '1.7]1 l ~{"o"l,., :I F<Q fl 1 b~ lf, R 7 ['. 7"l.lo ~Lq ~~4.J.1?4 341).71=\4 2':> ... 0 2? 74 •! R(l hf.. 044 341 .. 0 )fl r' fl.(l n n 2r. n0 .f' "("l } I"'; OJ . ('n n }HOr'J .. Ofl r) }flf'IV.,O C'I {"l 7 ~ . l.f t- 0 3';~. ?(l C, 24'")0.000 74.P"" 1, • 041 7?.412 zo;:; .-; ?-.., ~c~.f\4A 1 ... t. ? 2 1 t .• f-.OR t- 4 .. kr'l7 1? . l ,..,:~, 74.., .,(1?0 l q ·l. 7L 7 7 r• '- lflf"\).{1!10 ?-QP.4nf' .4o~ o4C'I?. ~Ql. 1 £ nf"l ~ ~l' '' ~oot.113 Input data y X J "-1111 ,'II 77tlfl,nl z 1 17 01 -. 1 h .rq -.nR -.no:; . nq ~ ~ n..n~ - . fl? - .) n 17'1'1.~ -, n.nn -.tn 'lr"l4. qq n .nn .. tn -. 1 '· 1 ?\•p).q,, tn tn .n 1 • "'' ,n< n,nn )llll/1 •''"' \ 1 '' ''· ''" )4on,n? 1'•n 1 1,ilt. -.to - .. 71 - .n? - .nt n .nn -.n"\ I P I?. 0 }PIHl, ')0, 1 ""n· 11,.,'· l~nn. ?nnn . ~ \1-fHI.O'? ll ' l'l,'lfo lllf)(l ,,,., ? ? no . n~o . I f ''''• Q? fl' fl'1 ...... }1)11 .... -.71 .11 - .. rq -.n? n.nn -. 7 R .n 1 - . ?7 -.n~ f"),f\0 - . lJ )01'··'17 o.nn n,nn • ''• n.on .nq n.oo o.oo ,nlo ,01 .nt n ,. rH') () . On n.nn 0 ' 1f1 - . 1l, .14 I T ''' '· fll )llfl .. ,fl() n.on 1 11'1 7. CJq on -,nq 0.011 n .. nfJ n.no fl.n rl TH Jlu•J,'lf }(11)!0 0 '1(1 n.fll) flollll }nnf, , 'l Q -. 0'• n. no n.nn n . on - .nt n.nn . n . nn n.no 0,011 o,./l ll n .nn n.nn n ·" '' 0 1~ 71 11 11. '·II I ~I HI ·'·7 l ; nn. '•'• 7f'..()ll, '·1 '1'14, trJt7.nt ') ) ( H I (1L Jnt7.nt ,,~ )l}ln.nt I f 'l'l. tt,•J•I . 'J'f 7 7nn .rw 1 7 '1'1 • ' I'~ ? ,• ru1 . no I.., C!•l. 99 lf\111),00 I kno . qo 1 7 Yll, ~9 2ll ' ''' · Oil 770CJ . I)IJ 71\fHlo {JO 174'1. "'19 1 ., '1'/ • Ql/ ll'JQ,(}q 17 O)q l~Q~,qq o Q'1 1111 ••• 7"-llll,J?. 0 ..,..,~,. "lQ n. nn 1 1111'· · 11'1 n.nn n.nn IJI)r\ 0 ' IQ f}tJ/, . 1}'1 n .. nn n.nn 'lQ (1\ 17'/l.J,'lq ?loflfl 0 n.nr1 n.rw n. rw 11,.11'1 n , nn 1),(11) (1,011 n.nn o. rHJ n.,11n n,.r1n n.r111 n,ru1 n n.nn n,on o.on n.C'Io n .. on n. l"l n.nn n .nfl n,nn n.nn n.nn n. nn o.nn O,fll} n,nr1 n.nn n.no n.nn o.nn n.nn n,nrt o,nn o. on n.nn I''"'· n,nn n.no n.nn n.no n . nn n.no n.nn n,no n.nn n. on n.nn .n I 77no,nn n . nn n,nn n.nn n.nn tnn7 . no llllf,. 1HI 1 rl) '"'· QQ .Jntn. "" fig . lO n.no fl.nn n.nn n.nn n.nn • n1 nn n.nn n.n•• o.nn )1107,1"1'1 o ,nn 11. 11.nn o.ruJ n.nn lOI 1o.lJil ·"" (/.,(1() n.nn )llf)'•·'lll - . n~ 0.'10 ll,f)ll }1.')'1, tJQ 'J'I'I, 'IR n . r1n n. n" 'l.nn 71'110. n p 71.tlf1 n.nn '''11."'1 1':\ ' l'l , ' I<J 1 Ann. nn JJQQ 0 1J'l n.no n .nrl Jntn.nn )IH1fo, 1lll 27nn . no n.fln n ,no n.nn n.nn Qt) .on - . 01 (1,.fHJ o.nn n.on n.no lRI)("',(l(l - . Pl .II\ -,11~ o?l - .. 10 , Ol • 01 (' oUO O · OC'I (l,.f}/1 n . nn f)')q. (JJ:l 771111 ,01 -,o 1 n ,r1n .n 1 n.r1n ) ":\'JII,IJ9 11'1' 1, n.nn O,lln • l?. - . 1~ n. nn )011'1,. '1'} 1n 1 "'.nr1 )Ill <t. nn 7onn.oo -.l.' '1'") 'l'l} tn In.n 1 ? )I) I I . , ... 1 14 •1, "" Jll!)f1 ,07 .1 C1 -·'' • i' A l4nn. l l l41lfl. ')(, 7~ -.nq • "'· .J 'l )llflfi,J., \lollfl 0 .. o.nn n.nn n . nn n,nn n.no Output 366. n ., urt n. n" n . no • '~' J n.nn n . on n.11n ,-ncr' •J j . 2- uerc.floY) 5. Gross error detection As central memory requirements are not high, it oould be inexpensive to use COBLO for pre~ous strip formation and gross errors detection. This stage is al.mo& unavoidable when working wd tlL large blocks and it turns out to be btperativ.e in Bundles Adjustment for f1Diin6 good initial values for the unknowns (5 ). The printing of the discrepancies mentioned in the last paragraph; am shown in Fig.lO will be of great help at this stage. 6. Central Memory requirements am CPU times Regardin& these two items j i is dif'fioul t to compare our obsolete IBM 1620 oomPiter w4. tlt modern ones. A week spent b,- the author in Buenos Aires last december vas hardly enough to verify the FORTRAN IV version and to proce sa some felt7 bil.ooks ( thougtb translating FOR'mAH II into FORTRAN IV seems to be simple ,it is an awkward task,apeoially i f direct access instructions are present). Nevertheless,some interesting conclusions oould be drawn 1 1) The program has only 900 FORTRAN instructions which require almost 30 K bytes in an IBM 370/125 computer. 2) The working area requirements depeDi ,for the time being,on the b:Lock sizet 50 models need 10 K bytes,lOO models need 20 K bytes and 200 models need 40 K bytes • Wi tlt nry large blocks or very small comPIters speoial i7namic storage techldiquea; wilL be necessary. The program has been recently :resUdied and it seems not to be diffioul t to store externally all inte&ft!. variable arr~s whioh are still in central memory. Thus,the central memory requirementawill be iDiepeDient of the bil.ock sima an:l will not surpass 5 If. bytes. 3) A proof carried out with a block of 20 models,rlth. 3 plan height iterations resulted in a CPU time of 18 secoms per model. According to information obtained froa IBM people in 'l'ucum4n,an IBM 370/ 125 is about 8 times slo1118r: than an IBM 370/145• Thus,the abov.e mentiioned proof would take a CPU time of only 2 seoords per sodel in an IBM 370/145, which is considered a good value i t oompared with CPU times giv.en in (7) ard ( 8). 7. Conclusion The last version of our block adjustment prograa COBLO seems to be promising because it can handle ,in small compu.ters,any type of block regardless of shape,overlap and point distribution. Several blocka; of fictitious aDi real data were already proceslled w1 th this program aDi a good performance was observed. As most of the proofs were carried out at our old IBM 1620computer, only small blocks were adjustecl beoauee the machine times in this; comPlter are extremely large for blooka of more than 20 models(i t should be born in miDi that CPU time in an IBM 1620 oan be aore than 400 tiaes 367. greater than CPU time in an IBM 370/145). Fortunately within few: months and a.f'ter many years of' hard work,our old IBM 1620 rill give w~ to a v.ery modern ani powerful computer re cently acquired by our University. Then, we shall be able to carry out proof's wi tlt large blbaka and to perform some research on subjects like, gross error detection,control saving by using cross strips,blocks wit~ strips dif'f'e:r.ilag strongly in scale ,etc. REFERENCES; (1) Jordan/Eggert/Kneissl: "Hanbuch der Vermessungskunde". Band III a/3. Stuttgart 1972. (2) Ackermann F.,Ebner H.und Klein H.: 11 Ein Programm-Paket f'1lr die Aerotriangulation mit Unabhlngi.gen Modellen". Bildmessung u:nd Luftbildwesen. Heft 4• 1970 • (3) Julia J.E. :'' Compensaci6n en B:n.oque Rigurosa por modelos irdependientes ". Revista Ca.rtografioa IPGH N° 33 .Junio 1968. (4) Juli4 J.E. :" Un Programa Fortran de compensaci6n en bloque por modelos independientes apto para bloques completamente arbitrarios " • Clttedra de Fotogrametria. Instituto de Geodesia.Universidad Nacional de Tuoum!n. (5) Tewinkel a. c. : II A Bundles Method of block Aerotriangulation I I . Revista Cartografica. IPGH N°26 Junio 1976. (6) Kubik J. : " Survey of Methods in analytical block triangulation. ITC Publication, A 39. (7) Schrldefsky-Ackermann: " Pb.otogrammetrie n • B.a. Teubner, Stuttgart, 1976. ( 8) Klein H. : " Block Adjustment programma for minicomputers " Naohrichten aus dem Karten-und Vermessungswesen. Institut ~ AngelfEI.M te Geodasie. Frankfurt, 1978. 368.