Refine search
@Test public void testParsedStyle() throws IOException { File styleDir = new File(dataDir.root(), "styles"); styleDir.mkdir(); // Copy the sld to the temp style dir File styleFile = new File(styleDir, "external.sld"); Files.copy(this.getClass().getResourceAsStream("external.sld"), styleFile.toPath()); File iconFile = new File(styleDir, "icon.png"); assertFalse(iconFile.exists()); StyleInfoImpl si = new StyleInfoImpl(null); si.setName(""); si.setId(""); si.setFormat("sld"); si.setFormatVersion(new Version("1.0.0")); si.setFilename(styleFile.getName()); Style s = dataDir.parsedStyle(si); // Verify style is actually parsed correctly Symbolizer symbolizer = s.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); assertTrue(symbolizer instanceof PointSymbolizer); GraphicalSymbol graphic = ((PointSymbolizer) symbolizer).getGraphic().graphicalSymbols().get(0); assertTrue(graphic instanceof ExternalGraphic); assertEquals(((ExternalGraphic) graphic).getLocation(), iconFile.toURI().toURL()); // GEOS-7025: verify the icon file is not created if it doesn't already exist assertFalse(iconFile.exists()); }
fts.rules().add(r); s.featureTypeStyles().add(fts);
/** * Returns the min scale of the default (first) rule * * @param fts the feature type style * @return min scale or 0 if no min scale is set */ public static double minScale(FeatureTypeStyle fts) { if (fts == null || fts.rules().isEmpty()) return 0.0; return fts.rules().get(0).getMinScaleDenominator(); }
@Test public void testSEStyleWithRelativePath() throws IOException { StyleInfo si = getCatalog().getStyleByName("relative"); assertNotNull(si); Style style = si.getStyle(); PolygonSymbolizer ps = (PolygonSymbolizer) style.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); ExternalGraphic eg = (ExternalGraphic) ps.getFill().getGraphicFill().graphicalSymbols().get(0); URI uri = eg.getOnlineResource().getLinkage(); assertNotNull(uri); File actual = URLs.urlToFile(uri.toURL()).getCanonicalFile(); assertEquals(rockFillSymbolFile, actual); }
/** * Returns the max scale of the default (first) rule * * @param fts the feature type style * @return min scale or NaN if no max scale is set */ public static double maxScale(FeatureTypeStyle fts) { if (fts == null || fts.rules().isEmpty()) return Double.NaN; return fts.rules().get(0).getMaxScaleDenominator(); }
/** * Retrieves all rules defined in a style * * @param style the style * @return an array of unique rules */ public static Rule[] rules(Style style) { Set<Rule> ruleSet = new HashSet<Rule>(); for (FeatureTypeStyle fts : style.featureTypeStyles()) { ruleSet.addAll(fts.rules()); } if (ruleSet.size() > 0) { return ruleSet.toArray(new Rule[0]); } else { return new Rule[0]; } }
Symbolizer symbolizer = s.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); assertTrue(symbolizer instanceof PointSymbolizer); GraphicalSymbol graphic =
/** * Returns the max scale of the default (first) rule * * @param fts the feature type style * * @return min scale or NaN if no max scale is set */ public static double maxScale( FeatureTypeStyle fts ) { if(fts == null || fts.rules().isEmpty()) return Double.NaN; return fts.rules().get(0).getMaxScaleDenominator(); }
/** * Retrieves all symbolizers defined in a style * * @param style the style * @return an array of unique symbolizers */ public static Symbolizer[] symbolizers(Style style) { Set<Symbolizer> symbolizers = new HashSet<Symbolizer>(); for (FeatureTypeStyle fts : style.featureTypeStyles()) { for (Rule rule : fts.rules()) { symbolizers.addAll(rule.symbolizers()); } } if (symbolizers.size() > 0) { return symbolizers.toArray(new Symbolizer[0]); } else { return new Symbolizer[0]; } }
@Test public void testSEStyleWithRelativePathProtocol() throws IOException { StyleInfo si = getCatalog().getStyleByName("relative_protocol"); assertNotNull(si); Style style = si.getStyle(); PolygonSymbolizer ps = (PolygonSymbolizer) style.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); ExternalGraphic eg = (ExternalGraphic) ps.getFill().getGraphicFill().graphicalSymbols().get(0); URI uri = eg.getOnlineResource().getLinkage(); assertNotNull(uri); File actual = URLs.urlToFile(uri.toURL()).getCanonicalFile(); assertEquals(rockFillSymbolFile, actual); }
/** * Returns the min scale of the default (first) rule * * @param fts the feature type style * * @return min scale or 0 if no min scale is set */ public static double minScale( FeatureTypeStyle fts ) { if(fts == null || fts.rules().isEmpty()) return 0.0; return fts.rules().get(0).getMinScaleDenominator(); }
/** * Retrieves all colour names defined in a style * * @param style the style * @return an array of unique colour names */ public static String[] colors(Style style) { Set<String> colorSet = new HashSet<String>(); for (FeatureTypeStyle fts : style.featureTypeStyles()) { for (Rule rule : fts.rules()) { String[] color = colors(rule); for (int j = 0; j < color.length; j++) { colorSet.add(color[j]); } } } if (colorSet.size() > 0) { return colorSet.toArray(new String[0]); } else { return new String[0]; } }
Symbolizer symbolizer = s.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); assertTrue(symbolizer instanceof PointSymbolizer); GraphicalSymbol graphic =
private static Style createStyle() { StyleFactory factory = CommonFactoryFinder.getStyleFactory(null); RasterSymbolizer symbolizer = factory.createRasterSymbolizer(); Rule rule = factory.createRule(); rule.symbolizers().add(symbolizer); final FeatureTypeStyle type = factory.createFeatureTypeStyle(); type.rules().add(rule); Style style = factory.createStyle(); style.featureTypeStyles().add(type); return style; }
@Override public Void answer() throws Throwable { Object[] args = getCurrentArguments(); InputStream is = (InputStream) args[1]; byte[] input = IOUtils.toByteArray(is); SLDParser parser = new SLDParser(CommonFactoryFinder.getStyleFactory()); parser.setInput(new ByteArrayInputStream(input)); StyledLayerDescriptor sld = parser.parseSLD(); NamedLayer nl = (NamedLayer) sld.getStyledLayers()[0]; assertEquals("foo", nl.getName()); Style style = nl.getStyles()[0]; assertEquals( "A raster style", style.getDescription().getTitle().toString()); assertEquals(1, style.featureTypeStyles().size()); FeatureTypeStyle fts = style.featureTypeStyles().get(0); assertEquals(1, fts.rules().size()); assertThat( fts.rules().get(0).symbolizers().get(0), instanceOf(RasterSymbolizer.class)); // make sure it's valid SLDValidator validator = new SLDValidator(); List errors = validator.validateSLD(new ByteArrayInputStream(input)); assertEquals(0, errors.size()); return null; } });
private static Style createPointStyle() { StyleFactory sf = CommonFactoryFinder.getStyleFactory(); URL iconUrl = ScreenMapShapefileTest.class.getResource("icon.png"); ExternalGraphic icon = sf.createExternalGraphic(iconUrl, "image/png"); Graphic graphic = sf.createGraphic(new ExternalGraphic[] {icon}, null, null, null, null, null); PointSymbolizer symbolizer = sf.createPointSymbolizer(graphic, "the_geom"); Rule rule = sf.createRule(); rule.symbolizers().add(symbolizer); FeatureTypeStyle fts = sf.createFeatureTypeStyle(); fts.rules().add(rule); Style style = sf.createStyle(); style.featureTypeStyles().add(fts); return style; }
"A orange generic style", style.getDescription().getTitle().toString()); assertEquals(1, style.featureTypeStyles().size()); FeatureTypeStyle fts = style.featureTypeStyles().get(0); assertEquals("first", fts.getOptions().get("ruleEvaluation")); assertEquals(4, fts.rules().size()); assertEquals( "raster", fts.rules().get(0).getDescription().getTitle().toString()); assertEquals( "orange polygon", fts.rules().get(1).getDescription().getTitle().toString()); assertEquals( "orange line", fts.rules().get(2).getDescription().getTitle().toString()); assertEquals( "orange point", fts.rules().get(3).getDescription().getTitle().toString());
private static Style createDefaultStyle() { Color foreground = Color.darkGray; int thick = 3; // create stroke org.geotools.styling.Stroke stroke = sf.stroke(ff.literal(foreground), null, ff.literal(thick), null, null, null, null); // create line symbolizer LineSymbolizer lineSym = sf.createLineSymbolizer(stroke, null); // create rule Rule r = sf.createRule(); r.symbolizers().add(lineSym); // add it to style Style style = sf.createStyle(); FeatureTypeStyle fts = sf.createFeatureTypeStyle(); fts.rules().add(r); style.featureTypeStyles().add(fts); return style; } }
assertEquals(catalog.getLayerByName((getLayerId(MockData.STREAMS))), layers.get(0)); assertTrue( styles.get(0) .getStyle() .featureTypeStyles() .get(0) .rules() .get(0) .getSymbolizers()[0] styles.get(1) .getStyle() .featureTypeStyles() .get(0) .rules() .get(0) .getSymbolizers()[0] styles.get(5) .getStyle() .featureTypeStyles() .get(0) .rules() .get(0) .getSymbolizers()[0]
type.rules().add(rule); STYLE.featureTypeStyles().add(type);