Learn R Programming

riverdist (version 0.17.0)

xy2segvert: Convert XY Coordinates to River Locations

Description

This function determines the closest vertex in the river network to each point of XY data and returns a list of river locations, defined as segment numbers and vertex numbers.

Usage

xy2segvert(x, y, rivers)

Value

A data frame of river locations, with segment numbers in $seg, vertex numbers in $vert, and the snapping distance for each point in

$snapdist. Two additional columns are $snap_x and $snap_y, which give the x- and y-coordinates snapped to the river network.

Arguments

x

A vector of x-coordinates to transform

y

A vector of y-coordinates to transform

rivers

The river network object to use

Author

Matt Tyers

See Also

pointshp2segvert, segvert2xy

Examples

Run this code
data(Gulk,fakefish)
head(fakefish)

fakefish.riv <- xy2segvert(x=fakefish$x, y=fakefish$y, rivers=Gulk)
head(fakefish.riv)

plot(x=Gulk, xlim=c(862000,882000), ylim=c(6978000,6993000))
points(fakefish$x, fakefish$y, pch=16, col=2)
riverpoints(seg=fakefish.riv$seg, vert=fakefish.riv$vert, rivers=Gulk, pch=15, col=4)


## converting a matrix of points stored in long-lat to Alaska Albers Equal Area:
data(line98, Kenai1)
head(line98)  # note that coordinates are stored in long-lat, NOT lat-long

line98albers <- sf::sf_project(pts=line98, to="+proj=aea +lat_1=55 +lat_2=65 
    +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs 
    +ellps=GRS80")
head(line98albers)

zoomtoseg(seg=c(162,19), rivers=Kenai1)
points(line98albers)

Run the code above in your browser using DataLab