Skip to content

Releases: opendatacube/odc-geo

v0.3.1

24 Oct 23:17
Compare
Choose a tag to compare

What's Changed

  • Set pyproj lower bound to version 3
  • Fixes to workflows, css tweaks, #71
  • Delay epsg determination as much as possible by @snowman2 and @Kirill888 in #72
    • Better caching of rasterio.crs.CRS -> odc.geo.crs.CRS construction path
    • Avoid computing .epsg unless requested by the user. This is an expensive operation for CRSs that do now have EPSG code, opendatacube/datacube-core#1321

Full Changelog: v0.3.0...v0.3.1

v0.3.0

09 Sep 01:55
Compare
Choose a tag to compare

What's Changed

  • Support integer inputs for CRS constructor in #64
  • Add CRS.utm and support crs="utm" inputs in to_crs methods in #65
  • Implement reproject for dataset objects in #69
  • Geometry can be constructed from arbitrary GeoJSON, including type=FeatureCollection

GeoBox

  • Add GCPGeoBox in #62 #68
  • Generalize slicing into GeoBox, can slice with any geometry, geobox or boundingbox
  • New methods for constructing GeoBox that match the grid of other geobox
    • GeoBox.snap_to, GeoBox.enclosing
  • Method for generating quasi-random pixel location samples
  • Method for projecting geometries between pixel and world coordinates, .project
  • rio_geobox converter method to read in geobox from rasterio file handle

Various Small Improvements

  • Understand _FillValue attribute populated by rioxarray
  • More helper methods on the BoundingBox class
    • .boundary
    • .aoi
    • .qr2sample(..)
  • Geometry.assign_crs(..) and optional crs= in Geometry.transform(op, crs=..)
  • More robust .geojson(..) generation from geometries
  • Fixes in .dropna() to handle holes in polygons

Full Changelog: v0.2.2...v0.3.0

v0.2.2

02 Sep 05:49
Compare
Choose a tag to compare

What's Changed

  • Hide GDAL warnings in compress function in #57
  • Account for src_nodata kwarg in xr_reproject by @valpesendorfer in #60
  • Handle GeoBoxes and Geometries that do not project cleanly in #61
    • Deal with nan and inf values in a more robust way than before
    • Add Geometry.filter and Geometry.dropna operations
  • Removed __array_interface__ from Geometry class
    • it's deprecated in shapely and is not used, and newer numpy warns about it
    • one can use a more explicit numpy.asarray(g.coords) instead anyway
    • with this removed it's easier to make ndarrays containing Geometry objects

New Contributors

Full Changelog: v0.2.1...v0.2.2

v0.2.1

06 Jul 02:54
Compare
Choose a tag to compare

What's Changed

Fixes

  • Fixes in colorize|add_to when plotting data with missing pixels
  • Fixes .odc.add_to for maps with custom projections #50
  • Better CRS info display for non-EPSG GeoBoxes
  • Better Dask support for GeoBox, CRS and GeoBoxTiles classes (fixes hashing)

New Features

  • Add GeoBox.compat to convert to datacube version of GeoBox
  • New features robust=True in colorize|add_to, user percentiles for clipping: vmin=2%, vmax=98% #52
  • Add GCP extraction utilities
  • Add Geometry[Point] -> XY[float] conversion

Deprecations

Deprecated iteration over Geometry class to follow shapely deprecation of that, use .geoms property instead.

See this PR: #54

Full Changelog: v0.2.0...v0.2.1

v0.2.0

02 Jun 05:26
Compare
Choose a tag to compare

What's Changed

Fixes

  • Geobox resolution display for rotated geoboxes in #47
  • Some typos in docs (by @RichardScottOZ)

New features

  • Adding display on a map #48
    • .add_to(map)
    • .map_bounds to interface with folium/ipyleaflet
  • Add more raster operations:
    • .to_rgba
    • .colorize
    • .compress (jpeg,png,webp for map displays)
  • Add GeoBox.to_crs method (convenient access to output_geobox method)
  • More docs

Full Changelog: v0.1.3...v0.2.0

v0.1.3

12 May 02:52
Compare
Choose a tag to compare

What's Changed

  • Support arbitrary geoboxes in xarray (PR #44)
    • It is now possible to create xarray.DataArray with GeoBoxes that are not aligned to X/Y axis (i.e. have rotation/shear components)
  • Add chunks= and time= optional arguments to xr_zeros(..)
  • Add GeoBox model docs (PR #45)

v0.1.2.post0

10 May 00:43
Compare
Choose a tag to compare

Bug fix release

  • Fixes error in CRS construction logic for certain types of non-string inputs (PR: #41 courtesy of @snowman2)

v0.1.2

27 Apr 09:18
Compare
Choose a tag to compare

What's Changed

  • BoundingBox is now CRS aware
  • Changes to GeoBox.from_ interfaces, anchor= replaces align=
    • .from_polygon still accepts old-style align= for ease of datacube migration
  • Adding .odc.write_cog, .odc.to_cog methods
  • Adding .odc.reproject (only supports non-Dask inputs currently)
  • Adding .odc.output_geobox - finds reasonable destination geobox when projecting to other CRS
  • Packaging fixes (mypy types, thanks to @snowman2)
  • Fixes in GeoBox display code (was not handling empty cases well)
  • Some code refactoring

v0.1.1

29 Mar 22:51
Compare
Choose a tag to compare

First release

v0.1.1rc0

25 Mar 13:19
Compare
Choose a tag to compare

First release candidate.