I am a licensed land surveyor in Illinois and Montana, and I write surveying software (I've been out of college for 20+ years). Currently, I am programming a 3D Conformal Coordinate Transformation, also known as the seven-parameter similarity transformation. I have the book "Adjustment Computations" by Wolf & Ghilani. Section 17.7 of the book thoroughly explains the transformation, and contains an example, including a computer printout of the matrices used during the computation.
A copy of this section (17.7) of the text is available on-line via the author's errata page, at http://surveying.wb.psu.edu/psu-surv/p347/p347-9.htm
IMPORTANT NOTE: IN ORDER TO UNDERSTAND AND SOLVE THIS ISSUE, YOU MUST DOWNLOAD AND PRINT THE SECTION OF THE TEXT BOOK MENTIONED ABOVE, SECTION 17.7 OF "ADJUSTMENT COMPUTATIONS", WHICH IS LOCATED ON-LINE AT THE WEB ADDRESS SHOWN ABOVE, AND ALSO PRINT THE ATTACHED 3DCCT.pdf FILE, WHICH IS THE REMAINDER OF THE SECTION OF TEXT.
However, setting up the matrices (ie the coefficients and constants) is not shown in the text. The text shows the matrix formulas used, and then shows the values in the matrices. However, the process of generating the seed values for the 7 unknowns (S, w, Phi, k, Tx, Ty, Tz) is not discussed.
w, Phi, k are rotations
Tx, Ty, Tz are Translations
This is where I have a problem. I can't seem to be able to create seed values for all of the variables so that I can utilize the partial derivative formulas shown (on page 350 of the text). The Scale is easy enough (just use a 3D Inverse between a pair of "control" coordinates and a pair of "data" coordinates). The kappa rotation is also easily computable, as the rotation between 2 pairs of coordinates (again "control" vs. data) for X and Y. But I can't get the Phi and Omega rotations, nor can I get seed values for the Tx, Ty, and Tz translations.
As a direct example, my question is how to get the values as shown in the matrix printouts. For the J Matrix, Iteration #1, the first row, second column shows a value of 102.452. (Note that the J matrix in the printout appears to be "off" 1 column vs. the matrix as shown in Figure 17.15). The number 102.452 is the result of Partial X with respect to Phi. The definition for Partial X with respect to Phi is shown as:
But, Phi and k are unknown, so I need seed values for Phi and k (Kappa) in order to generate the 102.452 number shown in the matrix.
Overall, my question is how do I generate the initial seed values for Phi, k, w, Tx, Ty, and Tz so I can generate the matrix coefficients that I need in order to solve for the seven unknowns?
Once my matrices are set up, I'm basically done, since I've written all the matrix routines years ago. I've programmed several least squares adjustment routines in the past including a 2D conformal transformation, best fit line, best fit curve, trilateration, and resection.
The data for the example, and hence the matrix printouts are not contained in the errata sheet. Therefore, I'm attaching a pdf of the 3 final pages of the section.
Having studied all the documents closely, I think you know the interesting bit of this problem (the least squares adjustment routines) !
I have prepared an Excel spreadsheet, showing you how to compute seed values. ...
This problem shows how to generate the coefficient and constant matrices for the 3D Conformal Coordinate Transformation