- ENH: Drop
isort
,black
andflake8
and useruff
- ENH: Use
pyproject.toml
instead ofsetup.py
- FIX: Fix too broad exception in case of
geopandas >= 1.0
- FIX: Fix deprecation warning for
get_nodata_value_from_dtype
inrasters_rio
- FIX: Force blocksize to 128 when writing small COGs on disk (in order to have multiple overview levels)
- FIX: Use
np.tan
inrasters.slope
- FIX: Allow str as paths in
ci.assert_files_equal
- FIX: Better alignement between
rasters.read
function andrasters.any_raster_to_xr_ds
decorator - FIX: Fix
rasters.sieve
function withxr.apply_ufunc
- OPTIM: Compute the spatial index by default in
vectors.read
(setvectors.read(..., compute_sindex=False)
if you don't want to compute them) - CI: Rename CI folder and remove unnecessary intermediate folder
- OPTIM: Don't download an archive stored on the cloud when trying to read a vector stored inside it in
vectors.read
- OPTIM: Don't download files stored on cloud when applying
ci.assert_files_equal
on them - OPTIM: Offer the ability to give the archived file list directly to
path.get_archived_file_list
andfiles.read_archived_file
, as this operation is expensive when done with large archives stored on the cloud (and thus better done only once). Propagated intopath.get_archived_path
,path.get_archived_rio_path
,vectors.read
,xml.read_archive
,files.read_archived_xml
andfiles.read_archived_html
- CI: Test both Dask's multithreaded and local cluster in CI
- DEPR: Deprecate
xml_regex
andfile_regex
arguments from above-mentioned functions in favor of a harmonizedregex
argument. - DEPS: Reduce
dask
-related dependencies to the libraries related to this project (abandondask[complete]
as we don't need most of the embedded libraries). - DOCS: Add notebooks to document best practises
- BREAKING CHANGE: Renaming of
rasters(_rio).write
argumentpath
tooutput_path
to avoid shadowingsertit.path
module. Older argument is deprecated. - ENH: Use
odc.geo.xr.mask
instead ofrasterio.mask
to be dask-compatible inrasters
(true forpaint
andmask
) (#27) - ENH: Use
odc.geo.xr.xr_reproject
instead ofrioxarray.reproject_match
to be dask-compatible inrasters.collocate
(#27) - ENH: Use
xarray-spatial
to be dask-compatible inrasters.slope
andrasters.hillshade
. (#27) - ENH: Add support for
aspect
function (only inrasters
). (#29) - FIX: Fix the ability to save COGs with any dtype with Dask, with the workaround described here (don't compute statistics for problematic dtypes)
- FIX: Better separability of
dask
(it has its own module now): don't create a client if the user doesn't specify it (as it is not required anymore inLock
). This should remove the force-use ofdask
. - OPTIM: For arrays with same shape and CRS, replace only the coordinates of
other
byref
's inrasters.collocate
- OPTIM: Call
dask.optimize
before any dask computation (#27) - FIX: Fix vectorization with dask arrays (and remove the silent failure in case of exception when computing) (#27)
- DEPS: Add an optional dependency to
xarray-spatial
for daskified surface tools, such ashillshade
andslope
xarray-spatial
dependency for DEM-related functiions, but this may not be the final selection.
When a bit more mature, it is rather likely that geoutils
and xdem
will be selected instead.
See this issue for dask
-related choices.
- FIX: Fix regression in
files.read_json
due to Python 3.11 wheredatatime.fromsioformat
parses more than the output ofisoformat()
- FIX: Set back
MAX_CORES
issnap
as it breaks unexpectedly a fair number of libraries
- ENH: Add a environment variable to update SNAP log level (#25)
- FIX: Better management of default SNAP values (called in
snap.get_gpt_cli
, not during initialization) - FIX: Create threaded cluster by default in
rasters.get_or_create_dask_client
(#26)
- OPTIM: Manage dask correctly when writing a raster to disk in
rasters.write
(needsodc-geo
andimagecodecs
for COGs) - OPTIM: Write data with
windowed=True
when Dask is not enabled (for COGs) - FIX: Don't compute dask array in case of
window
keyword inrasters.read
function - FIX: Don't allow
window
keyword to go intogpd.to_file
function - FIX: Add all
distributed
logers toci.reduce_verbosity
- ENH: Add prune and select keys from dict functions:
misc.select_dict
andmisc.prune_dict
- ENH: Handle dict in
misc.remove_empty_values
and allow the user to add other values considered as empty - FIX: Select arguments from
**kwargs
for functions with finished number of arguments - FIX: Remove empty kwargs from
rasters.write
(leading sometimes to GDAL warnings) - FIX: Don't try to set any
tiled
argument withCOG
driver inrasters.write
- FIX: Fix PyPI's Trusted Publisher Management mechanism
- CI: Update SNAP version to 11.0
- CI: Update repo for mirroring
- LOG: Add
numba
inci.reduce_verbosity
- Allow
geopandas < 1.0.0
(sertit-utils
should work with0.14.4
) - PUBLISH: Use PyPI's Trusted Publisher Management mechanism
- FIX: Don't use isinstance and subtypes together (#22)
- FIX: Allow
use_s3_env_var
inunistra.s3_env
- TYPO: Replace
UNISTRA_S3_ENPOINT
byUNISTRA_S3_ENDPOINT
- ENH: Add a function
snap.get_snap_version
to retrieve current SNAP version (#172) - ENH: Allow to pass directly a version object to
misc.compare_version
- FIX: Prune empty keywords from kwargs in
rasters(_rio).write
to avoid throwing GDAL warnings/errors - FIX: Correctly throw the exception when
rasters_rio.any_raster_to_rio_ds
fails with axarray
data structure - FIX: Fix rasterization of vector on floating point rasters (with a nodata not castable to the wanted dtype)
- FIX: Handle correctly nan values in
ci.assert_val
- FIX: Fix
rasters.set_nodata
with already existing nodata value in raster
- BREAKING CHANGE: Renaming of
rasters(_rio).get_nodata_value
function torasters(_rio).get_nodata_value_from_dtype
. Older function is deprecated. - ENH: Creating
rasters.get_nodata_value_from_xr
to retrieve the nodata value as specified byrioxarray
- FIX: Fix handling of nodata with xarray structures in
sertit.rasters
- FIX: Handle None cases in
ci.assert_val
- CI: [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #21
- BREAKING CHANGE: Renaming of
rasters.path_xarr_dst
function torasters.any_raster_to_xr_ds
. Older function is deprecated. - BREAKING CHANGE: Renaming of
rasters_rio.path_arr_dst
function torasters_rio.any_raster_to_rio_ds
. Older function is deprecated. - BREAKING CHANGE: Creating
types.AnyRasterType
instead ofrasters.PATH_XARR_DS
andrasters_rio.PATH_ARR_DS
. Older types are deprecated. - ENH: Creating
types.AnyRioDatasetType
for any rasterio Dataset (both Reader, Writer) - ENH: Creating
types.AnyVectorType
for any vector (path or GeoDataFrame) - ENH: Adding the file path and name in the vector attributes (in
vec.attrs["path"]
andvec.attrs["name"]
) withvectors.read
- FIX: Allow the user not to convert Nones in
types.make_iterable
(withconvert_none
keyword) - FIX: Allow the user not to take strings as iterables
types.make_iterable
andtypes.is_iterable
(withstr_allowed
keyword)
- ENH: Add
types.make_iterable
andtypes.is_iterable
functions - Switch to
main
branch
- ENH: Manage
geopandas>=1.0
and its default enginepyogrio
:- ENH: Add function
vectors.is_geopandas_1_0
- FIX: Manage the duality of exceptions between
fiona
andpyogrio
forDriverError
/DataSourceError
- FIX: Handle null GMLs with
pyogrio
engine - FIX: Workaround for KMZ issue with
geopandas > 1.0
andpyogrio < 0.10.0
(GitHub issue)
- ENH: Add function
- ENH: Add a function
misc.compare_version
to compare a library version to a reference version according to an operator given by the user - ENH: Add a function
misc.compare
to compare two objects according to an operator given by the user - FIX: Make
path.get_archived_path
function case-insensitive by default - FIX: Fix
path.get_filename
for a file in a zip path - FIX: Handle fiona not installed in the environment (#20)
- CI: Minor fix in CI scripts to handle
numpy>=2.0
updates
- FIX: Fail build in 1.37.1
- FIX: Don't set endpoint_url in s3 if environment variable is empty
- ENH: Add AWS profile feature to s3 module
- FIX: Fix
files.extract_file
when there are only files in the root of the zip archive (#14) - FIX: FIX metadata handling with
rasters_rio.read
when reading with indexes
- FIX: Fix
vector._read_vector_core
when we convert a GML file from S3 to geojson with ogr2ogr (#12) - FIX: Fix
files.extract_file
when there is a file in the root of the zip archive (#11) - FIX: Fix
geometry.nearest_neighbors
when k is bigger than the number of candidates - FIX: Add a
buffer_on_input
ingeometry.intersects
to manage edge cases when points on polygons boundary aren't seen as intersecting - FIX:
rasters.read
acceptsxarray
objects as input - FIX: Sanitize imports
- DOC: Update some examples in documentation
- BREAKING CHANGE: Rename
feature_layer_to_path
togp_layer_to_path
- BREAKING CHANGE: Rename
rasters(_rio).get_nodata_mask
torasters(_rio).get_data_mask
to better fit with its behaviour (1 where data is valid, 0 elsewhere) - ENH: Add
geometry.intersects
to find polygons intersecting with other polygons (wrapper ofgeopandas.intersects
that works only row-wise) - ENH: Add
geometry.line_merge
to useshapely.line_merge
on GeoDataFrames - ENH: Add
geometry.buffer
(usinggpd.buffer
) to return a GeoDataFrame instead of a GeoSeries - ENH: Add
geometry.nearest_neighbors
to get the nearest neighbors from each point of a Point GeoDataFrame in another one (two methods,k_neighbors
andradius
). Needssklearn
. - FIX: Ignore when trying to split polygons with points
- FIX: Make
ci.assert_val
work for Iterables - DOC: Numerous documentation updates to better use Sphinx syntax
- ENH: Add
arcpy.feature_layer_to_path
to retrieve the path from an ArcGIS feature layer - ENH: Add a class
ArcPyLogger
to better handle logs in Arcgis Pro tools - ENH: Add
geometry.split
to split polygons with polygons - FIX: Fix
rasters.sieve
with integer data
- FIX: Update
setup.py
to have all the needed dependencies listed inrequirements.txt
(#9) - FIX: Fix
vectors.read
withengine=pyogrio
when opening vectors without geometries (likedbf
files)
- FIX: Update
arcpy.init_conda_arcpy_env
to fix new issues (GDAL
InvalidVersion
when writing on disk withgeopandas
usingfiona
's engine)
- BREAKING CHANGE: Set default
chunks
toauto
inrasters.read
- ENH: Add types for ArcGis GDB in
arcpy
- FIX: Allow folders to be opened in
vectors.read
(to open GDBs) - OPTIM: Geopandas now handles correctly S3 paths, so don't download S3-stored vectors anymore
- ENH: Mirror
window
invectors.read
(fromrasters.read
), enhancinggpd.read_file(bbox=...)
- FIX: Allow kwargs in
rasters.collocate
- DOC: Update copyright to 2024
- FIX: Fix requester_pays option in
s3
module - FIX: Use
total_bounds
when computing the window inrasters(_rio).read()
- FIX: Fixing additional arguments passed to the
s3
decorator
- FIX: Fixing the return of s3 environment decorators
- CI: Enabling pre-commit.ci and dependabot bots
- FIX: Add the support of
no_sign_request
ins3
functions
- BREAKING CHANGE: Change the order of
files.save_json
function to fitfiles.save_obj
. Older function is deprecated. - ENH: Allow to pass **kwargs in
files.save_json
andfiles.save_obj
- ENH: Allow to pass **kwargs for S3 environments, in order to add options such as requester pays
- FIX: Use
EPSG_4326
instead ofWGS84
for sake of naming accuracy (this is not the same thing!) (WGS84
stays available though) - FIX: Return
False
instead of failin inpath.is_cloud_path
if it cannot be converted toAnyPath
- FIX: Fix the custom JSON encoder to handle sets
- FIX: Handles correctly multi-layered KMZ in
vectors.read
- ENH: Add
s3.temp_s3
andunistra.unistra_s3
context managers to manage s3 environments inside Python code - FIX: Fix
rasters.read
whith given indexes order - DEPS : only import
vectors
inside functions forci
module (in order not to have to install rasterio if these functions are not needed) - DEPS : don't import anything from
rasterio
insidevectors
module (in order not to have to install rasterio if these functions are not needed) - DEPS: Remove as many mention as possible to
cloudpathlib
- FIX: Reorder raster in
rasters.read
whith the given indexes order - FIX: Allow to write with any driver in
rasters(_rio).write
- FIX: Create proper variables for environment variables in
snap
- FIX: Normalize geometries before testing within
ci
- FIX:
files.get_archived_rio_path
returns the result ofpath.get_archived_rio_path
instead of incorrect one. - CI: Update pre-commit hooks
- BREAKING CHANGE: Creating a
path
module where followingfiles
functions have been transferred (original have been deprecated):get_root_path
,listdir_abspath
,to_abspath
,real_rel_path
,get_archived_file_list
,get_archived_path
,get_archived_rio_path
,get_filename
,get_ext
,find_files
,get_file_in_dir
,is_writable
. - ENH: Add a
s3
modules handling other endpoints than Unistra's - ENH: Add deprecation for
ci
functions handled in other modules (such ass3_env
,define_s3_client
,get_db2_path
,get_db2_path
,get_db2_path
) - FIX: Allow
unistra.s3_env
to wrap functions with arguments - FIX: Manage the case with fsspec path given to
vectors.read
- CI: Better testing of kwargs handling in
vectors.read
- Update README
- ENH: Add a function covering
vectors.corresponding_utm_projection
's usecase (converting lat/lon to UTM CRS):vectors.to_utm_crs
. Returns directly a CRS instead of a string. Keep the deprecation forcorresponding_utm_projection
but not for the same reason.
- BREAKING CHANGE: Creating a
geometry
module where followingvectors
functions have been transferred:from_polygon_to_bounds
,from_bounds_to_polygon
,get_wider_exterior
,make_valid
. The functionfill_polygon_holes
has been created. - ENH: Add a
vectors.utm_crs
context manager allowing the user to compute seamlessly geographic-based operation (such as centroids, area computation...) - ENH: Add a
sertit.types
containing aliases to common typings - ENH: Add kwargs in
vectors.read
- ENH: Handles unchecked attributes in
ci.assert_xr_encoding_attrs
- ENH: Add more types
- ENH: Add a new module
unistra
used to handle functions referring to Unistra's environment - FIX: Return an AssertionError text in
ci.assert_xr_encoding_attrs
- FIX: Fix
display.scale_to_uint8
with numpy masked arrays - DEPR: Deprecation of
vectors.corresponding_utm_projection
in favor to geopandas'estimate_utm_crs
- FIX: Fixing Windows archived rasterio path (switching to
vsizip
/vsitar
for all platform)
- FIX: Allow collocating rasters (only if they are given as DataArrays) from different dtypes
- FIX: Make VRT relative in
merge_vrt
if possible
- FIX: Add a workaround for a weird bug with dask's
reshape
- ENH: Add a
vectors.copy
function to handle the copy of shapefiles - FIX: Fix debug message in
files.copy
- FIX: Add
stacklevel=3
when throwing deprecation warnings - CI: Add a test to check if the deprecation warning is thrown
- FIX: Allow users to read KMZ vectors (as it is now handled by fiona with LIBKML)
- FIX: Better manage non-existing file given as a window
rasters(_rio).read
- FIX: Don't manage
band
coordinate inrasters.collocate
: keep as is - FIX: Rename
reference_arr
intoreference
inrasters.collocate
- ENH: Add a
misc.unique
function to retrieve unique elements of a list while keeping the original order - FIX: Fix the correct number of bands (in the coordinates of the xr.DataArray) in
rasters.collocate
- FIX: Changes names to reference/other objects in
rasters(_rio).collocate
- ENH: Add a
vectors.write
function to automatically detect the driver from the filename (and add the KML driver if needed) - ENH: Add shapely 2.0 functions in
ci.assert_geom_xxx
to handle more cases (2D/3D vectors, geomtry written in another way) - FIX: Use our own function for setting the nodata instead of using rioxarray's in
rasters.crop
- FIX: Fix GeoPandas FutureWarning in
explode
:Currently, index_parts defaults to True, but in the future, it will default to False to be consistent with Pandas.
- INTERNAL: Simplify
rasters.read
- DEPS: Pin Shapely >= 2.0
- DEPS: Dropping support of Python 3.8
- ENH: Add a function simplifying footprints
- ENH: Pass the
chunks
keyword toopen_rasterio
in@path_xarr_dst
- ENH: Add a wrapper to add deprecation warnings in
logs
- OPTIM: Better nodata management in
rasters.write
- DEPS: Allow last versions of Dask
- DOC: Update README
- OPTIM: Allowing the user to change SNAP tile size with the environment variable
SERTIT_UTILS_SNAP_TILE_SIZE
. - OPTIM: Allowing the user to change SNAP max cores with the environment variable
SERTIT_UTILS_MAX_CORES
. - DOC: Document the usable environment variables
- DEPS: Fixing deps (xarray is requiered by default)
- FIX: Allowing the users to open
\\DS2\database0x
directories fromci.get_dbx_path
- FIX: fixing infinite values in
ci.assert_raster_almost_equal_magnitude
- ENH: Adding NODATA formalizations in
rasters(_rio)
: function to get the value from a dtype (get_nodata_value
and global variables foruint8
,int8
,uint16
,float
) - ENH: Allow to merge rasters with different projections
- ENH: Adding a
ci.assert_raster_almost_equal_magnitude
function that checks decimals from the scientific expression of the raster - CI: Don't run tests when only
__init__
or__meta__
is updated - CI: Move data elsewhere than git
- ENH: Adding
ci.assert_files_equal
function
- ENH: Adding several CI functions:
ci.assert_val
,ci.assert_xr_encoding_attrs
,ci.s3_env
,ci.define_s3_client
- ENH: Making public
ci.assert_field
- FIX: factorizing some
ci
functions, better logs in other... - FIX: Fixing
xml.read
with cloud path as str - FIX: Fixing
ci.assert_dir_equal
if folders don't have files ordrered inside... (for some reason) - FIX: Add
distributed
in loggers removed byci.reduce_verbosity
- FIX: Use
sertit
LOGGER innetworks
module - FIX: Manage
CloudPath
infiles.copy
function - DOC: Changing copyright from 2022 to 2023
- CI: Better handling of logging display for pytest
- FIX: Better handling of windows in
rasters(_rio).read
- FIX: Expose
ci.assert_meta
- FIX: Fix new_shape retrieval when providing a size with height or width equal to the original dimension
- DOC: Add latest DOI link
- ENH: Add the possibility to load an image/geo window in
rasters(_rio).read
(#1)
- FIX: Ensure that attributes and encoding are propagated through
rasters
functions - FIX: Allow the user to pass tags in
rasters(_rio).write
- FIX: Add other double extensions to discard in
files.get_filename
- FIX: Add the possibility to use other double extensions in
files.get_filename
- FIX: Get proper filename in
files.get_filename
for point-separated names of folder/files
- ENH: Add a
xml.dict_to_xml
function - CI: Updating versions of pre-commit hooks
- FIX: KML reading
vectors.read
has better log ifogr2ogr
isn't available in user's PATH. - FIX: Added a fallback using geopandas raw rfeading of KML file if
ogr2ogr
isn't available in user's PATH. - CI: Using actions/checkout@v3
- FIX: Fix
files.to_abspath
new feature...
- FIX: Allow the user to choose if
files.to_abspath
raise a FileNotFoundError if the file doesn't exist.
- FIX: Force vector conversion to dataset CRS in
rasters(_rio).rasterize
- DOC: Add a History page
- CI: Correct gitlab-ci file
- FIX: Add predictors for compression in
rasters(_rio).write
: 3 for floating point data, 2 for others. (see https://kokoalberti.com/articles/geotiff-compression-optimization-guide/) - CI: Update script versions in GitHub actions
- FIX: Fixing nodata value in
rasters.write
- ENH: Add a
files.get_ext
function to mirrorget_filename
- ENH: Add a
vectors.ogr2geojson
function to convert tricky vector files to GeoJSON using OGR fallbacks - FIX: Handling GML CRS errors (i.e. with
urn:ogc:def:derivedCRSType
) with some GDAL versions
- FIX: Fixing absolute paths for non-existing files in
rasters(_rio).merge_vrt
(again)
- FIX: Fixing absolute paths for non-existing files in
rasters(_rio).merge_vrt
- FIX: Enabling the option of absolute or relative paths in
rasters(_rio).merge_vrt
- FIX: Fix issue with too long command line with
rasters(_rio).merge_vrt
(VRT with too much files)
- ENH: Add a
xml
folder grouping some helpers forlxml.etree
such as:read
read_archive
write
add
remove
update_attrib
update_txt
update_txt_fct
convert_to_xml
df_to_xml
- FIX: Set
BIGTIFF=YES
when needed in memfile (IF_NEEDED
is not sufficient) - OPTIM: Reduce memory usage when passing xarrays to
rasters_rio
functions
- FIX: Allow BIGTIFF in memfiles
- FIX: Do not import
rasterio
andgeopandas
forci
functions that don't need it - FIX: Fixing pandas FutureWarning
The frame.append method is deprecated and will be removed from pandas in a future version.
- DEPS: Drop support of Python 3.7
- FIX: Do not call fiona drivers through geopandas in
vectors.set_kml_driver
- ENH: Adding useful AXA utils functions (
display.scale_to_uint8
andstrings.is_uuid
) #2 - OTHER: Log stack path when missing index in
rasters.read
- ENH: Creating a
vectors.make_valid
function based on shapely's #6 - ENH: Creating a
rasters_rio.reproject_match
function based on rioxarray's #3 - ENH: Creating a
rasters(_rio).rasterize
function base on rasterio's #5 - OPTIM: Do not copy array whith
rasters.set_nodata
- FIX: Manage
nodata
keyword inrasters_rio
- ENH: Add
get_archived_path
function infiles
- FIX: Add
errno.EINVAL
error infiles.is_writable
- DOC: Remove
Use it like OTB SuperImpose
from documentation - DOC: Update theme
- FIX: Add other loggers to
ci.reduce_verbosity
- FIX: Add checks for indexes in
rasters.read
- FIX: Fix bug with nodata in
rasters._vectorize
and rasters without nodata set
- ENH: Adding a
reduce_verbosity
function in CI - CI: Log debug when tests
- DOC: Copyright to 2022
- DOC: Some updates
- CI: Test code only if files have changed
- CI: Publishing wheel from GitHub instead of Gitlab
- OPT: Do not
export_grid_mapping
when usingrioxarray.open_rasterio
- FIX:
vectors.shapes_to_gdf
: Fix geometry when converting to geopandas - FIX:
rasters_rio.collocate
returns a masked_array if a masked_array is given as input - FIX: Use
--no-binary fiona,rasterio
directly inrequirements.txt
- FIX: Remove warnings
- CI: Clean
gitlab-ci
- REPO: Setting GitHub as the main repository and using new Gitlab runners
- ENH: Adding a
assert_geom_almost_equal
function - FIX: Better logs for CI functions
- FIX: Using
dill
instead ofpickle
as it works on more python types
- ENH: Add
read_archived_file
andread_archived_html
functions - FIX: Fixing ValueError in
rasters_rio.path_or_arr_or_dst_wrapper
(ambiguous test)
- BREAKING CHANGE: Removing
to_np
function (useless) - BREAKING CHANGE: Removing useless
dtype
argument from therasqters.sieve
function - FIX: Correcting the
sieving
function that misused nodata values - FIX: Correcting the
rasters_rio.write
function that modified the array instead of just writing it
- ENH: Adding
slope
andhillshade
functions (to bypassgdaldem
CLI)
- FIX: Handling more cases in
files.is_writable
- ENH: Adding
files.is_writable
function to test if a directory is writable or not - DOC: Using readthedocs instead of github docs
- FIX: Fixing python version in environment.yml
- FIX: Fixing driver to
GTiff
inrasters.write
- CI: Fixing dissolve with shapely < 1.8
- FIX: Checking path existence in
vectors.read
- FIX: Repair geometries in
vectorize
- FIX: Do not modify in place the input in
merge_vrt
(str
transformed inPath
) - CI: Stop writing vector on disk
- FIX: Managing dask arrays with rasterio
sieve
- CI: Testing properly
rasters
functions with dask
- ENH: Adding
ArcPyLogHandler
inarcpy
- FIX: Updating
init_conda_arcpy_env
- CI: Testing
rasters.read
with chunks
- ENH: Adding a function managing
arcpy
environment
- ENH: Enabling Dask and ensure the functions are Dask-compatible
- FIX: Fixing typo in
snap.get_gpt_cli
function (tileHeight
) - CI: Do not lint on tags
- CI: Test with Dask local cluster
- ENH: Making
add_to_zip
work with cloud zips - BREAKING CHANGE:
add_to_zip
outputs the completed path - FIX:
environment.yml
to respect the stricter use offile:
syntax. See here for more information. - FIX: Use
numpy>=1.21.2
to avoid a bug inrasterio.merge
withmin
/max
options. See here for more information. - CI: Do not run pytests on tags and discard
except
keywords
- ENH: Adding
ci.assert_raster_max_mismatch
allowing a mismatch between two rasters' pixels
- FIX: Fixing the management of shapefiles on the cloud (caching the .shp and all other files)
- FIX:
ci.assert_geom_equal
manages correctly GeoSeries - CI: renaming
build
step tolint
- CI: Optimizing the lib installation
rasters.write
andrasters_rio.write
:- Manage correctly BigTiffs with LZW compression
- Use the maximum number of available threads to compress
- Fix: clumsy metadata management in
rasters_rio.merge_gtiff
- ENH: We can use paths when testing with
ci.assert_geom_equal
- Fix: Fixing a bug when using relative path with a start that is not an exact root
- Adding a DOI and a .coveragerc
- Fix: JSON can serialize Pathlib objects
- Fix:
vectors.read
forces CRS to WGS84 for KML
- By default, using
BIGTFF=IF_NEEDED
when writing files on disk - Bug resolution when passing a rasterio dataset info
rasters
functions - Bug resolution for pathlib paths with
vectors.read
- Type hints updates
vectors.read
:- Manage IO[bytes] and other inputs instead of only path in vectors.read and set KML vectors to WGS84
- Manage Null Layer exception
- [CI] Updating CI to really test S3 data
- Handling S3 compatible storage data
- [vectors] Adding a read function handling KML, GML, archived vectors...
- [API break]
files.read_archived_vector
is removed (isevectors.read
instead) - [API break] Using pathlib objects instead of str
- CI: Updates
- Adding a
display
file - Adding a scaling function in
display
- Managing naive geometries in
vectors.open_gml
- Converting GML GeoDataFrame to the wanted CRS in
vectors.open_gml
- Popping
_FillValue
from xarray attribute (wrongly set there by sth) inrasters_rio.write
- Compressing to
LZW
by default inrasters.write
andrasters_rio.write
- Setting original dtype all the time in
rasters.read
- Add a
as_list
keyword tofiles.get_archived_rio_path()
- Add a
vectors.open_gml
overloadinggpd.read_file
for GML vectors in order to avoid exceptions for empty geometries
- Copy the
encoding
dict before setting the nodata
- Correct the original dtype in
rasters.read()
- Keep xarray attributes in
rasters.read()
- Pass the
encoding
dict inrasters.set_nodata()
- [rasters] Adding the possibility to specify an index
- [rasters_rio] Adding the possibility to use all
rio.read()
function arguments - [CI] Adding weekly tests with tox for py3.7, py3.8, py3.9 on Linux and Windows
- Using xarray 0.18+ and rioxarray 0.4+
- Fixing bug when array has no nodata in
rasters.to_np
- No need to set np.nan in xarray.where (default value)
- Missing
psutil
in setup.py and setting minimum versions
- Correctly manage nodata in
rasters.sieve
- Bug correction in
rasters.where
- Bad nodata setting in
rasters.paint
- Adding a function
rasters.paint
to fill a value where stands a polygon - Set the nodata after
rasters.mask
- Setting
from_disk=True
by default inrasters.crop
- Bug correction in
rasters.where
when setting nodata
- Fixing the original dtype management in the
rasters
decorator and in therasters.vectorize
- Fixing the parameter
dissolve
invectorize
function (invalid geometries...)
- Adding a parameter
dissolve
tovectorize
, allowing the user to retrieve a unique polygon
- JSON Encoder converts int32 to int for some system that needs it
rasters.where
: convert type only if needed and output a xarray.DataArray if master_xda is passed- Adding a parameter
keep_values
tovectorize
, allowing the user to discard the specified values
- Fixing regression in
rasters_rio.unpackbits
- Fixing regression in
ci.assert_raster_almost_equal
and always checking transform to 10-9
- Optimizing
rasters.read
(very slow function, maybe we need to take a look at that) - Optimizing
rasters.set_nodata
and inrasters_rio.unpackbits
- Other minor optimizations
- Managing exotic dtypes in
rasters.write
- Adding a
rasters.where
function preserving metadata and nodata - Fixing the case with
rasters.set_metadata
withxarray
without CRS
- Setting default nodata according to the dtype in
rasters.write
:- uint8: 255
- int8: -128
- uint16, uint32, int32, int64, uint64: 65535
- int16, float32, float64, float128, float: -9999
- [
rasters.read
]- Coarsen instead of reprojecting if possible (faster)
- Load as float32 if possible
- Updates in CI to automatically update documentation on Github on new tags
- Allowing
gpd.GeoDataFrames
incrop
/mask
- API break:
rasters_rio.write(array, path, meta)
becomesrasters_rio.write(array, meta, path)
!
- Do not lose attributes when using
rasters.set_nodata
- Discard locks when reading
xarrays
(inrasters.read
)
- Going Open Source