Point file tools / 04

As built survey comparison

Compare confirmed point pairs, see measured-minus-design differences, and keep unmatched or incomplete records visible throughout your review.

Read the field guide ↓

Compare two point files

Read each file, confirm its fields, then set the comparison below. Files stay in this browser.

A · Design / reference points

01Read your source

No file selected

02Confirm the interpretation

Northing and easting are required. X/Y headings are deliberately left for you to identify. IDs and elevation may be unmapped; nothing is invented.

These labels describe the input. They do not convert values. Confirm the reference system separately.

Files stay in this browser. Begin with your file or the synthetic example.

B · Measured / as-built points

01Read your source

No file selected

02Confirm the interpretation

Northing and easting are required. X/Y headings are deliberately left for you to identify. IDs and elevation may be unmapped; nothing is invented.

These labels describe the input. They do not convert values. Confirm the reference system separately.

Files stay in this browser. Begin with your file or the synthetic example.

Match points and confirm the comparison

No nearest-point matching or hidden unit conversion. Duplicate IDs remain unresolved unless you explicitly pair source rows. Missing elevation does not become zero.

A measured check against the design.

Keep the physical feature, source record and numeric result connected.

Check the feature you intended to measure.

A useful coordinate comparison starts with a confirmed design point and an observation of the corresponding feature. Keep identifiers and field notes in view.

Generated editorial photograph of a prism and anchor bolts on a concrete foundation

Keep a record another person can follow.

Separate the signed components, tolerance decisions and unresolved records. A clear report supports review without hiding missing observations.

Generated editorial photograph of a survey technician with a prism pole beside steel building columns

Field guide

From two point files to a reviewable deviation report

Start with correspondence and a shared coordinate background. Then calculate the differences and explain what each result can support.

Compare corresponding observations, not just two files

An as built survey comparison answers a specific question: how far does an observed point lie from its corresponding design position? A byte comparison cannot answer that question. A changed row order may produce many text differences while every coordinate remains the same. Conversely, one small coordinate edit can matter more than a completely different file layout. This workspace reads two independently mapped point files and reports the displacement for each confirmed pair.

Use it for a review of surveyed anchors, column positions, set-out checks or other identifiable points. The calculation does not establish that the correct physical feature was measured. Keep the field notes and point descriptions alongside the report. A matching identifier is useful evidence of an intended correspondence; it is not an independent check of the instrument setup, observation quality or design revision.

Prepare two files with a shared coordinate background

Start with UTF-8 CSV or TXT exports from your design source and field software. Each file can use comma, semicolon or tab separators, with or without a header. Map point ID, northing, easting, elevation and description separately for each side. PNEZD and PENZD describe column order, not different coordinate systems. If the headings say X and Y, consult the export specification before deciding which axis is northing. XLSX workbooks are also accepted for this input: explicitly choose the worksheet, and replace formulas, dates or error cells with plain values before importing.

The two sources must refer to the same planar grid, local origin and height datum. Their horizontal unit labels must agree, and their elevation unit labels must also agree. Horizontal and vertical units can differ from one another if both files describe them consistently. Record the common reference in the notes field and confirm it before comparing. Convert units explicitly in the format converter when necessary. Changing a label alone does not change the underlying numbers, and this tool performs no datum transformation.

Read each source and inspect the findings

Choose the design file in section A and the measured file in section B, or paste a short table into either input. Review the detected columns, confirm their meaning and read that source. Both sources need to be read before the comparison button becomes available. The importer keeps original fields, source filenames, record identities and physical line numbers, including descriptions that occupy several quoted lines.

A malformed record remains in the source and in the full JSON report. It is never quietly removed to improve the result. Structural errors prevent that paired record from being evaluated. A missing or invalid numeric coordinate prevents the affected component from being calculated. This is especially important for elevation: an empty elevation means no vertical result, rather than a zero height or a successful vertical check.

Choose an auditable matching method

Exact point ID mode matches identifiers as text. Leading zeros, case and surrounding spaces are preserved, so 0012 and 12 remain different identifiers. Only an ID occurring once in each source can be paired automatically. If an ID occurs twice on either side, all unresolved records for that ID appear in the unmatched list. The engine never selects the first or last observation merely because it appears in a convenient row.

When the files use different names, choose explicit source-row pairs. Enter one design line and one measured line per row, separated by a comma. For files with a one-line header, the first data record normally starts at line 2. A record may participate in only one pair. Explicit mode compares only the pairs you list; all other records remain separately accountable. Use field documentation to make those choices, and retain the resulting JSON so another person can review the exact correspondence.

Understand the differences and the direction sketch

Every signed difference is measured minus design. Delta E is the measured easting minus design easting; delta N uses northing in the same order. Horizontal displacement is the square root of delta E squared plus delta N squared. Delta Z is measured elevation minus design elevation. A positive elevation difference therefore means the measured feature is higher than its design point. It does not automatically mean material should be cut: the construction instruction depends on what those features represent.

Select a result row to see both original field arrays and a direction sketch. North is up and east is right. The plotted line starts at a common origin and ends in the displacement direction; its length is scaled for readability. It is not a site plan or a depiction of the point's geographic position. The numeric azimuth is clockwise from north. A zero horizontal displacement has no defined direction, so the report leaves that azimuth empty.

Work through a complete example

The paired synthetic example includes design point 001 at northing 5000.000, easting 2000.000 and elevation 100.000 metres. Its measured counterpart is at northing 5000.040, easting 2000.030 and elevation 100.010. The component differences are therefore delta N = +0.040, delta E = +0.030 and delta Z = +0.010 metres. Horizontal displacement is sqrt(0.040² + 0.030²) = 0.050 metres. The displacement points northeast, approximately 36.869898 degrees clockwise from north.

With example tolerances of 0.050 metres horizontally and 0.020 metres vertically, both components are within the inclusive limits. The second point demonstrates an exceedance, the third lacks elevations, and the repeated DUP identifier demonstrates ambiguous matching. The example values illustrate behavior; they are not recommended acceptance limits. Read both example files and confirm their shared reference before running the calculation, just as you would with a received field file.

Set tolerances before interpreting status

Enter a non-negative finite tolerance for horizontal displacement and another for the absolute elevation difference. Zero is allowed when the task is exact equality. The comparison treats the boundary as included and evaluates unrounded differences, with a small floating-point allowance at nonzero boundaries. Decimal source strings are subtracted before conversion to floating point to reduce cancellation against large coordinate origins. Unsupported numeric extremes remain unassessable.

The horizontal and vertical statuses are separate. A pair is marked within only when both can be evaluated and both meet their thresholds. A pair with one unavailable component and no exceedance is partial. Any evaluable component outside its limit produces an exceedance, while the other component still shows its own status. This prevents missing elevation from appearing as a complete pass. Neither a green status nor the absence of exceedances certifies an engineering survey.

Review exceptions, then export a complete record

Filter by exceedance, partial results or unassessable pairs. Sort by largest horizontal displacement or largest absolute elevation difference, and search a point identifier to locate a specific feature. The table is paginated to remain usable on larger jobs; its page size does not limit exports. Summary statistics use only evaluable components and show their maximum and mean horizontal displacement, together with the maximum absolute elevation difference.

Download all pairs, exceedances or unmatched records as separate spreadsheet-protected CSV reports. The report columns include source lines, unit labels, tolerance settings, reference notes, time and tool version. Display and CSV decimal settings affect presentation only. Save the full JSON for original coordinate strings, additional columns, duplicate-ID groups and exact matching choices. A printed report contains the pair and unmatched lists. Keep the JSON alongside a rounded CSV when a later reviewer may need more precision.

Know what the result cannot establish

This workspace compares corresponding planar points. It does not register a laser scan, calculate a point-to-surface distance, fit a transformation, evaluate a terrain model or infer the identity of neighboring features. Latitude and longitude are not suitable inputs for these planar distances. A large common displacement can be a clue to an origin or reference mismatch, but the software does not diagnose or correct that mismatch automatically.

Processing stays in the browser, and each source is limited to 10 MiB and 100,000 records. Long comparisons run in a worker and can be cancelled without losing input. Clearing or editing a source invalidates the previous result; changing a tolerance also requires a new calculation. Save the review records you need before closing the page. Coordinate content is not placed in a shareable URL or automatically saved in browser storage.

Questions before you compare

Matching, tolerances and the meaning of the differences.

Can I compare files whose point numbers are different?

Yes. Choose explicit source-row pairs and enter the design and measured line numbers you have verified. Each source record can be used once. This mode does not add automatic ID matches behind your choices, and it never substitutes the nearest coordinate as an assumed match.

Why are repeated point IDs left unmatched?

Two observations with one identifier are ambiguous. Both may be useful, or one may belong to another revision. Exact ID mode lists them separately instead of overwriting a record. Use source-line pairing only after you establish the intended correspondence from the project records.

Can I check horizontal displacement without elevations?

Yes. Valid northing and easting values support a horizontal result. Missing or invalid heights produce an unavailable vertical result and a partial overall assessment unless another component already exceeds its threshold. Empty heights are never replaced with zero.

Is horizontal deviation the sum of the coordinate differences?

No. It is the planar vector magnitude, computed with the Pythagorean relationship. Differences of 0.03 east and 0.04 north produce 0.05 of the same length unit, not 0.07. The signed east and north components remain available to explain the direction.

Which tolerance should I enter?

Use the tolerance agreed for the particular project, feature and review purpose. The tool supplies no universal acceptance standard. Its synthetic example uses convenient numbers to demonstrate inclusive boundaries and partial results; those values are not a specification for construction work.

Does a positive elevation difference mean cut?

It only means the measured elevation is above the design elevation. Whether that implies cut, fill, an installation correction or no action depends on the feature and the project method. Read the signed difference together with the source descriptions and the design intent.

Can I compare metres with feet or different datums?

The unit labels must match between the two sources. Use an explicit conversion first if needed, preserving the original files. Matching labels do not prove a shared datum or origin: you must verify those separately. No projection, geoid or reference-frame conversion happens during comparison.

Will the report include records that cannot be matched?

Yes. Unmatched CSV and full JSON retain those records and explain missing identifiers, duplicate identifiers, absent counterparts or records not chosen in explicit mode. Pair counts and unmatched counts can therefore be reconciled with each original file.