Calculates planform dimensions (bend radius of curvature, meander wavelength, and meander belt width) for each bend and loop in the input `bankline_points` data frame.
planform(bankline_points)
Returns a data frame of bends with the calculated planform dimensions.
pf <- planform(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"
#> [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"
#> [1] "Calculate the bend radius of curvature"
#> [1] "Loop: 1"
#> [1] " Bend: 1"
#> [1] " bend_POINT_X 706746.54"
#> [1] " bend_POINT_Y 4705239.69"
#> [1] " bend_radius 415.14"
#> [1] "Loop: 2"
#> [1] " Bend: 1"
#> [1] " bend_POINT_X 706370.89"
#> [1] " bend_POINT_Y 4705405.61"
#> [1] " bend_radius 92.67"
#> [1] " Bend: 2"
#> [1] " bend_POINT_X 706337.08"
#> [1] " bend_POINT_Y 4705492.17"
#> [1] " bend_radius 87.9"
#> [1] "Loop: 3"
#> [1] " Bend: 1"
#> [1] " bend_POINT_X 706256.49"
#> [1] " bend_POINT_Y 4705479"
#> [1] " bend_radius 43.91"
#> [1] " Bend: 2"
#> [1] " bend_POINT_X 706314.2"
#> [1] " bend_POINT_Y 4705596.35"
#> [1] " bend_radius 147.77"
#> [1] "Loop: 4"
#> [1] " Bend: 1"
#> [1] " bend_POINT_X 705966.82"
#> [1] " bend_POINT_Y 4706400.47"
#> [1] " bend_radius 752.36"
#> [1] " Bend: 2"
#> [1] " bend_POINT_X 706592"
#> [1] " bend_POINT_Y 4706245.39"
#> [1] " bend_radius 150.26"
#> [1] "Loop: 5"
#> [1] " Bend: 1"
#> [1] " bend_POINT_X 707069.87"
#> [1] " bend_POINT_Y 4706526.28"
#> [1] " bend_radius 475"
#> [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"
#> [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"