Getting Started#
Installation#
You can install CurviRiver using pip
:
$ pip install curviriver
or using conda
(mamba
):
$ conda install -c conda-forge curviriver
Quick start#
We demonstrate capabilities of CurviRiver by generating a curvilinear mesh along a portion of the Columbia River and interpolating eHydro topobathy data on to the generated mesh vertices. Please visit the example gallery for more examples.
First, we use PyGeoHydro
to retrieve eHydro data for a part of the Columbia River that topobathy data are
available. We get both the survey outline and the bathymetry data.
Then, we use the survey outline polygon to generate a curvilinear mesh.
We use the poly_segmentize
function for this purpose that has two
parameters: Spacing in streamwise direction and number of points in
cross-stream direction. The function returns a geopandas.GeoSeries
of the cross-sections, vertices of which are the mesh points.
from pygeohydro import EHydro
import curviriver as cr
ehydro = EHydro("outlines")
geom = ehydro.survey_grid.loc[ehydro.survey_grid["OBJECTID"] == 210, "geometry"].iloc[0]
outline = ehydro.bygeom(geom, ehydro.survey_grid.crs)
poly = outline.convex_hull.unary_union
spacing_streamwise = 2000
xs_npts = 5
stream = cr.poly_segmentize(poly, outline.crs, spacing_streamwise, xs_npts)