Strapper — Calculates a proportional allocation for succession and treatment response outcomes based on the STRAP algorithm.



ca.spatial.tracks.sfmm.Strapper {sfmm} {planinv} {cluster} \
                  {mu} {fu} {si} {area} {reselectTreated} \
                  {reselectNatSucn} {outdbf} {outsupplemental}


sfmmThe name of the SFMM input file containing the definition of forest units, succession and responsesNone
planinvThe name of a file containing the planning inventoryNone
clusterThe column name for the unique identifier (primary key) for each polygon recordNone
muAn expression that evaluates to the MU value for each recordNone
fuAn expression that evaluates to the FU value for each recordNone
siAn expression that evaluates to the SI value for each recordNone
areaAn expression that evaluates to the polygon area for each recordNone
reselectTreatedAn expression that evaluates to true or false, that selects records that should be strapped for treatment responses.None
reselectNatsucnAn expression that evaluates to true or false, that selects records that should be strapped for natural succession.None
outdbfThe name of an output dbf file that will contain the allocation choices. This file must not already exist.None
outsupplementalThe name of an output text file that will contain the supplemental SFMM-like tables that describe allocation choices, to be provided to the SFMM to ForestModel translator.None


The Strapper program calculates a proportional allocation of similar polygons in to analysis units. This is useful when the treatment response or succession rules specify multiple succession outcomes. In practise Patchworks can only allow a single succession pathway or response per treatment.

This method divides MU-FU-RI groups in to multiple analysis units, (one analysis units per response), with area in each analysis unit proportional to the response percentage. New succession and treatment response tables are written out containing the correct single response for each analysis unit. In the resulting model the analysis units will have a 1:1 match to the intended succession or response rules.

The number of analysis units and the proportions are determined from the 'FUSuccessn', 'FUSuccessn_SI' and 'NaturSuccn' tables read from the SFMM input file. This tool will create analysis units for each unique potential future condition. The allocation algorithm assigns polygons to analysis units so that the proportion of area in each AU is approximately equal to the associated renewal or succession proportion.

Analysis units for succession and treatment response are developed in separate stages, because the rule sets do not overlap. Each treatment type is strapped separately based on the number of rules and the proportions of each. The names of the analysis units are automatically generated for each FU and treatment or RI combination. For both natural succession and treatment responses, each rule in a MU-FU-RI combination will a have new FU subcode (e.g. three Exten rules in a MC1 type will result in analysis units of MC1_A, MC1_B and MC1_C). These analysis unit codes are in addition to the FU code for each polygon, so they are hierarchically nested.

Two data files are output from this process. The first is dBase format lookup table that contains a row for each input record. Each record contains the unique record indentifier, the initial MU, FU and SI stratification values, and a column containing the resulting analysis unit names for natural succession, plus columns for each of the potential treatments.

The second file produced by the process is a partial SFMM input file containing revised FUSuccessn, FUSuccessn_SI and NaturSuccn tables that describe the transitions for each analysis unit. This file may be specified to the SFMM to ForestModel translator as a supplemental SFMM file, and will override the definitions in the original input file.

After running this tool the analysis columns from the output dBase file must be appended to the inventory attribute file so that they will be available to the MatrixBuilder. The SFMM to ForestModel translator should be run specifying both the original input file and the output supplemental file generated by Strapper. The translator will produce a ForestModel XML file that will proxy the effect of the renewal proportions by using the analysis units. The final step in the process is to run the MatrixBuilder program using the updated inventory and ForestModel in order to produce an input matrix suitable for Patchworks. The resulting Patchworks model will have transitions where the polygons will follow the appropriate transition pathways that they hav been assigned to.

Processing Notes

The strapped analysis units only apply for the first transition. In subsequent transitions the most dominant rule (having the highest proportion) is selected as the sole choice. The selection of which rule to use may be overridden by adding another parameter table to the SFMM input file. To specify overrides on subsequent transitions for the rules succession, add a table named NaturSuccn_2nd with the same format as the NaturSuccn table, but with only one single rule per MU-FU-RI combination.


java -jar patchworks.jar ca.spatial.tracks.sfmm.Strapper  \
        sfmm_file.inp fri.shp CLUSTER \
        SUBMU PLANFU SI "area()/10000" \
        "PLANFU ne '' and SI in 'PRSNT,BASC1,EXTEN,INTN1,INTN2'" \
        "PLANFU ne '' and SI ne 'NOPRD' and SI ne '' \
        strap_lookup.dbf strap_supplemental.inp

The above example shows the command line usage for the tool. More typically the tool will be invoke using a wizard that will prompt for parameters.

In this example the reselectTreated parameter is an expression that tests that the PLANFU column has a non-blank value, and the SI column contains one of the specified treatments. The reselectNatSucn query tests that the PLANFU column is not blank, and that the SI column is not NOPRD or blank. The area value is calculated as the polygon area in m2 converted to hectares.