Download the model and its companion style to reproduce the workflow exactly and ensure consistent symbology in QGIS.
Warning
Model and style must be co‑located. The model file and its corresponding style file must reside in the same folder. If either file is moved or the directory structure changes, relative references will break and the style will not be applied at >runtime/build time.
This document describes a QGIS model that computes the mean pH per soil plot/profile from Observations by selecting pH datastreams measured with H₂O procedure, normalizing multiple observations per datastream to a group mean, and finally aggregating per plot.
Tip
For further information on model creation and execution, consult the official QGIS documentation for the Model Designer.
The model works exclusively on the SoilWise GeoPackage and uses the following tables/layers: profileelement, soilprofile, datastream, observation, soilplot. Expected relations: profileelement.ispartof → soilprofile.guid; datastream.guid_profileelement → profileelement.guid; observation.guid_datastream → datastream.guid; soilprofile.location → soilplot.guid.
guid_observedproperty = '2422dfa9-82a2-4e73-9f63-630d055dcd43' - pHguid_observingprocedure = '43adf8b8-b78c-4ef2-8d78-69e7d8c69d8a' - pHH2O_ratio1-2.5soilprofile ↔ profileelement (inner join, discard non‑matching).datastream (inner) and retain the essential fields.observation to bring result_real and timestamp.Ph_Obs (Field Calculator):
guid_3 (datastream) is unique → Ph_Obs = result_real.guid_3 (one row per datastream).guid;location) over Ph_Obs.
median → Average_pH.soilplot.pH_USDA.qml.soilplot with attribute Average_pH (plot‑level pH) and the pH_USDA.qml style applied.