0+00Platform · Headless
Run it without the window.
The engine underneath the apps doesn't need a screen. Two of its tools install as command-line programs: Surveyor's scan converter and Pg-GPS's GNSS processor. Inside the apps, Surveyor's scripts and CAD's scripts and plugins drive the same commands you click.
PS> .\pgc2_converter.exe --help Supported input formats: .las, .laz LAS/LAZ point cloud files .e57 E57 point cloud files .ply PLY point cloud files (ASCII and binary little-endian) .pts PTS ASCII point cloud files .ptx PTX scan grid point cloud files .csv, .txt CSV/TXT delimited point cloud files … --analyze Analyze input file and output JSON recommendations --batch FILE Batch manifest (JSON or plain text) --compression MODE none|lz4|lz4hc (default: none) --verify Verify conversion output --verify-determinism Run threads=1 vs threads=N conversion hash check --emit-pgclass FILE Regenerate FILE.pgclass from an existing .pgc2 (no re-conversion)
- Command-line tools
- 2Surveyor's converter and Pg-GPS's processor
- Batch
- 1,569tilesConverted into one .pgc2 from one manifest
- Results
- JSONFor analysis and GNSS processing, ready for your scripts
- Surveyor commands
- 684Every action has a name a script can call
1+00Surveyor's converter
Conversion, on its own.
The converter Surveyor uses installs beside it as pgc2_converter.exe, so a folder of scans can convert overnight from a scheduled task, without opening the app.
-
One manifest, one file
A batch manifest lists the inputs and one output. The 1,569 LAZ tiles of USGS 3DEP lidar of Lāna'i went in as one batch and came out as one .pgc2.
-
Analyse before you convert
--analyzesamples the input and prints its recommendations for the conversion as JSON. -
Prove the result
--verifychecks the output, and--verify-determinismconverts on one thread and on many, then compares the hashes. -
Maintenance without re-converting
--truncate-depthwrites a lighter copy,--rebase-framemoves a workspace into another frame as a metadata patch, and--emit-pgclassrebuilds the classification from an existing .pgc2.
2+00Pg-GPS
GNSS processing from a script.
Pg-GPS installs its processor as a command-line program, and the app runs the same processing out of process. Point it at RINEX observation and navigation files, add a base, and get the result as JSON.
-
Many bases, one run
--pipeline-batchprocesses one rover against a list of candidate base stations. -
Your choice of processor
--compute-backendruns the differential geometry on the GPU, on the CPU, or picks for you.
PS> .\gnss_editor_cli.exe --help Pg-GPS GNSS Editor CLI … --nav <file> Load RINEX navigation file --obs <file> Load RINEX observation file --pipeline Run production processing pipeline orchestrator --base-obs <file> Optional reference/base OBS file for differential pipeline --pipeline-batch Run one rover/NAV against many base OBS candidates --compute-backend <auto|gpu|cpu> Compute backend for differential geometry (default: auto) --pipeline-json Emit machine-readable JSON for --pipeline
3+00Inside the apps
Scripts made of the commands you click.
Every action in Surveyor is a named command, 684 of them. A Surveyor script is a list of those commands, not code, and CAD runs scripts and plugins against its own command set.
-
Surveyor scripts
Each step is one of Surveyor's commands. Try a script as a dry run first, and if a step fails the script stops and names it.
-
CAD scripts
CAD runs .scr and .pgcs scripts in a sandbox.
-
CAD plugins, in beta
Native plugins load through a versioned C interface, and every edit a plugin makes is an attributed, undoable transaction.
Platform
The rest of the platform.
- PGC Core The engine One native engine under every app, measured on public data.
- Measured Speed 13 billion points of public lidar, timed in Surveyor.
- .pgc2 · .pgsvy · .pgci File formats Scans, projects and photos that keep the survey together.
- Background jobs Async Long jobs beside you, and projects that survive a crash.
- Command line Headless Conversion and GNSS processing without a window.