nb2lines {spdep} | R Documentation |
Use vector files for import and export of weights
Description
Use vector files for import and export of weights, storing spatial entity coordinates in the arcs, and the entity indices in the data frame.
Usage
nb2lines(nb, wts, coords, proj4string=NULL, as_sf=FALSE)
listw2lines(listw, coords, proj4string=NULL, as_sf=FALSE)
df2sn(df, i="i", i_ID="i_ID", j="j", wt="wt")
Arguments
nb |
a neighbour object of class |
wts |
list of general weights corresponding to neighbours |
coords |
matrix of region point coordinates, a |
proj4string |
default NULL; if |
as_sf |
output object in |
listw |
a |
df |
a data frame read from a shapefile, derived from the output of |
i |
character name of column in df with from entity index |
i_ID |
character name of column in df with from entity region ID |
j |
character name of column in df with to entity index |
wt |
character name of column in df with weights |
Details
The neighbour and weights objects may be retrieved by converting the specified columns of the data slot of the SpatialLinesDataFrame object into a spatial.neighbour object, which is then converted into a weights list object.
Value
nb2lines
and listw2lines
return a SpatialLinesDataFrame object or an sf object; the data frame contains with the from and to indices of the neighbour links and their weights. df2sn
converts the data retrieved from reading the data from df
back into a spatial.neighbour
object.
Note
Original idea due to Gidske Leknes Andersen, Department of Biology, University of Bergen, Norway
Author(s)
Roger Bivand Roger.Bivand@nhh.no
See Also
Examples
columbus <- st_read(system.file("shapes/columbus.gpkg", package="spData")[1], quiet=TRUE)
col.gal.nb <- read.gal(system.file("weights/columbus.gal", package="spData")[1])
res <- listw2lines(nb2listw(col.gal.nb), st_geometry(columbus))
summary(res)
tf <- paste0(tempfile(), ".gpkg")
st_write(res, dsn=tf, driver="GPKG")
inMap <- st_read(tf)
summary(inMap)
diffnb(sn2listw(df2sn(as.data.frame(inMap)))$neighbours, col.gal.nb)
res1 <- listw2lines(nb2listw(col.gal.nb), as(columbus, "Spatial"))
summary(res1)