Derive Adjacency Structure of "SpatialPolygons"
Wrapping around functionality of the spdep package, this function
computes the symmetric, binary (0/1), adjacency matrix from a
"SpatialPolygons" object.
It essentially applies
nb2mat(poly2nb(SpP, ...), style="B",
zero.policy=zero.policy).
poly2adjmat(SpP, ..., zero.policy = TRUE)
SpP |
an object inheriting from |
... |
arguments passed to |
zero.policy |
logical indicating if islands are allowed, see
|
a symmetric numeric indicator matrix of size length(SpP)^2
representing polygon adjacencies.
(of this wrapper) Sebastian Meyer
poly2nb in package spdep
if (requireNamespace("spdep")) {
## generate adjacency matrix for districts of Bayern and Baden-Wuerttemberg
data("fluBYBW")
adjmat <- poly2adjmat(fluBYBW@map)
## same as already stored in the neighbourhood slot (in different order)
stopifnot(all.equal(adjmat,
neighbourhood(fluBYBW)[rownames(adjmat),colnames(adjmat)]))
## a visual check of the district-specific number of neighbours
plot(fluBYBW@map)
text(coordinates(fluBYBW@map), labels=rowSums(adjmat==1), font=2, col=2)
## the neighbourhood graph can be plotted with spdep
plot(spdep::mat2listw(adjmat), coordinates(fluBYBW@map))
}Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.