Użyłem gIntersect
funkcji z rgeos
pakietu, aby określić, które wielokąty przecinają się w dwóch SpatialPolygonsDataFrames (spdfs). Rezultatem jest logiczna macierz z nazwami rud zawierającymi identyfikatory wieloboków z sfdf # 1 i nazwami identyfikatorów wielokątów z spdf # 2. Chciałbym użyć tej macierzy do podzestawienia dwóch oryginalnych plików pdf, pomijając te wielokąty, które nie nakładają się, przed użyciem funkcji gIntersection
. Mogę łatwo przekonwertować matrycę logiczną na dwa wektory identyfikatorów (po jednym dla każdego pliku spdf), które reprezentują te wielokąty, które przynajmniej częściowo się pokrywają.
Moje pytanie brzmi - czy mogę użyć wektora identyfikatorów wielokątów do podzbioru pliku spdf? Jeśli tak, czy prawidłowo podmieni wartości w @data
gnieździe? Wiem, że ogólnie mogę podgrupować pliki spdf przy użyciu tej składni:
spdf[spdf@data$myVariable[someVector], ]
To nie zadziała w przypadku identyfikatorów, ponieważ są one zakopane znacznie głębiej w strukturze listy spdf.
spdf[r, ]
)r
nazw wierszy, używając liczb całkowitych, wyodrębnisz go normalnie