pyacs.sol.helmert module
Helmert (similarity) transformation estimation and matrix construction.
- pyacs.sol.helmert.estimate_helmert(H_Gpoint_ref, H_Gpoint_free, vcv_xyz=None, psd=None, tran=True, rot=True, scale=True, lexclude=[], method='Dikin_LS', threshold=5.0, verbose=True)[source]
Estimate Helmert (or similarity) parameters between two coordinate sets.
Default is 7-parameter transformation (translation, rotation, scale).
- Parameters:
H_Gpoint_ref (dict) – Dictionary of Gpoint instances used as reference.
H_Gpoint_free (dict) – Dictionary of Gpoint instances used as free (to be transformed).
vcv_xyz (array-like, optional) – Variance-covariance of coordinates. Default is None.
psd (object, optional) – Post-seismic deformation object from sinex library.
tran (bool, optional) – Include translation. Default is True.
rot (bool, optional) – Include rotation. Default is True.
scale (bool, optional) – Include scale. Default is True.
lexclude (list, optional) – Site codes to exclude. Default is [].
method (str, optional) – ‘LS’ (least-squares) or ‘Dikin_LS’ (L1 then L2). Default is ‘Dikin_LS’.
threshold (float, optional) – Outlier rejection threshold. Default is 5.
verbose (bool, optional) – If True, print progress. Default is True.
- Returns:
Result of the estimation (transformation parameters and related info).
- Return type:
object
- pyacs.sol.helmert.helmert_matrix(x, y, z, tran=True, rot=True, scale=True, equilibrate=True)[source]
Generate Helmert transformation matrix for a single point.
Builds the design matrix for translation/rotation/scale transformation.
- Parameters:
x (float) – Point geocentric X coordinate (m).
y (float) – Point geocentric Y coordinate (m).
z (float) – Point geocentric Z coordinate (m).
tran (bool, optional) – Include translation. Default is True.
rot (bool, optional) – Include rotation. Default is True.
scale (bool, optional) – Include scale. Default is True.
equilibrate (bool, optional) – If True (default), use km for position and mas for scale for better conditioning.
- Returns:
Transformation design matrix (2D).
- Return type:
numpy.matrix
- pyacs.sol.helmert.observation_equation_helmert_local(xf, yf, zf, xr, yr, zr, tran=True, rot=True, scale=True)[source]
Generate linear observation equations for Helmert transformation (E,N,U).
- Parameters:
xf (float) – Geocentric coordinates in the initial (‘free’) frame (m).
yf (float) – Geocentric coordinates in the initial (‘free’) frame (m).
zf (float) – Geocentric coordinates in the initial (‘free’) frame (m).
xr (float) – Geocentric coordinates in the final (reference) frame (m).
yr (float) – Geocentric coordinates in the final (reference) frame (m).
zr (float) – Geocentric coordinates in the final (reference) frame (m).
tran (bool, optional) – Include translation. Default is True.
rot (bool, optional) – Include rotation. Default is True.
scale (bool, optional) – Include scale. Default is True.
- Returns:
A (numpy.matrix) – Design matrix.
B (numpy.matrix) – Observation vector.
Notes
VCV (variance-covariance) is not accounted for yet.