¿Cómo puedo hacer selecciones espaciales o filtros en R? Puedo hacer esto en PostGIS usando (por ejemplo):
SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);
y de manera similar es pan comido en la mayoría de los demás software SIG. Así que esperaría que algo en R se vea así:
mypoint[within(mypoint, mypoly),]
pero no puedo encontrar ninguna pista en ningún lado. Estoy buscando algo que use la terminología de predicado espacial común utilizada en PostGIS / GEOS / JTS / Shapely (dentro, contiene, se cruza, se superpone, toca, etc .; DWithin sería una bonificación). ¿Existe esta funcionalidad o biblioteca para R? Si no, ¿hay algo similar?
Nota: En R, uso la sp
clase para mis objetos ( SpatialPointsDataFrame
, etc.).
fuente
point.in.polygon
es un buen comienzo para los polígonos básicos, aunque un poco tosco (p. ej.):point.in.polygon(pnt@coords[,1], pnt@coords[,2], lake@polygons[[1]]@Polygons[[1]]@coords[,1], lake@polygons[[1]]@Polygons[[1]]@coords[,2])
estoy ansioso por lorgeos
que mencionaste, y tiene todos los predicados binarios y más.rgeos
ahora está en CRAN , y es muy simple de instalar / usar / etc.