public void visit(RasterSymbolizer raster) { if (isAcceptable(raster)) { if (raster.getOpacity() != null) { checkOpacity(raster.getOpacity()); } if (raster.getColorMap() != null) { raster.getColorMap().accept(this); } } }
@Override protected void encode(RasterSymbolizer sym) { put("opacity", sym.getOpacity()); if (!emptyColourMap(sym.getColorMap())) { inline(new ColorMapEncoder(sym.getColorMap())); } if (!emptyContrastEnhancement(sym.getContrastEnhancement())) { inline(new ContrastEnhancementEncoder(sym.getContrastEnhancement())); } if (!emptyChannelSelection(sym.getChannelSelection())) { inline(new ChannelSelectionEncoder(sym.getChannelSelection())); } super.encode(sym); }
@Override public void visit(RasterSymbolizer raster) { ChannelSelection channelSelection = createChannelSelection(); ColorMap colorMap = copy(raster.getColorMap()); ContrastEnhancement ce = copy(raster.getContrastEnhancement()); String geometryProperty = raster.getGeometryPropertyName(); Symbolizer outline = copy(raster.getImageOutline()); Expression overlap = copy(raster.getOverlap()); ShadedRelief shadedRelief = copy(raster.getShadedRelief()); Expression opacity = copy(raster.getOpacity()); RasterSymbolizer copy = sf.createRasterSymbolizer( geometryProperty, opacity, channelSelection, overlap, colorMap, ce, shadedRelief, outline); if (STRICT && !copy.equals(raster)) { throw new IllegalStateException( "Was unable to duplicate provided raster:" + raster); } pages.push(copy); }
@Override public void visit(RasterSymbolizer raster) { ChannelSelection channelSelection = copy(raster.getChannelSelection()); ColorMap colorMap = copy(raster.getColorMap()); ContrastEnhancement ce = copy(raster.getContrastEnhancement()); String geometryProperty = raster.getGeometryPropertyName(); Symbolizer outline = copy(raster.getImageOutline()); Expression overlap = copy(raster.getOverlap()); ShadedRelief shadedRelief = copy(raster.getShadedRelief()); Expression newOpacity = ff.literal(opacity); RasterSymbolizer copy = sf.createRasterSymbolizer( geometryProperty, newOpacity, channelSelection, overlap, colorMap, ce, shadedRelief, outline); if (STRICT && !copy.equals(raster)) { throw new IllegalStateException( "Was unable to duplicate provided raster:" + raster); } pages.push(copy); } };
@Override public void visit(RasterSymbolizer raster) { if (raster.getChannelSelection() != null) { raster.getChannelSelection().accept(this); } if (raster.getColorMap() != null) { raster.getColorMap().accept(this); } if (raster.getContrastEnhancement() != null) { raster.getContrastEnhancement().accept(this); } if (raster.getDescription() != null) { raster.getDescription().accept(this); } if (raster.getImageOutline() != null) { raster.getImageOutline().accept(this); } if (raster.getShadedRelief() != null) { raster.getShadedRelief().accept(this); } }
public void visit(RasterSymbolizer raster) { RasterSymbolizer copy = sf.createRasterSymbolizer(); copy.setChannelSelection(copy(raster.getChannelSelection())); copy.setColorMap(copy(raster.getColorMap())); copy.setContrastEnhancement(copy(raster.getContrastEnhancement())); copy.setGeometry(copy(raster.getGeometry())); copy.setUnitOfMeasure(raster.getUnitOfMeasure()); copy.setImageOutline(copy(raster.getImageOutline())); copy.setOpacity(copy(raster.getOpacity())); copy.setOverlapBehavior(raster.getOverlapBehavior()); copy.setShadedRelief(copy(raster.getShadedRelief())); if (STRICT && !copy.equals(raster)) { throw new IllegalStateException("Was unable to duplicate provided raster:" + raster); } pages.push(copy); }
.get(0); ColorMap colorMap = symbolizer.getColorMap(); RasterSymbolizerEncoder.ColorMapEntryIterator iterator = new RasterSymbolizerEncoder(symbolizer).new ColorMapEntryIterator(colorMap);
if (symbolizer != null && symbolizer.getColorMap() != null) { localHints.put(JAI.KEY_REPLACE_INDEX_COLOR_MODEL, false);
public RasterSymbolizerBuilder reset(RasterSymbolizer symbolizer) { if (symbolizer == null) { return reset(); } opacity = symbolizer.getOpacity(); channelSelection.reset(symbolizer.getChannelSelection()); colorMap.reset(symbolizer.getColorMap()); contrast.reset(symbolizer.getContrastEnhancement()); if (symbolizer.getImageOutline() instanceof LineSymbolizer) { this.outline = new LineSymbolizerBuilder() .reset((LineSymbolizer) symbolizer.getImageOutline()); } else if (symbolizer.getImageOutline() instanceof PolygonSymbolizer) { this.outline = new PolygonSymbolizerBuilder() .reset((PolygonSymbolizer) symbolizer.getImageOutline()); } unset = false; return this; }
@Test public void testRasterWithDiscreteColors() throws Exception { // <UserStyle> // <Title>SLD Cook Book: Discrete colors</Title> // <FeatureTypeStyle> // <Rule> // <RasterSymbolizer> // <ColorMap type="intervals"> // <ColorMapEntry color="#008000" quantity="150" /> // <ColorMapEntry color="#663333" quantity="256" /> // </ColorMap> // </RasterSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("raster", "discrete-colors.sld"); RasterSymbolizer raster = SLD.rasterSymbolizer(style); ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#008000", Filters.asString(e.getColor())); assertEquals(150, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#663333", Filters.asString(e.getColor())); assertEquals(256, Filters.asInt(e.getQuantity())); }
prevNode = currNode; final ColorMap cm = rs.getColorMap(); cmNode.visit(cm);
@Test public void testRasterWithTwoColorGradient() throws Exception { // <UserStyle> // <Title>SLD Cook Book: Two color gradient</Title> // <FeatureTypeStyle> // <Rule> // <RasterSymbolizer> // <ColorMap> // <ColorMapEntry color="#008000" quantity="70" /> // <ColorMapEntry color="#663333" quantity="256" /> // </ColorMap> // </RasterSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("raster", "two-color-gradient.sld"); RasterSymbolizer raster = SLD.rasterSymbolizer(style); ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#008000", Filters.asString(e.getColor())); assertEquals(70, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#663333", Filters.asString(e.getColor())); assertEquals(256, Filters.asInt(e.getQuantity())); }
@Test public void testRasterWithThreeColorGradient() throws Exception { // <UserStyle> // <Title>SLD Cook Book: Three color gradient</Title> // <FeatureTypeStyle> // <Rule> // <RasterSymbolizer> // <ColorMap> // <ColorMapEntry color="#0000FF" quantity="150" /> // <ColorMapEntry color="#FFFF00" quantity="200" /> // <ColorMapEntry color="#FF0000" quantity="250" /> // </ColorMap> // </RasterSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("raster", "three-color-gradient.sld"); RasterSymbolizer raster = SLD.rasterSymbolizer(style); ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#0000FF", Filters.asString(e.getColor())); assertEquals(150, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#FFFF00", Filters.asString(e.getColor())); assertEquals(200, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(2); assertEquals("#FF0000", Filters.asString(e.getColor())); assertEquals(250, Filters.asInt(e.getQuantity())); }
ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#000000", Filters.asString(e.getColor())); assertEquals(95, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#0000FF", Filters.asString(e.getColor())); assertEquals(110, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(2); assertEquals("#00FF00", Filters.asString(e.getColor())); assertEquals(135, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(3); assertEquals("#FF0000", Filters.asString(e.getColor())); assertEquals(160, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(4); assertEquals("#FF00FF", Filters.asString(e.getColor())); assertEquals(185, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(5); assertEquals("#FFFF00", Filters.asString(e.getColor())); assertEquals(210, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(6); assertEquals("#00FFFF", Filters.asString(e.getColor())); assertEquals(235, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(7);
@Test public void testRasterWithAlphaChannel() throws Exception { // <UserStyle> // <Title>SLD Cook Book: Alpha channel</Title> // <FeatureTypeStyle> // <Rule> // <RasterSymbolizer> // <ColorMap> // <ColorMapEntry color="#008000" quantity="70" /> // <ColorMapEntry color="#008000" quantity="256" opacity="0"/> // </ColorMap> // </RasterSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("raster", "alpha-channel.sld"); RasterSymbolizer raster = SLD.rasterSymbolizer(style); ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#008000", Filters.asString(e.getColor())); assertEquals(70, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#008000", Filters.asString(e.getColor())); assertEquals(256, Filters.asInt(e.getQuantity())); assertEquals(0, Filters.asInt(e.getOpacity())); }
@Test public void testRasterWithTransparentGradient() throws Exception { // <UserStyle> // <Title>SLD Cook Book: Transparent gradient</Title> // <FeatureTypeStyle> // <Rule> // <RasterSymbolizer> // <Opacity>0.3</Opacity> // <ColorMap> // <ColorMapEntry color="#008000" quantity="70" /> // <ColorMapEntry color="#663333" quantity="256" /> // </ColorMap> // </RasterSymbolizer> // </Rule> // </FeatureTypeStyle> // </UserStyle> Style style = parse("raster", "transparent-gradient.sld"); RasterSymbolizer raster = SLD.rasterSymbolizer(style); assertEquals(0.3, Filters.asDouble(raster.getOpacity()), 0.1); ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#008000", Filters.asString(e.getColor())); assertEquals(70, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#663333", Filters.asString(e.getColor())); assertEquals(256, Filters.asInt(e.getQuantity())); }
assertEquals(ContrastMethod.NORMALIZE, contrast.getMethod()); ColorMapEntry e = raster.getColorMap().getColorMapEntry(0); assertEquals("#008000", Filters.asString(e.getColor())); assertEquals(70, Filters.asInt(e.getQuantity())); e = raster.getColorMap().getColorMapEntry(1); assertEquals("#663333", Filters.asString(e.getColor())); assertEquals(256, Filters.asInt(e.getQuantity()));
filterFactory.function( "pow", filterFactory.literal(1.2d), filterFactory.literal(2.0d))); symb.getColorMap().addColorMapEntry(e1); symb.getColorMap().addColorMapEntry(e2); StyledLayerDescriptor sld = sld(symb);
e2.setColor(filterFactory.literal("#0000EE")); e2.setQuantity(filterFactory.literal(1.0d)); symb.getColorMap().addColorMapEntry(e1); symb.getColorMap().addColorMapEntry(e2); StyledLayerDescriptor sld = sld(symb);
ColorMap colorMap = raster.getColorMap(); if (colorMap != null && colorMap.getColorMapEntries() != null