GeoTrellis 0.10.0-RC3 is released and on sonatype. As always, it'll take a little bit to propagate so it might be a little while before it's available on maven central.
There have been a number of fixes and final adjustments between RC2 and RC3. The only API breaking changes that have happened are as follows:
- "geotrellis.spark.ingest.Pyramid" has been moved to "geotrellis.spark.pyramid.Pyramid"
- The rasterizer API has been changed slightly:
- non-useful functionality removed
- useful overloads added
- renaming of "rasterize" to "rasterizeWithValue" in cases where you are passing in a burn value
- reordering of parameters to have the options at the end.
- Rasterize.Options was renamed to Rasterizer.Options
- Component types moved from "geotrellis.spark" to "geotrellis.util"
- Changed "renderGeoTiff", "renderPng" and "renderJpg" methods on RDDs to return GeoTiff, Png and Jpg elements instead of Array[Byte]
Other changes in this release:
- Fixed an issue with the fallback color not being properly set in color map PNGs
- Fixed RGB and greyscale + alpha PNG encoding
- Fixed issue with S3 template URL parsing when used with the "saveToS3" method
- Implemented NTV1 grid file parsing in geotrellis.proj
- Fixed floating point errors on no-op reprojection of RDDs
- Implemented functionality for adding splits to an Accumulo table based on KeyBounds,
which is done automatically on tables created by writing a layer. This will improve
Accumulo ingest speeds.
- Fixed a bug in union and intersect operations on CellType
- Fixed bug in how ColorRamps were coloring values at class border stop points.
- Fixed bug in merging RDDs of tiles with BitCellType
- Fixed a bug in reading GeoTiffs with INTERLEAVE=BAND and PREDICTOR=2 or 3
- Made the Tile.convert method non-lazy, removed LazyConvertedArrayTile as it was causing many issues around proper handling of cell type conversions.
- Moved the Component architecture away from monocle lenses, and created GetComponent and SetComponent, so that context bounds can request read-only components.
- Don't use App anymore in ETL or examples, it can cause evil initialization bugs when used with Spark and we recommend staying away from it.
- Removed unimplemented ETL options.
- Made small change to allow Java serialization to be used the library, except for the case of reading and writing to Accumulo, which requires Kryo.
- Allow PutObjectRequest modification when writing to S3, which allows users to set the ACL to a non-default (e.g. for public access)
- Fixed bug in partitionCount option in ETL for S3 input
- Set the ETL to keep partition count through tiling operation, so that if source tiles are manually repartitioned the partition count stays constant throughout the tiling process.
- Removed unnecessary clamping in gridToMap functions on RasterExtent
- Added "split" function, which allows splitting tiles inside an RDD into smaller chunks before processing. This is useful when dealing with large tiles.
- Removed "isValid" check and potential polygon modification in Polygon object apply.
- Fixed a bug in ETL "per-tile" reprojection.
Thanks to everyone who has contributed, and for everyone's patience as we put the final touches on 0.10.
Best,
Rob