Skip to content

Releases: locationtech/rasterframes

0.11.1

03 Apr 20:05
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.10.1...0.11.1

0.10.1

14 Mar 21:25
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.10.0...0.10.1

0.10.0

15 Oct 20:51
Compare
Choose a tag to compare

Major Updates

  • Upgraded to Scala 2.12 , Spark 3.1.2, and GeoTrellis 3.6.0 (a subtantial accomplishment!)
  • Added buffered tile support
  • Added focal operations: rf_focal_mean, rf_focal_median,rf_focal_mode, rf_focal_max, rf_focal_min, rf_focal_stddev, rf_focal_moransi, rf_convolve, rf_slope, rf_aspect, rf_hillshade
  • Added STAC API DataFrames implementation

Please consider this a release candidate.

What's Changed

New Contributors

Full Changelog: 0.9.1...0.10.0-RC1

0.9.1

01 Apr 18:13
Compare
Choose a tag to compare
  • Upgraded to Spark 2.4.7
  • Added pyspark.sql.DataFrame.display(num_rows:int, truncate:bool) extension method when rf_ipython is imported.
  • Added users' manual section on IPython display enhancements.
  • Added method_name parameter to the rf_resample method.
    • BREAKING: In SQL, the function rf_resample now takes 3 arguments. You can use rf_resample_nearest with two arguments or refactor to rf_resample(t, v, "nearest").
  • Added resample method parameter to SQL and Python APIs.
  • Upgraded many of the pyrasterframes dependencies, including:
    descartes, fiona, folium, geopandas, matplotlib, numpy, pandas, rasterio, shapely
  • Changed rasterframes.prefer-gdal configuration parameter to default to False, as JVM GeoTIFF performs just as well for COGs as the GDAL one.
  • Fixed #545.

0.9.0

23 Apr 14:22
Compare
Choose a tag to compare
  • Upgraded to GeoTrellis 3.3.0. This includes a number of breaking changes enumerated as a part of the PR's change log. These include:
    • Add Int type parameter to Grid
    • Add Int type parameter to CellGrid
    • Add Int type parameter to GridBounds... or TileBounds
    • Use GridBounds.toGridType to coerce from Int to Long type parameter
    • Update imports for layers, particularly geotrellis.spark.tiling to geotrellis.layer
    • Update imports for geotrellis.spark.io to geotrellis.spark.store...
    • Removed FixedRasterExtent
    • Removed FixedDelegatingTile
    • Removed org.locationtech.rasterframes.util.Shims
    • Change Extent.jtsGeom to Extent.toPolygon
    • Change TileLayerMetadata.gridBounds to TileLayerMetadata.tileBounds
    • Add geotrellis-gdal dependency
    • Remove any conversions between JTS geometry and old geotrellis.vector geometry
    • Changed org.locationtech.rasterframes.encoders.StandardEncoders.crsEncoder to crsSparkEncoder
    • Change (cols, rows) dimension destructuring to Dimensions(cols, rows)
    • Revisit use of Tile equality since it's more strict
    • Update reference.conf to use geotrellis.raster.gdal namespace.
    • Replace all uses of TileDimensions with geotrellis.raster.Dimensions[Int].
  • Upgraded to gdal-warp-bindings 1.0.0.
  • Upgraded to Spark 2.4.5
  • Formally abandoned support for Python 2. Python 2 is dead. Long live Python 2.
  • Introduction of type hints in Python API.
  • Add functions for changing cell values based on either conditions or to achieve a distribution of values. (#449)
    • Add rf_local_min, rf_local_max, and rf_local_clip functions.
    • Add cell value scaling functions rf_rescale and rf_standardize.
    • Add rf_where function, similar in spirit to numpy's where, or a cell-wise version of Spark SQL's when and otherwise.
  • Add rf_sqrt function to compute cell-wise square root.

0.9.0-RC2

20 Jan 15:32
Compare
Choose a tag to compare
  • Upgraded to GeoTrellis 3.2.0. This includes a number of breaking changes enumerated as a part of the PR's change log. These include:
    • Add Int type parameter to Grid
    • Add Int type parameter to CellGrid
    • Add Int type parameter to GridBounds... or TileBounds
    • Use GridBounds.toGridType to coerce from Int to Long type parameter
    • Update imports for layers, particularly geotrellis.spark.tiling to geotrellis.layer
    • Update imports for geotrellis.spark.io to geotrellis.spark.store...
    • Removed FixedRasterExtent
    • Removed org.locationtech.rasterframes.util.Shims
    • Change Extent.jtsGeom to Extent.toPolygon
    • Change TileLayerMetadata.gridBounds to TileLayerMetadata.tileBounds
    • Add geotrellis-gdal dependency
    • Remove any conversions between JTS geometry and old geotrellis.vector geometry
    • Changed org.locationtech.rasterframes.encoders.StandardEncoders.crsEncoder to crsSparkEncoder
    • Change (cols, rows) dimension destructuring to Dimensions(cols, rows)
    • Revisit use of Tile equality since it's more strict
    • Update reference.conf to use geotrellis.raster.gdal namespace.
    • Replace all uses of TileDimensions with geotrellis.raster.Dimensions[Int].
  • Formally abandoned support for Python 2. Python 2 is dead. Long live Python 2.
  • Introduction of type hints in Python API.

0.8.5

17 Jan 17:20
Compare
Choose a tag to compare
  • Added rf_z2_index for constructing a Z2 index on types with bounds.
  • Breaking: rf_spatial_index renamed rf_xz2_index to differentiate between XZ2 and Z2 variants.
  • Added withSpatialIndex to RasterSourceDataSource to pre-partition tiles based on tile extents mapped to a Z2 space-filling curve
  • Add rf_mask_by_bit, rf_mask_by_bits and rf_local_extract_bits to deal with bit packed quality masks. Updated the masking documentation to demonstrate the use of these functions.
  • Added toDF extension method to MultibandGeoTiff
  • Added rf_agg_extent and rf_agg_reprojected_extent to compute the aggregate extent of a column
  • Added rf_proj_raster for constructing a proj_raster structure from individual CRS, Extent, and Tile columns.
  • Added rf_render_color_ramp_png to compute PNG byte array for a single tile column, with specified color ramp.
  • In rf_ipython, improved rendering of dataframe binary contents with PNG preamble.
  • Throw an IllegalArgumentException when attempting to apply a mask to a Tile whose CellType has no NoData defined. (#409)
  • Add rf_agg_approx_quantiles function to compute cell quantiles across an entire column.

0.9.0-RC1

22 Nov 14:52
Compare
Choose a tag to compare
  • Upgraded to GeoTrellis 3.1.0. This includes a number of breaking changes enumerated as a part of the PR's change log. These include:
    • Add Int type parameter to Grid
    • Add Int type parameter to CellGrid
    • Add Int type parameter to GridBounds... or TileBounds
    • Use GridBounds.toGridType to coerce from Int to Long type parameter
    • Update imports for layers, particularly geotrellis.spark.tiling to geotrellis.layer
    • Update imports for geotrellis.spark.io to geotrellis.spark.store...
    • Removed FixedRasterExtent
    • Removed org.locationtech.rasterframes.util.Shims
    • Change Extent.jtsGeom to Extent.toPolygon
    • Change TileLayerMetadata.gridBounds to TileLayerMetadata.tileBounds
    • Add geotrellis-gdal dependency
    • Remove any conversions between JTS geometry and old geotrellis.vector geometry
    • Changed org.locationtech.rasterframes.encoders.StandardEncoders.crsEncoder to crsSparkEncoder
    • Change (cols, rows) dimension destructuring to Dimensions(cols, rows)
    • Revisit use of Tile equality since it's more strict
    • Update reference.conf to use geotrellis.raster.gdal namespace.
    • Replace all uses of TileDimensions with geotrellis.raster.Dimensions[Int].

0.8.4

11 Nov 15:10
Compare
Choose a tag to compare
  • Upgraded to Spark 2.4.4
  • Add rf_mask_by_values and rf_local_is_in raster functions; added optional inverse argument to rf_mask functions. (#403, #384)
  • Added forced truncation of WKT types in Markdown/HTML rendering. (#408)
  • Add rf_local_is_in raster function. (#400)
  • Added partitioning to catalogs before processing in RasterSourceDataSource (#397)
  • Fixed bug where rf_tile_dimensions would cause unnecessary reading of tiles. (#394)
  • Breaking (potentially): removed GeoTiffCollectionRelation due to usage limitation and overlap with RasterSourceDataSource functionality.

RC1 for DB Runtime 5.5 LTS

10 Oct 15:07
Compare
Choose a tag to compare

Release candidate for running on Spark 2.4.3 and Python 3 in Databricks Runtime 5.5.