Giter Site home page Giter Site logo

fluvialgeomorph / fluvgeo Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 0.0 216.36 MB

An R Package for Performing Fluvial Geomrphology Analysis.

Home Page: https://fluvialgeomorph.github.io/fluvgeo/

License: Creative Commons Zero v1.0 Universal

R 100.00%
fluvial-geomorphology lidar r r-package

fluvgeo's Introduction

FluvialGeomorph ArcGIS toolbox

The FluvialGeomorph ArcGIS toolbox provides a set of tools for extracting river channel dimensions from high resolution terrain data.

Project Status

Maturing Project Status: Active The project has reached a stable, usable state and is being actively developed. packageversion Last-changedate Licence

Description

The FluvialGeomorph ArcGIS toolbox is a Python/R toolbox used to rapidly assess stream condition and health using remotely sensed terrain data (LiDAR) at fine scale and for large spatial extents. This toolbox was initially inspired by the approach and techniques of the River Bathymetry Toolkit, RBT but expanded upon their effort by adding additional analysis tools and reports. This project is open source to help ensure that these fluvial geomorphology tools remain available for the widest use, maintenance, and adaptation.


Funding

Funding for development and maintenance of FluvialGeomorph has been provided by the following US Army Corps of Engineers (USACE) programs:


Latest Updates

Check out the NEWS for details on the latest updates.


Authors


Install

To install the FluvialGeomorph ArcGIS toolbox, click the latest release above, and download the .zip archive. Unzip this archive into a working folder and open the FluvialGeomorph ArcGIS toolbox in ArcMap or ArcGIS Pro. R must be installed for many of the tools in this toolbox to work. Please see the NEWS for the software compatibility matrix and release notes. See the User Manual for more details on getting started.


Getting Started

Use the following guides to learn how to use the FluvialGeomorph ArcGIS toolbox.


Bug Reports

If you find any bugs while using the FluvialGeomorph ArcGIS toolbox, please open an issue in this repository.


Credits

fluvgeo's People

Contributors

bchileen avatar mpdougherty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

fluvgeo's Issues

Choose the x-axis units for longitudinal profile graphs

The compare_long_profile and compare_xs_long_profile functions allow the user to choosethe units for the x-axis. This needs to be done for all current and future "longitudinal profile" graphs:

  • xs_profile_plot
  • xs_metric_plot
  • xs_metrics_plot_2

Add a new Level 1 report graph to display WSE, slope, and sinuosity

The Level 1 report could be improved by adding a graph of WSE, slope, and sinuosity. All of these metrics are able to be calculated at the Level 1 stage. After running the "Flowline Points" tool, a user would run the "Gradient" tool to calculate the slope and sinuosity. This plot would display WSE (smoothed?), slope, and sinuosity. It would be added to the Level 1 report after the XS longitudinal profile plot.

Add a direction of flow indicator to `map_xs`

When zoomed in tight on a cross section, one has to remember from the reach overview map, what is the direction of flow. A "direction of flow indicator" would be helpful to orient the reader.

Organize functions with topical prefixes

To help group the growing number of functions by type, functions could be organized using topical prefixes:

  • map_ - Functions that produce maps.
  • plot_ - Functions that produce plots (graph figures).
  • metric_ - Functions that calculate metrics.
  • check_ - Functions that check feature class schemas.
  • report_ - Functions that produce reports.
  • arc_ - Functions that import data from ESRI products using the arcgisbinding package.
  • sf_ - Functions that convert to sf.
  • util_ - Functions that don't warrant a unique group.

Add graphs to Estimate Bankfull report

Add the following graphs to the Estimate Bankfull report:

  • longitudinal profile graph using riffles
  • level 2 metrics
  • remove floodprone from the longitudinal profile graphs

Don't label every map cross section

Don't label every cross section on the map as it is unreadable when the XSs are closely spaced. Change symbol to a solid point and label every 10th XS with a label.

image

Maptile replacement

Identify and implement a map tile/basemap replacement option to mitigate errors with ceramic

Fix report `ggrepel` warnings

Reports L2 and L3 are issuing ggrepel warnings about too many overlapping labels causing unlabeled points. Not clear which plot is causing the warnings.

warn user of missing DEM or detrend values

The cross section points feature classes should not have missing DEM or detrend elevation values. If they do, the cross section extended further than the raster. Warn the user to fix these before proceeding.

GOF series check

The estimate_bankfull_report function calls the xs_dimensions and the build_gof_stats functions that both require the parameter bankfull_elevations. The bankfull_elevations parameter is a series that must contain the value of the bf_estimate. Build a check that warns the user if the bf_estimate is not in the bankfull_elevations series.

Reverse the direction of the `xs_profile_plot`

Historically longitudinal profile plots have displayed the upstream end of a reach on the left side of the graph (ggplot::x_coord_reverse). However, this goes against the typical graph layout with y-axis and x-axis origin in the lower left. More recent longitudinal Level 1 longitudinal profile graphs in fluvgeo (i.e., compare_long_profile, compare_xs_long_profile) have been built using this more common approach.

If we decide to make this change it will effect several other graphs (Regional Hydraulic Geometry Curves, and Cross Section Metric graphs). Do all of these changes need to be made at the same time?

Add aerial photos to `map_reach_overview`

The map_reach_overview function must have an aerial photo background to allow the user to identify the context of each cross section. The tmap::read_osm that was used to display aerial photos is no longer working. Find a replacement.

Can we remove the `pander` reference?

In the spirit of reducing dependencies, determine if the pander dependency is still required. It originally was used to help format report headings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.