Package org.geotools.styling

Examples of org.geotools.styling.FeatureTypeStyle


    public void testParse() throws Exception {
        String xml = "<Style>" + "<LineStyle/>" + "<PolyStyle/>" + "<LabelStyle/>" + "</Style>";

        buildDocument(xml);

        FeatureTypeStyle style = (FeatureTypeStyle) parse();
        Symbolizer[] syms = style.rules().get(0).getSymbolizers();

        assertEquals(3, syms.length);
        assertTrue(syms[0] instanceof LineSymbolizer);
        assertTrue(syms[1] instanceof PolygonSymbolizer);
        assertTrue(syms[2] instanceof TextSymbolizer);
View Full Code Here


        }
        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 (parent == null) {
            reset();
        }
        return fts;
View Full Code Here

    PointSymbolizer pointsym = sFac.createPointSymbolizer();
    pointsym.setGraphic(sFac.getDefaultGraphic());

    Rule rule = sFac.createRule();
    rule.setSymbolizers(new Symbolizer[] { polysym(sFac) });
    FeatureTypeStyle fts = sFac.createFeatureTypeStyle(new Rule[] { rule });
    fts.setFeatureTypeName("polygonfeature");

    Rule rule1 = sFac.createRule();
    rule.setSymbolizers(new Symbolizer[] { polysym(sFac) });
    FeatureTypeStyle fts1 = sFac
        .createFeatureTypeStyle(new Rule[] { rule1 });
    fts1.setFeatureTypeName("polygonfeature");

    Rule rule2 = sFac.createRule();
    rule2.setSymbolizers(new Symbolizer[] { linesym(sFac) });
    FeatureTypeStyle fts2 = sFac.createFeatureTypeStyle();
    fts2.setRules(new Rule[] { rule2 });
    fts2.setFeatureTypeName("linefeature");

    Rule rule3 = sFac.createRule();
    rule3.setSymbolizers(new Symbolizer[] { pointsym });
    FeatureTypeStyle fts3 = sFac.createFeatureTypeStyle();
    fts3.setRules(new Rule[] { rule3 });
    fts3.setFeatureTypeName("pointfeature");

    Rule rule4 = sFac.createRule();
    rule4.setSymbolizers(new Symbolizer[] { polysym(sFac), linesym(sFac) });
    FeatureTypeStyle fts4 = sFac.createFeatureTypeStyle();
    fts4.setRules(new Rule[] { rule4 });
    fts4.setFeatureTypeName("collFeature");

    Rule rule5 = sFac.createRule();
    rule5.setSymbolizers(new Symbolizer[] { linesym(sFac) });
    FeatureTypeStyle fts5 = sFac.createFeatureTypeStyle();
    fts5.setRules(new Rule[] { rule5 });
    fts5.setFeatureTypeName("ringFeature");

    Style style = sFac.createStyle();
    style.setFeatureTypeStyles(new FeatureTypeStyle[] { fts1, fts, fts2,
        fts3, fts4, fts5 });
    return style;
View Full Code Here

        RangedClassifier classifier = (RangedClassifier) object;

        Color[] colors = brewer.getPalette(paletteName).getColors(2);

        // get the fts
        FeatureTypeStyle fts = StyleGenerator.createFeatureTypeStyle(classifier, expr2, colors,
                "myfts", roadFeatures[0].getFeatureType().getGeometryDescriptor(),
                StyleGenerator.ELSEMODE_IGNORE, 0.5, null);
        assertNotNull(fts);

        // test each filter
        Rule[] rule = fts.getRules();
        assertEquals(2, rule.length);
        //do a preliminary test to make sure each rule's filter returns some results
        checkFilteredResultNotEmpty(rule, fs, attribName);

        assertNotNull(StyleGenerator.toStyleExpression(rule[0].getFilter()));
View Full Code Here

        
     ExplicitClassifier classifier = new ExplicitClassifier(binValues2);
         Color[] colors = brewer.getPalette(paletteName).getColors(binValues2.length);

         // get the fts
         FeatureTypeStyle fts = StyleGenerator.createFeatureTypeStyle(classifier, expr, colors,
                 "myfts", riverFeatures[0].getFeatureType().getGeometryDescriptor(),
                 StyleGenerator.ELSEMODE_IGNORE, 0.5, null);
         assertNotNull(fts);

         // test each filter
         //we would expect two rules here - one for each of the two bins created
         List<Rule> rules = fts.rules();
         assertEquals(1, rules.size());
        
         //do a preliminary test to make sure each rule's filter returns some results    
         assertNotNull(StyleGenerator.toStyleExpression(rules.get(0).getFilter()));
         final Filter filter = rules.get(0).getFilter();
View Full Code Here

        if (defaultStroke == null) {
            defaultStroke = sb.createStroke();
        }

        //answer goes here
        FeatureTypeStyle fts = sf.createFeatureTypeStyle();

        // update the number of classes
        int numClasses = classifier.getSize();

        //        if (elseMode == ELSEMODE_IGNORE) {
        //            numClasses++;
        //        }

        //numeric
        if (classifier instanceof RangedClassifier) {
            RangedClassifier ranged = (RangedClassifier) classifier;

            Object localMin = null;
            Object localMax = null;

            // for each class
            for (int i = 0; i < ranged.getSize(); i++) {
                // obtain min/max values
                localMin = ranged.getMin(i);
                localMax = ranged.getMax(i);

                Rule rule = createRuleRanged(ranged, expression, localMin, localMax,
                        geometryAttrType, i, elseMode, colors, opacity, defaultStroke);
                fts.addRule(rule);
            }
        } else if (classifier instanceof ExplicitClassifier) {
            ExplicitClassifier explicit = (ExplicitClassifier) classifier;

            // for each class
            for (int i = 0; i < explicit.getSize(); i++) {
                Set value = (Set) explicit.getValues(i);
                Rule rule = createRuleExplicit(explicit, expression, value, geometryAttrType, i,
                        elseMode, colors, opacity, defaultStroke);
                fts.addRule(rule);
            }
        } else {
            LOGGER.log(Level.SEVERE, "Error: no handler for this Classifier type");
        }

        // add an else rule to capture any missing features?
        if (elseMode != ELSEMODE_IGNORE) {
            Symbolizer symb = createSymbolizer(geometryAttrType, getElseColor(elseMode, colors),
                    opacity, defaultStroke);
            Rule elseRule = sb.createRule(symb);
            elseRule.setIsElseFilter(true);
            elseRule.setTitle("Else");
            elseRule.setName("else");
            fts.addRule(elseRule);
        }

        // sort the FeatureTypeStyle rules
        Rule[] rule = fts.getRules();

        if (elseMode == ELSEMODE_INCLUDEASMIN) {
            //move last rule to the front
            for (int i = rule.length - 1; i > 0; i--) {
                Rule tempRule = rule[i];
                rule[i] = rule[i - 1];
                rule[i - 1] = tempRule;
            }
        }

        //our syntax will be: ColorBrewer:id
        fts.setSemanticTypeIdentifiers(new String[] { "generic:geometry", "colorbrewer:" + typeId });

        return fts;
    }
View Full Code Here

    pointsym.setGraphic(sFac.getDefaultGraphic());
    pointsym.setGeometryPropertyName("point");

    Rule rulep = sFac.createRule();
    rulep.setSymbolizers(new Symbolizer[] { pointsym });
    FeatureTypeStyle ftsP = sFac.createFeatureTypeStyle();
    ftsP.setRules(new Rule[] { rulep });
    ftsP.setFeatureTypeName("querytest");

    LineSymbolizer linesym = sFac.createLineSymbolizer();
    linesym.setGeometryPropertyName("line");

    Stroke myStroke = sFac.getDefaultStroke();
    myStroke.setColor(filterFactory.literal("#0000ff"));
    myStroke
        .setWidth(filterFactory.literal(new Integer(3)));
    LOGGER.info("got new Stroke " + myStroke);
    linesym.setStroke(myStroke);

    Rule rule2 = sFac.createRule();
    rule2.setSymbolizers(new Symbolizer[] { linesym });
    FeatureTypeStyle ftsL = sFac.createFeatureTypeStyle();
    ftsL.setRules(new Rule[] { rule2 });
    ftsL.setFeatureTypeName("querytest");

    PolygonSymbolizer polysym = sFac.createPolygonSymbolizer();
    polysym.setGeometryPropertyName("polygon");
    Fill myFill = sFac.getDefaultFill();
    myFill.setColor(filterFactory.literal("#ff0000"));
    polysym.setFill(myFill);
    polysym.setStroke(sFac.getDefaultStroke());
    Rule rule = sFac.createRule();
    rule.setSymbolizers(new Symbolizer[] { polysym });
    FeatureTypeStyle ftsPoly = sFac
        .createFeatureTypeStyle(new Rule[] { rule });
    // ftsPoly.setRules(new Rule[]{rule});
    ftsPoly.setFeatureTypeName("querytest");

    Style style = sFac.createStyle();
    style
        .setFeatureTypeStyles(new FeatureTypeStyle[] { ftsPoly, ftsL,
            ftsP });
View Full Code Here

     * Create a default Style for feature display
     */
    private Style createDefaultStyle() {
        Rule rule = createRule(LINE_COLOUR, FILL_COLOUR);

        FeatureTypeStyle fts = sf.createFeatureTypeStyle();
        fts.rules().add(rule);

        Style style = sf.createStyle();
        style.featureTypeStyles().add(fts);
        return style;
    }
View Full Code Here

        selectedRule.setFilter(ff.id(IDs));

        Rule otherRule = createRule(LINE_COLOUR, FILL_COLOUR);
        otherRule.setElseFilter(true);

        FeatureTypeStyle fts = sf.createFeatureTypeStyle();
        fts.rules().add(selectedRule);
        fts.rules().add(otherRule);

        Style style = sf.createStyle();
        style.featureTypeStyles().add(fts);
        return style;
    }
View Full Code Here

         */
        PolygonSymbolizer sym = styleFactory.createPolygonSymbolizer(stroke, fill, null);

        Rule rule = styleFactory.createRule();
        rule.symbolizers().add(sym);
        FeatureTypeStyle fts = styleFactory.createFeatureTypeStyle(new Rule[]{rule});
        Style style = styleFactory.createStyle();
        style.featureTypeStyles().add(fts);

        return style;
    }
View Full Code Here

TOP

Related Classes of org.geotools.styling.FeatureTypeStyle

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.