Calculates the meander length (wavelength) for each loop in the input `bankline_points` data frame.

meander_length(bankline_points)

Arguments

bankline_points

sf data.frame; a fluvgeo bankline_points data structure.

Value

Returns a data frame of loops with the calculated meander length in units feet.

Examples

meander_length(fluvgeo::sin_bankline_points_sf)
#> [1] "Diagnostic report of bankline points"
#> [1] "Loop 1"
#> [1] "    Apex: TRUE   Route-M: 237.63"
#> [1] "    last loop bank: "
#> [1] "    current loop bank: right descending"
#> [1] "        Bend 1"
#> [1] "            Start: TRUE Route-M: 33.25"
#> [1] "            End: TRUE   Route-M: 296.39"
#> [1] "            bank: right descending"
#> [1] "            min_loop_m: 33.25"
#> [1] "            max_loop_m: 296.39"
#> [1] "            min_last_bend_m: 33.25"
#> [1] "            max_last_bend_m: 296.39"
#> [1] "    ** The Loop 1 apex point is located within the loop."
#> [1] "Loop 2"
#> [1] "    Apex: TRUE   Route-M: 572.41"
#> [1] "    last loop bank: right descending"
#> [1] "    current loop bank: left descending"
#> [1] "        Bend 1"
#> [1] "            Start: TRUE Route-M: 286.12"
#> [1] "            End: TRUE   Route-M: 482.15"
#> [1] "            bank: left descending"
#> [1] "            min_loop_m: 286.12"
#> [1] "            max_loop_m: 482.15"
#> [1] "            min_last_bend_m: 286.12"
#> [1] "            max_last_bend_m: 482.15"
#> [1] "        Bend 2"
#> [1] "            Start: TRUE Route-M: 498.39"
#> [1] "            End: TRUE   Route-M: 720.69"
#> [1] "            bank: left descending"
#> [1] "            min_loop_m: 286.12"
#> [1] "            max_loop_m: 720.69"
#> [1] "            min_last_bend_m: 286.12"
#> [1] "            max_last_bend_m: 482.15"
#> [1] "            ** Bend 2 is upstream of Bend 1"
#> [1] "    ** The Loop 2 apex point is located within the loop."
#> [1] "    ** Loop 2 points are located on the opposite bank from Loop 1"
#> [1] "Loop 3"
#> [1] "    Apex: TRUE   Route-M: 998.08"
#> [1] "    last loop bank: left descending"
#> [1] "    current loop bank: right descending"
#> [1] "        Bend 1"
#> [1] "            Start: TRUE Route-M: 699.88"
#> [1] "            End: TRUE   Route-M: 888.34"
#> [1] "            bank: right descending"
#> [1] "            min_loop_m: 699.88"
#> [1] "            max_loop_m: 888.34"
#> [1] "            min_last_bend_m: 699.88"
#> [1] "            max_last_bend_m: 888.34"
#> [1] "        Bend 2"
#> [1] "            Start: TRUE Route-M: 900.55"
#> [1] "            End: TRUE   Route-M: 1248.2"
#> [1] "            bank: right descending"
#> [1] "            min_loop_m: 699.88"
#> [1] "            max_loop_m: 1248.2"
#> [1] "            min_last_bend_m: 699.88"
#> [1] "            max_last_bend_m: 888.34"
#> [1] "            ** Bend 2 is upstream of Bend 1"
#> [1] "    ** The Loop 3 apex point is located within the loop."
#> [1] "    ** Loop 3 points are located on the opposite bank from Loop 2"
#> [1] "Loop 4"
#> [1] "    Apex: TRUE   Route-M: 1920.21"
#> [1] "    last loop bank: right descending"
#> [1] "    current loop bank: left descending"
#> [1] "        Bend 1"
#> [1] "            Start: TRUE Route-M: 1217.34"
#> [1] "            End: TRUE   Route-M: 1755.37"
#> [1] "            bank: left descending"
#> [1] "            min_loop_m: 1217.34"
#> [1] "            max_loop_m: 1755.37"
#> [1] "            min_last_bend_m: 1217.34"
#> [1] "            max_last_bend_m: 1755.37"
#> [1] "        Bend 2"
#> [1] "            Start: TRUE Route-M: 1770.34"
#> [1] "            End: TRUE   Route-M: 2228.29"
#> [1] "            bank: left descending"
#> [1] "            min_loop_m: 1217.34"
#> [1] "            max_loop_m: 2228.29"
#> [1] "            min_last_bend_m: 1217.34"
#> [1] "            max_last_bend_m: 1755.37"
#> [1] "            ** Bend 2 is upstream of Bend 1"
#> [1] "    ** The Loop 4 apex point is located within the loop."
#> [1] "    ** Loop 4 points are located on the opposite bank from Loop 3"
#> [1] "Loop 5"
#> [1] "    Apex: TRUE   Route-M: 2629.73"
#> [1] "    last loop bank: left descending"
#> [1] "    current loop bank: right descending"
#> [1] "        Bend 1"
#> [1] "            Start: TRUE Route-M: 2325.57"
#> [1] "            End: TRUE   Route-M: 3048.42"
#> [1] "            bank: right descending"
#> [1] "            min_loop_m: 2325.57"
#> [1] "            max_loop_m: 3048.42"
#> [1] "            min_last_bend_m: 2325.57"
#> [1] "            max_last_bend_m: 3048.42"
#> [1] "    ** The Loop 5 apex point is located within the loop."
#> [1] "    ** Loop 5 points are located on the opposite bank from Loop 4"
#>   bank_POINT_X bank_POINT_Y bank_POINT_M    DEM_Z valley_POINT_X valley_POINT_Y
#> 1     706325.1      4705331     237.6289 639.3160       706385.9        4705318
#> 2     706398.9      4705558     572.4144 640.8136       706348.1        4705496
#> 3     706173.5      4705569     998.0796 644.4735       706222.4        4705566
#> 4     706731.7      4706227    1920.2126 653.1224       706673.1        4706220
#> 5     706602.4      4706634    2629.7267 656.7055       706653.0        4706621
#>   valley_POINT_M loop downstream_x downstream_y meander_length
#> 1       217.0688    1     706173.5      4705569       924.6888
#> 2       409.5599    2     706731.7      4706227      2450.4552
#> 3       567.5279    3     706602.4      4706634      3765.8430
#> 4      1386.5629    4     706602.4      4706634      1400.3007
#> 5      1792.4194    5     706602.4      4706634         0.0000