Determines the central coordinates of a circle with a constant radius that maximizes the coverage of demand points.

find_highest_concentration(
  df,
  value,
  top_n = 1,
  radius = 200,
  cell_size = 100,
  grid_precision = 1,
  lon = "lon",
  lat = "lat",
  crs_metric = 3035,
  print_progress = TRUE
)

Arguments

df

data.frame. Should include at least columns for longitude, latitude, and the value of interest to summarize.

value

column name with value of interest to summarize in df.

top_n

positive integer value greater or equal to 1 (default is 1).

radius

numeric. Radius of the circle in meters (default is 200).

cell_size

numeric. Size of cell in meters (default is 100).

grid_precision

numeric. Precision of grid in meters (default is 1).

lon

column name in df with longitude (default is "lon"). Should be in EPSG:4326.

lat

column name in df with latitude (default is "lat"). Should be in EPSG:4326.

crs_metric

numeric. The metric Coordinate Reference System (CRS) is used solely in the background calculations. For European coordinates, EPSG:3035 (default) is recommended. For the United States, EPSG:6317 can be utilized. For Asia and the Pacific regions, EPSG:8859 is recommended.

print_progress

print progress iteration steps.

Value

A list with two elements:

  1. A data.frame containing the top_n concentrations as specified by top_n.

  2. A data.frame containing the rows from df that correspond to the top_n concentrations.

Details

A recent regulation by the European Commission mandates insurance companies to report the maximum value of insured fire risk policies for all buildings partially or fully situated within a circle with a radius of 200 meters (see Article 132 - fire risk sub-module - of the Delegated Regulation). This article captures the risk of catastrophic fire or explosion, including as a result of terrorist attacks. The sub-module is based on the scenario that the insurance or reinsurance undertaking incurs a loss equal to the capital insured for each building located partly or fully within a radius of 200 meters.

This problem resembles a Maximal Covering Location Problem (MCLP) with a fixed radius, belonging to the category of facility location problems. The main aim is to select the best locations for a predetermined number of facilities to achieve maximum coverage of demand points within a specified radius of each facility. In essence, the objective is to identify optimal facility locations to cover as many demand points as feasible, while ensuring that each demand point falls within the designated distance (radius) of at least one facility.

References

Commission Delegated Regulation (EU) (2015). Solvency II Delegated Act 2015/35. Official Journal of the European Union, 58:124.

Author

Martin Haringa

Examples

x <- find_highest_concentration(Groningen, "amount")
plot(x)

y <- find_highest_concentration(
    Groningen, "amount", top_n = 2, cell_size = 50
)
#> 
Finished 1 of 2
Finished 2 of 2
plot(y)