Как я могу сделать пространственные выделения или фильтры в R? Я могу сделать это в PostGIS, используя (например):
SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);
и это аналогично в большинстве других программ ГИС. Так что я ожидаю, что что-то в 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что вы упомянули, и имеет все двоичные предикаты и многое другое.