Search in sources :

Example 1 with FilterMappedPrimitives

use of org.polymap.core.style.model.feature.FilterMappedPrimitives in project polymap4-core by Polymap4.

the class StyleModelTest method propertyRangeMappedNumbers.

@Ignore
@Test
public void propertyRangeMappedNumbers() {
    FeatureStyle fs = repo.newFeatureStyle();
    // point
    PointStyle point = fs.members().createElement(PointStyle.defaults);
    point.diameter.createValue(new ValueInitializer<FilterMappedPrimitives<Double>>() {

        @Override
        public FilterMappedPrimitives<Double> initialize(FilterMappedPrimitives<Double> proto) throws Exception {
            proto.add(ff.lessOrEqual(ff.property("foo"), ff.literal("big")), new Double(5));
            proto.add(ff.less(ff.property("foo"), ff.literal("bigger")), new Double(15));
            proto.add(ff.greaterOrEqual(ff.property("foo"), ff.literal("bigger")), new Double(23));
            return proto;
        }
    });
    fs.store();
    log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class, OutputFormat.GEOSERVER));
    Style style = repo.serializedFeatureStyle(fs.id(), Style.class, OutputFormat.GEOSERVER).get();
    List<FeatureTypeStyle> featureTypeStyles = style.featureTypeStyles();
    assertEquals(1, featureTypeStyles.size());
    assertEquals(Filter.INCLUDE, featureTypeStyles.get(0).rules().get(0).getFilter());
    log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class, OutputFormat.OGC));
    style = repo.serializedFeatureStyle(fs.id(), Style.class, OutputFormat.OGC).get();
    featureTypeStyles = style.featureTypeStyles();
    assertEquals(1, featureTypeStyles.size());
    assertEquals("[ foo <= big ]", featureTypeStyles.get(0).rules().get(0).getFilter().toString());
    assertEquals("[ foo < bigger ]", featureTypeStyles.get(0).rules().get(1).getFilter().toString());
    assertEquals("[ foo >= bigger ]", featureTypeStyles.get(0).rules().get(2).getFilter().toString());
}
Also used : FilterMappedPrimitives(org.polymap.core.style.model.feature.FilterMappedPrimitives) PointStyle(org.polymap.core.style.model.feature.PointStyle) Style(org.geotools.styling.Style) ConstantStrokeDashStyle(org.polymap.core.style.model.feature.ConstantStrokeDashStyle) ConstantStrokeJoinStyle(org.polymap.core.style.model.feature.ConstantStrokeJoinStyle) FeatureStyle(org.polymap.core.style.model.FeatureStyle) PolygonStyle(org.polymap.core.style.model.feature.PolygonStyle) TextStyle(org.polymap.core.style.model.feature.TextStyle) ConstantStrokeCapStyle(org.polymap.core.style.model.feature.ConstantStrokeCapStyle) StrokeDashStyle(org.polymap.core.style.model.feature.StrokeDashStyle) FeatureTypeStyle(org.geotools.styling.FeatureTypeStyle) PointStyle(org.polymap.core.style.model.feature.PointStyle) LineStyle(org.polymap.core.style.model.feature.LineStyle) FeatureTypeStyle(org.geotools.styling.FeatureTypeStyle) FeatureStyle(org.polymap.core.style.model.FeatureStyle) Ignore(org.junit.Ignore) Test(org.junit.Test)

Example 2 with FilterMappedPrimitives

use of org.polymap.core.style.model.feature.FilterMappedPrimitives in project polymap4-core by Polymap4.

the class StyleModelTest method propertyMappedNumbers.

@Ignore
@Test
public void propertyMappedNumbers() {
    FeatureStyle fs = repo.newFeatureStyle();
    // point
    PointStyle point = fs.members().createElement(PointStyle.defaults);
    point.diameter.createValue(new ValueInitializer<FilterMappedPrimitives<Double>>() {

        @Override
        public FilterMappedPrimitives<Double> initialize(FilterMappedPrimitives<Double> proto) throws Exception {
            proto.add(ff.equals(ff.property("foo"), ff.literal("big")), new Double(5));
            proto.add(ff.equals(ff.property("foo"), ff.literal("bigger")), new Double(15));
            proto.add(ff.and(ff.notEqual(ff.property("foo"), ff.literal("big")), ff.notEqual(ff.property("foo"), ff.literal("bigger"))), new Double(23));
            return proto;
        }
    });
    fs.store();
    log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class, OutputFormat.GEOSERVER));
    Style style = repo.serializedFeatureStyle(fs.id(), Style.class, OutputFormat.GEOSERVER).get();
    List<FeatureTypeStyle> featureTypeStyles = style.featureTypeStyles();
    assertEquals(1, featureTypeStyles.size());
    assertEquals(Filter.INCLUDE, featureTypeStyles.get(0).rules().get(0).getFilter());
    log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class, OutputFormat.OGC));
    style = repo.serializedFeatureStyle(fs.id(), Style.class, OutputFormat.OGC).get();
    featureTypeStyles = style.featureTypeStyles();
    assertEquals(1, featureTypeStyles.size());
    assertEquals("[ foo = big ]", featureTypeStyles.get(0).rules().get(0).getFilter().toString());
    assertEquals("[ foo = bigger ]", featureTypeStyles.get(0).rules().get(1).getFilter().toString());
    assertEquals("[[ foo != big ] AND [ foo != bigger ]]", featureTypeStyles.get(0).rules().get(2).getFilter().toString());
}
Also used : FilterMappedPrimitives(org.polymap.core.style.model.feature.FilterMappedPrimitives) PointStyle(org.polymap.core.style.model.feature.PointStyle) Style(org.geotools.styling.Style) ConstantStrokeDashStyle(org.polymap.core.style.model.feature.ConstantStrokeDashStyle) ConstantStrokeJoinStyle(org.polymap.core.style.model.feature.ConstantStrokeJoinStyle) FeatureStyle(org.polymap.core.style.model.FeatureStyle) PolygonStyle(org.polymap.core.style.model.feature.PolygonStyle) TextStyle(org.polymap.core.style.model.feature.TextStyle) ConstantStrokeCapStyle(org.polymap.core.style.model.feature.ConstantStrokeCapStyle) StrokeDashStyle(org.polymap.core.style.model.feature.StrokeDashStyle) FeatureTypeStyle(org.geotools.styling.FeatureTypeStyle) PointStyle(org.polymap.core.style.model.feature.PointStyle) LineStyle(org.polymap.core.style.model.feature.LineStyle) FeatureTypeStyle(org.geotools.styling.FeatureTypeStyle) FeatureStyle(org.polymap.core.style.model.FeatureStyle) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

FeatureTypeStyle (org.geotools.styling.FeatureTypeStyle)2 Style (org.geotools.styling.Style)2 Ignore (org.junit.Ignore)2 Test (org.junit.Test)2 FeatureStyle (org.polymap.core.style.model.FeatureStyle)2 ConstantStrokeCapStyle (org.polymap.core.style.model.feature.ConstantStrokeCapStyle)2 ConstantStrokeDashStyle (org.polymap.core.style.model.feature.ConstantStrokeDashStyle)2 ConstantStrokeJoinStyle (org.polymap.core.style.model.feature.ConstantStrokeJoinStyle)2 FilterMappedPrimitives (org.polymap.core.style.model.feature.FilterMappedPrimitives)2 LineStyle (org.polymap.core.style.model.feature.LineStyle)2 PointStyle (org.polymap.core.style.model.feature.PointStyle)2 PolygonStyle (org.polymap.core.style.model.feature.PolygonStyle)2 StrokeDashStyle (org.polymap.core.style.model.feature.StrokeDashStyle)2 TextStyle (org.polymap.core.style.model.feature.TextStyle)2