Package org.opengis.filter.expression

Examples of org.opengis.filter.expression.Expression


   * @return the {@link Color} out of this {@link ColorMapEntry}.
   * @throws NumberFormatException in case the color string is badly formatted.
   */
  public static Color color(final ColorMapEntry entry){
    ensureNotNull(entry, "entry");
    final Expression color = entry.getColor();
    ensureNotNull(color, "color");
    final String  colorString= color.evaluate(null, String.class);
    ensureNotNull(colorString, "colorString");
    return color(colorString);
  }
View Full Code Here


   * @param entry the provided {@link ColorMapEntry} from which we should extract the quantity part.
   * @return   the quantity part for the provided {@link ColorMapEntry}.
   */
  public static double getQuantity(final ColorMapEntry entry) {
    ensureNotNull(entry, "entry");
    Expression quantity = entry.getQuantity();
    ensureNotNull(quantity, "quantity");
    Double quantityString = quantity.evaluate(null, Double.class);
    ensureNotNull(quantityString, "quantityString");
    return quantityString.doubleValue();
  }
View Full Code Here

        return style;
    }

    private TextSymbolizer createGridTextSymbolizer(final StyleBuilder builder,
                                                    final Color color) {
        Expression xDisplacement = builder.attributeExpression(Constants.Style.Grid.ATT_X_DISPLACEMENT);
        Expression yDisplacement = builder.attributeExpression(Constants.Style.Grid.ATT_Y_DISPLACEMENT);
        Displacement displacement = builder.createDisplacement(xDisplacement, yDisplacement);
        Expression rotation = builder.attributeExpression(Constants.Style.Grid.ATT_ROTATION);

        PointPlacement text1Placement = builder.createPointPlacement(builder.createAnchorPoint(0, 0), displacement, rotation);
        final TextSymbolizer text1 = builder.createTextSymbolizer();
        text1.setFill(builder.createFill(color));
        text1.setLabelPlacement(text1Placement);
View Full Code Here

    private Rule createGeometryFilteredRule(final Symbolizer symb,
                                            final String styleKey,
                                            final String styleProperty,
                                            final Class<? extends Geometry>... geomClass) {
        if (symb != null) {
            Expression geomProperty = this.sldStyleBuilder.attributeExpression(this.geometryProperty);
            final Function geometryTypeFunction = this.sldStyleBuilder.getFilterFactory().function("geometryType", geomProperty);
            final ArrayList<Filter> geomOptions = Lists.newArrayListWithExpectedSize(geomClass.length);
            for (Class<? extends Geometry> requiredType : geomClass) {
                Expression expr = this.sldStyleBuilder.literalExpression(requiredType.getSimpleName());
                geomOptions.add(this.sldStyleBuilder.getFilterFactory().equals(geometryTypeFunction, expr));
            }

            Filter ruleFilter = this.sldStyleBuilder.getFilterFactory().or(geomOptions);
            Filter propertyMatches = createFilter(styleKey, styleProperty);
View Full Code Here

    private org.opengis.filter.Filter createFilter(final String styleKey, final String styleProperty) {
        if (Strings.isNullOrEmpty(styleProperty) || Strings.isNullOrEmpty(styleKey)) {
            return null;
        }

        final Expression attributeExpression = this.sldStyleBuilder.attributeExpression(styleProperty);
        final Expression valueExpression = this.sldStyleBuilder.literalExpression(styleKey);
        return this.sldStyleBuilder.getFilterFactory().equals(attributeExpression, valueExpression);
    }
View Full Code Here

            graphic.graphicalSymbols().add(externalGraphic);
        }

        if (styleJson.has(JSON_GRAPHIC_NAME)) {
            Expression graphicName = parseProperty(styleJson.getString(JSON_GRAPHIC_NAME), new Function<String, Object>() {
                public Object apply(final String input) {
                    return input;
                }
            });
            Fill fill = createFill(styleJson);
            Stroke stroke = createStroke(styleJson, false);

            final Mark mark = this.styleBuilder.createMark(graphicName, fill, stroke);
            graphic.graphicalSymbols().add(mark);
        }

        if (graphic.graphicalSymbols().isEmpty()) {
            Fill fill = createFill(styleJson);
            Stroke stroke = createStroke(styleJson, false);

            final Mark mark = this.styleBuilder.createMark(DEFAULT_POINT_MARK, fill, stroke);
            graphic.graphicalSymbols().add(mark);
        }

        graphic.setOpacity(parseExpression(null, styleJson, JSON_GRAPHIC_OPACITY, new Function<String, Object>() {
            @Nullable
            @Override
            public Object apply(final String opacityString) {
                return Double.parseDouble(opacityString);
            }
        }));

        if (!Strings.isNullOrEmpty(styleJson.optString(JSON_POINT_RADIUS))) {
            Expression size = parseExpression(null, styleJson, JSON_POINT_RADIUS, new Function<String, Object>() {
                @Nullable
                @Override
                public Object apply(final String input) {
                    return Double.parseDouble(input) * 2;
                }
            });
            graphic.setSize(size);
        } else if (!Strings.isNullOrEmpty(styleJson.optString(JSON_GRAPHIC_WIDTH))) {
            Expression size = parseExpression(null, styleJson, JSON_GRAPHIC_WIDTH, new Function<String, Object>() {
                @Nullable
                @Override
                public Object apply(final String input) {
                    return Double.parseDouble(input);
                }
            });
            graphic.setSize(size);
        }

        if (!Strings.isNullOrEmpty(styleJson.optString(JSON_ROTATION))) {
            final Expression rotation = parseExpression(null, styleJson, JSON_ROTATION, new Function<String, Object>() {
                @Nullable
                @Override
                public Object apply(final String rotation) {
                    return Double.parseDouble(rotation);
                }
View Full Code Here

    @VisibleForTesting
    protected TextSymbolizer createTextSymbolizer(final PJsonObject styleJson) {
        final TextSymbolizer textSymbolizer = this.styleBuilder.createTextSymbolizer();

        if (styleJson.has(JSON_LABEL)) {
            final Expression label = parseExpression(null, styleJson, JSON_LABEL, new Function<String, Object>() {
                @Nullable
                @Override
                public Object apply(final String labelValue) {
                    return labelValue.replace("${", "").replace("}", "");
                }
View Full Code Here

        return textSymbolizer;
    }

    private Font createFont(final Font defaultFont, final PJsonObject styleJson) {

        Expression fontFamily = parseExpression(null, styleJson, JSON_FONT_FAMILY, new Function<String, String>() {
            @Override
            public String apply(final String fontFamily) {
                return fontFamily;
            }
        });
        if (fontFamily == null) {
            fontFamily = defaultFont.getFamily().get(0);
        }

        Expression fontSize = parseExpression(null, styleJson, JSON_FONT_SIZE, new Function<String, Object>() {
            @Nullable
            @Override
            public Object apply(final String input) {
                String fontSizeString = input;
                if (fontSizeString.endsWith("px")) {
                    fontSizeString = fontSizeString.substring(0, fontSizeString.length() - 2);
                }
                return Integer.parseInt(fontSizeString);
            }
        });
        if (fontSize == null) {
            fontSize = defaultFont.getSize();
        }

        Expression fontWeight = parseExpression(null, styleJson, JSON_FONT_WEIGHT, Functions.<String>identity());
        if (fontWeight == null) {
            fontWeight = defaultFont.getWeight();
        }

        Expression fontStyle = parseExpression(null, styleJson, JSON_FONT_STYLE, Functions.<String>identity());
        if (fontStyle == null) {
            fontStyle = defaultFont.getStyle();
        }

        return this.styleBuilder.createFont(fontFamily, fontStyle, fontWeight, fontSize);
View Full Code Here

        return createLinePlacement(styleJson);
    }

    private LinePlacement createLinePlacement(final PJsonObject styleJson) {
        Expression linePlacement = parseExpression(null, styleJson, JSON_LABEL_PERPENDICULAR_OFFSET, new Function<String, Object>() {
            @Nullable
            @Override
            public Object apply(final String input) {
                return Double.parseDouble(input);
            }
View Full Code Here

        AnchorPoint anchorPoint = createAnchorPoint(styleJson);

        Displacement displacement = null;
        if (styleJson.has(JSON_LABEL_X_OFFSET) || styleJson.has(JSON_LABEL_Y_OFFSET)) {

            Expression xOffset = parseExpression(0.0, styleJson, JSON_LABEL_X_OFFSET, new Function<String, Double>() {
                @Nullable
                @Override
                public Double apply(final String input) {
                    return Double.parseDouble(input);
                }
            });
            Expression yOffset = parseExpression(0.0, styleJson, JSON_LABEL_Y_OFFSET, new Function<String, Double>() {
                @Nullable
                @Override
                public Double apply(final String input) {
                    return Double.parseDouble(input);
                }
            });

            displacement = this.styleBuilder.createDisplacement(xOffset, yOffset);
        }

        Expression rotation = parseExpression(0.0, styleJson, JSON_LABEL_ROTATION, new Function<String, Double>() {
            @Nullable
            @Override
            public Double apply(final String input) {
                return Double.parseDouble(input);
            }
View Full Code Here

TOP

Related Classes of org.opengis.filter.expression.Expression

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.