Learn R Programming

rangeMapper (version 0.2-0)

metadata.update: Updates metadata table

Description

Updates metadata_table of a rangeMapper project after importing ranges with processRanges.

Usage

metadata.update(rangeMap, FUN, name, map, overwrite = FALSE, ...)

Arguments

rangeMap
A rangeMap object.
FUN
Function used to aggregate the map values corresponding to each range
name
The name of the new metadata_table field containing the variable computed by FUN
map
Single-band SpatialGridDataFrame object
overwrite
If set to TRUE the the values of the field are replaced
...
extra arguments (e.g. na.rm = TRUE) to be passed to FUN.

Value

  • Nothing is returned.

References

Valcu, M., Dale, J. and Kempenaers, B. (2012) rangeMapper: A platform for the study of macroecology of life history traits. 21(9). (DOI: 10.1111/j.1466-8238.2011.00739.x)

See Also

processRanges rangeTraits

Examples

Run this code
require(rangeMapper)

# data
spdf = readOGR(system.file(package = "rangeMapper", "extdata", "wrens", "vector_combined"), "wrens", verbose = FALSE)
rloc = system.file(package = "rangeMapper", "extdata", "etopo1", "etopo1_Americas.tif")
r = readGDAL(rloc, output.dim = c(50, 50))
spdf = spTransform(spdf, CRS(proj4string(r)) )

# the project 
dbcon = rangeMap.start(file = "wrens.sqlite", overwrite = TRUE, dir = tempdir() )
rmap = new("rangeMap", CON = dbcon)	
global.bbox.save(con = dbcon, bbox = spdf )
gridSize.save(dbcon, gridSize = 300000)  
canvas.save(dbcon) 
processRanges(spdf = spdf, con =  dbcon, ID = "sci_name" )

# metadata.update
metadata.update (rmap,
			FUN = function(x, ...) {
				res = diff(range(x, ...))
				if( !is.finite(res)) res = 0
				res 
				},
			name = 'AltitudeRange', map = r, na.rm = TRUE, overwrite = TRUE)

# plot
mr = RMQuery(dbcon, 'select * from metadata_ranges')
maxRangeSp = mr[mr$AltitudeRange== max(mr$AltitudeRange), 'bioid']
image(r)
plot(rangeFetch(rmap, maxRangeSp), add = TRUE, border = 4, lwd = 3)
title(main = maxRangeSp)

Run the code above in your browser using DataLab