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

Azimuth in degree

unc

Uncertainties of azimuth in degree

prd

Predicted value for azimuth

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 (are 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. Minimum number of data per bin. Default is 3

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. Maximum distance (in km) of the grid point to the next data point. Default is 200

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 (adaptive) kernel half-width(s) as search radius (in km). Default is seq(50, 1000, 50)

...

optional arguments to dist_greatcircle()

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 <- san_andreas
san_andreas_por$azi <- PoR_shmax(san_andreas, PoR, "right")$azi.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: -114.57 ymin: 24.33 xmax: -114.57 ymax: 24.33
#> Geodetic CRS:  WGS 84
#> # A tibble: 6 × 7
#>     lon   lat    stat     R     N    mdr        geometry
#>   <dbl> <dbl>   <dbl> <dbl> <int>  <dbl>     <POINT [°]>
#> 1 -115.  24.3 NA        100     0 NA     (-114.57 24.33)
#> 2 -115.  24.3 NA        200     1 NA     (-114.57 24.33)
#> 3 -115.  24.3  0.230    300     4  0.743 (-114.57 24.33)
#> 4 -115.  24.3  0.111    400    18  0.816 (-114.57 24.33)
#> 5 -115.  24.3  0.0774   500   109  0.878 (-114.57 24.33)
#> 6 -115.  24.3  0.0717   600   175  0.801 (-114.57 24.33)