Learn R Programming

ibeemd (version 1.0.1)

iBEEMD: Scale decomposition for polygon data.

Description

Similar to 2-dimensional wavelet decomposition, for a given irrelular-lattice field represented by spatial polygons dataframe, the method decompose the field into different scales and a global trend component by EEMD method. The scale components are also called also called intrinsic mode functions (IMFs), which represent different scale information in the spatial field.

Usage

iBEEMD(spPolysDf, valueField = names(spPolysDf)[1], nMaxIMF = 10, tolSift = 0.05, neemd = 1000, wnsd = 0.05, fmodel = "thinplate", fig = TRUE)

Arguments

spPolysDf
a SpatialPolygonsDataFrame object.
valueField
a field name that stores value.
nMaxIMF
maximum number of components to be decomposed.
tolSift
sift tolerence, a small number.
neemd
number of EEMD iterations, a large number can make a stable result.
wnsd
standard deviation of added noise; it is a ratio to the standard deviation of above data.
fmodel
surface fitting function ("thinplate", "gaussian", "cubic", "multiquadric").
fig
whether plot decomposed results.

Value

A SpatialPolygonsDataFrame with original value, decomposed imfs and global trend.

References

Hu, M.-G. and J.-F. Wang, et al. A hierarchical-scale decomposition method for irregular lattice field. Computers & Geosciences, submitted.

Huang, N. E. and Z. Shen, et al. The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis. Proceedings of The Royal Society A - Mathematical, Physical & Engineering Sciences, 1998, 454(1971): 903-995.

Examples

Run this code
## Not run: 
# library(rgdal)
# 
# # polygon data
# mydata <- system.file("extdata/simu.shp", package = "ibeemd")
# 
# layer <- basename(mydata)
# layer <- substr(layer, 1, nchar(layer)-4)
# mydataDf <- readOGR(dsn=mydata, layer=layer)
# #spplot(mydataDf)
# 
# rslt <- iBEEMD(
# 		spPolysDf = mydataDf, 
# 		valueField = "value",  
# 		nMaxIMF = 10, 
# 		tolSift = 0.05,
# 		neemd = 500,
# 		wnsd = 0.05,
# 		fmodel = "thinplate",
# 		fig = TRUE)
# ## End(Not run)
#spplot(rslt)

Run the code above in your browser using DataLab