Bagaimana saya bisa melakukan seleksi spasial atau filter dalam R? Saya dapat melakukan ini di PostGIS menggunakan (misalnya):
SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);
dan juga sepotong kue di sebagian besar perangkat lunak GIS lainnya. Jadi saya berharap sesuatu dalam R terlihat seperti:
mypoint[within(mypoint, mypoly),]
tetapi saya tidak dapat menemukan petunjuk di mana pun. Saya mencari sesuatu yang menggunakan terminologi predikat spasial umum yang digunakan dalam PostGIS / GEOS / JTS / Shapely (di dalam, berisi, berpotongan, tumpang tindih, menyentuh, dll.; DWithin akan menjadi bonus). Apakah fungsi atau pustaka ini ada untuk R? Jika tidak, adakah yang serupa?
Catatan: Di R, saya menggunakan sp
kelas untuk objek saya ( SpatialPointsDataFrame
, dll).
sumber
point.in.polygon
adalah awal yang baik untuk poligon dasar, meskipun agak kasar (misalnya):point.in.polygon(pnt@coords[,1], pnt@coords[,2], lake@polygons[[1]]@Polygons[[1]]@coords[,1], lake@polygons[[1]]@Polygons[[1]]@coords[,2])
Saya benar-benar menantikanrgeos
yang Anda sebutkan, dan memiliki semua predikat biner dan banyak lagi.rgeos
sekarang di CRAN , dan sangat mudah untuk menginstal / menggunakan / etc.