poly2adjmat: Derive Adjacency Structure of '"SpatialPolygons"'

poly2adjmatR Documentation

Derive Adjacency Structure of "SpatialPolygons"

Description

Wrapping around functionality of the spdep package, this function computes the symmetric, binary (0/1), adjacency matrix from a "\linkSPclass{SpatialPolygons}" object. It essentially applies nb2mat(poly2nb(SpP, ...), style="B", zero.policy=zero.policy).

Usage

poly2adjmat(SpP, ..., zero.policy = TRUE)

Arguments

SpP

an object inheriting from "\linkSPclass{SpatialPolygons}".

...

arguments passed to poly2nb. Its snap argument might be particularly useful to handle maps with sliver polygons.

zero.policy

logical indicating if islands are allowed, see nb2mat.

Value

a symmetric numeric indicator matrix of size length(SpP)^2 representing polygon adjacencies.

Author(s)

(of this wrapper) Sebastian Meyer

See Also

poly2nb in package spdep

Examples

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)
}

surveillance documentation built on Nov. 4, 2024, 3 a.m.