| org.geotools.styling.Rule
All known Subclasses: org.geotools.styling.RuleImpl,
Rule | public interface Rule extends GTComponent(Code) | | A rule is used to attach a condition to, and group, the individual
symbolizers used for rendering. The Title and Abstract describe the rule
and may be used to generate a legend, as may the LegendGraphic. The Filter,
ElseFilter, MinScale and MaxScale elements allow the selection of features
and rendering scales for a rule. The scale selection works as follows.
When a map is to be rendered, the scale denominator is computed and all
rules in all UserStyles that have a scale outside of the request range are
dropped. (This also includes Rules that have an ElseFilter.) An
ElseFilter is simply an ELSE condition to the conditions (Filters) of all
other rules in the same UserStyle. The exact meaning of the ElseFilter is
determined after Rules have been eliminated for not fitting the rendering
scale. This definition of the behaviour of ElseFilters may seem a little
strange, but it allows for scale-dependent and scale-independent ELSE
conditions. For the Filter, only SqlExpression is available for
specification, but this is a hack and should be replaced with Filter as
defined in WFS. A missing Filter element means "always true". If a set of
Rules has no ElseFilters, then some features may not be rendered (which is
presumably the desired behavior). The Scales are actually scale
denominators (as double floats), so "10e6" would be interpreted as 1:10M. A
missing MinScale means there is no lower bound to the scale-denominator
range (lim[x->0+](x)), and a missing MaxScale means there is no upper bound
(infinity). 0.28mm
The details of this object are taken from the OGC
Styled-Layer Descriptor Report (OGC 02-070) version 1.0.0.:
<xsd:element name="Rule">
<xsd:annotation>
<xsd:documentation>
A Rule is used to attach property/scale conditions to and group
the individual symbolizers used for rendering.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="sld:Name" minOccurs="0"/>
<xsd:element ref="sld:Title" minOccurs="0"/>
<xsd:element ref="sld:Abstract" minOccurs="0"/>
<xsd:element ref="sld:LegendGraphic" minOccurs="0"/>
<xsd:choice minOccurs="0">
<xsd:element ref="ogc:Filter"/>
<xsd:element ref="sld:ElseFilter"/>
</xsd:choice>
<xsd:element ref="sld:MinScaleDenominator" minOccurs="0"/>
<xsd:element ref="sld:MaxScaleDenominator" minOccurs="0"/>
<xsd:element ref="sld:Symbolizer" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
|
Method Summary | |
void | accept(StyleVisitor visitor) | String | getAbstract() Gets the abstract text for the rule. | Filter | getFilter() | Graphic[] | getLegendGraphic() A set of equivalent Graphics in different formats which can be used as a
legend against features stylized by the symbolizers in this rule. | double | getMaxScaleDenominator() The largest value for scale denominator at which symbolizers contained
by this rule should be applied. | double | getMinScaleDenominator() The smallest value for scale denominator at which symbolizers contained
by this rule should be applied. | String | getName() Gets the name of the rule.
The name of the rule. | Symbolizer[] | getSymbolizers() The symbolizers contain the actual styling information for different
geometry types. | String | getTitle() Gets the title.
The title of the rule. | boolean | hasElseFilter() | void | setAbstract(String abstractStr) Sets the abstract text for the rule. | void | setFilter(Filter filter) | void | setIsElseFilter(boolean defaultb) | void | setLegendGraphic(Graphic[] graphics) A set of equivalent Graphics in different formats which can be used as a
legend against features stylized by the symbolizers in this rule. | void | setMaxScaleDenominator(double scale) The largest value for scale denominator at which symbolizers contained
by this rule should be applied. | void | setMinScaleDenominator(double scale) The smallest value for scale denominator at which symbolizers contained
by this rule should be applied. | void | setName(String name) Sets the name of the rule.
Parameters: name - The name of the rule. | void | setSymbolizers(Symbolizer[] symbolizers) The symbolizers contain the actual styling information for different
geometry types. | void | setTitle(String title) Sets the title.
Parameters: title - The title of the rule. |
getAbstract | String getAbstract()(Code) | | Gets the abstract text for the rule.
The abstract text, a more detailed description of the rule. |
getFilter | Filter getFilter()(Code) | | |
getLegendGraphic | Graphic[] getLegendGraphic()(Code) | | A set of equivalent Graphics in different formats which can be used as a
legend against features stylized by the symbolizers in this rule.
An array of Graphic objects, any of which can be used as thelegend. |
getMaxScaleDenominator | double getMaxScaleDenominator()(Code) | | The largest value for scale denominator at which symbolizers contained
by this rule should be applied.
The largest (exclusive) denominator value that this rule will beactive for. |
getMinScaleDenominator | double getMinScaleDenominator()(Code) | | The smallest value for scale denominator at which symbolizers contained
by this rule should be applied.
The smallest (inclusive) denominator value that this rule willbe active for. |
getName | String getName()(Code) | | Gets the name of the rule.
The name of the rule. This provides a way to identify a rule. |
getSymbolizers | Symbolizer[] getSymbolizers()(Code) | | The symbolizers contain the actual styling information for different
geometry types. A single feature may be rendered by more than one of
the symbolizers returned by this method. It is important that the
symbolizers be applied in the order in which they are returned if the
end result is to be as intended. All symbolizers should be applied to
all features which make it through the filters in this rule regardless
of the features' geometry. For example, a polygon symbolizer should be
applied to line geometries and even points. If this is not the desired
beaviour, ensure that either the filters block inappropriate features
or that the FeatureTypeStyler which contains this rule has its
FeatureTypeName or SemanticTypeIdentifier set appropriately.
An array of symbolizers to be applied, in sequence, to all ofthe features addressed by the FeatureTypeStyler which containsthis rule. |
getTitle | String getTitle()(Code) | | Gets the title.
The title of the rule. This is a brief, human readable,description of the rule. |
hasElseFilter | boolean hasElseFilter()(Code) | | |
setAbstract | void setAbstract(String abstractStr)(Code) | | Sets the abstract text for the rule.
Parameters: abstractStr - The abstract text, a more detailed description of therule. |
setFilter | void setFilter(Filter filter)(Code) | | |
setIsElseFilter | void setIsElseFilter(boolean defaultb)(Code) | | |
setLegendGraphic | void setLegendGraphic(Graphic[] graphics)(Code) | | A set of equivalent Graphics in different formats which can be used as a
legend against features stylized by the symbolizers in this rule.
Parameters: graphics - An array of Graphic objects, any of which can be used asthe legend. |
setMaxScaleDenominator | void setMaxScaleDenominator(double scale)(Code) | | The largest value for scale denominator at which symbolizers contained
by this rule should be applied.
Parameters: scale - The largest (exclusive) denominator value that this rulewill be active for. |
setMinScaleDenominator | void setMinScaleDenominator(double scale)(Code) | | The smallest value for scale denominator at which symbolizers contained
by this rule should be applied.
Parameters: scale - The smallest (inclusive) denominator value that this rulewill be active for. |
setName | void setName(String name)(Code) | | Sets the name of the rule.
Parameters: name - The name of the rule. This provides a way to identify arule. |
setSymbolizers | void setSymbolizers(Symbolizer[] symbolizers)(Code) | | The symbolizers contain the actual styling information for different
geometry types. A single feature may be rendered by more than one of
the symbolizers returned by this method. It is important that the
symbolizers be applied in the order in which they are returned if the
end result is to be as intended. All symbolizers should be applied to
all features which make it through the filters in this rule regardless
of the features' geometry. For example, a polygon symbolizer should be
applied to line geometries and even points. If this is not the desired
beaviour, ensure that either the filters block inappropriate features
or that the FeatureTypeStyler which contains this rule has its
FeatureTypeName or SemanticTypeIdentifier set appropriately.
Parameters: symbolizers - An array of symbolizers to be applied, in sequence,to all of the features addressed by the FeatureTypeStyler whichcontains this rule. |
setTitle | void setTitle(String title)(Code) | | Sets the title.
Parameters: title - The title of the rule. This is a brief, human readable,description of the rule. |
|
|