Search in sources :

Example 1 with InMemoryFeatureSet

use of org.geotoolkit.storage.memory.InMemoryFeatureSet in project geotoolkit by Geomatys.

the class ProjectedGeometryTest method createProjectedGeometry.

private static ProjectedGeometry createProjectedGeometry(Geometry geometry, Dimension canvasBounds, AffineTransform objToDisp) throws NoninvertibleTransformException, TransformException, FactoryException {
    final int canvasWidth = canvasBounds.width;
    final int canvasHeight = canvasBounds.height;
    // build a maplayer
    final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
    ftb.setName("test");
    ftb.addAttribute(Geometry.class).setName("geom").setCRS(CommonCRS.WGS84.normalizedGeographic());
    final FeatureType type = ftb.build();
    final Feature feature = type.newInstance();
    JTS.setCRS(geometry, CommonCRS.WGS84.normalizedGeographic());
    feature.setPropertyValue("geom", geometry);
    final FeatureSet col = new InMemoryFeatureSet(type, Arrays.asList(feature));
    final List<GraphicalSymbol> symbols = new ArrayList<>();
    symbols.add(SF.mark(StyleConstants.MARK_SQUARE, SF.fill(Color.BLACK), SF.stroke(Color.BLACK, 0)));
    final Graphic graphic = SF.graphic(symbols, StyleConstants.LITERAL_ONE_FLOAT, FF.literal(2), StyleConstants.LITERAL_ZERO_FLOAT, null, null);
    final PointSymbolizer ps = SF.pointSymbolizer(graphic, null);
    final MutableStyle style = SF.style(ps);
    final MapLayer layer = MapBuilder.createLayer(col);
    layer.setStyle(style);
    // build a rendering canvas
    final J2DCanvasBuffered canvas = new J2DCanvasBuffered(CommonCRS.WGS84.normalizedGeographic(), new Dimension(canvasWidth, canvasHeight));
    canvas.applyTransform(objToDisp);
    final RenderingContext2D context = canvas.prepareContext(new BufferedImage(canvasWidth, canvasHeight, BufferedImage.TYPE_INT_ARGB).createGraphics());
    final ProjectedGeometry pg = new ProjectedGeometry(context);
    pg.setDataGeometry(geometry, CommonCRS.WGS84.normalizedGeographic());
    Envelope env = canvas.getVisibleEnvelope();
    System.out.println(env.getMinimum(0) + " " + env.getMaximum(0));
    System.out.println(env.getMinimum(1) + " " + env.getMaximum(1));
    return pg;
}
Also used : FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) FeatureType(org.opengis.feature.FeatureType) PointSymbolizer(org.opengis.style.PointSymbolizer) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) Graphic(org.opengis.style.Graphic) GraphicalSymbol(org.opengis.style.GraphicalSymbol) MapLayer(org.apache.sis.portrayal.MapLayer) ArrayList(java.util.ArrayList) RenderingContext2D(org.geotoolkit.display2d.canvas.RenderingContext2D) Dimension(java.awt.Dimension) Envelope(org.opengis.geometry.Envelope) Feature(org.opengis.feature.Feature) BufferedImage(java.awt.image.BufferedImage) MutableStyle(org.geotoolkit.style.MutableStyle) J2DCanvasBuffered(org.geotoolkit.display2d.canvas.J2DCanvasBuffered) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) FeatureSet(org.apache.sis.storage.FeatureSet)

Example 2 with InMemoryFeatureSet

use of org.geotoolkit.storage.memory.InMemoryFeatureSet in project geotoolkit by Geomatys.

the class MeridianTest method createFeatureLayer.

private static <T extends Geometry> MapLayers createFeatureLayer(T geometry, Class<T> geomClass) {
    final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
    ftb.setName("test");
    ftb.addAttribute(geomClass).setName("geom").setCRS(CommonCRS.WGS84.normalizedGeographic()).addRole(AttributeRole.DEFAULT_GEOMETRY);
    final FeatureType type = ftb.build();
    final Feature feature = type.newInstance();
    JTS.setCRS(geometry, CommonCRS.WGS84.normalizedGeographic());
    feature.setPropertyValue("geom", geometry);
    final FeatureSet col = new InMemoryFeatureSet(type, Arrays.asList(feature));
    final PolygonSymbolizer symbol = SF.polygonSymbolizer(SF.stroke(Color.BLACK, 0), SF.fill(Color.RED), null);
    final MutableStyle style = SF.style(symbol);
    final MapLayer layer = MapBuilder.createLayer(col);
    layer.setStyle(style);
    final MapLayers context = MapBuilder.createContext();
    context.getComponents().add(layer);
    return context;
}
Also used : FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) FeatureType(org.opengis.feature.FeatureType) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) MutableStyle(org.geotoolkit.style.MutableStyle) PolygonSymbolizer(org.opengis.style.PolygonSymbolizer) MapLayer(org.apache.sis.portrayal.MapLayer) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) FeatureSet(org.apache.sis.storage.FeatureSet) Feature(org.opengis.feature.Feature) MapLayers(org.apache.sis.portrayal.MapLayers)

Example 3 with InMemoryFeatureSet

use of org.geotoolkit.storage.memory.InMemoryFeatureSet in project geotoolkit by Geomatys.

the class PortrayalServiceTest method testPropertyPreservation.

@Test
public void testPropertyPreservation() throws Exception {
    final Point location = GO2Utilities.JTS_FACTORY.createPoint(new Coordinate(2, 3));
    final FeatureTypeBuilder builder = new FeatureTypeBuilder().setName("Donaldville");
    builder.addAttribute(Point.class).setName("geometry");
    builder.addAttribute(String.class).setName("firstName");
    builder.addAttribute(String.class).setName("lastName");
    final FeatureType duckType = builder.build();
    final Feature duck = duckType.newInstance();
    duck.setPropertyValue("firstName", "Donald");
    duck.setPropertyValue("lastName", "Duck");
    duck.setPropertyValue("geometry", location);
    final MapLayer layer = MapBuilder.createLayer(new InMemoryFeatureSet(duckType, Collections.singleton(duck)));
    final CanvasDef canvas = new CanvasDef(new Dimension(16, 16), new Envelope2D(CommonCRS.defaultGeographic(), 0, 0, 16, 16));
    final MapLayers ctx = MapBuilder.createContext();
    ctx.getComponents().add(layer);
    final SceneDef scene = new SceneDef(ctx);
    scene.getHints().put(GO2Hints.KEY_PRESERVE_PROPERTIES, true);
    final List<Presentation> result = DefaultPortrayalService.present(canvas, scene).collect(Collectors.toList());
    assertEquals(1, result.size());
    final Presentation presentation = result.get(0);
    final Feature picked = (Feature) presentation.getCandidate();
    assertNotNull(picked);
    Map<String, Object> expectedProperties = new HashMap<>();
    expectedProperties.put("firstName", "Donald");
    expectedProperties.put("lastName", "Duck");
    expectedProperties.put("geometry", location);
    final Map<String, Object> properties = picked.getType().getProperties(true).stream().filter(p -> p instanceof AttributeType).map(attr -> attr.getName().tip().toString()).collect(Collectors.toMap(Function.identity(), name -> picked.getPropertyValue(name)));
    assertEquals(String.format("Returned values do not match.%nExpected: %s%nActual: %s%n", expectedProperties.entrySet().stream().map(entry -> String.format("%s -> %s", entry.getKey(), entry.getValue())).collect(Collectors.joining(", ")), properties.entrySet().stream().map(entry -> String.format("%s -> %s", entry.getKey(), entry.getValue())).collect(Collectors.joining(", "))), expectedProperties, properties);
    // By default, don't load un-necessary properties
    scene.getHints().remove(GO2Hints.KEY_PRESERVE_PROPERTIES);
    final List<Object> geometries = DefaultPortrayalService.present(canvas, scene).map(p -> (Feature) p.getCandidate()).peek(Assert::assertNotNull).peek(f -> assertEquals(1, f.getType().getProperties(true).stream().filter(p -> p instanceof AttributeType).count())).map(f -> f.getPropertyValue("geometry")).collect(Collectors.toList());
    assertEquals(1, geometries.size());
    assertEquals(geometries.get(0), location);
}
Also used : Color(java.awt.Color) Expression(org.opengis.filter.Expression) POSITIVE_INFINITY(java.lang.Double.POSITIVE_INFINITY) J2DCanvasBuffered(org.geotoolkit.display2d.canvas.J2DCanvasBuffered) Hints(org.geotoolkit.factory.Hints) Arrays(java.util.Arrays) Envelope2D(org.apache.sis.geometry.Envelope2D) Unit(javax.measure.Unit) GridOrientation(org.apache.sis.coverage.grid.GridOrientation) CRS(org.apache.sis.referencing.CRS) PixelInCell(org.opengis.referencing.datum.PixelInCell) PortrayalException(org.geotoolkit.display.PortrayalException) FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) StopOnErrorMonitor(org.geotoolkit.display.canvas.control.StopOnErrorMonitor) Coordinate(org.locationtech.jts.geom.Coordinate) NEGATIVE_INFINITY(java.lang.Double.NEGATIVE_INFINITY) FilterFactory(org.opengis.filter.FilterFactory) Envelope(org.opengis.geometry.Envelope) GridCoverage2D(org.apache.sis.coverage.grid.GridCoverage2D) FeatureType(org.opengis.feature.FeatureType) DEFAULT_DISPLACEMENT(org.geotoolkit.style.StyleConstants.DEFAULT_DISPLACEMENT) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) InMemoryGridCoverageResource(org.geotoolkit.storage.memory.InMemoryGridCoverageResource) StyleConstants(org.geotoolkit.style.StyleConstants) MapLayers(org.apache.sis.portrayal.MapLayers) WritableFeatureSet(org.apache.sis.storage.WritableFeatureSet) DEFAULT_ANCHOR_POINT(org.geotoolkit.style.StyleConstants.DEFAULT_ANCHOR_POINT) GeneralEnvelope(org.apache.sis.geometry.GeneralEnvelope) Feature(org.opengis.feature.Feature) MutableStyleFactory(org.geotoolkit.style.MutableStyleFactory) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) BufferedImage(java.awt.image.BufferedImage) RenderedImage(java.awt.image.RenderedImage) AxesConvention(org.apache.sis.referencing.cs.AxesConvention) AttributeType(org.opengis.feature.AttributeType) Point(org.locationtech.jts.geom.Point) org.opengis.style(org.opengis.style) AbstractCRS(org.apache.sis.referencing.crs.AbstractCRS) Collectors(java.util.stream.Collectors) SearchArea(org.geotoolkit.display.SearchArea) FilterUtilities(org.geotoolkit.filter.FilterUtilities) Dimension(java.awt.Dimension) List(java.util.List) Presentation(org.apache.sis.internal.map.Presentation) AttributeRole(org.apache.sis.feature.builder.AttributeRole) MapBuilder(org.geotoolkit.map.MapBuilder) LITERAL_ONE_FLOAT(org.geotoolkit.style.StyleConstants.LITERAL_ONE_FLOAT) DEFAULT_DESCRIPTION(org.geotoolkit.style.StyleConstants.DEFAULT_DESCRIPTION) GridCoverageBuilder(org.apache.sis.coverage.grid.GridCoverageBuilder) CoordinateReferenceSystem(org.opengis.referencing.crs.CoordinateReferenceSystem) FactoryException(org.opengis.util.FactoryException) Rectangle(java.awt.Rectangle) SampleDimension(org.apache.sis.coverage.SampleDimension) GridGeometry(org.apache.sis.coverage.grid.GridGeometry) AffineTransform2D(org.apache.sis.internal.referencing.j2d.AffineTransform2D) GO2Utilities(org.geotoolkit.display2d.GO2Utilities) HashMap(java.util.HashMap) RenderingContext(org.geotoolkit.display.canvas.RenderingContext) Function(java.util.function.Function) ArrayList(java.util.ArrayList) Graphics2D(java.awt.Graphics2D) MARK_CIRCLE(org.geotoolkit.style.StyleConstants.MARK_CIRCLE) Assert.assertArrayEquals(org.junit.Assert.assertArrayEquals) Raster(java.awt.image.Raster) CommonCRS(org.apache.sis.referencing.CommonCRS) DataStoreException(org.apache.sis.storage.DataStoreException) DefaultStyleFactory(org.geotoolkit.style.DefaultStyleFactory) GridCoverageResource(org.apache.sis.storage.GridCoverageResource) GO2Hints(org.geotoolkit.display2d.GO2Hints) MutableStyle(org.geotoolkit.style.MutableStyle) Units(org.apache.sis.measure.Units) MapLayer(org.apache.sis.portrayal.MapLayer) GeometryFactory(org.locationtech.jts.geom.GeometryFactory) GraphicVisitor(org.geotoolkit.display2d.GraphicVisitor) Assert.assertNotNull(org.junit.Assert.assertNotNull) J2DCanvas(org.geotoolkit.display2d.canvas.J2DCanvas) JTS(org.geotoolkit.geometry.jts.JTS) Test(org.junit.Test) Assert.assertNull(org.junit.Assert.assertNull) ColorModel(java.awt.image.ColorModel) GridCoverage(org.apache.sis.coverage.grid.GridCoverage) FeatureSet(org.apache.sis.storage.FeatureSet) WritableRaster(java.awt.image.WritableRaster) GridExtent(org.apache.sis.coverage.grid.GridExtent) Assert(org.junit.Assert) Collections(java.util.Collections) Assert.assertEquals(org.junit.Assert.assertEquals) FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) FeatureType(org.opengis.feature.FeatureType) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) HashMap(java.util.HashMap) MapLayer(org.apache.sis.portrayal.MapLayer) Point(org.locationtech.jts.geom.Point) Dimension(java.awt.Dimension) SampleDimension(org.apache.sis.coverage.SampleDimension) Presentation(org.apache.sis.internal.map.Presentation) Feature(org.opengis.feature.Feature) Envelope2D(org.apache.sis.geometry.Envelope2D) Coordinate(org.locationtech.jts.geom.Coordinate) AttributeType(org.opengis.feature.AttributeType) MapLayers(org.apache.sis.portrayal.MapLayers) Test(org.junit.Test)

Example 4 with InMemoryFeatureSet

use of org.geotoolkit.storage.memory.InMemoryFeatureSet in project geotoolkit by Geomatys.

the class PortrayalServiceTest method testCoveragePropertyRendering.

/**
 * Test rendering of a coverage inside a feature property.
 */
@Test
public void testCoveragePropertyRendering() throws Exception {
    final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
    ftb.setName("test");
    ftb.addAttribute(GridCoverage.class).setName("coverage");
    final FeatureType ft = ftb.build();
    final BufferedImage img = new BufferedImage(90, 90, BufferedImage.TYPE_INT_ARGB);
    final Graphics2D g = img.createGraphics();
    g.setColor(Color.GREEN);
    g.fillRect(0, 0, 90, 90);
    g.dispose();
    final GridCoverageBuilder gcb = new GridCoverageBuilder();
    gcb.setDomain(new GridGeometry(null, PixelInCell.CELL_CENTER, new AffineTransform2D(1, 0, 0, 1, 0.5, 0.5), CommonCRS.WGS84.normalizedGeographic()));
    gcb.setValues(img);
    final Feature f = ft.newInstance();
    f.setPropertyValue("coverage", gcb.build());
    final FeatureSet collection = new InMemoryFeatureSet(ft, Arrays.asList(f));
    final String name = "mySymbol";
    final Description desc = DEFAULT_DESCRIPTION;
    final String geometry = "coverage";
    final Unit unit = Units.POINT;
    final Expression opacity = LITERAL_ONE_FLOAT;
    final ChannelSelection channels = null;
    final OverlapBehavior overlap = null;
    final ColorMap colormap = null;
    final ContrastEnhancement enhance = null;
    final ShadedRelief relief = null;
    final Symbolizer outline = null;
    final RasterSymbolizer symbol = SF.rasterSymbolizer(name, geometry, desc, unit, opacity, channels, overlap, colormap, enhance, relief, outline);
    final MutableStyle style = SF.style(symbol);
    final MapLayer layer = MapBuilder.createLayer(collection);
    layer.setStyle(style);
    final MapLayers context = MapBuilder.createContext();
    context.getComponents().add(layer);
    final SceneDef sdef = new SceneDef(context);
    final GeneralEnvelope env = new GeneralEnvelope(CommonCRS.WGS84.normalizedGeographic());
    env.setRange(0, -180, +180);
    env.setRange(1, -90, +90);
    final CanvasDef cdef = new CanvasDef(new Dimension(360, 180), env);
    final BufferedImage result = DefaultPortrayalService.portray(cdef, sdef);
    final Raster raster = result.getData();
    final int[] pixel = new int[4];
    final int[] trans = new int[] { 0, 0, 0, 0 };
    final int[] green = new int[] { 0, 255, 0, 255 };
    assertNotNull(result);
    raster.getPixel(0, 0, pixel);
    assertArrayEquals(trans, pixel);
    raster.getPixel(179, 45, pixel);
    assertArrayEquals(trans, pixel);
    raster.getPixel(181, 45, pixel);
    assertArrayEquals(green, pixel);
}
Also used : FeatureType(org.opengis.feature.FeatureType) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) MapLayer(org.apache.sis.portrayal.MapLayer) Unit(javax.measure.Unit) Feature(org.opengis.feature.Feature) BufferedImage(java.awt.image.BufferedImage) MutableStyle(org.geotoolkit.style.MutableStyle) FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) GridGeometry(org.apache.sis.coverage.grid.GridGeometry) Raster(java.awt.image.Raster) WritableRaster(java.awt.image.WritableRaster) Dimension(java.awt.Dimension) SampleDimension(org.apache.sis.coverage.SampleDimension) Graphics2D(java.awt.Graphics2D) GridCoverage(org.apache.sis.coverage.grid.GridCoverage) GridCoverageBuilder(org.apache.sis.coverage.grid.GridCoverageBuilder) Expression(org.opengis.filter.Expression) WritableFeatureSet(org.apache.sis.storage.WritableFeatureSet) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) FeatureSet(org.apache.sis.storage.FeatureSet) GeneralEnvelope(org.apache.sis.geometry.GeneralEnvelope) AffineTransform2D(org.apache.sis.internal.referencing.j2d.AffineTransform2D) MapLayers(org.apache.sis.portrayal.MapLayers) Test(org.junit.Test)

Example 5 with InMemoryFeatureSet

use of org.geotoolkit.storage.memory.InMemoryFeatureSet in project geotoolkit by Geomatys.

the class TextSymbolizerTest method pointLabelTest.

/**
 * Render a label at check it is correctly located in the image.
 */
@Test
public void pointLabelTest() throws Exception {
    final FeatureTypeBuilder ftb = new FeatureTypeBuilder();
    ftb.setName("test");
    ftb.addAttribute(Point.class).setName("geom").setCRS(CommonCRS.defaultGeographic()).addRole(AttributeRole.DEFAULT_GEOMETRY);
    final FeatureType type = ftb.build();
    final Feature feature = type.newInstance();
    feature.setPropertyValue("geom", GF.createPoint(new Coordinate(0, 0)));
    final FeatureSet collection = new InMemoryFeatureSet(type, Arrays.asList(feature));
    // text symbolizer style
    final String name = "mySymbol";
    final Description desc = DEFAULT_DESCRIPTION;
    // use the default geometry of the feature
    final String geometry = null;
    final Unit unit = Units.POINT;
    final Expression label = FF.literal("LABEL");
    final Font font = SF.font(FF.literal("Arial"), FONT_STYLE_ITALIC, FONT_WEIGHT_BOLD, FF.literal(14));
    final LabelPlacement placement = SF.pointPlacement();
    final Halo halo = SF.halo(Color.WHITE, 0);
    final Fill fill = SF.fill(Color.BLUE);
    final TextSymbolizer symbol = SF.textSymbolizer(name, geometry, desc, unit, label, font, placement, halo, fill);
    final MutableStyle style = SF.style(symbol);
    final MapLayer layer = MapBuilder.createLayer(collection);
    layer.setStyle(style);
    final MapLayers context = MapBuilder.createContext();
    context.getComponents().add(layer);
    final GeneralEnvelope env = new GeneralEnvelope(CommonCRS.defaultGeographic());
    env.setRange(0, -180, +180);
    env.setRange(1, -90, +90);
    final Hints hints = new Hints();
    hints.put(GO2Hints.KEY_COLOR_MODEL, ColorModel.getRGBdefault());
    final SceneDef scenedef = new SceneDef(context, hints);
    final CanvasDef canvasdef = new CanvasDef(new Dimension(360, 180), env);
    canvasdef.setBackground(Color.WHITE);
    final BufferedImage buffer = DefaultPortrayalService.portray(canvasdef, scenedef);
    // ImageIO.write(buffer, "PNG", new File("test.png"));
    // we expect to have a blue label at the center of the image
    final int[] pixel = new int[4];
    final int[] blue = new int[] { 0, 0, 255, 255 };
    final Raster raster = buffer.getData();
    boolean found = false;
    for (int x = 160; x < 200; x++) {
        // should be exactly at the center
        raster.getPixel(x, 90, pixel);
        if (Arrays.equals(blue, pixel)) {
            found = true;
        }
    }
    assertTrue("label not found", found);
}
Also used : FeatureType(org.opengis.feature.FeatureType) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) Fill(org.opengis.style.Fill) Description(org.opengis.style.Description) Hints(org.geotoolkit.factory.Hints) GO2Hints(org.geotoolkit.display2d.GO2Hints) MapLayer(org.apache.sis.portrayal.MapLayer) Unit(javax.measure.Unit) Feature(org.opengis.feature.Feature) Font(org.opengis.style.Font) BufferedImage(java.awt.image.BufferedImage) MutableStyle(org.geotoolkit.style.MutableStyle) SceneDef(org.geotoolkit.display2d.service.SceneDef) FeatureTypeBuilder(org.apache.sis.feature.builder.FeatureTypeBuilder) Raster(java.awt.image.Raster) Point(org.locationtech.jts.geom.Point) Dimension(java.awt.Dimension) Point(org.locationtech.jts.geom.Point) LabelPlacement(org.opengis.style.LabelPlacement) Coordinate(org.locationtech.jts.geom.Coordinate) Expression(org.opengis.filter.Expression) TextSymbolizer(org.opengis.style.TextSymbolizer) InMemoryFeatureSet(org.geotoolkit.storage.memory.InMemoryFeatureSet) FeatureSet(org.apache.sis.storage.FeatureSet) GeneralEnvelope(org.apache.sis.geometry.GeneralEnvelope) CanvasDef(org.geotoolkit.display2d.service.CanvasDef) Halo(org.opengis.style.Halo) MapLayers(org.apache.sis.portrayal.MapLayers) Test(org.junit.Test)

Aggregations

InMemoryFeatureSet (org.geotoolkit.storage.memory.InMemoryFeatureSet)18 Feature (org.opengis.feature.Feature)18 FeatureType (org.opengis.feature.FeatureType)17 FeatureTypeBuilder (org.apache.sis.feature.builder.FeatureTypeBuilder)11 FeatureSet (org.apache.sis.storage.FeatureSet)11 MapLayer (org.apache.sis.portrayal.MapLayer)10 ArrayList (java.util.ArrayList)9 GeneralEnvelope (org.apache.sis.geometry.GeneralEnvelope)8 Coordinate (org.locationtech.jts.geom.Coordinate)8 MapLayers (org.apache.sis.portrayal.MapLayers)7 MutableStyle (org.geotoolkit.style.MutableStyle)7 Test (org.junit.Test)7 Dimension (java.awt.Dimension)6 WritableFeatureSet (org.apache.sis.storage.WritableFeatureSet)6 BufferedImage (java.awt.image.BufferedImage)5 IOException (java.io.IOException)5 DataStoreException (org.apache.sis.storage.DataStoreException)5 SampleDimension (org.apache.sis.coverage.SampleDimension)4 Geometry (org.locationtech.jts.geom.Geometry)4 Point (org.locationtech.jts.geom.Point)4