Field guide
A practical guide to control-based fitting
Choose the model and control roles before interpreting a small residual.
Fit a relationship from corresponding controls
A 2D Helmert transformation calculator estimates a local relationship between two sets of planar coordinates. You supply corresponding control points, choose the model, inspect residuals, and then apply the fitted relationship to another point file. This differs from entering an already approved rotation and translation: here the parameters are estimated from the controls you select. Keep the source and target systems clearly identified throughout the calculation.
Each paired row must refer to the same physical mark in both systems. Similar names or nearby coordinates are not evidence of correspondence. A swapped pair can distort the solution for every application point. Record the coordinate reference, common horizontal unit, control revision and intended use in the reference field. The tool does not infer a projection, recognize a datum, or establish that your controls are reliable.
Prepare the control table and confirm columns
Upload a UTF-8 CSV or TXT file, or paste the records. XLSX workbooks are also accepted after you explicitly choose a worksheet; convert formula cells to values first. For text input, select comma, semicolon or tab and state whether a header is present. Map the point identifier, role, source Easting, source Northing, target Easting, target Northing and optional exclusion-reason column. Column numbers start at one; zero is allowed only for optional columns. A header is descriptive and does not override your mapping.
Roles are explicit: fit contributes to the parameter estimate, check is evaluated afterward, and exclude is retained without contributing. Excluded rows need a written reason. You may edit the role and reason in the text or original file, then calculate again. Active control IDs and source locations must be distinct, so repeating a control cannot silently increase its weight or masquerade as an independent check.
Choose similarity or fixed-scale rotation and translation
The similarity model estimates two translation components, one rotation and one uniform positive scale. It preserves angles and applies the same scale in every direction. The rigid model estimates rotation and translation while fixing scale at one. Choose rigid when a scale change is not part of the intended relationship; choose similarity only when estimating scale is justified by the task.
Both models minimize the sum of squared Easting and Northing residuals with equal coordinate weights. Source coordinates are treated as fixed for this calculation. This is ordinary least squares, not a stochastic model that assigns uncertainty to both coordinate systems. There is no robust reweighting, automatic outlier removal, reflection, axis-specific scaling or shear. A flexible model is not automatically a better description of the survey.
Read the formula before transferring parameters
The reported relationship is E2 = tE + a E1 − b N1 and N2 = tN + b E1 + a N1. The uniform scale is the length of the vector (a,b), and the rotation is atan2(b,a), expressed in degrees counterclockwise in the Easting/Northing plane. This rotation is not a north-clockwise survey azimuth. Software using Northing first or a different rotation convention may report another sign.
The implementation centers both control sets before fitting. It then applies the centered relationship, preserving coordinate differences before combining them with a large origin. JSON includes the source and target centers as well as the reported translations. Avoid copying a rounded display value into a separate workflow and expecting exactly identical coordinates. Retained decimal digits describe computation, not field precision.
Understand the minimum number and distribution of controls
Two distinct control pairs can determine a similarity transformation, but they leave no redundancy for estimating a residual standard error. The tool explicitly warns when only two fit controls are used. In a rigid fit, two controls leave only one degree of freedom and still provide limited checking. Additional well distributed controls and independent checks give you more evidence for reviewing the relationship.
Collinear controls do not automatically make a two-dimensional similarity fit unsolvable, but their spatial coverage is only a line segment. Controls concentrated in a small corner offer little evidence for behavior elsewhere. The preview classifies points against the convex hull of source fit controls. Points outside are flagged as extrapolations; points on the boundary are treated as inside within a small numerical comparison tolerance. Inside does not mean accurate or approved.
Separate fitted residuals from independent check results
Every active control reports transformed coordinates and residuals defined as transformed minus target. Positive Easting residual means the computed position is east of the supplied target. The radial residual is the length of the two residual components. Fitting controls influence the parameters, so their residuals measure agreement with the model used to estimate those parameters.
Check controls never enter the fit. Moving a check target changes its check result but leaves the estimated parameters unchanged. Keep checks separate from fitting controls instead of repeatedly moving a troublesome check into the fitting set until its error becomes small. An excluded control retains its original fields and reason in the report, but receives no transformed coordinate or residual in this version.
Use the summary statistics with their stated denominators
RMS Easting and RMS Northing are the square roots of the average squared component residuals. Planar RMS is sqrt(sum(rE squared plus rN squared) divided by the number of points). It is not divided by twice that count. Fit statistics and check statistics are reported separately, alongside the maximum radial residual for each group.
The fit also reports degrees of freedom: 2n minus four for similarity or 2n minus three for rigid. Sigma zero is sqrt(sum of squared fit residual components divided by those degrees of freedom), and is unavailable when the denominator is zero. These quantities are not confidence intervals or an automatic accuracy certification. No universal pass/fail threshold is imposed; compare results with your actual project requirements.
Work through an example you can reproduce
The synthetic example uses A(0,0), B(100,0) and C(0,100) as fit controls. Their target coordinates are A(100,−50), B(100,70) and C(−20,−50). These correspond to a counterclockwise rotation of 90 degrees, scale 1.2 and translation (100,−50). D(100,100) is reserved as a check with target (−20,70). An intentionally mismatched excluded row demonstrates how the reason is retained.
With the similarity model, an application point at (25,25) transforms to (70,−20). Its height remains unchanged. The point at (150,150) transforms to (−80,130) but is outside the fit triangle, so it is flagged for extrapolation review. Switch to the rigid model and the fit residuals increase because a scale of one cannot reproduce data constructed with scale 1.2. This is a model difference, not a parsing failure.
Apply the fit without changing height or metadata
The optional application file has its own delimiter, header and column mapping. Select ID, Easting, Northing, optional elevation and optional description. Point CSV contains those five standard fields in that order. Identifiers, descriptions and existing height text remain unchanged after the documented identifier whitespace cleanup; missing height remains empty. Extra columns and the original file are retained in JSON rather than silently presented as standard instrument fields.
Preview approval is required before downloading the point file. Editing any input invalidates the old result and export approval. A bad application row blocks the entire point export, while the valid preview rows and diagnostic report remain available. Point CSV preserves identifiers such as -001 exactly. The audit CSV protects formula-like text for spreadsheet review, so use the appropriate file for the receiving workflow.
Review limitations and keep a reproducible report
The browser processes files locally in a worker. You can cancel calculation, restore the last completed input set, restore uploaded text or clear the session. Supported limits are 1,000 control rows, 100,000 application points and 10 MiB per input file. Decimal coordinates allow up to twelve places and magnitude up to one trillion. Invalid quoting, inconsistent row widths, missing active coordinates or unsupported precision are reported without dropping source rows.
The plot shows target and transformed controls at true scale; tiny residuals may visually overlap, so use the numeric table. Full CSV and JSON reports retain every record regardless of pagination. CSV expansion is limited to 10 MiB; save JSON or reduce the batch when necessary. This tool does not reproject longitude and latitude, implement a formal datum operation, transform heights, or solve a three-dimensional seven-parameter model.
Pair separate control files and reuse a verified package
You can preview exact point-ID matches between two source files. Matched rows start as independent checks; deliberately choose fit roles. Duplicate IDs block acceptance, while unmatched records remain and require written exclusion reasons. Confirm physical correspondence before applying the pair table. Download the pairing audit to retain both original files, row numbers and decisions.
Save a parameter package after fitting. Importing it recalculates the saved control basis and verifies the complete stored model before restoring it. Your current application points remain available, but project reference and units need renewed confirmation. A package is versioned and reusable; it does not certify a different project or supply new accuracy evidence.