Hola, Carlos: Lo he resuelto con: voronoi_esp <- nucleos_esp |> st_union() |> st_voronoi() |> st_collection_extract() voronoi_esp <- voronoi_esp[unlist(st_intersects(nucleos_esp, voronoi_esp))] De todas formas , muchas gracias, como siempre. Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Junta de Comunidades de Castilla ? La Mancha De: Carlos Ortega <cof en qualityexcellence.es> Enviado el: viernes, 8 de septiembre de 2023 16:14 Para: Isidro Hidalgo Arellano <ihidalgo en jccm.es> CC: r-help-es en r-project.org Asunto: Re: [R-es] Orden en los polígonos de Voronoi Hola Isidro, ¿Qué tal? Se lo he preguntado a chatGPT.... Y me dice esto: La función st_voronoi() del paquete sf en R calcula los polígonos de Voronoi a partir de un conjunto de puntos. Sin embargo, el orden de los polígonos resultantes no necesariamente coincide con el orden de los puntos de entrada. Para mantener el orden original de los puntos, puedes hacer lo siguiente: 1. Calcula los polígonos de Voronoi. 2. Para cada punto de entrada, determina cuál polígono de Voronoi contiene ese punto. Este paso garantizará que el polígono de Voronoi correspondiente al primer punto sea el primero en la lista, y así sucesivamente. 3. Almacena los polígonos de Voronoi en el mismo orden que los puntos de entrada. #------- library(sf) # Crear algunos puntos (sustituir por tus datos) pts <- st_as_sf(data.frame(x = c(1,3,5), y = c(1,3,2)), coords = c("x", "y"), crs = 4326) # Calcular polígonos de Voronoi voronoi <- st_voronoi(pts) # Convertir Voronoi a sf voronoi_sf <- st_collection_extract(voronoi, "POLYGON") # Para cada punto, encontrar el polígono de Voronoi correspondiente order_voronoi <- integer(nrow(pts)) for (i in 1:nrow(pts)) { for (j in 1:length(voronoi_sf)) { if (st_intersects(pts[i, ], voronoi_sf[j, ], sparse = FALSE)[1, 1]) { order_voronoi[i] <- j break } } } # Ordenar polígonos de Voronoi de acuerdo con el orden de los puntos ordered_voronoi <- voronoi_sf[order_voronoi] # Ahora, ordered_voronoi tiene los polígonos en el orden deseado. #------- A ver si así te funciona... Gracias, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> El vie, 8 sept 2023 a las 14:14, Isidro Hidalgo Arellano via R-help-es (<r-help-es en r-project.org<mailto:r-help-es en r-project.org>>) escribió: Buenos días: La función st_voronoi() del paquete sf desordena los polígonos resultantes. La he usado con los puntos de los municipios de España y el polígono de Voronoi nº 1 no es el correspondiente al primer núcleo de población. ¿Sabéis alguna forma de mantener el orden original, según los puntos usados? He intentado relacionar los polígonos resultantes con cada punto usado. Esto en teoría es posible, ya que el punto es el centroide del polígono, pero no doy con la tecla: library(sf) library(mapSpain) library(tidyverse) clm <- esp_get_prov_siane("Castilla-La Mancha", epsg = 3035) municipios_esp <- esp_get_munic_siane(year = 2019, epsg = 3035) # AVISO: tarda un poco nucleos_esp <- esp_get_capimun(year = 2022, epsg = 3035) voronoi_esp <- nucleos_esp |> st_union() |> st_voronoi() Como siempre, mil gracias... Isidro Hidalgo Arellano Observatorio del Mercado de Trabajo Junta de Comunidades de Castilla - La Mancha [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es en r-project.org<mailto:R-help-es en r-project.org> https://stat.ethz.ch/mailman/listinfo/r-help-es -- Saludos, Carlos Ortega www.qualityexcellence.es<http://www.qualityexcellence.es> [[alternative HTML version deleted]]