@Override public void visit(PolygonSymbolizer sym) { this.defaultUnit = sym.getUnitOfMeasure(); try { super.visit(sym); PolygonSymbolizer copy = (PolygonSymbolizer) pages.peek(); rescaleArrayOption(copy.getOptions(), PolygonSymbolizer.GRAPHIC_MARGIN_KEY, 0); } finally { this.defaultUnit = null; } }
public void visit(PolygonSymbolizer poly) { PolygonSymbolizer copy = sf.createPolygonSymbolizer(); copy.setFill(copy(poly.getFill())); copy.setGeometry(copy(poly.getGeometry())); copy.setUnitOfMeasure(poly.getUnitOfMeasure()); copy.setStroke(copy(poly.getStroke())); copy.getOptions().putAll(poly.getOptions()); if (STRICT && !copy.equals(poly)) { throw new IllegalStateException( "Was unable to duplicate provided PolygonSymbolizer:" + poly); } pages.push(copy); }
symbol.setFill(parseFill(child)); } else if (childName.equalsIgnoreCase(VendorOptionString)) { parseVendorOption(symbol.getOptions(), child);
public PolygonSymbolizer build() { if (unset) { return null; } PolygonSymbolizer ps = sf.createPolygonSymbolizer(stroke.build(), fill.build(), null); if (geometry != null) { ps.setGeometry(geometry); } if (uom != null) { ps.setUnitOfMeasure(uom); } ps.getOptions().putAll(options); if (parent == null) { reset(); } return ps; }
@Override public void visit(PolygonSymbolizer poly) { super.visit(poly); PolygonSymbolizer copy = (PolygonSymbolizer) pages.peek(); Unit<Length> uom = copy.getUnitOfMeasure(); rescaleStroke(copy.getStroke(), uom); rescaleFill(copy.getFill(), uom); scaleIntArrayOption(copy.getOptions(), PolygonSymbolizer.GRAPHIC_MARGIN_KEY, uom); copy.setUnitOfMeasure(Units.PIXEL); }
public void visit(PolygonSymbolizer poly) { // adds the uom attribute according to the OGC SE specification AttributesImpl atts = new AttributesImpl(); Unit<Length> uom = poly.getUnitOfMeasure(); if (uom != null) atts.addAttribute("", "uom", "uom", "", UomOgcMapping.get(uom).getSEString()); start("PolygonSymbolizer", atts); encodeGeometryExpression(poly.getGeometry()); if (poly.getFill() != null) { poly.getFill().accept(this); } if (poly.getStroke() != null) { poly.getStroke().accept(this); } if (poly.getOptions() != null) { encodeVendorOptions(poly.getOptions()); } end("PolygonSymbolizer"); }
.getOptions() .get(TextSymbolizer.GRAPHIC_MARGIN_KEY) .split("\\s+");
@Test public void testRescalePolygonMargin() throws Exception { // create a graphic that needs rescaling StyleBuilder sb = new StyleBuilder(); // a graphic fill Fill fill = sb.createFill(); fill.setColor(null); fill.setGraphicFill( sb.createGraphic(null, sb.createMark("square", null, sb.createStroke(2)), null)); // a polygon and line symbolizer using them PolygonSymbolizer polygonSymbolizer = sb.createPolygonSymbolizer(sb.createStroke(), fill); polygonSymbolizer.getOptions().put(PolygonSymbolizer.GRAPHIC_MARGIN_KEY, "1 2 3 4"); // rescale it polygonSymbolizer.accept(visitor); PolygonSymbolizer rps = (PolygonSymbolizer) visitor.getCopy(); Mark rm = (Mark) rps.getFill().getGraphicFill().graphicalSymbols().get(0); assertEquals(4.0, rm.getStroke().getWidth().evaluate(null, Double.class), 0d); assertEquals("2 4 6 8", rps.getOptions().get(PolygonSymbolizer.GRAPHIC_MARGIN_KEY)); } }
ps.getOptions() .put(param.getName(), param.getExpression().evaluate(null, String.class));
opacity = evalOpacity(symbolizer.getFill().getOpacity(), feature); Composite composite = getComposite(symbolizer.getOptions(), opacity); if (composite == null) { composite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, opacity);
/** * Update symbol. * * @param polygonSymbolizer the polygon symbolizer */ @Override public void updateSymbol(PolygonSymbolizer polygonSymbolizer) { if (polygonSymbolizer != null) { Map<String, String> options = polygonSymbolizer.getOptions(); options.clear(); for (Entry<FieldIdEnum, String> entry : fieldMap.entrySet()) { internalUpdateSymbol(options, entry.getKey(), entry.getValue()); } } }
/** * Populate. * * @param polygonSymbolizer the polygon symbolizer */ @Override public void populate(PolygonSymbolizer polygonSymbolizer) { Map<String, String> options = null; if (polygonSymbolizer != null) { options = polygonSymbolizer.getOptions(); } for (Entry<FieldIdEnum, String> entry : fieldMap.entrySet()) { internalPopulate(options, entry.getKey(), entry.getValue()); } handleFieldState(); }
@Override public void getMinimumVersion( Object parentObj, Object sldObj, List<VendorOptionPresent> vendorOptionsPresentList) { if (parentObj instanceof PolygonSymbolizer) { PolygonSymbolizer polygon = (PolygonSymbolizer) parentObj; Map<String, String> options = polygon.getOptions(); for (Entry<FieldIdEnum, String> entry : fieldMap.entrySet()) { String vendorOptionAttributeKey = entry.getValue(); if (options.containsKey(vendorOptionAttributeKey)) { VendorOptionPresent voPresent = new VendorOptionPresent(sldObj, getVendorOptionInfo()); if (vendorOptionsPresentList != null) { vendorOptionsPresentList.add(voPresent); } } } } }
public void visit(PolygonSymbolizer poly) { PolygonSymbolizer copy = sf.createPolygonSymbolizer(); copy.setFill( copy( poly.getFill())); copy.setGeometry(copy(poly.getGeometry())); copy.setUnitOfMeasure(poly.getUnitOfMeasure()); copy.setStroke(copy(poly.getStroke())); copy.getOptions().putAll(poly.getOptions()); if( STRICT && !copy.equals( poly )){ throw new IllegalStateException("Was unable to duplicate provided PolygonSymbolizer:"+poly ); } pages.push(copy); }
/** * (non-Javadoc) * * @see * org.geotools.styling.visitor.DuplicatingStyleVisitor#visit(org.geotools.styling.PolygonSymbolizer) */ public void visit(PolygonSymbolizer poly) { PolygonSymbolizer copy = sf.createPolygonSymbolizer(); copy.setFill(copy(poly.getFill())); copy.setGeometry(copy(poly.getGeometry())); copy.setUnitOfMeasure(poly.getUnitOfMeasure()); copy.setStroke(copy(poly.getStroke())); copy.getOptions().putAll(poly.getOptions()); if (STRICT && !copy.equals(poly)) { throw new IllegalStateException( "Was unable to duplicate provided PolygonSymbolizer:" + poly); } pages.push(copy); }
/** * (non-Javadoc) * * @see * org.geotools.styling.visitor.DuplicatingStyleVisitor#visit(org.geotools.styling.PolygonSymbolizer) */ @Override public void visit(PolygonSymbolizer poly) { PolygonSymbolizer copy = sf.createPolygonSymbolizer(); copy.setFill(copy(poly.getFill())); copy.setGeometry(copy(MultiPolygon.class, poly.getGeometry())); copy.setUnitOfMeasure(poly.getUnitOfMeasure()); copy.setStroke(copy(poly.getStroke())); copy.getOptions().putAll(poly.getOptions()); if (STRICT && !copy.equals(poly)) { throw new IllegalStateException( "Was unable to duplicate provided PolygonSymbolizer:" + poly); } pages.push(copy); }
public void visit(PolygonSymbolizer poly) { // adds the uom attribute according to the OGC SE specification AttributesImpl atts = new AttributesImpl(); Unit<Length> uom = poly.getUnitOfMeasure(); if(uom != null) atts.addAttribute("", "uom", "uom", "", UomOgcMapping.get(uom).getSEString()); start("PolygonSymbolizer", atts); encodeGeometryExpression(poly.getGeometry()); if (poly.getFill() != null) { poly.getFill().accept(this); } if (poly.getStroke() != null) { poly.getStroke().accept(this); } if (poly.getOptions() != null) { encodeVendorOptions(poly.getOptions()); } end("PolygonSymbolizer"); }