J'ai utilisé la gIntersect
fonction du rgeos
package pour déterminer quels polygones se croisent dans deux SpatialPolygonsDataFrames (spdfs). Le résultat est une matrice logique avec des noms de domaine comprenant les ID de polygone de sfdf # 1 et des noms de cols les ID de polygone de spdf # 2. Je voudrais utiliser cette matrice pour sous-définir les deux spdfs d'origine, en omettant les polygones qui ne se chevauchent pas, avant d'utiliser la fonction gIntersection
. Je peux facilement convertir la matrice logique en deux vecteurs d'ID (un pour chaque spdf) qui représentent ces polygones avec au moins un certain chevauchement.
Ma question est - puis-je utiliser un vecteur d'ID de polygone pour sous-définir un spdf? Si tel est le cas, est-ce qu'il sous-ensemble correctement les valeurs dans l' @data
emplacement? Je sais que je peux généralement sous-définir des spdfs en utilisant cette syntaxe:
spdf[spdf@data$myVariable[someVector], ]
Cela ne fonctionnera pas pour les identifiants, car ils sont enfouis beaucoup plus profondément dans la structure de la liste spdf.
spdf[r, ]
)r
de noms de lignes, en utilisant des entiers extraira ordinairement