本文整理汇总了Java中org.geotools.styling.Rule.getSymbolizers方法的典型用法代码示例。如果您正苦于以下问题:Java Rule.getSymbolizers方法的具体用法?Java Rule.getSymbolizers怎么用?Java Rule.getSymbolizers使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.geotools.styling.Rule
的用法示例。
在下文中一共展示了Rule.getSymbolizers方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSampleFeatureForRule
import org.geotools.styling.Rule; //导入方法依赖的package包/类
/**
* Returns a sample feature for the given rule, with the following criteria: - if a sample is
* given in input is returned in output - if a sample is not given in input, scan the rule
* symbolizers to find the one with the max dimensionality, and return a sample for that
* dimensionality.
*
* @param featureType featureType used to create a sample, if none is given as input
* @param sample feature sample to be returned as is in output, if defined
* @param rule rule containing symbolizers to scan for max dimensionality
*
*/
private Feature getSampleFeatureForRule(FeatureType featureType, Feature sample,
final Rule rule) {
Symbolizer[] symbolizers = rule.getSymbolizers();
// if we don't have a sample as input, we need to create a sampleFeature
// looking at the requested symbolizers (we chose the one with the max
// dimensionality and create a congruent sample)
if (sample == null) {
int dimensionality = 1;
for (int sIdx = 0; sIdx < symbolizers.length; sIdx++) {
final Symbolizer symbolizer = symbolizers[sIdx];
if (LineSymbolizer.class.isAssignableFrom(symbolizer.getClass())) {
dimensionality = 2;
}
if (PolygonSymbolizer.class.isAssignableFrom(symbolizer.getClass())) {
dimensionality = 3;
}
}
return createSampleFeature(featureType, dimensionality);
} else {
return sample;
}
}
示例2: visit
import org.geotools.styling.Rule; //导入方法依赖的package包/类
/**
* Visit.
*
* @param rule the rule
*/
/*
* (non-Javadoc)
*
* @see org.geotools.styling.visitor.DuplicatingStyleVisitor#visit(org.geotools.styling.Rule)
*/
@SuppressWarnings("deprecation")
@Override
public void visit(Rule rule) {
Rule copy = null;
Symbolizer[] symsCopy = null;
if (!displayOverall) {
if ((symbolizerIndex >= 0) && (symbolizerIndex < rule.getSymbolizers().length)) {
symsCopy = new Symbolizer[1];
symsCopy[0] = copy(rule.getSymbolizers()[symbolizerIndex]);
}
}
// As a catch all copy everything
if (symsCopy == null) {
symsCopy = rule.getSymbolizers();
for (int i = 0; i < symsCopy.length; i++) {
symsCopy[i] = copy(symsCopy[i]);
}
}
Graphic[] legendCopy = rule.getLegendGraphic();
for (int i = 0; i < legendCopy.length; i++) {
legendCopy[i] = copy(legendCopy[i]);
}
Description descCopy = rule.getDescription();
descCopy = copy(descCopy);
copy = sf.createRule();
copy.setSymbolizers(symsCopy);
copy.setDescription(descCopy);
copy.setLegendGraphic(legendCopy);
copy.setName(rule.getName());
Filter filterCopy = null;
copy.setFilter(filterCopy);
copy.setElseFilter(rule.isElseFilter());
// Do not copy the min and max scales
if (STRICT && !copy.equals(rule)) {
throw new IllegalStateException("Was unable to duplicate provided Rule:" + rule);
}
pages.push(copy);
}