/** * create a new style * * @param symbolizer - the symbolizer to use * @return the new style */ public Style createStyle(Symbolizer symbolizer) { return createStyle(null, symbolizer, Double.NaN, Double.NaN); }
/** * create a new style * * @param symbolizer - the symbolizer to use * @param minScaleDenominator - the minimim scale to draw the feature at * @param maxScaleDenominator - the maximum scale to draw the feature at * @return the new style */ public Style createStyle( Symbolizer symbolizer, double minScaleDenominator, double maxScaleDenominator) { return createStyle(null, symbolizer, minScaleDenominator, maxScaleDenominator); }
/** * create a new style * * @param typeName - The feature typeName you want to draw (use "Feature" as a wild card to * match all) * @param symbolizer - the symbolizer to use * @return the new style */ public Style createStyle(String typeName, Symbolizer symbolizer) { return createStyle(typeName, symbolizer, Double.NaN, Double.NaN); }
public Layer loadGeoReferencedImageFile(GridCoverage2D gc, String title) throws IOException, URISyntaxException { StyleBuilder sb = new StyleBuilder(); RasterSymbolizer rs = sb.createRasterSymbolizer(); return new GridCoverageLayer(gc, sb.createStyle(rs), ""); }
private static Style getStyle() { StyleBuilder sb = new StyleBuilder(); Style rasterstyle = sb.createStyle(); RasterSymbolizer raster = sb.createRasterSymbolizer(); rasterstyle.featureTypeStyles().add(sb.createFeatureTypeStyle(raster)); rasterstyle.featureTypeStyles().get(0).setName("GridCoverage"); return rasterstyle; }
@Test public void testSpatialNoReprojection() throws Exception { // a spatial filter in the same SRS as the geometry StyleBuilder sb = new StyleBuilder(); PolygonSymbolizer ps = sb.createPolygonSymbolizer(); Style style = sb.createStyle(ps); Rule rule = style.featureTypeStyles().get(0).rules().get(0); rule.setFilter(ff.bbox("geom", 1, 1, 4, 4, "EPSG:4326")); content.addLayer(new FeatureLayer(squareFS, style)); RendererBaseTest.showRender("Spatial with default CRS", renderer, TIME, bounds); assertEquals(2, renderedIds.size()); }
@Test public void testSpatialDefaulter() throws Exception { // a spatial filter in the same SRS as the geometry StyleBuilder sb = new StyleBuilder(); PolygonSymbolizer ps = sb.createPolygonSymbolizer(); Style style = sb.createStyle(ps); Rule rule = style.featureTypeStyles().get(0).rules().get(0); rule.setFilter(ff.bbox("geom", 1, 1, 4, 4, null)); content.addLayer(new FeatureLayer(squareFS, style)); RendererBaseTest.showRender("Spatial without CRS", renderer, TIME, bounds); assertEquals(2, renderedIds.size()); }
@Test public void testStyleDuplication() throws IllegalFilterException { // create a style Style oldStyle = sb.createStyle("FTSName", sf.createPolygonSymbolizer()); oldStyle.getFeatureTypeStyles()[0].setSemanticTypeIdentifiers( new String[] {"simple", "generic:geometry"}); // duplicate it oldStyle.accept(visitor); Style newStyle = (Style) visitor.getCopy(); // compare it assertNotNull(newStyle); }
private static Style createLabelOffsetStyle() { StyleBuilder sb = new StyleBuilder(); PointPlacement pp = sb.createPointPlacement(0.5, 0.5, 50, 0, 0); TextSymbolizer ts = sb.createTextSymbolizer(); ts.setFont(sb.createFont("Bitstream Vera Sans", 20)); ts.setLabel(sb.getFilterFactory().literal("name")); ts.setLabelPlacement(pp); ts.getOptions().put("partials", "true"); return sb.createStyle(ts); }
public void testRenderEmptyLine() throws SchemaException, IllegalAttributeException { GeometryFactory gf = new GeometryFactory(); StyleBuilder sb = new StyleBuilder(); SimpleFeatureType pointType = DataUtilities.createType("emptyLines", "geom:LineString,name:String"); SimpleFeature f = SimpleFeatureBuilder.build( pointType, new Object[] {gf.createLineString((Coordinate[]) null), "name"}, null); Style style = sb.createStyle(sb.createLineSymbolizer()); renderEmptyGeometry(f, style); }
@Test public void testNonIntegerStroke() { Style style = sb.createStyle(sb.createLineSymbolizer(sb.createStroke(10.8))); MetaBufferEstimator rbe = new MetaBufferEstimator(); rbe.visit(style); assertEquals(11, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); }
@Test public void testNullStroke() throws Exception { StyleBuilder sb = new StyleBuilder(); LineSymbolizer ls = sb.createLineSymbolizer(Stroke.NULL); Style style = sb.createStyle(ls); MetaBufferEstimator estimator = new MetaBufferEstimator(); style.accept(estimator); assertTrue(estimator.isEstimateAccurate()); assertEquals(0, estimator.getBuffer()); }
@Test public void testSimpleStroke() { Style style = sb.createStyle(sb.createLineSymbolizer(sb.createStroke(10.0))); MetaBufferEstimator rbe = new MetaBufferEstimator(); rbe.visit(style); assertEquals(10, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); }
public void testStyleDuplication() throws IllegalFilterException { // create a style Style oldStyle = sb.createStyle("FTSName", sf.createPolygonSymbolizer()); oldStyle.getFeatureTypeStyles()[0].setSemanticTypeIdentifiers( new String[] {"simple", "generic:geometry"}); // duplicate it oldStyle.accept(visitor); Style newStyle = (Style) visitor.getCopy(); // compare it assertNotNull(newStyle); assertEquals(2, newStyle.getFeatureTypeStyles()[0].getSemanticTypeIdentifiers().length); }
/** * Test that setting the raster opacity correct duplicates the raster symbolizer as a different * object and correctly sets the opacity. */ public void testSetRasterOpacity() { RasterSymbolizer rs = sb.createRasterSymbolizer(); Style s = sb.createStyle(rs); assertEquals(1.0, SLD.opacity(SLD.rasterSymbolizer(s))); SLD.setRasterOpacity(s, 0.25); assertEquals(0.25, SLD.opacity(SLD.rasterSymbolizer(s))); assertNotSame(SLD.rasterSymbolizer(s), rs); }
@Test public void testLiteralParseStroke() { Style style = sb.createStyle( sb.createLineSymbolizer( sb.createStroke( sb.colorExpression(Color.BLACK), sb.literalExpression("10.0")))); MetaBufferEstimator rbe = new MetaBufferEstimator(); rbe.visit(style); assertEquals(10, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); }
public void testMixedEmptyMultiLine() throws SchemaException, IllegalAttributeException { GeometryFactory gf = new GeometryFactory(); StyleBuilder sb = new StyleBuilder(); SimpleFeatureType pointType = DataUtilities.createType("emptyRings", "geom:MultiLineString,name:String"); LineString emptyLine = gf.createLineString((Coordinate[]) null); LineString realLine = gf.createLineString(new Coordinate[] {new Coordinate(0, 0), new Coordinate(1, 1)}); MultiLineString mls = gf.createMultiLineString(new LineString[] {emptyLine, realLine}); SimpleFeature f = SimpleFeatureBuilder.build(pointType, new Object[] {mls, "name"}, null); Style style = sb.createStyle(sb.createPolygonSymbolizer()); renderEmptyGeometry(f, style); }
@Test public void testTextNoStroke() { Style style = sb.createStyle(sb.createTextSymbolizer()); MetaBufferEstimator rbe = new MetaBufferEstimator(); assertEquals(0, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); rbe.visit(style); assertEquals(15, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); }
@Test public void testSimpleGraphic() { PointSymbolizer ps = sb.createPointSymbolizer( sb.createGraphic(null, sb.createMark(sb.MARK_CIRCLE), null)); ps.getGraphic().setSize(sb.literalExpression(15)); Style style = sb.createStyle(ps); MetaBufferEstimator rbe = new MetaBufferEstimator(); rbe.visit(style); assertEquals(16, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); }
@Test public void testFeatureBound() throws Exception { StyleBuilder sb = new StyleBuilder(); LineSymbolizer ls = sb.createLineSymbolizer(Color.BLUE); ls.getStroke().setWidth(ff.multiply(ff.literal(2), ff.property("flow"))); Style style = sb.createStyle(ls); MetaBufferEstimator estimator = new MetaBufferEstimator(riverFeatures[0]); style.accept(estimator); assertTrue(estimator.isEstimateAccurate()); assertEquals(9, estimator.getBuffer()); } }