Skip to content

Scientific context and native QGIS results

Qualified on QGIS 4.2.2 for bounded, north-up, single-band Float32/Float64 GeoTIFFs (1.5 MB upload; 100,000 cells). This is not universal QGIS edit tracking.

  1. In Workspace project settings, set scientific preferences and optional requirements. Preferences do not change any asset. In Import data, declare quantity, value unit, vertical datum/named depth reference and positive direction when applicable. Unknown is a valid declaration unless the project requires complete context.
  2. In QGIS Browse Workspace, review the source facts and unresolved fields and acknowledge the context. Choose follow, pin or independent copy. The QGIS project CRS controls display; the layer retains its source grid and horizontal CRS.
  3. Run QGIS Processing tools normally. For example GDAL Raster calculator can use A / 0.3048 for metres to international feet, or 200 - A for a synthetic depth measured down from a platform 200 m above a known synthetic elevation zero. The latter is NOT a general vertical-datum transformation. Save a Float64 GeoTIFF.
  4. Select the output layer, then Review / publish QGIS result…. Select the exact connected source and review the output declarations. A slope output, for example, must not inherit an elevation unit. Confirm the server’s validation preview.
  5. By default, a changed result becomes a new derived asset in the source project. Browse it in Workspace or another QGIS client. Existing subscribers to the input do not switch to a different asset automatically. The input and its history remain unchanged.

For a no-op return, select the original downloaded raster and choose Return unchanged. The server compares values, missing mask, grid, equivalent horizontal CRS, units and declarations against the exact source. Success returns that same revision; it does not create a duplicate. TIFF compression/tags/container bytes may change. The uploaded original bytes remain separately retained.

Native Processing widget signals capture supported successful runs, their algorithm ID, allowlisted numeric/formula options and exact connected inputs. This is client-reported evidence, not trusted proof of execution. Arbitrary scripts, batch runs, third-party plugins, editing tools and operations started before this connector loads are not claimed as observed. Results can still be reviewed with explicitly user-declared provenance. File paths and unrestricted provider parameters are not exported by this observer. No replacement numerical operators are implemented.

Publication/download work uses background workers. UI reviews and layer changes use the GUI thread. Failed/uncertain publication retains a private request journal; review the exact same file, context and account to retry its command without making a duplicate. If a project policy changes, review again. An unresolved request that conflicts with new context must be reconciled rather than silently overwritten.

Horizontal reprojection explicitly resamples and is not generally reversible. Unknown CRS, rotated grids, compound/dynamic coordinates and automatic vertical geodetic datum shifts are outside this profile. A declaration is not scientific approval: a structurally valid file can still contain wrong facts. Project geographic bounds provide an additional plausibility check, not ground truth.

Controlled choices and the Raster-menu calculator

Section titled “Controlled choices and the Raster-menu calculator”

Workspace and QGIS result review use finite unit and vertical-reference dropdowns from the authenticated project catalog. Built-in references include Unknown, NAVD88/EGM96 height reference IDs and explicitly synthetic demo references. Administrators can register additional named local references under Project Settings; these become selectable options. Names alone do not define a transform. The server rejects unregistered reference names and unsupported units on new reviewed imports. Existing published meaning is not rewritten. Missing catalog support requires an explicit extension; typing a different unit is never a conversion.

For the separate Raster → Raster Calculator dialog, use the exact band name shown in its list, e.g. "synthetic-elevation / follow@1" + 10. Choose an output .tif pathname, retain GeoTIFF, EPSG:32631, the source extent and 8 columns × 8 rows for the synthetic offset test. Leave on-the-fly output unchecked and Add result to project checked. Do not select EPSG:4326 for this same-grid calculation. Click OK, select the new output layer and review/publish it with the unchanged metre/elevation reference declarations. The empty output filename keeps OK disabled.

The menu calculator’s values, missing mask and grid preservation are qualified. Connector 0.6 also observes its accepted formula and matching loaded result on QGIS 4.2. See the coverage and timing limits below. Processing Toolbox uses its separate start/finish signals.

The synthetic raster intentionally has only 8×8 cells and one missing cell. Pixel blocks, angular contours and bends at the missing cell/outer boundary are expected at that resolution. GDAL interpolates between sample centres; contours are a display derivation, not extra observations. The white cell must remain missing after +10. Use the public USGS fixture for a more representative visual example, rather than smoothing the scientific test data to hide its coarse sampling.

Native calculation traces and publication choices (0.6 pilot)

Section titled “Native calculation traces and publication choices (0.6 pilot)”

Restart QGIS after upgrading the plugin. Connect the source through Browse Workspace, then use QGIS’s own Processing Toolbox or Raster → Raster Calculator. Keep the result as a standalone GeoTIFF and, for the Raster menu, enable Add result to project. Select that result and choose Review / publish QGIS result:

  • Default: create a separate derived asset. Open it separately in Workspace or QGIS; clients following the source do not silently switch to the derived asset.
  • Update source asset: create a new revision, retaining old snapshots. This requires an editable Workspace-imported source with the same grid, CRS, quantity, value unit, vertical reference and direction. Changed meaning requires a new asset. The backend rejects a stale expected revision; refresh the source and recalculate, or publish the old-input result as a separate derivative.
  • Return unchanged: verify exact scientific equality and return the existing reference. No duplicate asset/revision is created. This is mutually exclusive with update.

Network work runs on the connector’s worker. A lost response retains a private request for retry with the same command. Different reviewed outputs have separate, bounded pending requests (128 maximum); this permits a fresh reconciliation after conflict without discarding uncertain requests. To recover an earlier request, review the same file/context/exact pinned source with the same account. Do not assume a timeout means publication did not happen; inspect project history.

Processing widget start/finish signals generate a best-effort native report, including failures. On QGIS 4.2, the Raster-menu observer captures acceptance and the matching loaded output; its duration is acceptance to layer added, not engine-only time. It relies on version-qualified dialog widgets. Failed/canceled menu calculations, virtual outputs, outputs not added to the project, arbitrary scripts and unconnected inputs do not receive inferred successful calculation traces. Missing hooks never change the native calculation. Operations spanning multiple projects are not reported as a combined native trace.

With customer OTLP configured, Jaeger shows qgis.native.calculate and a separate qgis.result.publish trace linked to it when the native report has arrived. The native duration is client-reported and anchored at server receipt; it is not a synchronized wall-clock timestamp. Publication has server-measured preparation and commit spans; following-client delivery traces link to the publication. Diagnostic queue/export failure does not block calculations or scientific publication.

The result records observed parameters and known connected inputs, not a complete QGIS project recipe. Publishing and reconnecting a result before the next operation establishes a new exact input. Unpublished chains are not a complete lineage graph.

No-operation exchange preserves scientific arrays/grid/CRS/meaning; it need not preserve TIFF byte layout or styling. Changing the project display CRS is not a raster reprojection. Actual warp/resampling is an operation and is not generally invertible. Metre/foot conversion can incur floating-point rounding; selecting a unit or reference in the review performs no numerical conversion.