static RuleImpl cast(Rule rule) { if (rule == null) { return null; } else if (rule instanceof RuleImpl) { return (RuleImpl) rule; } else { RuleImpl copy = new RuleImpl(rule); // replace with casting ... return copy; } } }
public Rule createRule( org.geotools.styling.Symbolizer[] symbolizers, Description desc, Graphic[] legends, String name, Filter filter, boolean isElseFilter, double maxScale, double minScale) { Rule r = new RuleImpl( symbolizers, desc, legends, name, filter, isElseFilter, maxScale, minScale); return r; }
/** * Reprojects spatial filters so that they match the feature source native CRS, and assuming all * literal geometries are specified in the specified declaredCRS */ private Rule reprojectSpatialFilters( Rule rule, CoordinateReferenceSystem declaredCRS, FeatureType schema) { // NPE avoidance Filter filter = rule.getFilter(); if (filter == null) { return rule; } // try to reproject the filter Filter reprojected = reprojectSpatialFilter(declaredCRS, schema, filter); if (reprojected == filter) { return rule; } // clone the rule (the style can be reused over and over, we cannot alter it) and set the // new filter Rule rr = new RuleImpl(rule); rr.setFilter(reprojected); return rr; }
public BasicLineStyle(Stroke stroke) { LineSymbolizerImpl linesym = new LineSymbolizerImpl(); linesym.setStroke(stroke); RuleImpl rule = new RuleImpl(); rule.setSymbolizers(new org.geotools.styling.Symbolizer[] {linesym}); FeatureTypeStyleImpl fts = new FeatureTypeStyleImpl(); fts.setRules(new Rule[] {rule}); this.setFeatureTypeStyles(new org.geotools.styling.FeatureTypeStyle[] {fts}); }
public BasicPolygonStyle(Fill fill, Stroke stroke) { PolygonSymbolizerImpl polysym = new PolygonSymbolizerImpl(); polysym.setFill(fill); polysym.setStroke(stroke); RuleImpl rule = new RuleImpl(); rule.setSymbolizers(new Symbolizer[] {polysym}); FeatureTypeStyleImpl fts = new FeatureTypeStyleImpl(); fts.setRules(new Rule[] {rule}); this.setFeatureTypeStyles(new FeatureTypeStyle[] {fts}); }
public FeatureTypeStyleImpl featureTypeStyle( String name, Description description, Id definedFor, Set<Name> featureTypeNames, Set<SemanticType> types, List<org.opengis.style.Rule> rules) { FeatureTypeStyleImpl featureTypeStyle = new FeatureTypeStyleImpl(); featureTypeStyle.setName(name); if (description != null && description.getTitle() != null) { featureTypeStyle.setTitle(description.getTitle().toString()); } if (description != null && description.getAbstract() != null) { featureTypeStyle.setAbstract(description.getAbstract().toString()); } // featureTypeStyle.setFeatureInstanceIDs( defainedFor ); featureTypeStyle.featureTypeNames().addAll(featureTypeNames); featureTypeStyle.semanticTypeIdentifiers().addAll(types); for (org.opengis.style.Rule rule : rules) { if (rule instanceof RuleImpl) { featureTypeStyle.rules().add((RuleImpl) rule); } else { featureTypeStyle.rules().add(new RuleImpl(rule)); } } return featureTypeStyle; }
static RuleImpl cast(Rule rule) { if( rule == null ){ return null; } else if (rule instanceof RuleImpl){ return (RuleImpl) rule; } else { RuleImpl copy = new RuleImpl( rule ); // replace with casting ... return copy; } }
public Rule createRule() { return new RuleImpl(); }
public RuleImpl rule( String name, Description description, GraphicLegend legend, double min, double max, List<org.opengis.style.Symbolizer> symbolizers, Filter filter) { RuleImpl rule = new RuleImpl(); rule.setName(name); rule.setDescription(description); rule.setLegend(legend); rule.setMinScaleDenominator(min); rule.setMaxScaleDenominator(max); if (symbolizers != null) { for (org.opengis.style.Symbolizer symbolizer : symbolizers) { rule.symbolizers().add(cast(symbolizer)); } } if (filter != null) { rule.setFilter(filter); rule.setElseFilter(false); } else { rule.setElseFilter(true); } return rule; }
public Rule createRule(org.geotools.styling.Symbolizer[] symbolizers, Description desc, Graphic[] legends, String name, Filter filter, boolean isElseFilter, double maxScale, double minScale){ Rule r = new RuleImpl(symbolizers, desc, legends, name, filter, isElseFilter, maxScale, minScale); return r; }
pointsym.setGraphic(graphic); RuleImpl rule = new RuleImpl(); rule.symbolizers().add(pointsym);
/** * Reprojects spatial filters so that they match the feature source native CRS, and assuming all literal * geometries are specified in the specified declaredCRS */ private Rule reprojectSpatialFilters(Rule rule, CoordinateReferenceSystem declaredCRS, FeatureType schema) { // NPE avoidance Filter filter = rule.getFilter(); if(filter == null) { return rule; } // try to reproject the filter Filter reprojected = reprojectSpatialFilter(declaredCRS, schema, filter); if(reprojected == filter) { return rule; } // clone the rule (the style can be reused over and over, we cannot alter it) and set the new filter Rule rr = new RuleImpl(rule); rr.setFilter(reprojected); return rr; }
private RuleImpl buildDynamicGeometryRule( Rule base, Expression geom, Symbolizer symbolizer, String... geometryTypes) { List<Filter> typeChecks = new ArrayList<>(); for (String geometryType : geometryTypes) { typeChecks.add( ff.equal(ff.function("geometryType", geom), ff.literal(geometryType), false)); } Filter geomCheck = ff.or(typeChecks); Filter ruleFilter = base.getFilter(); Filter filter = ruleFilter == null || ruleFilter == Filter.INCLUDE ? geomCheck : ff.and(geomCheck, ruleFilter); RuleImpl extra = new RuleImpl(base); extra.setFilter(filter); extra.symbolizers().clear(); extra.symbolizers().add(symbolizer); return extra; }
public FeatureTypeStyleImpl featureTypeStyle(String name, Description description, Id definedFor, Set<Name> featureTypeNames, Set<SemanticType> types, List<org.opengis.style.Rule> rules) { FeatureTypeStyleImpl featureTypeStyle = new FeatureTypeStyleImpl(); featureTypeStyle.setName( name ); if( description != null && description.getTitle() != null ){ featureTypeStyle.setTitle(description.getTitle().toString()); } if( description != null && description.getAbstract() != null ){ featureTypeStyle.setAbstract( description.getAbstract().toString()); } //featureTypeStyle.setFeatureInstanceIDs( defainedFor ); featureTypeStyle.featureTypeNames().addAll( featureTypeNames ); featureTypeStyle.semanticTypeIdentifiers().addAll( types ); for( org.opengis.style.Rule rule : rules ){ if( rule instanceof RuleImpl ){ featureTypeStyle.rules().add( (RuleImpl) rule ); } else { featureTypeStyle.rules().add( new RuleImpl( rule )); } } return featureTypeStyle; }
public BasicLineStyle(Stroke stroke) { LineSymbolizerImpl linesym = new LineSymbolizerImpl(); linesym.setStroke(stroke); RuleImpl rule = new RuleImpl(); rule.setSymbolizers(new Symbolizer[] { linesym }); FeatureTypeStyleImpl fts = new FeatureTypeStyleImpl(); fts.setRules(new Rule[] { rule }); this.setFeatureTypeStyles(new FeatureTypeStyle[] { fts }); }
public BasicLineStyle(Stroke stroke) { LineSymbolizerImpl linesym = new LineSymbolizerImpl(); linesym.setStroke(stroke); RuleImpl rule = new RuleImpl(); rule.setSymbolizers(new org.geotools.styling.Symbolizer[] { linesym }); FeatureTypeStyleImpl fts = new FeatureTypeStyleImpl(); fts.setRules(new Rule[] { rule }); this.setFeatureTypeStyles(new org.geotools.styling.FeatureTypeStyle[] { fts }); }
public BasicPolygonStyle(Fill fill, Stroke stroke) { PolygonSymbolizerImpl polysym = new PolygonSymbolizerImpl(); polysym.setFill(fill); polysym.setStroke(stroke); RuleImpl rule = new RuleImpl(); rule.setSymbolizers(new Symbolizer[] { polysym }); FeatureTypeStyleImpl fts = new FeatureTypeStyleImpl(); fts.setRules(new Rule[] { rule }); this.setFeatureTypeStyles(new FeatureTypeStyle[] { fts }); }
public BasicPolygonStyle(Fill fill, Stroke stroke) { PolygonSymbolizerImpl polysym = new PolygonSymbolizerImpl(); polysym.setFill(fill); polysym.setStroke(stroke); RuleImpl rule = new RuleImpl(); rule.setSymbolizers(new Symbolizer[] { polysym }); FeatureTypeStyleImpl fts = new FeatureTypeStyleImpl(); fts.setRules(new Rule[] { rule }); this.setFeatureTypeStyles(new FeatureTypeStyle[] { fts }); }
public RuleImpl rule(String name, Description description, GraphicLegend legend, double min, double max, List<org.opengis.style.Symbolizer> symbolizers, Filter filter) { RuleImpl rule = new RuleImpl(); rule.setName(name); rule.setDescription(description); rule.setLegend(legend); rule.setMinScaleDenominator(min); rule.setMaxScaleDenominator(max); if( symbolizers != null ){ for (org.opengis.style.Symbolizer symbolizer : symbolizers) { rule.symbolizers().add( cast( symbolizer ) ); } } if( filter != null){ rule.setFilter( filter ); rule.setElseFilter(false); } else { rule.setElseFilter(true); } return rule; }