Skip to contents

Places distances from hydro locations on the flowlines of x, the inverse of add_hydro_location_distance(). Each record gives an aggregate_id, a hydro_location_id and a distance_km, and the result adds the flowline id and id_measure at that distance. An aggregate flowpath is the run of flowlines that share an aggregate_id and link end to end, such as an identified mainstem.

Because a record points to a hydro location rather than to a flowline, x does not have to be the network the distance was recorded on. A distance recorded on NHDPlusV2 can be placed on 3DHP, as long as both carry the same aggregate_id values and hydro_locations is on x, for example get_confluences(x).

A transferred position is approximate in absolute terms. x has unique flowlines and puts the hydro location at its own location along them, so distance_km laid out on x may not land at the same point on the ground as it did on the network it was recorded on. However, which side of the referenced hydro location the position is on is transfered intact. For a confluence that is what matters: crossing it changes the upstream drainage by a whole tributary basin, while moving along the mainstem between confluences changes it only by local drainage. Where a position has to be exact on x, index the original point on x instead. The mainstem referencing article shows a worked case: https://doi-usgs.github.io/hydroloom/articles/mainstem_referencing.html

Usage

index_hydro_location_distance(positions, hydro_locations, x)

# S3 method for class 'data.frame'
index_hydro_location_distance(positions, hydro_locations, x)

# S3 method for class 'hy'
index_hydro_location_distance(positions, hydro_locations, x)

# S3 method for class 'hy_topo'
index_hydro_location_distance(positions, hydro_locations, x)

# S3 method for class 'hy_node'
index_hydro_location_distance(positions, hydro_locations, x)

Arguments

positions

data.frame. Records with aggregate_id, hydro_location_id and distance_km.

hydro_locations

data.frame. Hydro locations to measure from, with aggregate_id, hydro_location_id, id and id_measure, on x (for example the output of get_confluences(x)).

x

hy_topo or hy_node, or a data.frame coercible with hy(). Carries aggregate_id and length_km. A topo_sort column keeps building the aggregate flowpath axis cheap; without it a full topological sort is run.

Value

positions with id, id_measure, past_end_km and status added. status is placed, hydro_location_not_in_x or past_end, as described in Details.

Details

Each record's hydro location is converted to kilometers along the aggregate flowpath axis of x (the aggregate flowpath measured from its downstream end), distance_km is added, and the flowline holding the result is found. A result that lands on a boundary between two flowlines goes to the lower one, at id_measure 100. distance_km uses the sign convention of add_hydro_location_distance(): negative downstream, positive upstream.

status reports what happened to each record. placed is a normal result. hydro_location_not_in_x means the aggregate_id and hydro_location_id pair is not in hydro_locations, or that hydro location is not on x, and id and id_measure are NA. past_end means the distance runs past the downstream or upstream end of the aggregate flowpath's flowlines in x (a truncated network, for example). The record is placed at that end, at id_measure 0 or 100, and past_end_km gives how far past the end it reached.

Measures

id_measure is an interpolative measure along a single flowline: a percent of the line from its outlet, 0 at the outlet (downstream end) and 100 at the inlet (upstream, head end).

Examples

g <- sf::read_sf(system.file("extdata/new_hope.gpkg", package = "hydroloom"))
csv <- utils::read.csv(
  system.file("extdata/new_hope_mainstems.csv", package = "hydroloom"))

g$mainstemid <- csv$mainstem_uri[match(g$COMID, csv$comid)]
g$REACHCODE <- NULL

net <- add_toids(hy(g))

confluences <- get_confluences(net)

# 0.5 km upstream of each confluence, back to a flowline id and measure
records <- data.frame(
  aggregate_id = confluences$aggregate_id,
  hydro_location_id = confluences$hydro_location_id,
  distance_km = 0.5)

index_hydro_location_distance(records, confluences, net)
#>                                   aggregate_id
#> 1   https://geoconnex.us/ref/mainstems/2408627
#> 2   https://geoconnex.us/ref/mainstems/2408627
#> 3   https://geoconnex.us/ref/mainstems/2408056
#> 4   https://geoconnex.us/ref/mainstems/2080102
#> 5   https://geoconnex.us/ref/mainstems/2080102
#> 6   https://geoconnex.us/ref/mainstems/2080102
#> 7   https://geoconnex.us/ref/mainstems/2408909
#> 8   https://geoconnex.us/ref/mainstems/2408909
#> 9   https://geoconnex.us/ref/mainstems/2408909
#> 10  https://geoconnex.us/ref/mainstems/2408909
#> 11  https://geoconnex.us/ref/mainstems/2408909
#> 12   https://geoconnex.us/ref/mainstems/543642
#> 13   https://geoconnex.us/ref/mainstems/543642
#> 14  https://geoconnex.us/ref/mainstems/2623506
#> 15  https://geoconnex.us/ref/mainstems/2071115
#> 16  https://geoconnex.us/ref/mainstems/2071115
#> 17  https://geoconnex.us/ref/mainstems/1206983
#> 18  https://geoconnex.us/ref/mainstems/1206983
#> 19  https://geoconnex.us/ref/mainstems/1800191
#> 20  https://geoconnex.us/ref/mainstems/1206983
#> 21  https://geoconnex.us/ref/mainstems/2071115
#> 22  https://geoconnex.us/ref/mainstems/2071115
#> 23  https://geoconnex.us/ref/mainstems/1719277
#> 24  https://geoconnex.us/ref/mainstems/2408909
#> 25  https://geoconnex.us/ref/mainstems/2408909
#> 26  https://geoconnex.us/ref/mainstems/2408909
#> 27  https://geoconnex.us/ref/mainstems/2408909
#> 28  https://geoconnex.us/ref/mainstems/2408909
#> 29  https://geoconnex.us/ref/mainstems/1800585
#> 30  https://geoconnex.us/ref/mainstems/2408909
#> 31  https://geoconnex.us/ref/mainstems/1829198
#> 32  https://geoconnex.us/ref/mainstems/2408909
#> 33   https://geoconnex.us/ref/mainstems/561023
#> 34  https://geoconnex.us/ref/mainstems/2408847
#> 35  https://geoconnex.us/ref/mainstems/2408847
#> 36  https://geoconnex.us/ref/mainstems/2408847
#> 37  https://geoconnex.us/ref/mainstems/2408847
#> 38  https://geoconnex.us/ref/mainstems/1041081
#> 39  https://geoconnex.us/ref/mainstems/2408847
#> 40  https://geoconnex.us/ref/mainstems/2408847
#> 41  https://geoconnex.us/ref/mainstems/2408847
#> 42  https://geoconnex.us/ref/mainstems/2408847
#> 43  https://geoconnex.us/ref/mainstems/2408847
#> 44  https://geoconnex.us/ref/mainstems/1323226
#> 45  https://geoconnex.us/ref/mainstems/2477494
#> 46  https://geoconnex.us/ref/mainstems/2408847
#> 47  https://geoconnex.us/ref/mainstems/2302805
#> 48  https://geoconnex.us/ref/mainstems/2408847
#> 49  https://geoconnex.us/ref/mainstems/2408056
#> 50   https://geoconnex.us/ref/mainstems/802531
#> 51   https://geoconnex.us/ref/mainstems/802531
#> 52   https://geoconnex.us/ref/mainstems/802531
#> 53   https://geoconnex.us/ref/mainstems/802531
#> 54  https://geoconnex.us/ref/mainstems/2038082
#> 55   https://geoconnex.us/ref/mainstems/802531
#> 56  https://geoconnex.us/ref/mainstems/1142255
#> 57  https://geoconnex.us/ref/mainstems/2408056
#> 58  https://geoconnex.us/ref/mainstems/2408056
#> 59  https://geoconnex.us/ref/mainstems/2408056
#> 60  https://geoconnex.us/ref/mainstems/2034103
#> 61  https://geoconnex.us/ref/mainstems/2034103
#> 62  https://geoconnex.us/ref/mainstems/2034103
#> 63  https://geoconnex.us/ref/mainstems/1132235
#> 64  https://geoconnex.us/ref/mainstems/1132235
#> 65  https://geoconnex.us/ref/mainstems/2034103
#> 66  https://geoconnex.us/ref/mainstems/2034103
#> 67  https://geoconnex.us/ref/mainstems/2408056
#> 68   https://geoconnex.us/ref/mainstems/621723
#> 69   https://geoconnex.us/ref/mainstems/621723
#> 70   https://geoconnex.us/ref/mainstems/621723
#> 71  https://geoconnex.us/ref/mainstems/2408056
#> 72  https://geoconnex.us/ref/mainstems/2408056
#> 73  https://geoconnex.us/ref/mainstems/2408056
#> 74  https://geoconnex.us/ref/mainstems/2408056
#> 75  https://geoconnex.us/ref/mainstems/2408056
#> 76  https://geoconnex.us/ref/mainstems/2408056
#> 77  https://geoconnex.us/ref/mainstems/1042508
#> 78  https://geoconnex.us/ref/mainstems/2408056
#> 79  https://geoconnex.us/ref/mainstems/2408056
#> 80   https://geoconnex.us/ref/mainstems/998992
#> 81   https://geoconnex.us/ref/mainstems/998992
#> 82  https://geoconnex.us/ref/mainstems/2408056
#> 83  https://geoconnex.us/ref/mainstems/2408056
#> 84  https://geoconnex.us/ref/mainstems/2408056
#> 85  https://geoconnex.us/ref/mainstems/1060915
#> 86  https://geoconnex.us/ref/mainstems/2408056
#> 87  https://geoconnex.us/ref/mainstems/2408056
#> 88  https://geoconnex.us/ref/mainstems/2408056
#> 89  https://geoconnex.us/ref/mainstems/2408056
#> 90   https://geoconnex.us/ref/mainstems/545496
#> 91  https://geoconnex.us/ref/mainstems/2408056
#> 92  https://geoconnex.us/ref/mainstems/2408056
#> 93  https://geoconnex.us/ref/mainstems/2638413
#> 94   https://geoconnex.us/ref/mainstems/896369
#> 95  https://geoconnex.us/ref/mainstems/2638413
#> 96  https://geoconnex.us/ref/mainstems/2408056
#> 97   https://geoconnex.us/ref/mainstems/536579
#> 98    https://geoconnex.us/ref/mainstems/21118
#> 99    https://geoconnex.us/ref/mainstems/21118
#> 100   https://geoconnex.us/ref/mainstems/21118
#> 101   https://geoconnex.us/ref/mainstems/21118
#> 102   https://geoconnex.us/ref/mainstems/21118
#> 103   https://geoconnex.us/ref/mainstems/21118
#> 104   https://geoconnex.us/ref/mainstems/21118
#> 105  https://geoconnex.us/ref/mainstems/364587
#> 106 https://geoconnex.us/ref/mainstems/2408627
#> 107  https://geoconnex.us/ref/mainstems/464344
#> 108  https://geoconnex.us/ref/mainstems/464344
#> 109 https://geoconnex.us/ref/mainstems/1214576
#> 110  https://geoconnex.us/ref/mainstems/464344
#> 111 https://geoconnex.us/ref/mainstems/2408627
#> 112 https://geoconnex.us/ref/mainstems/2408627
#> 113 https://geoconnex.us/ref/mainstems/2408627
#> 114 https://geoconnex.us/ref/mainstems/2408627
#> 115 https://geoconnex.us/ref/mainstems/2408627
#> 116  https://geoconnex.us/ref/mainstems/948451
#> 117  https://geoconnex.us/ref/mainstems/948451
#> 118 https://geoconnex.us/ref/mainstems/2408627
#> 119 https://geoconnex.us/ref/mainstems/2408627
#> 120 https://geoconnex.us/ref/mainstems/2408627
#> 121 https://geoconnex.us/ref/mainstems/2408627
#> 122   https://geoconnex.us/ref/mainstems/99426
#> 123 https://geoconnex.us/ref/mainstems/2308315
#> 124   https://geoconnex.us/ref/mainstems/99426
#> 125   https://geoconnex.us/ref/mainstems/99426
#> 126   https://geoconnex.us/ref/mainstems/99426
#> 127  https://geoconnex.us/ref/mainstems/845610
#> 128  https://geoconnex.us/ref/mainstems/845610
#> 129   https://geoconnex.us/ref/mainstems/99426
#> 130 https://geoconnex.us/ref/mainstems/1093187
#> 131 https://geoconnex.us/ref/mainstems/1757158
#> 132 https://geoconnex.us/ref/mainstems/2638413
#> 133 https://geoconnex.us/ref/mainstems/2638413
#> 134 https://geoconnex.us/ref/mainstems/2408056
#> 135 https://geoconnex.us/ref/mainstems/1458917
#> 136 https://geoconnex.us/ref/mainstems/1033648
#> 137 https://geoconnex.us/ref/mainstems/2408056
#> 138 https://geoconnex.us/ref/mainstems/2638413
#> 139 https://geoconnex.us/ref/mainstems/2408056
#> 140 https://geoconnex.us/ref/mainstems/2408847
#> 141 https://geoconnex.us/ref/mainstems/2408627
#> 142 https://geoconnex.us/ref/mainstems/2408627
#> 143 https://geoconnex.us/ref/mainstems/2408847
#> 144 https://geoconnex.us/ref/mainstems/2408056
#> 145 https://geoconnex.us/ref/mainstems/2408056
#> 146 https://geoconnex.us/ref/mainstems/2638413
#> 147 https://geoconnex.us/ref/mainstems/2638413
#> 148 https://geoconnex.us/ref/mainstems/2638413
#> 149 https://geoconnex.us/ref/mainstems/1250519
#> 150 https://geoconnex.us/ref/mainstems/1060915
#> 151 https://geoconnex.us/ref/mainstems/1250519
#> 152 https://geoconnex.us/ref/mainstems/2408056
#> 153 https://geoconnex.us/ref/mainstems/2408056
#> 154 https://geoconnex.us/ref/mainstems/2408056
#> 155 https://geoconnex.us/ref/mainstems/2408909
#> 156 https://geoconnex.us/ref/mainstems/2408056
#> 157 https://geoconnex.us/ref/mainstems/2408056
#> 158 https://geoconnex.us/ref/mainstems/2408056
#> 159 https://geoconnex.us/ref/mainstems/2408909
#> 160 https://geoconnex.us/ref/mainstems/2408909
#> 161 https://geoconnex.us/ref/mainstems/2408056
#> 162 https://geoconnex.us/ref/mainstems/2408627
#> 163 https://geoconnex.us/ref/mainstems/2408056
#> 164 https://geoconnex.us/ref/mainstems/2408627
#> 165 https://geoconnex.us/ref/mainstems/2408909
#> 166  https://geoconnex.us/ref/mainstems/543642
#> 167 https://geoconnex.us/ref/mainstems/2408909
#> 168 https://geoconnex.us/ref/mainstems/2071115
#> 169 https://geoconnex.us/ref/mainstems/2408909
#> 170 https://geoconnex.us/ref/mainstems/1041081
#> 171  https://geoconnex.us/ref/mainstems/176958
#> 172 https://geoconnex.us/ref/mainstems/1757158
#>                              hydro_location_id distance_km      id id_measure
#> 1     https://geoconnex.us/ref/mainstems/99426         0.5 8893810   8.404803
#> 2     https://geoconnex.us/ref/mainstems/21118         0.5 8893850  52.410901
#> 3    https://geoconnex.us/ref/mainstems/802531         0.5 8893396  26.082420
#> 4    https://geoconnex.us/ref/mainstems/722508         0.5 8896570  34.293553
#> 5      https://geoconnex.us/ref/mainstems/9051         0.5 8896624  42.844901
#> 6    https://geoconnex.us/ref/mainstems/477289         0.5 8896656  18.953753
#> 7    https://geoconnex.us/ref/mainstems/542742         0.5 8896522  14.299950
#> 8    https://geoconnex.us/ref/mainstems/237424         0.5 8896344   5.392157
#> 9   https://geoconnex.us/ref/mainstems/1193674         0.5 8896344  11.671335
#> 10  https://geoconnex.us/ref/mainstems/2359812         0.5 8896260  30.048077
#> 11  https://geoconnex.us/ref/mainstems/2322039         0.5 8896272  61.274510
#> 12   https://geoconnex.us/ref/mainstems/159767         0.5 8896574  18.733608
#> 13  https://geoconnex.us/ref/mainstems/2654724         0.5 8896612  15.353038
#> 14   https://geoconnex.us/ref/mainstems/486503         0.5 8896494  27.457441
#> 15   https://geoconnex.us/ref/mainstems/224718         0.5 8896322  18.621974
#> 16  https://geoconnex.us/ref/mainstems/1206983         0.5 8896322  10.949721
#> 17   https://geoconnex.us/ref/mainstems/911362         0.5 8896142  39.556962
#> 18  https://geoconnex.us/ref/mainstems/1800191         0.5 8896090  32.404407
#> 19  https://geoconnex.us/ref/mainstems/2082503         0.5 8896152  65.876153
#> 20  https://geoconnex.us/ref/mainstems/1072122         0.5 8896104  53.763441
#> 21  https://geoconnex.us/ref/mainstems/1641195         0.5 8896352   3.231018
#> 22  https://geoconnex.us/ref/mainstems/1719277         0.5 8896352  80.775444
#> 23  https://geoconnex.us/ref/mainstems/2480786         0.5 8896328  33.534541
#> 24  https://geoconnex.us/ref/mainstems/1670971         0.5 8896094  13.113034
#> 25    https://geoconnex.us/ref/mainstems/27193         0.5 8895908  30.998140
#> 26  https://geoconnex.us/ref/mainstems/1884601         0.5 8895664  25.746653
#> 27   https://geoconnex.us/ref/mainstems/178145         0.5 8895546  77.279753
#> 28  https://geoconnex.us/ref/mainstems/1800585         0.5 8895792  36.310821
#> 29   https://geoconnex.us/ref/mainstems/792242         0.5 8895820  25.497752
#> 30  https://geoconnex.us/ref/mainstems/1829198         0.5 8896308  25.866529
#> 31   https://geoconnex.us/ref/mainstems/557090         0.5 8896542  13.612851
#> 32   https://geoconnex.us/ref/mainstems/178810         0.5 8896522  24.912805
#> 33  https://geoconnex.us/ref/mainstems/2277392         0.5 8893822  53.259141
#> 34   https://geoconnex.us/ref/mainstems/311907         0.5 8895940  21.701389
#> 35   https://geoconnex.us/ref/mainstems/919276         0.5 8894162  14.717907
#> 36   https://geoconnex.us/ref/mainstems/771633         0.5 8896050  49.455984
#> 37  https://geoconnex.us/ref/mainstems/1041081         0.5 8896016  54.054054
#> 38   https://geoconnex.us/ref/mainstems/167825         0.5 8895782  14.873418
#> 39  https://geoconnex.us/ref/mainstems/2451461         0.5 8895748   3.526448
#> 40  https://geoconnex.us/ref/mainstems/2398355         0.5 8895778  13.751669
#> 41  https://geoconnex.us/ref/mainstems/1602818         0.5 8895778  66.755674
#> 42  https://geoconnex.us/ref/mainstems/2341883         0.5 8896032   7.509763
#> 43  https://geoconnex.us/ref/mainstems/1140879         0.5 8894162   6.623058
#> 44  https://geoconnex.us/ref/mainstems/1199988         0.5 8894166 100.000000
#> 45  https://geoconnex.us/ref/mainstems/2118994         0.5 8893496  78.247261
#> 46  https://geoconnex.us/ref/mainstems/2222813         0.5 8893416  61.504425
#> 47  https://geoconnex.us/ref/mainstems/2328248         0.5 8893594 100.000000
#> 48  https://geoconnex.us/ref/mainstems/2302805         0.5 8893558  52.272727
#> 49   https://geoconnex.us/ref/mainstems/473352         0.5 8893722  40.119760
#> 50   https://geoconnex.us/ref/mainstems/886709         0.5 8894150  40.032026
#> 51  https://geoconnex.us/ref/mainstems/1541272         0.5 8893346 100.000000
#> 52   https://geoconnex.us/ref/mainstems/176958         0.5 8893292  21.213407
#> 53  https://geoconnex.us/ref/mainstems/2038082         0.5 8893204  12.575453
#> 54  https://geoconnex.us/ref/mainstems/1814750         0.5 8893166  18.932223
#> 55  https://geoconnex.us/ref/mainstems/1142255         0.5 8893336  17.319016
#> 56  https://geoconnex.us/ref/mainstems/2143604         0.5 8893288  26.343519
#> 57  https://geoconnex.us/ref/mainstems/1619007         0.5 8893342  36.900369
#> 58   https://geoconnex.us/ref/mainstems/541196         0.5 8894142  24.912805
#> 59  https://geoconnex.us/ref/mainstems/2034103         0.5 8893246  88.481675
#> 60  https://geoconnex.us/ref/mainstems/1006115         0.5 8893242  23.105360
#> 61   https://geoconnex.us/ref/mainstems/389400         0.5 8893140  31.569174
#> 62  https://geoconnex.us/ref/mainstems/1132235         0.5 8893134  25.773196
#> 63  https://geoconnex.us/ref/mainstems/1540049         0.5 8893106  44.312394
#> 64  https://geoconnex.us/ref/mainstems/1435533         0.5 8893124   8.058608
#> 65  https://geoconnex.us/ref/mainstems/1742970         0.5 8888396  38.910506
#> 66   https://geoconnex.us/ref/mainstems/438867         0.5 8893156  99.750623
#> 67   https://geoconnex.us/ref/mainstems/621723         0.5 8893218  45.662100
#> 68   https://geoconnex.us/ref/mainstems/276277         0.5 8893122  83.194676
#> 69  https://geoconnex.us/ref/mainstems/1127930         0.5 8888398  18.705574
#> 70   https://geoconnex.us/ref/mainstems/395637         0.5 8893136  24.330900
#> 71  https://geoconnex.us/ref/mainstems/1604059         0.5 8895440  18.341893
#> 72  https://geoconnex.us/ref/mainstems/2466767         0.5 8895362  21.477663
#> 73  https://geoconnex.us/ref/mainstems/1033648         0.5 8891174  40.749796
#> 74  https://geoconnex.us/ref/mainstems/1545624         0.5 8891202  34.650035
#> 75  https://geoconnex.us/ref/mainstems/2455732         0.5 8891178  19.142420
#> 76  https://geoconnex.us/ref/mainstems/1042508         0.5 8895324  62.735257
#> 77  https://geoconnex.us/ref/mainstems/1306863         0.5 8895402  41.528239
#> 78    https://geoconnex.us/ref/mainstems/81010         0.5 8891188   2.070393
#> 79   https://geoconnex.us/ref/mainstems/998992         0.5 8895364  25.786488
#> 80  https://geoconnex.us/ref/mainstems/2541531         0.5 8895564  13.312416
#> 81  https://geoconnex.us/ref/mainstems/1413471         0.5 8895464  59.031877
#> 82  https://geoconnex.us/ref/mainstems/2632215         0.5 8895420  23.020258
#> 83    https://geoconnex.us/ref/mainstems/54299         0.5 8893152  86.879433
#> 84   https://geoconnex.us/ref/mainstems/153537         0.5 8893180  40.322581
#> 85  https://geoconnex.us/ref/mainstems/2401517         0.5 8895658  63.211125
#> 86  https://geoconnex.us/ref/mainstems/2225639         0.5 8893170  25.000000
#> 87  https://geoconnex.us/ref/mainstems/1018815         0.5 8893170  25.000000
#> 88    https://geoconnex.us/ref/mainstems/41839         0.5 8893262  80.327869
#> 89   https://geoconnex.us/ref/mainstems/545496         0.5 8894142  19.033383
#> 90  https://geoconnex.us/ref/mainstems/2536475         0.5 8893314  26.652452
#> 91  https://geoconnex.us/ref/mainstems/2393241         0.5 8893360  36.954915
#> 92  https://geoconnex.us/ref/mainstems/1422293         0.5 8894158  89.766607
#> 93  https://geoconnex.us/ref/mainstems/1630621         0.5 8893492  27.855153
#> 94   https://geoconnex.us/ref/mainstems/302028         0.5 8893482 100.000000
#> 95  https://geoconnex.us/ref/mainstems/1541696         0.5 8893492   1.392758
#> 96  https://geoconnex.us/ref/mainstems/2176326         0.5 8893610  87.873462
#> 97  https://geoconnex.us/ref/mainstems/1957311         0.5 8894160   6.854949
#> 98   https://geoconnex.us/ref/mainstems/728701         0.5 8894198   4.875571
#> 99  https://geoconnex.us/ref/mainstems/1576823         0.5 8893874  70.422535
#> 100  https://geoconnex.us/ref/mainstems/781859         0.5 8893878  70.422535
#> 101 https://geoconnex.us/ref/mainstems/1438225         0.5 8893886  25.445293
#> 102  https://geoconnex.us/ref/mainstems/839936         0.5 8893882  87.873462
#> 103 https://geoconnex.us/ref/mainstems/1482242         0.5 8894198  25.393601
#> 104  https://geoconnex.us/ref/mainstems/122688         0.5 8894198   2.640934
#> 105 https://geoconnex.us/ref/mainstems/1482921         0.5 8893670  53.361793
#> 106  https://geoconnex.us/ref/mainstems/464344         0.5 8894172  42.758621
#> 107  https://geoconnex.us/ref/mainstems/660409         0.5 8893608  84.602369
#> 108 https://geoconnex.us/ref/mainstems/1214576         0.5 8893574  71.326676
#> 109   https://geoconnex.us/ref/mainstems/97443         0.5 8893674  61.576355
#> 110 https://geoconnex.us/ref/mainstems/1254033         0.5 8893522  29.533373
#> 111 https://geoconnex.us/ref/mainstems/1540196         0.5 8893358  45.495905
#> 112 https://geoconnex.us/ref/mainstems/1374363         0.5 8893320  67.658999
#> 113   https://geoconnex.us/ref/mainstems/94304         0.5 8893296  23.551578
#> 114  https://geoconnex.us/ref/mainstems/467342         0.5 8893310  41.118421
#> 115  https://geoconnex.us/ref/mainstems/948451         0.5 8893372  21.682567
#> 116 https://geoconnex.us/ref/mainstems/2206734         0.5 8893330  16.739203
#> 117 https://geoconnex.us/ref/mainstems/2484381         0.5 8893348  58.962264
#> 118  https://geoconnex.us/ref/mainstems/400406         0.5 8893378  66.401062
#> 119  https://geoconnex.us/ref/mainstems/994533         0.5 8893544  78.921569
#> 120 https://geoconnex.us/ref/mainstems/2625018         0.5 8893774  52.465897
#> 121  https://geoconnex.us/ref/mainstems/709946         0.5 8894296  14.182692
#> 122 https://geoconnex.us/ref/mainstems/2308315         0.5 8893830  71.839080
#> 123  https://geoconnex.us/ref/mainstems/108779         0.5 8893854  29.744200
#> 124 https://geoconnex.us/ref/mainstems/1221599         0.5 8893848  25.176234
#> 125 https://geoconnex.us/ref/mainstems/1326588         0.5 8893848   9.063444
#> 126  https://geoconnex.us/ref/mainstems/845610         0.5 8893838  22.094565
#> 127 https://geoconnex.us/ref/mainstems/1886945         0.5 8893814  13.271028
#> 128  https://geoconnex.us/ref/mainstems/951289         0.5 8893814  46.728972
#> 129 https://geoconnex.us/ref/mainstems/2484445         0.5 8893830  23.132184
#> 130 https://geoconnex.us/ref/mainstems/1068416         0.5 8894202  21.477663
#> 131  https://geoconnex.us/ref/mainstems/830707         0.5 8894206  21.635656
#> 132 https://geoconnex.us/ref/mainstems/2326250         0.5 8893684  97.959184
#> 133 https://geoconnex.us/ref/mainstems/1974527         0.5 8893656  24.053452
#> 134 https://geoconnex.us/ref/mainstems/1672732         0.5 8893262  57.786885
#> 135 https://geoconnex.us/ref/mainstems/1344591         0.5 8893750 100.000000
#> 136 https://geoconnex.us/ref/mainstems/1874584         0.5 8891106  42.087542
#> 137 https://geoconnex.us/ref/mainstems/2638413         0.5 8893692  48.950131
#> 138  https://geoconnex.us/ref/mainstems/435474         0.5 8893684  77.295918
#> 139 https://geoconnex.us/ref/mainstems/1458917         0.5 8893770  42.984014
#> 140 https://geoconnex.us/ref/mainstems/1323226         0.5 8893390  89.285714
#> 141  https://geoconnex.us/ref/mainstems/860391         0.5 8893568  11.797753
#> 142 https://geoconnex.us/ref/mainstems/1250519         0.5 8893700  43.076923
#> 143 https://geoconnex.us/ref/mainstems/2477494         0.5 8893652  38.051044
#> 144  https://geoconnex.us/ref/mainstems/877084         0.5 8893262  35.655738
#> 145 https://geoconnex.us/ref/mainstems/1060915         0.5 8893218  40.913242
#> 146 https://geoconnex.us/ref/mainstems/2152091         0.5 8893492  70.194986
#> 147  https://geoconnex.us/ref/mainstems/896369         0.5 8893492  87.465181
#> 148 https://geoconnex.us/ref/mainstems/1636336         0.5 8893442  62.790698
#> 149    https://geoconnex.us/ref/mainstems/2388         0.5 8893712  35.000000
#> 150 https://geoconnex.us/ref/mainstems/2023753         0.5 8893238  58.685446
#> 151 https://geoconnex.us/ref/mainstems/2234336         0.5 8893712 100.000000
#> 152  https://geoconnex.us/ref/mainstems/748391         0.5 8893786  31.874145
#> 153 https://geoconnex.us/ref/mainstems/1534930         0.5 8893786  14.500684
#> 154  https://geoconnex.us/ref/mainstems/536579         0.5 8894332  18.281536
#> 155 https://geoconnex.us/ref/mainstems/2080102         0.5 8894346  77.399381
#> 156 https://geoconnex.us/ref/mainstems/1757158         0.5 8894354  98.619329
#> 157 https://geoconnex.us/ref/mainstems/2408909         0.5 8894356  46.598322
#> 158 https://geoconnex.us/ref/mainstems/1093187         0.5 8894352  33.670034
#> 159  https://geoconnex.us/ref/mainstems/954916         0.5 8897678  38.080731
#> 160  https://geoconnex.us/ref/mainstems/561023         0.5 8896564  47.202442
#> 161 https://geoconnex.us/ref/mainstems/2408627         0.5 8894344  21.486893
#> 162  https://geoconnex.us/ref/mainstems/550065         0.5 8894336  67.658999
#> 163 https://geoconnex.us/ref/mainstems/2408847         0.5 8894318  61.811024
#> 164  https://geoconnex.us/ref/mainstems/364587         0.5 8893782  15.909091
#> 165  https://geoconnex.us/ref/mainstems/336989         0.5 8897586  76.878613
#> 166 https://geoconnex.us/ref/mainstems/2623506         0.5 8896462  74.042553
#> 167  https://geoconnex.us/ref/mainstems/543642         0.5 8897554   9.635417
#> 168  https://geoconnex.us/ref/mainstems/509883         0.5 8897566  87.108014
#> 169 https://geoconnex.us/ref/mainstems/2071115         0.5 8897554  65.104167
#> 170  https://geoconnex.us/ref/mainstems/908507         0.5 8897468  53.078556
#> 171 https://geoconnex.us/ref/mainstems/2390861         0.5 8894424  57.575758
#> 172  https://geoconnex.us/ref/mainstems/971184         0.5 8893892  42.654867
#>     past_end_km   status
#> 1         0.000   placed
#> 2         0.000   placed
#> 3         0.000   placed
#> 4         0.000   placed
#> 5         0.000   placed
#> 6         0.000   placed
#> 7         0.000   placed
#> 8         0.000   placed
#> 9         0.000   placed
#> 10        0.000   placed
#> 11        0.000   placed
#> 12        0.000   placed
#> 13        0.000   placed
#> 14        0.000   placed
#> 15        0.000   placed
#> 16        0.000   placed
#> 17        0.000   placed
#> 18        0.000   placed
#> 19        0.000   placed
#> 20        0.000   placed
#> 21        0.000   placed
#> 22        0.000   placed
#> 23        0.000   placed
#> 24        0.000   placed
#> 25        0.000   placed
#> 26        0.000   placed
#> 27        0.000   placed
#> 28        0.000   placed
#> 29        0.000   placed
#> 30        0.000   placed
#> 31        0.000   placed
#> 32        0.000   placed
#> 33        0.000   placed
#> 34        0.000   placed
#> 35        0.000   placed
#> 36        0.000   placed
#> 37        0.000   placed
#> 38        0.000   placed
#> 39        0.000   placed
#> 40        0.000   placed
#> 41        0.000   placed
#> 42        0.000   placed
#> 43        0.000   placed
#> 44        0.080 past_end
#> 45        0.000   placed
#> 46        0.000   placed
#> 47        0.099 past_end
#> 48        0.000   placed
#> 49        0.000   placed
#> 50        0.000   placed
#> 51        0.000   placed
#> 52        0.000   placed
#> 53        0.000   placed
#> 54        0.000   placed
#> 55        0.000   placed
#> 56        0.000   placed
#> 57        0.000   placed
#> 58        0.000   placed
#> 59        0.000   placed
#> 60        0.000   placed
#> 61        0.000   placed
#> 62        0.000   placed
#> 63        0.000   placed
#> 64        0.000   placed
#> 65        0.000   placed
#> 66        0.000   placed
#> 67        0.000   placed
#> 68        0.000   placed
#> 69        0.000   placed
#> 70        0.000   placed
#> 71        0.000   placed
#> 72        0.000   placed
#> 73        0.000   placed
#> 74        0.000   placed
#> 75        0.000   placed
#> 76        0.000   placed
#> 77        0.000   placed
#> 78        0.000   placed
#> 79        0.000   placed
#> 80        0.000   placed
#> 81        0.000   placed
#> 82        0.000   placed
#> 83        0.000   placed
#> 84        0.000   placed
#> 85        0.000   placed
#> 86        0.000   placed
#> 87        0.000   placed
#> 88        0.000   placed
#> 89        0.000   placed
#> 90        0.000   placed
#> 91        0.000   placed
#> 92        0.000   placed
#> 93        0.000   placed
#> 94        0.176 past_end
#> 95        0.000   placed
#> 96        0.000   placed
#> 97        0.000   placed
#> 98        0.000   placed
#> 99        0.000   placed
#> 100       0.000   placed
#> 101       0.000   placed
#> 102       0.000   placed
#> 103       0.000   placed
#> 104       0.000   placed
#> 105       0.000   placed
#> 106       0.000   placed
#> 107       0.000   placed
#> 108       0.000   placed
#> 109       0.000   placed
#> 110       0.000   placed
#> 111       0.000   placed
#> 112       0.000   placed
#> 113       0.000   placed
#> 114       0.000   placed
#> 115       0.000   placed
#> 116       0.000   placed
#> 117       0.000   placed
#> 118       0.000   placed
#> 119       0.000   placed
#> 120       0.000   placed
#> 121       0.000   placed
#> 122       0.000   placed
#> 123       0.000   placed
#> 124       0.000   placed
#> 125       0.000   placed
#> 126       0.000   placed
#> 127       0.000   placed
#> 128       0.000   placed
#> 129       0.000   placed
#> 130       0.000   placed
#> 131       0.000   placed
#> 132       0.000   placed
#> 133       0.000   placed
#> 134       0.000   placed
#> 135       0.012 past_end
#> 136       0.000   placed
#> 137       0.000   placed
#> 138       0.000   placed
#> 139       0.000   placed
#> 140       0.000   placed
#> 141       0.000   placed
#> 142       0.000   placed
#> 143       0.000   placed
#> 144       0.000   placed
#> 145       0.000   placed
#> 146       0.000   placed
#> 147       0.000   placed
#> 148       0.000   placed
#> 149       0.000   placed
#> 150       0.000   placed
#> 151       0.088 past_end
#> 152       0.000   placed
#> 153       0.000   placed
#> 154       0.000   placed
#> 155       0.000   placed
#> 156       0.000   placed
#> 157       0.000   placed
#> 158       0.000   placed
#> 159       0.000   placed
#> 160       0.000   placed
#> 161       0.000   placed
#> 162       0.000   placed
#> 163       0.000   placed
#> 164       0.000   placed
#> 165       0.000   placed
#> 166       0.000   placed
#> 167       0.000   placed
#> 168       0.000   placed
#> 169       0.000   placed
#> 170       0.000   placed
#> 171       0.000   placed
#> 172       0.000   placed