I am trying to apply a GPF XML processing workflow to S1A_IW_GRDH_1SXX… data containers, but the different polarisations are causing issues because the ‘band names’ are hard coded into my bandExpression
. For example;
<node id="BandMaths">
<operator>BandMaths</operator>
<sources>
<sourceProduct refid="LinearTodB"/>
</sources>
<parameters class="com.bc.ceres.binding.dom.XppDomElement">
<targetBands/>
<variables/>
<bandName>water_mask_threshold</bandName>
<bandUnit/>
<bandNodataValue>NaN</bandNodataValue>
<bandExpression>if Sigma0_VH_db > $thresh_Sigma0_VH_db and Sigma0_VV_db > $thresh_Sigma0_VV_db then NaN else 1</bandExpression>
</parameters>
</node>
Is there a mechanism for passing ‘relative’ band names in the bandExpression?
For other operators leaving <sourceBands/>
with no value appears to default to all bands in an image and for other image specific arguments I am dynamically generating and using the $argument
constructor in the generic GPF XML, for this case I am considering dynamically replacing the XML node, but I wanted to check in case I missed something and there was a simpler solution.
Any tips appreciated.
cheers Ed.