Package org.geotools.renderer.lite

Source Code of org.geotools.renderer.lite.WrapPointSymbolizerTest

package org.geotools.renderer.lite;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.HashMap;
import java.util.Map;

import org.geotools.data.property.PropertyDataStore;
import org.geotools.data.simple.SimpleFeatureSource;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.map.FeatureLayer;
import org.geotools.map.MapContent;
import org.geotools.referencing.crs.DefaultGeographicCRS;
import org.geotools.styling.Style;
import org.geotools.test.TestData;
import org.junit.Before;
import org.junit.Test;

/**
*
*
* @source $URL$
*/
public class WrapPointSymbolizerTest {
    private static final long TIME = 4000;
    SimpleFeatureSource fs;

    @Before
    public void setUp() throws Exception {
        File property = new File(TestData.getResource(this, "bigsquare.properties").toURI());
        PropertyDataStore ds = new PropertyDataStore(property.getParentFile());
        fs = ds.getFeatureSource("bigsquare");
    }
   
    @Test
    public void testWrapPointSymbolizer() throws Exception {
        Style style = RendererBaseTest.loadStyle(this, "pointPoly.sld");
       
        MapContent mc = new MapContent();
        mc.addLayer(new FeatureLayer(fs, style));
        ReferencedEnvelope bounds = new ReferencedEnvelope(0, 370, 0, 10, DefaultGeographicCRS.WGS84);
        mc.getViewport().setBounds(bounds);
       
        StreamingRenderer renderer = new StreamingRenderer();
        Map<Object, Object> rendererParams = new HashMap<Object, Object>();
        rendererParams.put(StreamingRenderer.ADVANCED_PROJECTION_HANDLING_KEY, true);
        rendererParams.put(StreamingRenderer.CONTINUOUS_MAP_WRAPPING, true);
        renderer.setRendererHints(rendererParams);
        renderer.setMapContent(mc);
       
        RendererBaseTest.showRender("WrapPointSymbolizer", renderer, TIME, bounds);
       
        final BufferedImage image = new BufferedImage(400, 80, BufferedImage.TYPE_INT_ARGB);
        Graphics2D g = (Graphics2D) image.getGraphics();
        g.setColor(Color.white);
        g.fillRect(0, 0, 400, 80);
        renderer.paint(g, new Rectangle(0, 0, 400, 80), bounds);
       
        RendererBaseTest.showImage("WrapPointSymbolizer", TIME, image);
       
        // the first instance, black polygon and red central point
        RendererBaseTest.assertPixel(image, 5, 0, Color.BLACK);
        RendererBaseTest.assertPixel(image, 5, 40, Color.RED);
       
        // the second instance, black polygon and red central point
        RendererBaseTest.assertPixel(image, 395, 0, Color.BLACK);
        RendererBaseTest.assertPixel(image, 395, 40, Color.RED);
    }

}
TOP

Related Classes of org.geotools.renderer.lite.WrapPointSymbolizerTest

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.