Name

attributes — collection of similar attributes

Synopsis

Content Model

<attributes> = <attribute >+, 
	    

Attributes

NameTypeDefault
id alpha-numeric reference Optional
idref alpha-numeric reference to a predefined id Optional
cycleboolean: "true" or "false"true
factorinteger: between 1.0 and 0.0"1.0"

Description

The <attributes> element is a wrapper for a number of related attributes and their associated curves. Due to the nature of modelling large scale stand dynamics, the number of attributes describing the growth and yield becomes somewhat overwhelming. Using sets of similar attributes wherever possible can greatly reduce redundancy, reduce the size of the ForestModel and better organize important information to detect errors and administer changes.

Most curves can be defined near the beginning of the document and assigned to similar sets using the <attributes> element as a wrapper. Defining the 'id' parameter allows the set to be referred to elsewhere in the ForestModel using a single line. This is useful for groups of attributes that are the same across many stand types, or that can be described using expressions that can be parametrized with strata values.

Parents

These elements may contain attribute sets: ForestModel, features, products.

Children

The following elements can occur in attribute sets: attribute .

Attributes

id

The id attribute provides a alpha-numeric label that can be used to reference the collection from elsewhere in the model. The id value must be unique among all attributes collections defined in the mode.

idref

The idref value references a previously defined attributes collection. This form is used to include a previously defined collections set in to a subsequent location in the ForestModel.

cycle

The cycle attribute performs the same action as the cycle attribute in the attribute section. Like <attribute>, cycling can also be controlled on attribute collections. If specified the cycling value is applied to all member attributes and their associated curves. If the cycling attribute is set it will override the individual settings of attributes in the collection.

factor

The factor attribute will apply a scaling factor to all attributes defined in the collection. The scaling factor is applied cumulatively to all other scaling factors that may have been applied on the constituent attributes and curves.

The factor value may be an expression in the Patchworks Query Language. The expression may use literals, defined values and functions. The factor will be calculated for each block that the attribute is applied to. For example,

factor="if(SI='Present',0.96,1)"
		  

See Also

attribute

Examples

In the first part of this example (below) two habitat attributes have been assigned to an <attributes> element having an idref of "Habitat.754.PWST". By using '%f' in the attribute labels these attribute sets can be used in either <features> or <products>, as the appropriate name will be substituted respectively.

<-- Habitat Reference Curves -->

 <attributes id="Habitat.754.PWST" >
    <attribute label="%f.Habitat.BAOW">
      <curve>
        <point x="5.0" y="0.0" />
        <point x="145.0" y="0.0" />
        <point x="155.0" y="0.0010" />
        <point x="165.0" y="0.058" />
        <point x="175.0" y="0.064" />
        <point x="185.0" y="0.066" />
      </curve>
    </attribute>
    <attribute label="%f.Habitat.BLBE">
      <curve>
        <point x="5.0" y="0.0" />
        <point x="155.0" y="0.0" />
        <point x="165.0" y="0.033" />
      </curve>
    </attribute>
</attributes>
	  

In the second part of the example (below) the habitat attribute set defined previously is being used to describe the features that match the specified select statement. When used to refer to a previously defined attributes collection the idref tag is specified (idref="Habitat.754.PWST") and the element does not require other contents.

 <select statement="MU eq '754' and FU eq 'PWST' and IFM in managed and SILVINT eq 'Prsnt'">
    <features>
      <attributes idref="Habitat.754.PWST" />
      <attributes idref="Seral" />
      <attribute label="feature.Area.managed.PWST">
        <curve>
          <point x="0.0" y="1.0" />
        </curve>
      </attribute>
...
	    

There may be special circumstances in which you may want to supplement attributes in the collection. In this case The ForestModel syntax permits an attribute set to reference a collection of attributes by idref and in addition define a new attribute.

  <attributes id="special" idref="habitat_1">
    <attribute label="%f.Habitat.sasquatch">
      <curve>
	<point x="0.0" y="5.6"/>
	<point x="25.0" y="67.8"/>
      </curve>
    </attribute>
  </attributes>