I'm in the process of creating a QFIELD project for geological mapping. I want to symbolize the features based on their attribute values. i.e. I'm collecting data for strike, dip and dip direction of various planar features of rock outcrops (Foliation, bedding, shear planes, joints). strike values range from 0 to 360 (like bearing), dip from 0 to 90 and dip direction from N,S,W,E I want my symbols to represent these values. I'm using SVG s for the symbols. Upon searching the internet I came across with data defines overrides, but couldn't find a way to add the 'dip' values to the svgs. Can somebody suggest a way?
1 Answer
since QGIS 3.18 you can use dynamic SVG Symbols. I've wrote a Blog artice on how to proceed, you can find the english translation here: https://wheregroup-com.translate.goog/blog/details/dynamische-svg-symbole-in-qgis-verwenden/?_x_tr_sl=de&_x_tr_tl=en&_x_tr_hl=de&_x_tr_pto=wapp
The short version is: Edit your SVG Symbol with a texteditor an place new tags in there:
Basically, all dynamic values and parameters are created in the form param(parametername)
and parsed accordingly by QGIS during rendering.
In QGIS we select SVG marking as the symbol layer type for the point layer , then we load the SVG file and create three new parameters in the Dynamic SVG parameters tab , which then have to be named as in the SVG file. In the "Expression" column, you can now assign the corresponding columns from the layer directly, or store more complex calculations with the expression editor.
The example above is no dip symbol with the dip value but I hope it's also helpful for you since you will need only one dynamic parameter which is the dip value...