2 votos

¿Ampliar ligeramente el polígono con R?

Considere el siguiente escenario:

  1. He hecho un polígono de África continental + Madagascar.
  2. De otra fuente he obtenido algunos datos puntuales sobre esta zona.
  3. Los datos puntuales incluyen puntos en islas pequeñas que quiero descartar. Para ello utilizo over() en el paquete R sp para filtrar esos puntos.
  4. Sin embargo, cientos de puntos en la línea de costa están ligeramente fuera de mi(s) polígono(s), por lo que también serían descartados.

En la imagen de abajo, sólo se trazan los puntos que están apagados.

The problem points

Creo que si pudiera ampliar ligeramente los dos polígonos (África continental + Madagascar), podría filtrar los puntos mediante over() . Quizás haya otra solución que dé el mismo resultado, y si es así es genial.

EDITAR: usando rgeos::gBuffer() como sugirió @mdsumner, el problema está ahora resuelto, lo que se puede ver en este gráfico, donde los puntos que están realmente fuera de África continental y Madagascar están coloreados en rojo y los puntos que son "falsos positivos" están coloreados en negro.

El código utilizado para ampliar los polígonos era:

Africa.2 <- spTransform(x=Africa, CRSobj=CRS("+init=epsg:32662"))
library(rgeos)
Africa.larger <- gBuffer(Africa.2, width = 50000)

Solved

5voto

sgwill Puntos 2444

Utilice el gBuffer de la función rgeos paquete. Tiene un width para ampliar los polígonos con un margen.

Utilice byid = TRUE para mantener la identidad de los polígonos de entrada, de lo contrario se fusionan todos con el buffer.

Considere la posibilidad de utilizar spTransform para reproyectar a un sistema de coordenadas planas para las unidades, pero también puede utilizar "grados" para longlat. Los valores negativos de anchura reducen la forma, y el cero como anchura puede arreglar algunos problemas de topología, por lo que a menudo se utiliza como precursor antes de construir un buffer real.

1voto

Max_Guo Puntos 40

La mejor manera que se me ocurre es utilizar el paquete de herramientas "buffer". Algo que hay que recordar es que hay que comprobar primero las coordenadas y utilizar las unidades de búfer adecuadas. Para empezar, puedes buscar en la biblioteca GDAL.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X