In [6]:
Copied!
import geopandas as gpd
import rioxarray as rxr
import matplotlib.pyplot as plt
from streamkit import delineate_reaches, vectorize_streams, flow_accumulation_workflow
import geopandas as gpd
import rioxarray as rxr
import matplotlib.pyplot as plt
from streamkit import delineate_reaches, vectorize_streams, flow_accumulation_workflow
In [2]:
Copied!
dem = rxr.open_rasterio("data/sample_dem.tif", masked=True).squeeze()
streams = rxr.open_rasterio("data/sample_streams.tif").squeeze()
cdem, flow_directions, flow_accumulation = flow_accumulation_workflow(dem)
dem = rxr.open_rasterio("data/sample_dem.tif", masked=True).squeeze()
streams = rxr.open_rasterio("data/sample_streams.tif").squeeze()
cdem, flow_directions, flow_accumulation = flow_accumulation_workflow(dem)
In [3]:
Copied!
reaches = delineate_reaches(streams, dem, flow_directions, flow_accumulation, penalty=5, min_length=500, smooth_window=5, threshold_degrees=1)
reaches = delineate_reaches(streams, dem, flow_directions, flow_accumulation, penalty=5, min_length=500, smooth_window=5, threshold_degrees=1)
In [4]:
Copied!
vreaches = vectorize_streams(reaches, flow_directions, flow_accumulation)
vstreams = vectorize_streams(streams, flow_directions, flow_accumulation)
vreaches = vectorize_streams(reaches, flow_directions, flow_accumulation)
vstreams = vectorize_streams(streams, flow_directions, flow_accumulation)
In [5]:
Copied!
fig, axes = plt.subplots(1,2, figsize=(12,6))
vstreams['color_idx'] = range(len(vstreams))
vreaches['color_idx'] = range(len(vreaches))
dem.plot(ax=axes[0], add_colorbar=False)
vstreams.plot(ax=axes[0], column='color_idx', cmap='tab20', legend=False)
dem.plot(ax=axes[1], add_colorbar=False)
vreaches.plot(ax=axes[1], column='color_idx', cmap='tab20', legend=False)
fig, axes = plt.subplots(1,2, figsize=(12,6))
vstreams['color_idx'] = range(len(vstreams))
vreaches['color_idx'] = range(len(vreaches))
dem.plot(ax=axes[0], add_colorbar=False)
vstreams.plot(ax=axes[0], column='color_idx', cmap='tab20', legend=False)
dem.plot(ax=axes[1], add_colorbar=False)
vreaches.plot(ax=axes[1], column='color_idx', cmap='tab20', legend=False)
Out[5]:
<Axes: title={'center': 'band = 1, spatial_ref = 0'}, xlabel='x', ylabel='y'>