Class PolygonExtractionProcess

Object
PolygonExtractionProcess
All Implemented Interfaces:
RasterProcess

public class PolygonExtractionProcess extends Object implements RasterProcess
A process for raster to vector conversion. Regions of uniform value in an input GridCoverage2D are converted into Polygons by tracing the cell boundaries. Results are returned as a SimpleFeatureCollection in which each feature corresponds to a raster region with the boundary Polygon as its default geometry ("the_geom") and the value of the raster region cells as an attribute ("value").

Optionally, a list of classification ranges (Range objects) can be provided to pre-classify the input coverage values into intervals. Vectorizing can also be restricted to a sub-area of the coverage and/or a subset of raster values (by defining values to treat as no-data).

Since:
8.0
Author:
Simone Giannecchini, GeoSolutions
  • Constructor Details

    • PolygonExtractionProcess

      public PolygonExtractionProcess()
  • Method Details

    • execute

      public SimpleFeatureCollection execute(GridCoverage2D coverage, Integer band, Boolean insideEdges, Geometry roi, Collection<Number> noDataValues, List<Range> classificationRanges, ProgressListener progressListener) throws ProcessException
      Executes the raster to vector process.
      Parameters:
      coverage - the input grid coverage
      band - the coverage band to process; defaults to 0 if null
      insideEdges - whether boundaries between raster regions with data values (ie. not NODATA) should be returned; defaults to true if null
      roi - optional polygonal Geometry to define a sub-area within which vectorizing will be done
      noDataValues - optional list of values to treat as NODATA; regions with these values will not be represented in the returned features; if null, 0 is used as the single NODATA value; ignored if classificationRanges is provided
      classificationRanges - optional list of Range objects to pre-classify the input coverage prior to vectorizing; values not included in the list will be treated as NODATA; values in the first Range are classified to 1, those in the second Range to 2 etc.
      progressListener - an optional listener
      Returns:
      a feature collection where each feature has a Polygon ("the_geom") and an attribute "value" with value of the corresponding region in either coverage or the classified coverage (when classificationRanges is used)
      Throws:
      ProcessException