Major changes

  • Converted all functions to tmap version 4 (well, v3.99).

  • Discovered that the arcgisbinding::arc.open function now no longer works reliably (see issue #91).

  • Removed all remaining dependencies on the ESRI arcgisbinding R package as many of its primary IO functions are no longer reliably working. Removed remaining functions that relied on arc.open or arc.write:

    • arc_raster2SpatRaster replaced by gdb_raster2SpatRast
    • arc2sf replaced by fc2fs
    • get_arc_wkt
    • sf2arc_table
    • sf2arc
  • Discovered that the GDAL v3.7+ OpenFileGDB driver can now read rasters.

  • The terra package for rasters is currently bundled with > GDAL 3.7

> terra::gdal()
[1] "3.9.3"
>terra::gdal(drivers = TRUE) |> filter(name == 'OpenFileGDB')
         name raster vector        can  vsi    long.name
1 OpenFileGDB   TRUE   TRUE read/write TRUE ESRI FileGDB
  • Added a test function to verify that the GDAL OpenFileGDB driver can replace arcgisbindings.

Minor changes

  • Fixed some broken test data.

Major changes

  • Added the new Level 2 Report “b” version. This report sports new a cross section figure which is more compact and information dense. Updated the hydraulic dimensions table to only use cross section stations from within the channel portion of the cross section.
  • Updated the Level 1 Report “b” version. This report also sports a new cross section figure which is more compact information dense.
  • Refactored the fig_xs_profiles function into two functions, each specialized for either L1 or L2 reports. These figures were made more compact to ensure they fit on a single page.
  • Refactored the xs_compare_plot_L1 and xs_compare_plot_L2 functions to be more compact.
  • Added a new function table_xs_dimensions that returns a gtable object of hydraulic dimensions for a cross section.

Minor changes

  • Added the helper function justify_gtable to improve formatting of gtables.

Major changes

  • Added the report level_1_report_b to enable a modification of the level 1 workflow and improve cross section figures.
  • Added the new fig_xs_profiles figure to more compactly represent individual cross section maps and their plots.
  • Updated the map_xs function to map the channel and floodplain polygons instead of the banklines line feature class.
  • Extended the xs_compare_plot_L1 function to support filtering of cross section station locations to either all, floodplain, or channel.

Minor changes

  • Fixed a bug in the cross_section_dimensions_L2 function.

Major changes

  • None

Minor changes

  • Added the function sf2csv to eliminate the need for arcgisbinding functions to read and write data into file geodatabases.

Major changes

  • The function xs_geometry previously calculated the maximum cross section depth and was changed to calculate the mean depth of each cross section. This change was made to better align with the hydraulic geometry literature.
  • Configured the slope_sinuosity function to optionally smooth the flowline_points z-elevations. As the quality of LiDAR data collection continually increases, there is less need to smooth longitudinal profile z-elevations.

Minor changes

  • Added field survey test data.

Major changes

  • Removed all dependencies on the sp package ahead of its decommissioning in favor of the R package sf. This included converting all package data, tests, checks, and documentation.

Bug Fixes

  • Migrated to the mapboxapi R package to display aerial photos with labels on overview maps.

Minor changes

  • Continued substituting terra functions to replace raster functions ahead of its decommissioning.

Major changes

  • None

Bug Fixes

  • Removed immediate dependencies on rgdal to address issues with the Level 1 Reports failing. See Issue 26

Minor changes

  • None

Major changes

  • None

Bug Fixes

  • Added terrainr get_tiles function to address ceramic display issues for background elevation imagery in reports. See Issue 20

Minor changes

  • Added terra functions to replace raster functions in elevation map hillshade generation.

Major changes

  • None

Bug Fixes

  • Added maptiles get_tiles function to address ceramic display issues for aerial imagery in reports. See Issue 20

Major changes

  • Added the ability to turn off aerial or elevation backgrounds to map functions.

Bug Fixes

  • The R package ceramic is passing GDAL output that is interrupting the display of maps in reports.

Major changes

  • Added the sx2arc_table function to write sf and sp objects to a file geodatabase table.

Bug Fixes

  • Discovered that arcgisbinding::arc.write frequently fails writing feature classes to a geodatabase. “Wild caught” file geodatabase feature classes produced by the FluvialGeomorph-toolbox when converted to sp or sf inside fluvgeo frequently fail to create a valid feature class (i.e., missing geometry, no coordinate system) when saved to a file geodatabase using arc.write.

  • This behavior is described in the arcgisbinding issues listed below. These outstanding issues identify and generally discuss the problems, but provide no fix or clear workaround guidance.

  • The workarounds identified in these issues were implemented in the sp2arc and sf2arc functions. No combination of these suggestions were able to produce a reliable workaround.

  • Since no comprehensive solution is currently being provided for these issues in arc.write, we have chosen to minimize our exposure. We have decided to only write table data back to the file geodatabase.

  • If the arcgisbinging team addresses these issues, we may choose to go back to trusting the writing of file geodatabase feature classes using arc.write.


Bug Fixes

  • Updated the fc2sf function to enforce feature dataset usage.
  • Updated all test functions to reference test data in feature datasets.
  • Updated test data to use feature dataset for vector feature class storage. This implements the corrdinate reference system workaround.

Bug Fixes


Bug Fixes


Major Changes

  • Updated all metric calculations to include an additional variable for each metric modified to only contain the values within the logical limits of that metric. This improves interpretation by eliminating technical possible, but confusing results from the display. The unmodified variables are also included for review and troubleshooting.
  • Slope and sinuosity are now calculated based on an upstream AND downstream centered moving window. Previously the calculation had been made with just an upstream moving window 69d9835.

Bug Fixes

  • Updated and cleaned test data.

Major Changes

  • Updated the Estimate Bankfull report to use the riffle_floodplain feature class.

Bug Fixes

  • Updated Cole Creek test data.

Major Changes

  • Added the option to display an aerial photo or elevation background to the map_reach_metric function.

Bug Fixes

  • Updated the slope_sinuosity function to ensure that coordinate systems with linear units of meters, feet, or US survey feet are handled properly.

Bug Fixes

  • Fixed a bug that prevented the Level 1 and 2 reports from displaying slope.
  • Adjusted the loess_span default values.

Major Changes

  • Added the Level 3 report (formerly named the xs_metrics_report).
  • Added map_xs to the Level 1 and Estimate Bankfull reports.
  • Made the banklines parameter in map_xs optional to support its use in the Level 1 report and the Estimate Bankfull report before banklines are created.
  • Added the esri_raster2RasterLayer function to standardize raster retrieval.
  • Moved the legend of xs_compare_plot_L1 into the plot area to be consistent with the level 2 plots.

Bug Fixes

  • Clarified the x-axis label in the xs_compare_plot_* to more clearly communicate the orientation of the cross section.
  • Restructured the way XS maps are drawn in reports when called in a loop. Changed the map_xs function to accept a raster::RasterLayer so that the site DEM is only loaded once rather than being loaded each time the map_xs function is called.

Major Changes

  • Added a new Level 1 cross sections dimensions tool. This supports the new Level 1 workflow that calculates the dimensions possible at this stage of the analysis.
  • Updated the Level 1 Report with a new cross section metrics graph.
  • Updated the Estimate Bankfull Report cross section graphs to use a square aspect ratio.
  • Updated the Level 2 Report cross section graphs to use a wide aspect ratio.
  • Added a labeling frequency parameter to the following functions: xs_metrics_plot_L1, xs_metrics_plot_L2, compare_xs_long_profile, xs_long_profile, xs_profile_plot, map_reach_metric, xs_metric_plot.

Bug Fixes

  • Fixed Level 1 graph series order to match Level 2 report series order.
  • Added a parameter check to the check_cross_section_dimensions.
  • check_cross_section_dimensions now accepts sf input.
  • Fixed some failing tests.

Major Changes

  • Updated the Level 1 Report with new options.
  • Updated the Estimate Bankfull Report with new options.
  • Updated the Level 2 Report with new options.
  • Upgraded the map_reach_overview function to use aerial photos and coarse-scale elevation from Mapbox. This functionality is provided by the ceramic R package. Use of Mapbox requires an API key to access a relatively generous free tier of mapping services.
  • Added the Lever 2 compare xs plot graph that allows users to compare multiple surveys with the “base year” survey. Displays the detrended elevation for the “base year” survey.
  • Added level 2 test data for the Cole Creek R1 test site. This site contains multiple surveys.

Bug Fixes

  • Updated the map_reach_overview to use the ceramic R package to retrieve Mapbox aerial photos and coarse-scale elevation in place of the broken tmaptools::read_osm.
  • Removed the floodprone water surface series from the longitudinal profile graph.

Major Changes

  • The map_xs function now handles inputs in different coordinate systems. It does this by reprojecting all inputs to match the dem.
  • Added the flowline_metrics function that plots Level 1 metrics.

Bug Fixes

  • Made the cross section map optional in the Level 2 Report and the cross section metrics report. This works around a bug that causes reports to fail when the map_xs function is called in a report.
  • Fixed the xs_metrics_report.
  • Fixed examples.
  • Lots of little bug fixes. R CMD check now runs with only test errors.

Major Changes

  • Added the Level 2 Report.
  • Created a new Level 2 cross section metrics plot function, xs_metrics_plot_2 for the Level 2 Report that only displays xs metrics complete at Level 2.
  • Updated functions used in Level 1 and 2 reports to accept sf objects in addition to sp objects. sf` R package for spatial data.
  • Switched x-axis direction for all longitudinal profile graphs.

Bug Fixes

  • Sort Level 1 report cross sections.
  • Fixed Estimate Bankfull report.

Bug Fixes

  • Fixed several CMD Check issues.