Geotrellis v3.0.0 Release Notes
Release Date: 2019-10-18 // over 4 years ago-
โ Added
- RasterSources API #3053
- ๐ฆ
geotrellis.layer
package to group functionality related to tiled layers.SpatialKey
,SpaceTimeKey
,TemporalKey
,Bounds
,Boundable
,EmptyBounds
,KeyBounds
,TemporalProjectedExtent
,EmptyBoundsError
,SpatialComponent
,TemporalComponent
,LayoutDefinition
,LayoutScheme
,LayoutLevel
,LocalLayoutScheme
,FloatingLayoutScheme
,ZoomedLayoutScheme
,MapKeyTransform
, etc.
- ๐ฆ
geotrellis.store
package to group interfaces related to saving and reading tiled layers. Implementations save moved to:geotrellis.store.accumulo
geotrellis.store.cassandra
geotrellis.store.hbase
geotrellis.store.hadoop
geotrellis.store.s3
geotrellis.vectortile.MVTFeature
which properly conforms to the MVT 2.0 spec. Specifically,MVTFeature
addsid: Option[Long]
property.RangeReader
SPI produced an instance of the reader fromURI
#2998geotrellis.raster.mapalgebra.focal.ZFactor
to improve slope calculations #3014- ๐ A
sparseStitch
method ongeotrellis.layer.stitch.SpatialTileLayoutCollectionStitchMethods
. Note thatSpatialTileLayoutCollectionStitchMethods
now has the additional constraintgeotrellis.raster.prototype.TilePrototypeMethods
on typeV
. This should be transparent for users of thegeotrellis.raster.Tile
andgeotrellis.raster.MultibandTile
types #3017 - ๐ฆ
geotrellis.util.np
package which containslinspace
andpercentile
methods that match NumPy functionality. An implicit class was also added togeotrellis.raster
which provides thepercentile
method forgeotrellis.raster.Tile
#3067 - Conversion from raster to features of cells #3117
io.circe
JSON encoders and decoders forGeoTiffInfo
and related classes #3128
๐ Changed
- 0๏ธโฃ
geotrellis.raster.summary.polygonal.[Multi]TilePolygonalSummaryHandler
replaced withgeotrellis.raster.summary.polygonal.PolygonalSummary
. Users should expect to implement concrete subclasses ofgeotrellis.raster.summary.GridVisitor
and pass those to the new polygonalSummary methods. There are a number of default implementations provided for simple operations ingeotrellis.raster.summary.visitors
- ๐ Polygonal summaries on raster RDDs of
RDD[(SpatialKey, T <: Grid[Int])] with Metadata[TileLayerMetadata[SpatialKey]]
can now be performed with far less boilerplate using the same visitor pattern as the new raster polygonal summary API. SeeRDDPolygonalSummary.scala
for additional details. geotrellis.raster.Grid.dimensions
is nowDimensions[N]
instead of(N, N)
#3124- ๐ฆ
GeoTiffInfo
moved out ofGeoTiffReader
into containing package #3128 - Replaced use of internal
Mergable
trait with cats'Semigroup
- The
slope
focal method now requires aZFactor
instance. - ๐ Use the AWS S3 SDK v2 instead of v1 #2911.
- ๐ฆ The implicit/package structure of the
geotrellis.raster
package has changed such that it's now possible to import almost all features/extensions withimport geotrellis.raster._
#2891 - ๐
geotrellis.pro4j.WKT
object conversion methods to and from EPSG codes have changed. All now return Options rather than silently unwrap. Methods that convert from EPSG code to WKT string are now prefixed consistently withfromEpsg
and methods that convert from WKT string to EPSG code are now prefixed consistently withtoEpsg
. geotrellis.util.CRS.fromWKT
now returnsOption[CRS]
instead ofCRS
after silently unwrapping an optional internally- The
geotrellis.vectortile.{Layer, VectorTile}
interfaces now usesMVTFeature
instead ofgeotrellis.vector.Feature
. - ๐ Change from
scala-logging
tolog4s
#3116 - โก๏ธ Update dependencies #2904.
- โก๏ธ Update dependencies #3053.
- โฌ๏ธ Bump ScalaPB version up with some API enhancements #2898.
- Artifacts in Viewshed have been addressed, the pixels/meter calculation has also been improved #2917.
- ๐ Fix map{X|Y}ToGrid function behavior that could give a bit incorrect results #2953.
- ๐ Fix COG layer update bug related to
COGLayerMetadata
zoom ranges ordering #2922. - โก๏ธ Use original
ZoomRanges
on COG layer update #2956. ArrayTile
equality will now check the cols, rows, and cellType of the two tiles #2991.- ๐ Fix incorrect Deflate compressor usage in GeoTiff reading #2997.
- ๐จ Refactor IO thread pool usage #3007.
S3RangeReader
will now optionally read the HEADER of an object #3025.FileRangeReaderProvider
can now handle more types ofURI
s #3034.- ๐ Bump
proj4
version to fix multiple performance issues #3039. - ๐ Fix
HttpRangeReader
swallows 404 error #3073 - โ Add a ToSpatial function for the collections API #3082.
- ๐ Fix
TIFFTagsReader
to skip unsupported tags #3088. reprojectExtentAsPolygon
should be more deterministic #3083.AmazonS3URI.getKey
now returns an empty string instead of null if no key was provided #3096.- ๐ Improved handling of null prefix for
S3AttributeStore
. Prefer use ofS3AttributeStore.apply
to take advantage of this improved handling #3096. - ๐ Fix Tiled TIFF BitCellType Segments conversion #3102
- โก๏ธ Updated
computeResolution
inIterativeCostDistance
to match Iterative Viewshed #3106
โ Removed
- Scala wrappers of JTS Geometry in
geotrellis.vector
#2932 - ๐ฆ
geotrellis.etl
package has been removed. The code has been archived at https://github.com/geotrellis/spark-etl #2969. - ๐ The
S3Client
wrapper that was used to support AWS SDK v1 has been removed in favor of directly using AWS SDK S3Client #2911. - ๐
geotrellis.s3-testkit
has been removed; testing now depends on an external min.io server which mocks the S3 API. #2911. - ๐
geotrellis.slick
has been removed. Slick support will now reside ingeotrellis-contrib
#2902.