/** * Creates a new instance of DefaultMapLayer * * @param featureSource the data source for this layer * @param style the style used to represent this layer * @param title the layer title * @throws NullPointerException DOCUMENT ME! */ @SuppressWarnings("unchecked") public MapLayer(FeatureSource featureSource, Style style, String title) { internal = new FeatureLayer(featureSource, style, title); }
/** * Creates a new instance of DefaultMapLayer using a non-emtpy feature collection as a parameter * * @param collection the source feature collection * @param style the style used to represent this layer * @param title Title of map layer */ public MapLayer(FeatureCollection collection, Style style, String title) { internal = new FeatureLayer(collection, style, title); }
/** * Creates a new instance of DefaultMapLayer using a non-emtpy feature collection as a parameter * * @param collection the source feature collection * @param style the style used to represent this layer */ public MapLayer(FeatureCollection collection, Style style) { internal = new FeatureLayer((FeatureCollection) collection, style); }
@SuppressWarnings("unchecked") public MapLayer(Collection collection, Style style, String title) { if (collection instanceof FeatureCollection) { internal = new FeatureLayer((FeatureCollection) collection, style, title); } else { throw new UnsupportedOperationException( "Raw collections not supported; please use FeatureCollection"); } }
@SuppressWarnings("unchecked") public MapLayer(Collection collection, Style style) { if (collection instanceof FeatureCollection) { internal = new FeatureLayer((FeatureCollection) collection, style); } else { throw new UnsupportedOperationException( "Raw collections not supported; please use FeatureCollection"); } }
/** * Add a new layer and trigger a {@link LayerListEvent}. * * @param collection a SimpleFeatureCollection with the new layer that will be added. */ public void addLayer(FeatureCollection featureCollection, Style style) { Layer layer = new FeatureLayer(featureCollection, style); this.layers().add(layer); }
private static FeatureLayer buildNewFeatureLayer(Layer layer, Style style) { FeatureLayer singleGroupLayer = new FeatureLayer(layer.getFeatureSource(), style); SortBy[] sortBy = SLDStyleFactory.getSortBy(style.featureTypeStyles().get(0).getOptions()); Query nativeQuery = layer.getQuery(); Query query = ensureSortProperties(nativeQuery, sortBy); singleGroupLayer.setQuery(query); singleGroupLayer.setTitle(layer.getTitle()); return singleGroupLayer; }
@Test public void testReprojectedPolygonFromSLD() throws Exception { // same as above, but with the style in SLD form Style style = RendererBaseTest.loadStyle(this, "spatialFilter.sld"); content.addLayer(new FeatureLayer(pointFS, style)); RendererBaseTest.showRender("Reprojected polygon from SLD", renderer, TIME, bounds); assertEquals(1, renderedIds.size()); assertEquals("point.4", renderedIds.iterator().next()); }
private StreamingRenderer setupMap(SimpleFeatureSource fs, Style style) { MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(fs, style)); StreamingRenderer renderer = new StreamingRenderer(); renderer.setMapContent(mc); renderer.setJava2DHints(new RenderingHints(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON)); return renderer; }
@Test public void testFTSComposition() throws Exception { Style bgStyle = RendererBaseTest.loadStyle(this, "fillSolid.sld"); Style fgStyle = RendererBaseTest.loadStyle(this, "fillSolidFTS.sld"); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(bfs, bgStyle)); mc.addLayer(new FeatureLayer(fs, fgStyle)); StreamingRenderer renderer = new StreamingRenderer(); renderer.setJava2DHints(new RenderingHints(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON)); renderer.setMapContent(mc); RendererBaseTest.showRender("FTS composition", renderer, TIME, bounds); }
@Test public void testSpatialNoReprojection() throws Exception { // a spatial filter in the same SRS as the geometry StyleBuilder sb = new StyleBuilder(); PolygonSymbolizer ps = sb.createPolygonSymbolizer(); Style style = sb.createStyle(ps); Rule rule = style.featureTypeStyles().get(0).rules().get(0); rule.setFilter(ff.bbox("geom", 1, 1, 4, 4, "EPSG:4326")); content.addLayer(new FeatureLayer(squareFS, style)); RendererBaseTest.showRender("Spatial with default CRS", renderer, TIME, bounds); assertEquals(2, renderedIds.size()); }
private void runZSquaresTest(String styleName, String sortBy, String referenceImageName) throws Exception { Style style = RendererBaseTest.loadStyle(this, styleName); forceSortBy(style, sortBy); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(zsquares, style)); runImageComparison(referenceImageName, mc); }
@Test public void testLabelShieldMultilineStretch() throws Exception { Style style = RendererBaseTest.loadStyle(this, "textLabelShieldStretch.sld"); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(fs_multiline, style)); renderer.setMapContent(mc); BufferedImage image = RendererBaseTest.showRender("Labels and shield", renderer, TIME, bounds); String refPath = "./src/test/resources/org/geotools/renderer/lite/test-data/textLabelShieldMultilineStretch.png"; ImageAssert.assertEquals(new File(refPath), image, 1200); }
@Test public void testFillAlignment() throws Exception { Style style = RendererBaseTest.loadStyle(this, "fillCross.sld"); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(polyfs, style)); StreamingRenderer renderer = new StreamingRenderer(); renderer.setMapContent(mc); renderer.setJava2DHints(new RenderingHints(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON)); RendererBaseTest.showRender( "FillAlignment", renderer, TIME, leftTileBounds, rightTileBounds); }
@Test public void testStrokeAlignment() throws Exception { Style style = RendererBaseTest.loadStyle(this, "dotsStars.sld"); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(linefs, style)); StreamingRenderer renderer = new StreamingRenderer(); renderer.setMapContent(mc); renderer.setJava2DHints(new RenderingHints(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON)); RendererBaseTest.showRender( "StrokeAlignment", renderer, TIME, leftTileBounds, rightTileBounds); } }
private BufferedImage renderLabels(SimpleFeatureSource fs, Style style, String title) throws Exception { MapContent mc = new MapContent(); mc.getViewport().setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84); mc.addLayer(new FeatureLayer(fs, style)); StreamingRenderer renderer = new StreamingRenderer(); renderer.setJava2DHints(new RenderingHints(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON)); renderer.setMapContent(mc); return RendererBaseTest.showRender(title, renderer, TIME, bounds); }
private BufferedImage renderLabels(SimpleFeatureSource fs, Style style, String title) throws Exception { MapContent mc = new MapContent(); mc.getViewport().setCoordinateReferenceSystem(DefaultGeographicCRS.WGS84); mc.addLayer(new FeatureLayer(fs, style)); StreamingRenderer renderer = new StreamingRenderer(); renderer.setJava2DHints(new RenderingHints(KEY_ANTIALIASING, VALUE_ANTIALIAS_ON)); renderer.setMapContent(mc); return RendererBaseTest.showRender(title, renderer, TIME, bounds); }
@Test public void testLabelShield() throws Exception { Style style = RendererBaseTest.loadStyle(this, "textLabelShield.sld"); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(fs, style)); renderer.setMapContent(mc); RendererBaseTest.showRender("Labels and shield", renderer, TIME, bounds); }
private void runRoadsTest( String styleName, String sortBy, String sortByGroup, String referenceImageName) throws Exception { Style style = RendererBaseTest.loadStyle(this, styleName); forceSortBy(style, sortBy); forceSortByGroup(style, sortByGroup); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(zroads, style)); runImageComparison(referenceImageName, mc); }
private void runZRoadsFailureTest( String styleName, String sortBy, String sortByGroup, RenderListener listener) throws Exception { Style style = RendererBaseTest.loadStyle(this, styleName); forceSortBy(style, sortBy); forceSortByGroup(style, sortByGroup); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(zroads, style)); runFailureTest(listener, mc); }