Examples of PointPlacement


Examples of org.geotools.styling.PointPlacement

      if (LOGGER.isLoggable(Level.FINER)) {
        LOGGER.finer("setting pointPlacement");
      }

      // compute anchor point and displacement
      PointPlacement p = (PointPlacement) placement;
      if (p.getAnchorPoint() != null) {
        anchorX = evalToDouble(p.getAnchorPoint().getAnchorPointX(),
            feature, 0);
        anchorY = evalToDouble(p.getAnchorPoint().getAnchorPointY(),
            feature, 0.5);
      }

      if (p.getDisplacement() != null) {
        dispX = evalToDouble(p.getDisplacement().getDisplacementX(),
            feature, 0);
        dispY = evalToDouble(p.getDisplacement().getDisplacementY(),
            feature, 0);
        ;
      }

      // rotation
      if ((symbolizer instanceof TextSymbolizer2)
          && (((TextSymbolizer2) symbolizer).getGraphic() != null)) {
        // don't rotate labels that are being placed on shields.
        rotation = 0.0;
      } else {
        rotation = Math.toRadians( evalToDouble(p.getRotation(), feature, 0));
      }

      ts2d.setPointPlacement(true);
    } else if (placement instanceof LinePlacement) {
      // this code used to really really really really suck, so I removed
      // it!
      if (LOGGER.isLoggable(Level.FINER)) {
        LOGGER.finer("setting pointPlacement");
      }
      ts2d.setPointPlacement(false);
      LinePlacement p = (LinePlacement) placement;
      int displace = evalToInt(p.getPerpendicularOffset(), feature, 0);
      ts2d.setPerpendicularOffset(displace);
    }

    ts2d.setAnchorX(anchorX);
    ts2d.setAnchorY(anchorY);
View Full Code Here

Examples of org.geotools.styling.PointPlacement

    @Test
    public void testTextDisplaced() {
        TextSymbolizer ts = sb.createTextSymbolizer();
        ts.setFont(sb.createFont("Arial", 20));
        PointPlacement pp = sb.createPointPlacement(1, 1, 10, 10, 0);
        ts.setLabelPlacement(pp);
        Style style = sb.createStyle(ts);
        MetaBufferEstimator rbe = new MetaBufferEstimator();
        rbe.visit(style);
        // 20 (font) + 20 * 0.5 (anchor) + 10 (offset)
View Full Code Here

Examples of org.geotools.styling.PointPlacement

    FilterFactory2 ff = sb.getFilterFactory();
   
    // creation of the TextSymbolizer
    AnchorPoint anchorPoint = sb.createAnchorPoint(sb.attributeExpression("X"),
            sb.attributeExpression("Y"));
    PointPlacement pointPlacement = sb.createPointPlacement(anchorPoint, null,
            sb.literalExpression(0));
    TextSymbolizer textSymbolizer = sb.createTextSymbolizer(sb.createFill(Color.BLACK), new Font[] {
            sb.createFont("Lucida Sans", 10), sb.createFont("Arial", 10) }, sb.createHalo(),
            sb.attributeExpression("name"), pointPlacement, null);
   
View Full Code Here

Examples of org.geotools.styling.PointPlacement

            sb.createFeatureTypeStyle("testPoint", sb.createPointSymbolizer(graph)));
   
    // "labelPoint" feature type style
    AnchorPoint anchorPoint = sb.createAnchorPoint(sb.attributeExpression("X"),
            sb.attributeExpression("Y"));
    PointPlacement pointPlacement = sb.createPointPlacement(anchorPoint, null,
            sb.literalExpression(0));
    TextSymbolizer textSymbolizer = sb.createTextSymbolizer(sb.createFill(Color.BLACK), new Font[] {
            sb.createFont("Lucida Sans", 10), sb.createFont("Arial", 10) }, sb.createHalo(),
            sb.attributeExpression("name"), pointPlacement, null);
    Mark circle = sb.createMark(StyleBuilder.MARK_CIRCLE, Color.RED);
View Full Code Here

Examples of org.geotools.styling.PointPlacement

        // rescales label placement
        LabelPlacement placement = copy.getLabelPlacement();
        if (placement instanceof PointPlacement) {
            // rescales point label placement
            PointPlacement pointPlacement = (PointPlacement) placement;
            Displacement disp = pointPlacement.getDisplacement();
            if (disp != null) {
                disp.setDisplacementX(rescale(disp.getDisplacementX(), uom));
                disp.setDisplacementY(rescale(disp.getDisplacementY(), uom));
                pointPlacement.setDisplacement(disp);
            }
        } else if (placement instanceof LinePlacement) {
            // rescales line label placement
            LinePlacement linePlacement = (LinePlacement) placement;
            linePlacement.setGap(rescale(linePlacement.getGap(), uom));
View Full Code Here

Examples of org.geotools.styling.PointPlacement

            // rescales label placement
            LabelPlacement placement = copy.getLabelPlacement();
            if (placement instanceof PointPlacement) {
                // rescales point label placement
                PointPlacement pointPlacement = (PointPlacement) placement;
                Displacement disp = pointPlacement.getDisplacement();
                if (disp != null) {
                    disp.setDisplacementX(rescale(disp.getDisplacementX()));
                    disp.setDisplacementY(rescale(disp.getDisplacementY()));
                    pointPlacement.setDisplacement(disp);
                }
            } else if (placement instanceof LinePlacement) {
                // rescales line label placement
                LinePlacement linePlacement = (LinePlacement) placement;
                linePlacement.setGap(rescale(linePlacement.getGap()));
View Full Code Here

Examples of org.geotools.styling.PointPlacement

        }
        pages.push(copy);      
    }

    public void visit(PointPlacement pp) {
        PointPlacement copy = sf.getDefaultPointPlacement();
        copy.setAnchorPoint( copy( pp.getAnchorPoint() ));
        copy.setDisplacement( copy(pp.getDisplacement()));
        copy.setRotation( copy( pp.getRotation() ));

        if( STRICT && !copy.equals( pp )){
            throw new IllegalStateException("Was unable to duplicate provided PointPlacement:"+pp );
        }
        pages.push(copy);
    }
View Full Code Here

Examples of org.geotools.styling.PointPlacement

                ff.literal(4));
        assertEqualsContract(clone, other, displacement);
    }

    public void testPointPlacement() {
        PointPlacement pointPl = sf.getDefaultPointPlacement();
       
        PointPlacement clone = (PointPlacement) visitor.copy( pointPl );       
        assertCopy(pointPl, clone);

        PointPlacement other = (PointPlacement) ((Cloneable) pointPl).clone();
        other.setRotation(ff.literal(274.0));
        assertEqualsContract(clone, other, pointPl);
    }
View Full Code Here

Examples of org.geotools.styling.PointPlacement

            textSymb.setUnitOfMeasure(uom);
           
            Font font = styleBuilder.createFont(new java.awt.Font("Verdana",java.awt.Font.PLAIN,fontSize));
            textSymb.setFont(font);
           
            PointPlacement placement = styleBuilder.createPointPlacement(0.3, 0.3, displacementX, displacementY, 10);
            textSymb.setLabelPlacement(placement);
           
            // check we can rescale properly also vendor options
            textSymb.addToOptions("maxDisplacement", String.valueOf(maxDisplacement));
            textSymb.addToOptions(TextSymbolizer.GRAPHIC_MARGIN_KEY, maxDisplacement + " " + maxDisplacement * 2);

            visitor = new UomRescaleStyleVisitor(scaleMetersToPixel);

            textSymb.accept(visitor);
            TextSymbolizer rescaledTextSymb = (TextSymbolizer) visitor.getCopy();
           
            double rescaledFontSize = rescaledTextSymb.getFont().getSize().evaluate(null, Double.class);
            PointPlacement rescaledPlacement = (PointPlacement) rescaledTextSymb.getLabelPlacement();
            double rescaledDisplacementXSize = rescaledPlacement.getDisplacement().getDisplacementX().evaluate(null, Double.class);
            double rescaledDisplacementYSize = rescaledPlacement.getDisplacement().getDisplacementY().evaluate(null, Double.class);
           
            assertEquals(Math.round(expectedRescaledFontSize), Math.round(rescaledFontSize));
            assertEquals(Math.round(expectedRescaledDisplacementXSize), Math.round(rescaledDisplacementXSize));
            assertEquals(Math.round(expectedRescaledDisplacementYSize), Math.round(rescaledDisplacementYSize));
            assertNotSame(rescaledTextSymb, textSymb);
View Full Code Here

Examples of org.geotools.styling.PointPlacement

    }

    public void test() throws Exception {
        SLDMockData.pointPlacement(document, document);

        PointPlacement pp = (PointPlacement) parse();
        assertNotNull(pp);

        assertEquals(1, Filters.asInt(pp.getAnchorPoint().getAnchorPointX()));
        assertEquals(2, Filters.asInt(pp.getAnchorPoint().getAnchorPointY()));

        assertEquals(1, Filters.asInt(pp.getDisplacement().getDisplacementX()));
        assertEquals(2, Filters.asInt(pp.getDisplacement().getDisplacementY()));

        assertEquals(90d, Filters.asDouble(pp.getRotation()), 0d);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.