Como posso fazer seleções espaciais ou filtros no R? Eu posso fazer isso no PostGIS usando (por exemplo):
SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);
e é similarmente um pedaço de bolo na maioria dos outros softwares GIS. Então, eu esperaria que algo em R se parecesse com:
mypoint[within(mypoint, mypoly),]
mas não encontro leads em nenhum lugar. Estou procurando por algo que use a terminologia de predicado espacial comum usada no PostGIS / GEOS / JTS / Shapely (dentro, contém, cruza, sobrepõe, toca, etc; DWithin seria um bônus). Essa funcionalidade ou biblioteca existe para o R? Caso contrário, há algo semelhante?
Nota: No R, uso a sp
classe para meus objetos ( SpatialPointsDataFrame
, etc).
fonte
point.in.polygon
é um bom começo para polígonos básicos, embora um pouco bruto (por exemplo):point.in.polygon(pnt@coords[,1], pnt@coords[,2], lake@polygons[[1]]@Polygons[[1]]@coords[,1], lake@polygons[[1]]@Polygons[[1]]@coords[,2])
estou realmente ansioso pelorgeos
que você mencionou e tem todos os predicados binários e muito mais.rgeos
agora está no CRAN e é muito simples de instalar / usar / etc.