zsiki / GeoEasy

land surveying calculation, network adjustment, digital terrain models, regression calculation
http://digikom.hu/english/geo_easy_e.html
GNU General Public License v2.0
73 stars 34 forks source link

3D coordinate transformation #104

Open zsiki opened 5 years ago

zsiki commented 5 years ago

for 3D coordinate transformation use tcllib::math module. ::math::linearalgebra::determineSVD

zsiki commented 5 years ago

Revise reggeo.tcl to use tcllib where possible and Jacobi proc and GaussElimination proc.

zvezdochiot commented 2 years ago

Hi @zsiki .

SVD is optional. A completely sane solution is obtained with the simplest normalization of variables (Xn = X - M(X)). For a detailed solution with Gaussian normalization (Xg = (X - M(X)) * sG; sG = 1 / sqrt(Tr(D(X)))) see https://github.com/Geo-Linux-Calculations/geodesy-msexcel-ols/blob/main/spreadsheets/conformaltrans/helmert3d.xls . The condition number (cond(G)) in this case turns out to be quite sane (in the example it is equal 38) and such a matrix can be solved by the usual LL decomposition.