如何在R中进行空间选择或过滤?我可以在PostGIS中使用(例如)执行此操作:
SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);
同样,在大多数其他GIS软件中也是如此。所以我希望R中的内容看起来像:
mypoint[within(mypoint, mypoly),]
但我在任何地方都找不到线索。我正在寻找一种使用PostGIS / GEOS / JTS / Shapely中常用的空间谓词术语(在内部,包含,相交,重叠,接触等; DWithin会很有价值)的东西。R是否存在此功能或库?如果不是,是否有相似之处?
注意:在R中,我将sp
类用于我的对象(SpatialPointsDataFrame
,等等)。
point.in.polygon
是基本多边形的一个很好的开始,尽管有点粗糙(例如):point.in.polygon(pnt@coords[,1], pnt@coords[,2], lake@polygons[[1]]@Polygons[[1]]@coords[,1], lake@polygons[[1]]@Polygons[[1]]@coords[,2])
我真的很期待rgeos
您提到的内容,它具有所有二进制谓词以及更多内容。