Releases: hyriver/pygeohydro
Releases · hyriver/pygeohydro
v0.16.0
Release Notes
Breaking Changes
- Bump the minimum supported version of
shapelyto 2.
Internal Changes
- Update the link to NWIS error codes tables in the
nwis_errorsfunction. - Update
NWISclass based on the latest changes to the NWIS web service. - Use the default tiles for the
interactive_mapfunction.
v0.15.2
Release Notes
New Features
- Add a new attribute to
EHydroclass calledsurvey_grid. It's ageopandas.GeoDataFramethat includes the survey grid of the eHydro dataset which is a 35-km hexagonal grid. - Add support for getting point cloud and survey outline data from eHydro. You can set
data_typeinEHydrotobathymetry,points,outlines, orcontoursto get the corresponding data. The default ispointssince this is the recommended data type by USACE. - Add
NFHLclass withinnfhlmodule to access FEMA's National Flood Hazard Layer (NFHL) using six different ArcGISRESTFul services. Contributed by Fernando Aristizabal. (108{.interpreted-text role="pull_hydro"})
Internal Changes
- Remove dependency on
dask. - Move all NLCD related functions to a separate module called
nlcd. This doesn't affect the API since the functions are still available underpygeohydronamespace.
v0.15.1
Release Notes
This release provides access to three new datasets:
- USACE Hydrographic Surveys (eHydro) and
- USGS Short-Term Network (STN) Flood Event Data (contributed by Fernando Aristizabal)
- NLCD 2021
New Features
- Add support for getting topobathymetry data from USACE Hydrographic Surveys (eHydro). The new class is called
EHydroand gives users the ability to subset the eHydro dataset by geometry, ID, or SQL queries. - Add new
stnfloodeventsmodule withSTNFloodEventDataclass for retrieving flood event data from the USGS Short-Term Network (STN) RESTful Service. This Python API abstracts away RESTful principles and produces analysis ready data in geo-referenced GeoDataFrames, DataFrames, lists, or dictionaries as desired. The core class methods available aredata_dictionary,get_all_data, andget_filtered_data. These class methods retrieve the data dictionaries by type, get all the available data by type, and make filtered requests for data by type as well, respectively. The four types of data includeinstruments,peaks,hwms, andsites. Contributed by Fernando Aristizabal. - Add a wrapper function for the
STNFloodEventDataclass calledstn_flood_event. - Add support for the new NLCD data (2021) for the three supported layers.
v0.15.0
Release Notes
From release 0.15 onward, all minor versions of HyRiver packages will be pinned. This ensures that previous minor versions of HyRiver packages cannot be installed with later minor releases. For example, if you have py3dep==0.14.x installed, you cannot install pydaymet==0.15.x. This is to ensure that the API is consistent across all minor versions.
New Features
- Add a new option to
NWIS.get_info, callednhd_info, for retrieving NHDPlus related info on the sites. This will two new service calls that might slow down the function, so it's disabled by default. - Update links in
NIDto the latest CSV and GPKG versions of the NID dataset. - Add two new properties to
NIDto access the entire NID dataset. You can useNID.dfto access the CSV version as apandas.DataFrameandNID.gdfto access the GPKG version as ageopandas.GeoDataFrame. Installingpyogriois highly recommended for much faster reading of the GPKG version. - Refactor
NID.bygeomto use the newNID.gdfproperty for spatial querying of the dataset. This change should make the query much faster. - For now, retain compatibility with
shapely<2while supportingshapley>=2.
v0.14.0
Release Notes
New Features
- Add a new function, called
nlcd_area_percent, for computing the percentages or natural, developed, and impervious areas within geometries of a givenGeoDataFrame. This function uses imperviousness and land use/land cover data from NLCD to compute the area percentages of the natural, developed, and impervious areas. For more information please refer to the function's documentation. - Add a new column to the dataframe returned by
NWIS.get_info, callednhd_comid, and renamedrain_sqkmtonhd_areasqkm. The new drainage area is the best available estimates of stations' drainage area that have been extracted from the NHDPlus. The newnhd_comidcolumn makes it easier to link stations to NHDPlus. - In
get_camels, returnqobswith negatives values set toNaN. Also, Add a new variable calledNewman_2017to both datasets for identifying the 531 stations that were used in Newman et al. (2017). - Add a new function, called
streamflow_fillna, for filling missing streamflow values (NAN) with day-of-year average values.
Breaking Changes
- Bump the minimum required version of
shapelyto 2.0, and use its new API.
Internal Changes
- Sync all minor versions of HyRiver packages to 0.14.0.
- Improve performance of all NLCD functions by merging two methods of the
NLCDand also reducing the memory footprint of the functions.
v0.13.12
Release Notes
New Features
- Add initial support for SensorThings API Currently, the
SensorThingsclass only supportsThingsendpoint. Users need to provide a valid Odata filter. The class has aodata_helperfunction that can be used to generate and validate Odata filters. Additionally, usingsensor_infoandsensor_propertyfunctions users can request for information about sensors themselves or their properties.
Internal Changes
- Simplify geometry validation by using
pygeoutils.geo2polygonfunction inssebopeta_bygeom. - Fully migrate
setup.cfgandsetup.pytopyproject.toml. - Convert relative imports to absolute with
absolufy-imports. - Sync all patch versions of HyRiver packages to x.x.12.
v0.13.10
Release Notes
Breaking Changes
- The NID service has changed some of its endpoints to use Federal ID instead of Dam ID. This change affect the
NID.inventory_byidfunction. This function now accepts Federal IDs instead of dam IDs.
New Features
- Refactor the
show_versionsfunction to improve performance and print the output in a nicer table-like format.
Internal Changes
- Use the new
pygeoogc.streaming_downloadfunction inhuc_wb_fullto improve performance and reduce code complexity. - Skip 0.13.9 version so the minor version of all HyRiver packages become the same.
- Modify the codebase based on the latest changes in
geopandasrelated to empty dataframes. - Use
pyrightfor static type checking instead ofmypyand address all typing issues that it raised.
v0.13.8
Release Notes
New Features
- Add a function called
huc_wb_fullthat returns the full watershed boundaryGeoDataFrameof a given HUC level. If only a subset of HUCs is needed thepygeohydro.WBDclass should be used. The full dataset is downloaded from the National Maps' WBD staged products. - Add a new function called
irrigation_withdrawalsfor retrieving estimated monthly water use for irrigation by 12-digit hydrologic unit in the CONUS for 2015 from ScienceBase. - Add a new property to
NID, calleddata_unitsfor indicating the units of NID dataset variables. - The
get_us_statesnow acceptsconusas asubset_keywhich is equivalent tocontiguous.
Internal Changes
- Add
get_us_statesto__init__file, so it can be loaded directly, e.g.,gh.get_us_states("TX"). - Modify the codebase based on Refurb suggestions.
- Significant performance improvements in
NWIS.get_streamflowespecially for large requests by refactoring the timezone handling.
Bug Fixes
- Fix the dam types and purposes mapping dictionaries in
NIDclass.
v0.13.7
Release Notes
New Features
- Add a two new function for retrieving soil properties across the US:
soil_properties: Porosity, available water capacity, and field capacity,soil_gnatsgo: Soil properties from the gNATSGO database.
- Add a new help function called
state_lookup_tablefor getting a lookup table of US states and their counties. This can be particularly useful for mapping the digitstate_cdandcounty_cdthat NWIS returns to state names/codes. - Add support for getting individual state geometries using
get_us_statesfunction by passing their two letter state code. Also, use TIGER 2022 data for the US states and counties instead of TIGER 2021.
Internal Changes
- Remove
proplotas a dependency and usematplotlibinstead.
v0.13.6
Release Notes
Internal Changes
- Add the missing PyPi classifiers for the supported Python versions.