Tengo un conjunto de coordenadas como objeto SpatialPointsDataFrame en R y estoy recortando estos puntos usando un polígono para obtener solo los puntos que se encuentran dentro de este polígono. Estoy haciendo esto con la función gIntersection del paquete rgeos. Mi problema es que la función solo devuelve las coordenadas de esos puntos, y no los metadatos asociados a ellos. ¿Hay alguna forma de que gIntersection pase todos los datos al resultado, en lugar de solo las coordenadas?Mantener los metadatos al utilizar gIntersection del paquete rgeos en R
Aquí es un ejemplo:
Los SpatialPointsDataFrame que representan especies puntos de ocurrencia:
> spexample
coordinates SpAbbr InstitutionCode CatalogNumberText
1 (-76.8727, 3.66282) BanRot EBIRD_COL OBS81997559
2 (-76.9749, 3.71683) BanRot AUDCLO OBS89767945
3 (-76.884, 3.61609) BanRot AUDCLO OBS89769896
4 (-77.5167, 5.51667) BanRot AMNH Skin-123476
5 (-76.0334, 4.86669) BanRot LACM 34848
6 (-78.4333, 1.43333) BanRot LSUMZ 38939
7 (-78.55, 0.95) BanRot ANSP 182799
8 (-79.2139, 0.471944) BanRot AUDCLO OBS58485973
9 (-78.5104, 0.895349) BanRot AUDCLO OBS84822747
10 (-78.3781, 1.51028) BanRot AUDCLO OBS67916517
11 (-75.15, 7.07) BanRot 8110002317-09 4743-5160
recortes esos puntos para un polígono:
> gIntersection(spexample,bufferclip)
SpatialPoints:
x y
1 -78.55000 0.9500000
1 -78.51036 0.8953493
1 -78.43333 1.4333333
1 -78.37810 1.5102800
1 -76.97495 3.7168289
1 -76.88397 3.6160872
1 -76.87271 3.6628163
1 -76.03337 4.8666900
Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84
+ellps=WGS84 +towgs84=0,0,0
¡Gracias por la sugerencia! Eso es una gran solución. – Pascal