@Override public void handle(YamlObject<?> obj, YamlParseContext context) { // lookup process function factory, if null means process modules not on classpath if (functionFactory == null) { LOG.warning( "Unable to load process factory, ignoring transform, ensure process modules installed"); return; } YamlMap map = obj.map(); Function function = process(map); featureStyle.setTransformation(function); }
public FeatureTypeStyle build() { if (unset) { return null; } List<org.opengis.style.Rule> list = new ArrayList<org.opengis.style.Rule>(); for (RuleBuilder ruleBuilder : rules) { list.add(ruleBuilder.build()); } FeatureTypeStyle fts = sf.featureTypeStyle( name, description.build(), definedFor.build(), featureTypeNames, types, list); if (!options.isEmpty()) { fts.getOptions().putAll(options); } fts.setTransformation(transformation); if (parent == null) { reset(); } return fts; }
new ExpressionDOMParser(CommonFactoryFinder.getFilterFactory2(null)); Expression tx = parser.expression(getFirstNonTextChild(child)); ft.setTransformation(tx); } else if (childName.equalsIgnoreCase(VendorOptionString)) { parseVendorOption(ft.getOptions(), child);
copy.setTransformation(copy(fts.getTransformation()));
featureStyle.setTransformation(rt2);
featureStyle.setTransformation(rt);
featureStyle.setTransformation(rt);
@Override public void handle(YamlObject<?> obj, YamlParseContext context) { // lookup process function factory, if null means process modules not on classpath if (functionFactory == null) { LOG.warning( "Unable to load process factory, ignoring transform, ensure process modules installed"); return; } YamlMap map = obj.map(); Function function = process(map); featureStyle.setTransformation(function); }
featureStyle.setTransformation(rt);
featureStyle.setTransformation(rt);
public void testFeatureTypeStyle() throws Exception { FeatureTypeStyle fts = sf.createFeatureTypeStyle(); fts.setFeatureTypeName("feature-type"); fts.getOptions().put("key", "value"); Rule rule1; rule1 = sf.createRule(); rule1.setName("rule1"); rule1.setFilter(ff.id(Collections.singleton(ff.featureId("FID")))); Rule rule2 = sf.createRule(); rule2.setIsElseFilter(true); rule2.setName("rule2"); fts.addRule(rule1); fts.addRule(rule2); fts.accept(visitor); FeatureTypeStyle clone = (FeatureTypeStyle) visitor.getCopy(); // assertClone(fts, clone); assertEqualsContract(fts, clone); rule1 = sf.createRule(); rule1.setName("rule1"); rule1.setFilter(ff.id(Collections.singleton(ff.featureId("FID")))); FeatureTypeStyle notEq = sf.createFeatureTypeStyle(); notEq.setName("fts-not-equal"); notEq.addRule(rule1); assertEqualsContract(clone, notEq, fts); fts.setTransformation(ff.literal("transformation")); fts.setOnlineResource(new OnLineResourceImpl()); fts.accept(visitor); clone = (FeatureTypeStyle) visitor.getCopy(); assertEqualsContract(fts, clone); }
featureStyle.setTransformation(rt);
public void testFeatureStyleImplCopy() throws Exception { // create FeatureTypeStyleImpl FeatureTypeStyle fts = new FeatureTypeStyleImpl(); assertNull(fts.getTransformation()); assertNull(fts.getOnlineResource()); // Create OnlineResource and transformation OnLineResource impl = new OnLineResourceImpl(); Expression style = filterFactory.literal("square"); // set OnlineResource and transformation fts.setTransformation(style); fts.setOnlineResource(impl); // test if set assertEquals(fts.getTransformation(), filterFactory.literal("square")); assertEquals(fts.getOnlineResource(), new OnLineResourceImpl()); // create copy fts2 from fts FeatureTypeStyleImpl fts2 = new FeatureTypeStyleImpl(fts); // test if values are equal and thus copied assertEquals(fts.getTransformation(), fts2.getTransformation()); assertEquals(fts.getOnlineResource(), fts2.getOnlineResource()); } }
ExpressionDOMParser parser = new ExpressionDOMParser(CommonFactoryFinder.getFilterFactory2(null)); Expression tx = parser.expression(getFirstNonTextChild(child)); ft.setTransformation(tx);
private static FeatureTypeStyle getDirectRasterStyle( final String geometryPropertyName, final Expression transformation) { final StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory(); final FeatureTypeStyle style = styleFactory.createFeatureTypeStyle(); final Rule rule = styleFactory.createRule(); rule.setName("distributed render - direct raster"); rule.setTitle("Distributed Render - Direct Raster"); final RasterSymbolizer symbolizer = styleFactory.createRasterSymbolizer(); symbolizer.setGeometryPropertyName(geometryPropertyName); rule.symbolizers().add(symbolizer); style.rules().add(rule); style.setTransformation(transformation); return style; } }
copy.setTransformation(copy(fts.getTransformation()));
fts.setTransformation(transformation);
@Test public void testVectorToRasterTransform() { FeatureTypeStyle fts = sb.createFeatureTypeStyle(sb.createLineSymbolizer()); Function data = ff.function("parameter", ff.literal("data")); Function tx = ff.function("vec:Heatmap", data); fts.setTransformation(tx); fts.getOptions().put(FeatureTypeStyle.COMPOSITE_BASE, "true"); Style style = sb.createStyle(); style.featureTypeStyles().add(fts); style.accept(visitor); Style copy = (Style) visitor.getCopy(); assertTrue(visitor.hasTransformations()); assertFalse(visitor.hasVectorTransformations()); assertEquals(0, copy.featureTypeStyles().size()); } }
@Test public void testRasterToVectorTransform() { FeatureTypeStyle fts = sb.createFeatureTypeStyle(sb.createLineSymbolizer()); Function data = ff.function("parameter", ff.literal("data")); Function levels = ff.function( "parameter", ff.literal("levels"), ff.literal("1100"), ff.literal("1200")); Function tx = ff.function("ras:Contour", data, levels); fts.setTransformation(tx); fts.getOptions().put(FeatureTypeStyle.COMPOSITE_BASE, "true"); Style style = sb.createStyle(); style.featureTypeStyles().add(fts); style.accept(visitor); Style copy = (Style) visitor.getCopy(); assertTrue(visitor.hasTransformations()); assertTrue(visitor.hasVectorTransformations()); assertThat(copy.featureTypeStyles().get(0).getTransformation(), instanceOf(Function.class)); Function txCopy = (Function) copy.featureTypeStyles().get(0).getTransformation(); assertEquals("ras:Contour", txCopy.getName()); }