Spline interpolation and smoothing on the sphere.

interpolate_spline( observations, targets, value, lon_obs = lon, lat_obs = lat, lon_targets = lon, lat_targets = lat, k = 50 )

observations | data.frame of observations. |
---|---|

targets | data.frame of locations to calculate the interpolated and smoothed values for (target points). |

value | Column with values in |

lon_obs | Column in |

lat_obs | Column in |

lon_targets | Column in |

lat_targets | Column in |

k | (default 50) is the basis dimension. For small data sets reduce |

Object equal to object `targets`

including an extra column with predicted values.

`observations`

should include at least columns for longitude and latitude.

`targets`

should include at least columns for longitude, latitude and value of interest to interpolate and smooth.

A smooth of the general type discussed in Duchon (1977) is used: the sphere is embedded in a 3D Euclidean space, but smoothing employs a penalty based on second derivatives (so that locally as the smoothing parameter tends to zero we recover a "normal" thin plate spline on the tangent space). This is an unpublished suggestion of Jean Duchon.

See `ordinary kriging`

for interpolation and smoothing on the sphere by means of kriging.

Martin Haringa

if (FALSE) { target <- sf::st_drop_geometry(nl_postcode3) obs <- dplyr::sample_n(insurance, 1000) pop_df <- interpolate_spline(obs, target, population_pc4, k = 20) pop_sf <- left_join(nl_postcode3, pop_df) choropleth(pop_sf, value = "population_pc4_pred", n = 13) }