Skip to contents

Stress field and wavelength analysis using circular dispersion (or other statistical estimators for dispersion)

Usage

kernel_dispersion(
  x,
  stat = c("dispersion", "nchisq", "rayleigh"),
  grid = NULL,
  lon_range = NULL,
  lat_range = NULL,
  gridsize = 2.5,
  min_data = 3L,
  max_data = Inf,
  min_dist_threshold = 200,
  dist_threshold = 0.1,
  stat_threshold = Inf,
  R_range = seq(100, 2000, 100),
  ...
)

dispersion_grid(...)

Arguments

x

sf object containing

azi

the observed \(\sigma_\text{Hmax}\) in degree

unc

(optional) Uncertainties of ibserved SHmax in degree

type

(optional) Methods used for the determination of the direction of \(\sigma_\text{Hmax}\)

prd

the predicted \(\sigma_\text{Hmax}\) in degree

stat

The measurement of dispersion to be calculated. Either "dispersion" (default), "nchisq", or "rayleigh" for circular dispersion, normalized Chi-squared test statistic, or Rayleigh test statistic.

grid

(optional) Point object of class sf.

lon_range, lat_range

(optional) numeric vector specifying the minimum and maximum longitudes and latitudes (ignored if grid is specified).

gridsize

numeric. Target spacing of the regular grid in decimal degree. Default is 2.5. (is ignored if grid is specified)

min_data

integer. If the number of observations within distance R_range is less than min_data, a missing value NA will be generated. Default is 3 for stress2grid() and 4 for stress2grid_stats().

max_data

integer. The number of nearest observations that should be used for prediction, where "nearest" is defined in terms of the space of the spatial locations. Default is Inf.

min_dist_threshold

numeric. Distance threshold for smallest distance of the prediction location to the next observation location. Default is 200 km.

dist_threshold

numeric. Distance weight to prevent overweight of data nearby (0 to 1). Default is 0.1

stat_threshold

numeric. Generates missing values when the kernel stat value exceeds this threshold. Default is Inf.

R_range

numeric value or vector specifying the kernel half-width(s) search radii, i.e. the maximum distance from the prediction location to be used for prediction (in km). Default is seq(50, 1000, 50). If combined with max_data, both criteria apply.

...

arguments passed to stat functions weighted_rayleigh() or circular_dispersion()

Value

sf object containing

lon,lat

longitude and latitude in degree

stat

output of function defined in stat

R

The rearch radius in km.

mdr

Mean distance of datapoints per search radius

N

Number of data points in search radius

Note

dispersion_grid() was renamed to kernel_dispersion() to create a more consistent API.

Examples

data("nuvel1")
PoR <- subset(nuvel1, nuvel1$plate.rot == "na")
san_andreas_por <- data2PoR(san_andreas, PoR)
san_andreas_por$prd <- 135
kernel_dispersion(san_andreas_por) |> head()
#> Simple feature collection with 6 features and 6 fields
#> Geometry type: POINT
#> Dimension:     XY
#> Bounding box:  xmin: -84.77055 ymin: 52.59628 xmax: -84.77055 ymax: 52.59628
#> Geodetic CRS:  unnamed
#>         lon      lat      stat   R   N       mdr                   geometry
#> 1 -84.77055 52.59628        NA 100   0        NA POINT (-84.77055 52.59628)
#> 2 -84.77055 52.59628        NA 200   1        NA POINT (-84.77055 52.59628)
#> 3 -84.77055 52.59628        NA 300   2        NA POINT (-84.77055 52.59628)
#> 4 -84.77055 52.59628 0.7982977 400   9 0.8735345 POINT (-84.77055 52.59628)
#> 5 -84.77055 52.59628 0.8069604 500  85 0.8866905 POINT (-84.77055 52.59628)
#> 6 -84.77055 52.59628 0.7687554 600 298 0.8673966 POINT (-84.77055 52.59628)