diff --git a/README.md b/README.md index d63a668..4aca4b0 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Spreadsheets: * [circle] - finding the center and radius of the circle or ellips. -* [conformaltrans] - conformal transformation: 1-5 power. +* [conformaltrans] - conformal transformation: 1-5 power + affinetrans + Helmert. * [dms] - DDMMSS to DD.DDDD transform. * [ellipsoid] - the Gauss-Krüger and other transformation. * [plane] - processing facade geodetic survey. diff --git a/spreadsheets/conformaltrans/affinetrans.xml b/spreadsheets/conformaltrans/affinetrans.xml new file mode 100644 index 0000000..82b5fe7 --- /dev/null +++ b/spreadsheets/conformaltrans/affinetrans.xml @@ -0,0 +1,4032 @@ + + + + + + WorkbookView::show_horizontal_scrollbar + TRUE + + + WorkbookView::show_vertical_scrollbar + TRUE + + + WorkbookView::show_notebook_tabs + TRUE + + + WorkbookView::do_auto_completion + TRUE + + + WorkbookView::is_protected + FALSE + + + + + 2023-09-02T07:21:07Z + 2020-10-03T12:15:44Z + + + + + INFO + DATA + OLS + LL + + + + + INFO + 0 + 6 + 1 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "INFO" + A1 + + + + + + + + + + + + + + + + + + + + + + d_then_r + portrait + + + iso_a4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Affine Coordinate Transformation + INFO sheet - description + DATA sheet - contains the coordinates of points in the source and target systems, as well as PQ calculations. + OLS sheet - contains solution to normal equations, center and decentralization. + LL sheet - contains the inversion of a symmetric matrix using LL decomposition. + + + + + + DATA + 26 + 11 + 1 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "DATA" + A1 + + + + + + + + + + + + + + + + + + + + + + d_then_r + portrait + + + iso_a4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 640 + 813 + Default + 7.086614173228346 + + + + + top-left + fill + + 0 + 7.086614173228346 + + + + + + + 1 + + + + + + + + 1 + + + none + low + + + + + + 1 + + + + + + + 1 + + + + none + 1 + cross + + + + + + 1 + + 0 + + + + + + + 1 + + + + FALSE + 1 + 1 + FALSE + 1 + + y-origin + linear + + + + + + + 1 + + DATA!$U$1 + DATA!$F$3:$F$502 + DATA!$E$3:$E$502 + DATA!$Y$3:$Y$502 + + + %2 + right + 7.086614173228346 + + + + + + + 1 + + + + + + FALSE + FALSE + 1 + 1 + FALSE + 1 + + y-origin + linear + + + + + + 1 + + DATA!$R$1 + DATA!$S$3:$S$502 + DATA!$R$3:$R$502 + + + + y-origin + linear + + + + + + 2 + + DATA!$E$1 + DATA!$F$3:$F$502 + DATA!$E$3:$E$502 + + + + + 5.669291338582677 + 7.086614173228346 + 7.086614173228346 + + + + + + + + bottom + 1 + + + + + + + N + Source + Destination + W + Source + Destination + Calculation + Error + Wpress + X + Y + H + X + Y + H + X + Y + H + X + Y + H + X + Y + H + X + Y + H + =sqrt(sumproduct(Y3:Y502,Y3:Y502)/count(Y3:Y502)) + =average(Z3:Z502) + Witer + 1 + 5 + 1 + 1 + 12.173305625623966 + 5.0705711499671775 + 1 + 1 + =(B3-OLS!A$5)*OLS!$B$14 + + =(D3-OLS!C$5)*OLS!$C$14 + =E3-OLS!D$5 + + + =(OLS!F$36+OLS!F$38*B3+OLS!F$39*C3) + =(OLS!F$37+OLS!F$40*B3+OLS!F$41*C3) + =OLS!$F$53+OLS!$F$54*D3 + =R3-E3 + + + =sqrt(U3*U3+V3*V3+W3*W3) + =Y$2*Y$2/(Y3*Y3+Y$2*Y$2) + =Z3/Z$2 + 2 + 2 + 1 + 2 + 6.1742194546856179 + 5.0182139306553273 + 2 + 1 + + + + + + + + + + + + + + + + 3 + 2 + 2 + 3 + 6.1393146418110511 + 6.0180616258117183 + 3 + 1 + + + + + + + + + + + + + + + + 4 + 1 + 2 + 4 + 4.1396192514982681 + 6.0006092193744349 + 4 + 1 + + + + + + + + + + + + + + + + 5 + 10 + 10 + 5 + 21.857639261316777 + 14.156462438561118 + 5 + 1 + + + + + + + + + + + + + + + + 1 + 5 + 1 + 6 + + + + 2 + 2 + 1 + 7 + + + + 3 + 2 + 2 + 8 + + + + 4 + 1 + 2 + 9 + + + + 5 + 10 + 10 + 10 + + + + + + A1:A2 + B1:D1 + E1:G1 + H1:H2 + J1:L1 + N1:P1 + R1:T1 + U1:W1 + Y1:AA1 + + + + + + OLS + 12 + 58 + 1 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "OLS" + A1 + + + + + + + + + + + + + + + + + + + + + + d_then_r + portrait + + + iso_a4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mean(M) + Source + Destination + W + Error + X + Y + H + X + Y + H + X + Y + H + =sumproduct(DATA!B3:B502,DATA!$H3:$H502) + + + + + + =sum(DATA!$H3:$H502) + =sumproduct(DATA!U3:U502,DATA!$H3:$H502) + + + =A4/$G4 + + + + + + + + + + Stdev(D) + Source + X + Y + H + =sumproduct(DATA!$H$3:$H$502,DATA!B3:B502,DATA!B3:B502) + + + =sumproduct(DATA!$H$3:$H$502,DATA!B3:B502) + + + =A10-A11*A11/$G4 + + + =sqrt(abs(A12/$G4)) + + + =sqrt(A13*A13+B13*B13) + =if(A14>0,1/A14,1) + =if(C13>0,1/C13,1) + Place (X,Y) + Nxy + =sumproduct(DATA!$H$3:$H$502,DATA!$J$3:$J$502,DATA!J$3:J$502) + + 0 + 0 + =sumproduct(DATA!$H$3:$H$502,DATA!$J$3:$J$502,DATA!K$3:K$502) + =sumproduct(DATA!$H$3:$H$502,DATA!$K$3:$K$502,DATA!K$3:K$502) + 0 + 0 + 0 + 0 + =B20 + + 0 + 0 + + + Wxy + =sumproduct(DATA!$H$3:$H$502,DATA!J$3:J$502,DATA!$N$3:$N$502) + + =sumproduct(DATA!$H$3:$H$502,DATA!J$3:J$502,DATA!$O$3:$O$502) + + 1/Nxy + =LL!A46 + + + + + + + + + + + + + + + + Gxy + =sumproduct(B28:E28,$B25:$E25) + =sumproduct(B29:E29,$B25:$E25) + =sumproduct(B30:E30,$B25:$E25) + =sumproduct(B31:E31,$B25:$E25) + G + -D-> + A* + -M-> + A + scale + =D5-D38*A5-D39*B5 + deltaX + X + =sqrt(F38*F38+F39*F39) + =E5-D40*A5-D41*B5 + deltaY + Y + =sqrt(F40*F40+F41*F41) + =B33 + =B38*B$14 + =D38 + rXc + =C33 + + + rXs + =D33 + + + rYc + =E33 + + + rYs + Elevation (H) + Nh + Wh + =sumproduct(DATA!$H$3:$H$502,DATA!$L$3:$L$502,DATA!$L$3:$L$502) + =sumproduct(DATA!$H$3:$H$502,DATA!$L$3:$L$502,DATA!P3:P502) + 1/Nh + Gh + =1/B47 + =D47*B50 + G + -D-> + A* + -M-> + A + =F5-F54*C5 + =if(B47=0,1,D50) + =B54*C14 + + Error + X + Y + H + =sqrt(2*sumproduct(DATA!$H3:$H502,DATA!U3:U502,DATA!U3:U502)/sum(DATA!$H3:$H10)) + + + + + A57:C57 + G57:H57 + A8:C8 + A7:C7 + A2:C2 + D2:F2 + G2:G3 + H2:J2 + A1:J1 + + + + + + LL + 8 + 50 + 1 + + + Print_Area + #REF! + A1 + + + Sheet_Title + "LL" + A1 + + + + + + + + + + + + + + + + + + + + + + d_then_r + portrait + + + iso_a4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /G=LLT/ + =OLS!B20 + + + + ||G|| + =sqrt(sumproduct(A2:D5,A2:D5)) + + + + + + + + + + + + + L + LT + =sqrt(A2) + 0 + 0 + 0 + =A8 + =A9 + =A10 + =A11 + =A3/A$8 + =sqrt(B3-A9*A9) + 0 + 0 + =B8 + + + + + =(B4-A9*A10)/B9 + =sqrt(C4-A10*A10-B10*B10) + 0 + =C8 + + + + + =(B5-A9*A11)/B9 + =(C5-A10*A11-B10*B11)/C10 + =sqrt(D5-A11*A11-B11*B11-C11*C11) + =D8 + + + + L + E + =A8 + + + + 1 + 0 + 0 + 0 + + + + + 0 + 1 + 0 + 0 + + + + + 0 + 0 + 1 + 0 + + + + + 0 + 0 + 0 + 1 + =A14/$A14 + + + + + + + + =A15/$B15 + + + + + + + + =A16/$C16 + + + + + + + + =A17/$D17 + + + + + + + + + + + + + + + + =A20-$A20*A$19 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =B26-$B26*B$25 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =C32-$C32*C$36 + + + + + + [1/LT] + [1/L] + =F40 + =F41 + =F42 + =F43 + + + + + =G40 + + + + + + + + =H40 + + + + + + + + =I40 + + + + + + + + [1/G]=[1/LT]*[1/L] + =sumproduct(A40:D40,A40:D40) + =sumproduct(A40:D40,A41:D41) + =sumproduct(A40:D40,A42:D42) + =sumproduct(A40:D40,A43:D43) + =B46 + =sumproduct(A41:D41,A41:D41) + =sumproduct(A41:D41,A42:D42) + =sumproduct(A41:D41,A43:D43) + =C46 + + =sumproduct(A42:D42,A42:D42) + =sumproduct(A42:D42,A43:D43) + =D46 + + + =sumproduct(A43:D43,A43:D43) + ||1/G|| + =sqrt(sumproduct(A46:D49,A46:D49)) + cond(G) + =G2*G49 + + + + + + +