Jak mogę dokonać selekcji przestrzennej lub filtrów w R? Mogę to zrobić w PostGIS za pomocą (np.):
SELECT * FROM mypoint, mypoly
WHERE ST_Within(mypoint.geom, mypoly.geom);
i podobnie jest w przypadku większości innych programów GIS. Spodziewałbym się więc, że coś w R będzie wyglądać:
mypoint[within(mypoint, mypoly),]
ale nigdzie nie mogę znaleźć żadnych potencjalnych klientów. Szukam czegoś, co wykorzystuje wspólną terminologię predykatów przestrzennych używaną w PostGIS / GEOS / JTS / Shapely (wewnątrz, zawiera, przecina, nakłada się, dotyka itp .; DWithin byłby bonusem). Czy ta funkcjonalność lub biblioteka istnieje dla R? Jeśli nie, to czy jest coś podobnego?
Uwaga: W R używam tej sp
klasy dla moich obiektów ( SpatialPointsDataFrame
itp.).
źródło
point.in.polygon
to dobry początek dla podstawowych wielokątów, choć nieco prymitywny (np.):point.in.polygon(pnt@coords[,1], pnt@coords[,2], lake@polygons[[1]]@Polygons[[1]]@coords[,1], lake@polygons[[1]]@Polygons[[1]]@coords[,2])
Naprawdę nie mogę się doczekać, abyrgeos
wspomnieć, i ma wszystkie predykaty binarne i więcej.rgeos
jest teraz w CRAN i jest bardzo prosty w instalacji / użyciu / etc.