Skip to main content

AI REPORT READING

PILOT · NOT OPEN YET

Your 12d report, read line by line and checked against itself.

12d .rpt and .fld, Trimble JobXML, and PDF, CSV or text reports: read, checked against themselves, and held for your registered surveyor.

Not open yet. Pilot firms run it on a real report with me first.

Advisory software: it flags items for your registered surveyor to review. It doesn't sign off survey work.

AI REPORT READING · HOW IT WORKS

Four steps, and the last one is yours.

  1. 01

    Read

    Fixed parsers read 12d .rpt, 12d .fld and Trimble JobXML. For a PDF, CSV or text report, the AI copies the text into the checking format and nothing else.

  2. 02

    Reconcile

    The file is checked against itself: traverse legs against the printed perimeter, declared record counts, and the coordinate system, datum, zone and units. Where the AI read a file, the fixed parser's values win.

  3. 03

    Check

    The advisory checks run, coordinate system first: prism constant, heights, backsight orientation, MGA zone, scale factor and more. A misclosure is checked only when the file prints one.

  4. 04

    Hold for your surveyor

    Every run is saved for review and labelled with who read it: the fixed parser or the AI. Nothing is confirmed until your registered surveyor confirms it.

AI REPORT READING · SCOPE, STATED PLAINLY

What it does today, and what it doesn't yet.

Does today

  • Yes: Reads 12d .rpt, 12d .fld and Trimble JobXML with fixed parsers, no AI
  • Yes: Copies PDF (with a text layer), CSV and text reports into the checking format with AI
  • Yes: Checks the file against itself before any advisory check runs
  • Yes: Runs the advisory checks and holds every run for review
  • Yes: Labels every result with who read it, parser or AI, and as advisory, for your registered surveyor

Not yet

  • Not yet: Open to every firm (pilot firms first)
  • Not yet: As-built reports
  • Not yet: Level runs (only a printed loop misclose is checked)
  • Not yet: Scanned PDFs (no text recognition)
  • Not yet: Tested on real client reports (pilot firms help close this)

CONTROLADJUST 0.2 · PILOT FIRMS WANTED IN SOUTH‑EAST QUEENSLAND

Adjust your control network for A$495. Once.

Merge Trimble JobXML and 12d .fld files from Trimble Access, test the network, and write adjusted coordinates into a copy of your control CSV. No dealer quote. No subscription.

PRICE
A$495 once
PCS
2 per user
OFFLINE
Up to 44 days
GST
Not charged

Not on sale yet. Sales open after the pilot round; pilot firms run it on a real job with me first.

Tested on local-grid jobs. MGA2020 jobs are supported but not yet checked on a real export; pilot firms help close this.

Advisory software: it flags items for your registered surveyor to review. It doesn't sign off survey work.

Network adjustment

SYN-2 example

ERROR FACTOR

1.04

expected 0.83–1.17 at 95 %

MAX |w|

3.07

Largest w-tests of 84 in the SYN-2 example run
ObswFinding
PM1 07:04 → B104+3.07OK
PM1 10:29 → B105−2.12OK
PM1 10:29·2 → B105−1.90OK
PM1 10:29 → B103+1.83OK
SYN TA 4000 → B105+1.81OK

critical 3.29 · largest 5 of 84 w-tests

w-tests, largest first · SYN-2 example

Largest w-tests of 84 in the SYN-2 example run
Setup → targetwCriticalFinding
PM1 07:04 → B104+3.073.29OK
PM1 10:29 → B105−2.123.29OK
PM1 10:29·2 → B105−1.903.29OK
PM1 10:29 → B103+1.833.29OK
SYN TA 4000 → B105+1.813.29OK

ControlAdjust output on the synthetic SYN-2 example network (no client data), redrawn for the web.

ControlAdjust output on the synthetic SYN-2 example network (no client data), redrawn for the web.
Reads
Trimble JobXML · 12d .fld · your control CSV
Tests
Chi-square global test · Baarda w-test at 3.29 by default
Reports
PU and RU (ICSM SP1 formulas)
Writes
Adjusted coordinates to a copy of your CSV
01 HOW IT WORKS

Three steps from field files to adjusted control.

  1. 01

    Merge field files

    Load Trimble JobXML and 12d .fld together. Your control CSV comes in as fixed control.

  2. 02

    Adjust and test

    Least squares, then the chi-square global test and a Baarda w-test on each observation the rest of the network checks.

  3. 03

    Write back to a copy

    Adjusted coordinates go into a copy of your control CSV. The original is untouched.

02 WHAT YOUR SENIOR SURVEYOR READS

The tests your senior surveyor already knows, laid out to read.

Global test (chi-square)
Whether the network as a whole fits the precision you set.
w-tests, ranked by size · critical 3.29
Each observation gets a w-test, except ones you switch off and ones nothing else checks (the report lists those as unchecked). Anything outside 3.29, the default limit you can change, is flagged for review.
PU and RU · ICSM SP1 formulas
Positional uncertainty for each station and relative uncertainty between station pairs. With control held fixed, PU describes the points relative to that control.

ERROR FACTOR BY OBSERVATION TYPE · SYN-2

Error factor by observation type in the SYN-2 example run
TypeCountError factor
Directions320.980
Zenith angles261.179
Slope distances250.930
Horizontal distances10.983

Local test: 2 of 84 normalised residuals above 1.96. Face distances: none flagged (22 pairs).

03 WHERE IT FITS

Already have least squares in TBC, 12d or LISCAD?

Then you may not need this, and that's fine. ControlAdjust is for firms that want a standalone adjustment at one published price. If your current package already does what your team needs, keep using it.

Not sure it fits? Ask me
Licence
A$495 once per user, 2 PCs, no dealer seat or quote
Inputs
Trimble JobXML and 12d .fld files from Trimble Access in the same network
Output
Adjusted coordinates in a copy of your own control CSV

Trimble, Trimble Access, JobXML, TBC, 12d, 12d Model, LISCAD, STAR*NET, Windows and SmartScreen are trademarks of their respective owners, named only to identify file formats and other software. SurveyMarkup and ControlAdjust are not affiliated with or endorsed by any of them, or by ICSM.

04 SCOPE, STATED PLAINLY

What it does today, and what it doesn't yet.

Does today

  • Yes: Least-squares adjustment of total-station control: directions, zenith angles and distances
  • Yes: Merges Trimble JobXML and 12d .fld files exported from Trimble Access
  • Yes: Chi-square global test and Baarda w-test (3.29 by default)
  • Yes: PU and RU computed with the ICSM SP1 formulas
  • Yes: Adjusted coordinates written to a copy of your control CSV

Not yet

  • Not yet: GNSS vectors
  • Not yet: Level runs
  • Not yet: MGA2020 path tested on a real client export (pilot firms help close this)
  • Not yet: Automatic AUSGeoid2020 separation outside South-East Queensland (elsewhere you enter it yourself)

05 START FREE

Catch the bad setup before the crew leaves site.

Field-to-Office QA reads a Trimble JobXML and lays out every setup, residual and check against limits you set. It's free and needs no account.

  • Trimble JobXML 6.27 and 6.34
  • Setups, residuals, checks and point rows against your own limits
  • Print, JSON or CSV report
  • Runs in your browser: nothing uploaded, no account

Field review · sample job

JobXML 6.34 · 25,374 bytes

  • OK113
  • WARN5
  • FAIL1
  • REF51
  • CHECK39
Sample job, synthetic data, worked-example limits.

06 PRICING

One price, on the page.

PAID · WINDOWS

ControlAdjust

A$495once per user · 2 PCs · works offline between check-ins

FREE · BROWSER

Free tools

A$0Field-to-Office QA and 18 calculators. No account.

Open the free tools

Pilot firms wanted. I'm taking up to 5 firms in South-East Queensland. Run ControlAdjust on one of your own control jobs with me, and tell me what's missing. Pilot firms get a free ControlAdjust licence for 3 months: no card, no automatic charge and no obligation to buy. Apply as a pilot firm

Full pricing and licence terms

07 WHO'S BEHIND IT

Built by Tim Albash, engineering surveyor, Brisbane.

Tim Albash

I'm an engineering surveyor in Wynnum. I built ControlAdjust because I wanted a least-squares adjustment that takes Trimble and 12d files together, without a dealer quote. It has one published price, and I answer the support emails myself.

Location
Wynnum, Brisbane QLD
ABN
50 427 523 590
Replies
Usually within one working day

Questions firms ask first

Once per PC, to activate. After that it checks the licence quietly, about once a day, when you open it while online. The check-in is free and sends no survey data. Offline, it keeps working for up to 44 days after its last check-in. A pilot licence is different: it's an activation file I issue for each PC, and it runs offline until it stops after 3 months.

Run ControlAdjust on a real job with me first.

PRICE
A$495 once
PCS
2 per user
OFFLINE
Up to 44 days
GST
Not charged

Sources

  1. 40,000 characters

    Most file text AI report reading sends

    AI report reading sends at most 40,000 characters of a file's text; longer text is cut off and the cut is reported with the run.

    My server settings

    Stated on: /privacy#ai
  2. 3 per run

    Most finding explanations per report-reading run

    A report-reading run asks for an explanation of at most 3 findings.

    My code

    Stated on: /privacy#ai
  3. 0.2.0 · 5 October 2026

    ControlAdjust release on offer and its release date

    ControlAdjust 0.2.0 was built on 5 October 2026, and it is the version I offer now; the changelog lists what changed in it.

    My decision · 11 October 2026

    Stated on: /tools/controladjust#changelog
  4. A$495 once per user

    ControlAdjust price per user

    I set the ControlAdjust price at A$495 per user, paid once, in Australian dollars with no GST charged.

    My decision · 11 October 2026

    Stated on: /pricing#licence
  5. 1 person · 2 PCs

    People and PCs per ControlAdjust licence

    A licence is for one named person: I sell it per user and each account can hold one active licence. My licence server activates it on at most 2 PCs at a time.

    My server settings

    Stated on: /pricing#licence
  6. 44 days (30 + 14 days' grace)

    How long a bought licence keeps working offline

    Each check-in keeps a PC's activation valid for 30 days, plus 14 days' grace, so a bought licence runs up to 44 days offline after its last check-in.

    My server settings

    Stated on: /pricing#licence
  7. error factor 1.04 · largest w 3.07

    SYN-2 example run: global test, w-tests and statistics by observation type

    These come from one ControlAdjust 0.2.0 run on default settings over the synthetic SYN-2 example (no client data), on 5 October 2026. The page redraws the run's report; setups are named by station and start time from the example's JobXML file. The report itself isn't published yet.

    Sample run

    Stated on: /tools/controladjust#adjustment
  8. 3.29 by default

    Default critical value of the Baarda w-test in ControlAdjust

    ControlAdjust flags an observation whose |w| is above 3.29 unless you change the limit in Settings; 3.29 is Baarda's limit at 0.1 % significance, and the SYN-2 report lists it under the settings used.

    My code

    Stated on: /tools/controladjust#adjustment
  9. 8 + 7 setups · 10 points

    SYN-2 example run: input files, setups, shots and control points

    The run report lists each field file with its format, version, setups and pointings, and the control file with its points; one control point is in the file but nothing observes it. It also states that a 12d field file is read on a local grid at scale factor 1.

    Sample run

    Stated on: /tools/controladjust#inputs
  10. JobXML 6.27 and 6.34

    Trimble JobXML versions Field-to-Office QA reads

    Field-to-Office QA reads Trimble JobXML 6.27 and 6.34 files and refuses other versions; a test opens a sample file of each version with the tool's own parser.

    My code

    Stated on: /tools/field-to-office-qa
  11. OK 113, WARN 5, FAIL 1, REF 51, CHECK 39

    Field-to-Office QA review of its sample job

    These are the counts Field-to-Office QA gives its built-in synthetic sample job with the worked-example limits; open the tool and choose Load synthetic sample to see the same review.

    Sample run

    Stated on: /#free (on this page)
  12. 19 free tools

    Number of free browser tools

    I count the free tools from the same tool list that builds the tools page, so the number changes when I add or retire a tool.

    My code

    Stated on: /tools
  13. A$0

    Price of the free browser tools

    The browser tools are free and need no account.

    My decision · 10 October 2026

    Stated on: /pricing#free-tools
  14. 18 calculators

    Number of browser calculators besides Field-to-Office QA

    I count the calculators from the same tool list that builds the tools page, leaving out Field-to-Office QA, which is counted on its own.

    My code

    Stated on: /pricing#free-tools
  15. up to 5 firms

    Number of pilot firms

    I'm taking up to 5 pilot firms, all in South-East Queensland.

    My decision · 11 October 2026

    Stated on: /pricing#pilot
  16. 3 months

    Length of a pilot licence

    A pilot firm's free licence runs for 3 months, with no card, no automatic charge and no obligation to buy, then stops.

    My decision · 10 October 2026

    Stated on: /pricing#pilot
  17. 50 427 523 590

    Australian Business Number (ABN)

    This is my ABN as a sole trader; ABN Lookup on the Australian Business Register shows it, with the SurveyMarkup business name registered against it.

    Law or regulator · checked 19 October 2026

    Source: abr.business.gov.au/ABN/View?abn=50427523590 (external site)
  18. one working day

    How soon I aim to reply to a support email

    I aim to reply to support emails within one working day: Monday to Friday, Brisbane time, excluding Queensland public holidays.

    My decision · 11 October 2026

    Stated on: /pricing#licence
  19. one session

    What I ask of a pilot firm

    I ask each pilot firm for one session on one of its own control jobs, run on its own PC, and honest feedback; I state no session length until a real session has been timed.

    My decision · 11 October 2026

    Stated on: /pricing#pilot
  20. A$249 per licence

    Pilot firms' price per licence if they buy soon after the pilot

    Pilot firms that buy within 30 days after their pilot ends, or within 30 days of sales opening if that is later, pay A$249 per licence instead of A$495.

    My decision · 11 October 2026

    Stated on: /pricing#pilot
  21. 14 days

    Payment terms on my invoices

    An invoice from me is due 14 days from its date, paid by bank transfer.

    My decision · 11 October 2026

    Stated on: /pricing#pilot
  22. about once a day

    How often ControlAdjust checks its licence while online

    ControlAdjust 0.2.0 checks in when you open it while online and its last check-in is at least 20 hours old, which comes to about once a day.

    My code

    Stated on: /pricing#licence
  23. 3 frees in any 30 days

    How often a PC can be freed under Your licences

    My licence server lets you free a PC yourself up to 3 times in any rolling 30 days; beyond that, email me.

    My server settings

    Stated on: /pricing#licence
  24. 12 months

    Updates included with a licence

    A licence includes every version released in the 12 months after purchase; the licence server records that date as one year after the licence is issued.

    My decision · 10 October 2026

    Stated on: /pricing#licence
  25. 30 days

    Change-of-mind refund window

    I give a full change-of-mind refund within 30 days of purchase, on top of your Australian Consumer Law rights; the refund policy has the details.

    My decision · 10 October 2026

    Stated on: /refunds