Mi caso de uso está relacionado con el cálculo del área de un polígono en un archivo de forma que es cubierto por otro polígono.
Específicamente, quiero hacer lo siguiente:
- Crear círculos que tienen un radio de 100 metros de radio, desde una base de datos.marco de long/lat puntos
- La superposición de estos círculos en un shapefile
- Calcular el área de cada uno de los polígonos que están cubiertos por estos círculos.
- Idealmente volver un dataframe donde cada fila contiene el área cubierta por todos los círculos para cada polígono.
Aquí creo que algunos datos simulados puntos.
mean_lat <- 46.07998
sd_lat <- 0.1609196
mean_long <- 8.931849
sd_long <- 0.1024659
dat_sim <- data.frame(lat = rnorm(500, mean = mean_lat, sd = sd_lat),
long = rnorm(500, mean = mean_long, sd = sd_long))
A continuación se obtienen los shapefiles
library(raster)
library(tidyverse)
library(sf)
# regular sp format
dat_ticino_sp <- getData(name = "GADM",
country = "CHE",
level = 3) %>%
subset(.@data$NAME_1 == "Ticino")
# convert to sf format
dat_ticino_sf <- getData(name = "GADM",
country = "CHE",
level = 3) %>%
# convert to simple features
sf::st_as_sf() %>%
# Filter down to Ticino
dplyr::filter(NAME_1 == "Ticino")
Así que lo que quiero hacer es :
crear círculos con un radio de 100 metros de radio en la
dat_sim
, para superponer sobre el shapefile dat_ticino_sf o dat_ticino_sp archivos.Para cada polígono en el shapefile, calcular cuánto de ese polígono es cubierto por los círculos.
devolver un dataframe donde cada fila (polígono) contiene el área cubierta por los círculos.
la parcela esta
Los puntos de bonificación si esto se puede hacer de Características Simples