Tools for processing and analyzing hydroacoustic survey data from lakes and reservoirs
Project description
HydroSurvey Tools
This is a groundup rewrite using modern pydata tools of algorithms originally described in my 2011 SciPy Talk - Improving efficiency and repeatability of lake volume estimates using Python.
Installation
- Download this code with git or download a zip file (click the green code icon) and unzip
- Download and install pixi from https://prefix.dev/
- Open a cmd/terminal window and navigate to the folder that contains this software
- run
pixi installto install the software
Usage
- Open a cmd/terminal window in the folder with the code
- run
pixi shellin the terminal to activate the environment - now you will have a tool called hstools, if you type
hstoolsyou will get a help message. hstools new-config <config.toml>will help you created a new config file with a guided wizardhstools interpolate-lake <config.toml>will run the interpolationhstools compute-eac <dem.tif> <output.csv>will create an elevation area capacity table from a demhstools guilaunches a gui version of the tool
Anisotropic Elliptical Inverse Distance Weighting (AEIDW) Lake Interpolation Algorithm
Input files and parameters required
- CSV file with survey data, fields: x-coord, y-coord, current surface elevation, preimpoundment elevation (optional)
- elevation: lake elevation at the boundary
- max segment length: this is used to add more vertices to the centerline to improve interpolation accuracy
- Shapefile of Lake boundary at a particular elevation. Elevation value set in the attribute table
- Interpolation Centerline Shapefile: This defines the direction of interpolation in a particular polygon
- polygon id: foreign key used to math centerlines with polygons
- max segment lenght: this is used to add more vertices to the centerline to improve interpolation accuracy
- Interpolation Polygons Shapefile, in the attribute table the following values are set for each polygon
- polygon id: foreign key used to connect polygons to centerlines
- grid spacing: density of generated target points in each polygon that the survey data is interpolated to
- priority: priority of the polygon, when polygons overlap target points in the overlap region use survey points from the higher priority polygon
- interpolation method: type of interpolation used in the polygon (currently AEIDW or CONSTANT)
- interpolation params: parameters needed by interpolation methos (currently ellipsivity for AEIDW or elevation value for CONSTANT)
- Polygon Buffer: Use some survey data in the buffer region around the polygon to avoid interpolation artifacts near the polygon boundaries
- nearest nieghbors: how many neighbors to include in the interpolation to each target point
Algorithm
The essential idea of AEIDW algorithm is that along channel bathymetric depths are likely to be more similar to each other than across channel. So we transform the data into a coordinate system that follows the channel and then scale the across channel coordinate by an ellipsivity factor. After this we do a regular inverse distance wieghting. Since the across channel points are now further away, this causes the interpolation to weight along channel survey data higher than across channel survey data.
- Add boundary data to survey data
- iterate through polygons
- Generate target points in each polygon
- Convert survey data and target points in each polygon into "S-N" coordinates, where S=distance along centerline and N-perpendicular distance from centerline
- Multiply "N" coordinate by "ellipsivity" factor.
- Interpolate data using Inverse Distance Weighting algorithm
- merge the target points with the original survey data
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hydrosurvey-0.4.1.tar.gz.
File metadata
- Download URL: hydrosurvey-0.4.1.tar.gz
- Upload date:
- Size: 79.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
849aa35bc7f78fac313e1c877e159eee6f2040b26b654c2421eaeeb0ef9cea3f
|
|
| MD5 |
aad168979419288af81beff81fdfa478
|
|
| BLAKE2b-256 |
de0e0333f97ae7c54b55dbec4b890b67e5d40482b448bf98d004ad017bfd6bf3
|
File details
Details for the file hydrosurvey-0.4.1-py3-none-any.whl.
File metadata
- Download URL: hydrosurvey-0.4.1-py3-none-any.whl
- Upload date:
- Size: 34.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a4b9070891a2026df5350abff3d3dce88e855e23066bbb41eb0bf4ad45139a8
|
|
| MD5 |
1a0c0113a1502ab0c85f146aad55a4fa
|
|
| BLAKE2b-256 |
92b33d8a233e2ebd5685c3a1209b318c97f810e17d60ef2df8bae074236c0d88
|