SuccessChanges

Summary

  1. Refactor GeoTrellis Polygonal Summary API (details)
  2. Implement new Spark PolygonalSummary API (details)
  3. Add polygonal summary user guide documentation (details)
  4. Remove code coverage (details)
Commit a27ba17281da5afcf065a15eaae7e01c9dccaccc by andy
Refactor GeoTrellis Polygonal Summary API
This API is based on a proof of concept found in contrib.polygonal. We
provide the following implementationsfor Raster[Tile] and
Raster[MultibandTile]:
- Max
- Min
- Sum
- Mean
- StreamingHistogram
This is a change from the old API, which implemented the polygonal
summary handlers for Tile and MultibandTile. This was changed because in
practice, we are always performing polygonal summaries over the Raster
abstraction.
The helper methods in
raster.summary.polygonal.[Single|Multi]bandTilePolygonalSummaryMethods
were removed, as the equivalent operation is now a one line call:
``` tile.polygonalMax(extent, polygon)
// is now... raster.polygonalSummary(polygon, MaxVisitor)
```
The implementations of polygonal summary for Int were removed. This
includes the aggregate operations as well as for FastMapHistogram. In
practice, you always want to perform polygonal summaries on Double to
avoid overflows.
Adds polygonal summary benchmark and improves performance from baseline
implementation.
Improved MultibandTileFoldingVisitor runtime from 0.5 s/op -> 0.047
s/op, an order of magnitude improvement.
These tests were run and evaluated using:
``` jmh:run -prof
jmh.extras.Async:dir=/path/to/profiler/output;flameGraphDir=/path/to/FlameGraph;asyncProfilerDir=/path/to/async-profiler
\
-i 3 -wi 3 -f1 -t1 \
geotrellis.raster.summary.PolygonalSummaryBench
```
Signed-off-by: CloudNiner <andy@finkmiller.com>
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MultibandTileFoldingVisitor.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/MinSummary.scala
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/SumSpec.scala (diff)
The file was addedbench/src/main/resources/singleband.tif
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MinVisitor.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MeanVisitor.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MaxVisitor.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/histogram/FastMapHistogram.scala (diff)
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/SumVisitor.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/TileFoldingVisitor.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/polygonal/Implicits.scala (diff)
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/package.scala
The file was modifiedspark/src/main/scala/geotrellis/spark/store/kryo/KryoRegistrator.scala (diff)
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/MeanSpec.scala (diff)
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/MultibandTilePolygonalSummaryHandler.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/MeanSummary.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/StreamingHistogramVisitor.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/SumSummary.scala
The file was modifiedvector/src/main/scala/geotrellis/vector/summary/polygonal/PolygonalSummaryHandler.scala (diff)
The file was modifieddocs/CHANGELOG.rst (diff)
The file was modifiedraster/src/test/scala/geotrellis/raster/io/geotiff/reader/GeoTiffReaderSpec.scala (diff)
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/SinglebandTilePolygonalSummaryMethods.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/GridVisitor.scala
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/MinSpec.scala (diff)
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/HistogramSpec.scala (diff)
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/DoubleHistogramSummary.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/TilePolygonalSummaryHandler.scala
The file was addedbench/src/main/scala/geotrellis/raster/summary/PolygonalSummaryBench.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/PolygonalSummary.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/IntHistogramSummary.scala
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/MaxSpec.scala (diff)
The file was addedbench/src/main/resources/multiband.tif
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/MaxSummary.scala
The file was modifiedbuild.sbt (diff)
The file was modifiedbench/src/main/scala/geotrellis/spark/store/index/MergeQueueBench.scala (diff)
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/MultibandTilePolygonalSummaryMethods.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/PolygonalSummaryResult.scala
The file was modifiedproject/plugins.sbt (diff)
The file was modifiedraster/src/main/scala/geotrellis/raster/histogram/StreamingHistogram.scala (diff)
Commit bb12cf7461b366487968dc57baf21f9b3a0b6ecd by andy
Implement new Spark PolygonalSummary API
This API allows for direct polygonal summary operations on RDDs while
re-using the visitors from the raster summary package.
Signed-off-by: CloudNiner <andy@finkmiller.com>
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/FastMapHistogramVisitor.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/polygonal/PolygonalSummaryResult.scala (diff)
The file was addedspark/src/main/scala/geotrellis/spark/summary/polygonal/package.scala
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryKeyedFeatureRDDMethods.scala
The file was removedspark/src/test/scala/geotrellis/spark/summary/polygonal/FeatureCollectionSpec.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/GridVisitor.scala (diff)
The file was modifiedraster/src/main/scala/geotrellis/raster/histogram/StreamingHistogram.scala (diff)
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MultibandTileCombineVisitor.scala
The file was addeddoc-examples/src/main/scala/geotrellis/doc/examples/spark/PolygonalSummaryExamples.scala
The file was removedspark/src/test/scala/geotrellis/spark/summary/polygonal/MaxDoubleSpec.scala
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryMultibandTileLayerRDDMethods.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/types/SumValue.scala
The file was modifiedspark/src/test/scala/geotrellis/spark/summary/polygonal/MaxSpec.scala (diff)
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/MinSpec.scala (diff)
The file was modifiedspark/src/test/scala/geotrellis/spark/summary/polygonal/MinSpec.scala (diff)
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryTileLayerCollectionMethods.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MultibandTileFoldingVisitor.scala
The file was modifiedraster/src/test/scala/geotrellis/raster/io/geotiff/reader/GeoTiffReaderSpec.scala (diff)
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryFeatureCollectionMethods.scala
The file was modifiedstore/src/main/scala/geotrellis/store/index/MergeQueue.scala (diff)
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/SumVisitor.scala (diff)
The file was modifiedspark/src/main/scala/geotrellis/spark/timeseries/RDDTimeSeriesMethods.scala (diff)
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryKeyedFeatureCollectionMethods.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/types/MeanValue.scala
The file was removedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/TileFoldingVisitor.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MinVisitor.scala (diff)
The file was addedraster/src/main/scala/geotrellis/raster/summary/types/MaxValue.scala
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryFeatureRDDMethods.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MaxVisitor.scala (diff)
The file was modifiedbuild.sbt (diff)
The file was modifiedspark/src/test/scala/geotrellis/spark/summary/polygonal/MeanSpec.scala (diff)
The file was addedspark/src/main/scala/geotrellis/spark/summary/polygonal/RDDPolygonalSummary.scala
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/MeanVisitor.scala (diff)
The file was addedraster/src/main/scala/geotrellis/raster/summary/types/MinValue.scala
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryMultibandTileLayerCollectionMethods.scala
The file was modifiedspark/src/main/scala/geotrellis/spark/store/kryo/KryoRegistrator.scala (diff)
The file was modifieddoc-examples/src/main/scala/geotrellis/doc/examples/spark/ClipToGridExamples.scala (diff)
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/TileCombineVisitor.scala
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/Implicits.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/package.scala
The file was modifiedspark/src/test/scala/geotrellis/spark/summary/polygonal/HistogramSpec.scala (diff)
The file was modifiedbench/src/main/scala/geotrellis/spark/store/index/MergeQueueBench.scala (diff)
The file was removedspark/src/test/scala/geotrellis/spark/summary/polygonal/SumDoubleSpec.scala
The file was addedraster/src/main/scala/geotrellis/raster/summary/polygonal/visitors/Implicits.scala
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/MeanSpec.scala (diff)
The file was removedspark/src/main/scala/geotrellis/spark/summary/polygonal/PolygonalSummaryTileLayerRDDMethods.scala
The file was modifiedspark/src/main/scala/geotrellis/spark/Implicits.scala (diff)
The file was modifiedbench/src/main/scala/geotrellis/raster/summary/PolygonalSummaryBench.scala (diff)
The file was modifiedbench/src/main/scala/geotrellis/raster/render/RenderBench.scala (diff)
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/MaxSpec.scala (diff)
The file was removedspark/src/test/scala/geotrellis/spark/summary/polygonal/FeatureRDDSpec.scala
The file was modifiedproject/plugins.sbt (diff)
The file was modifiedraster/src/test/scala/geotrellis/raster/summary/polygonal/SumSpec.scala (diff)
The file was modifiedspark/src/test/scala/geotrellis/spark/summary/polygonal/SumSpec.scala (diff)
The file was removedspark/src/test/scala/geotrellis/spark/summary/polygonal/MinDoubleSpec.scala
Commit 796f3330d9c8a5ba4c6e44ced1c29093e2ea8bc6 by andy
Add polygonal summary user guide documentation
Signed-off-by: CloudNiner <andy@finkmiller.com>
The file was modifieddocs/guide/rasters.rst (diff)
The file was modifieddocs/guide/module-hierarchy.rst (diff)
The file was modifiedraster/src/main/scala/geotrellis/raster/summary/GridVisitor.scala (diff)
The file was modifieddocs/CHANGELOG.rst (diff)
Commit 7badc4499e38785a84a9743042d4df907df4c26c by andy
Remove code coverage
@echeipesh wants these removed. They are broken and don't provide us
with good metrics. Created:
https://github.com/locationtech/geotrellis/issues/3008
to re-add them.
Signed-off-by: CloudNiner <andy@finkmiller.com>
The file was modifiedproject/plugins.sbt (diff)
The file was modifiedbuild.sbt (diff)