extractFromLayer: Retrieves node attributes from a layer

extractFromLayerR Documentation

Retrieves node attributes from a layer

Description

The generic function extractFromLayer uses information from a GIS shapefile to define node attributes. For each node, information is retrieved from the layer and assigned to that node.

Usage

extractFromLayer(x, ...)

## S4 method for signature 'matrix'
extractFromLayer(x, layer = "world", attr = "all", ...)

## S4 method for signature 'data.frame'
extractFromLayer(x, layer = "world", attr = "all", ...)

## S4 method for signature 'list'
extractFromLayer(x, layer = "world", attr = "all", ...)

## S4 method for signature 'gGraph'
extractFromLayer(x, layer = "world", attr = "all", ...)

## S4 method for signature 'gData'
extractFromLayer(x, layer = "world", attr = "all", ...)

Arguments

x

a matrix, a data.frame, a list, a valid gGraph, or a valid gData object. For matrix and data.frame, input must have two columns giving longitudes and latitudes of locations being considered. For list, input must have two components being vectors giving longitudes and latitudes of locations.

...

further arguments to be passed to other methds. Currently not used.

layer

a shapefile of the class SpatialPolygonsDataFrame (see readShapePoly in maptools package to import such data from a GIS shapefile). Alternatively, a character string indicating one shapefile released with geoGraph; currently, only 'world' is available (see ?data(worldshape)).

attr

a character vector giving names of the variables to be extracted from the layer. If 'all', all available variables are extracted. In case of problem, available names are displayed with the error message. Available data are also stored in layer@data.

Details

Nodes can be specified in different ways, including by providing a gGraph or a gData object. Outputs match the input formats.

Value

The output depends on the nature of the input:
- matrix, data.frame, list: a data.frame with one row per location, and as many columns as requested variables ('attributes').

  • gGraph: a gGraph object with new node attributes (@nodes.attr slot). If nodes attributes already existed, new attributes are added as new columns.

  • gData: a gData object with new data associated to locations (@data slot). New information is merge to older information according to the type of data being stored.

See Also

findLand, to find which locations are on land.

Examples

## Not run: 

plot(worldgraph.10k, reset = TRUE)


## see what info is available
names(worldshape@data)
unique(worldshape@data$CONTINENT)


## retrieve continent info for all nodes
## (might take a few seconds)
x <- extractFromLayer(worldgraph.10k, layer = worldshape, attr = "CONTINENT")
x
table(getNodesAttr(x, attr.name = "CONTINENT"))


## subset Africa
temp <- getNodesAttr(x, attr.name = "CONTINENT") == "Africa"
temp[is.na(temp)] <- FALSE
x <- x[temp]
plot(x, reset = TRUE)

## End(Not run)


thibautjombart/geograph documentation built on Jan. 27, 2024, 10 p.m.