Як я можу зробити просторові виділення або фільтри в 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
те, що ви згадали, і має всі бінарні предикати та інше.