He usado la gIntersect
función del rgeos
paquete para determinar qué polígonos se cruzan en dos SpatialPolygonsDataFrames (spdfs). El resultado es una matriz lógica con nombres de fila que comprende las ID de polígono de sfdf # 1 y colname las ID de polígono de spdf # 2. Me gustaría usar esta matriz para subconjugar los dos spdfs originales, omitiendo aquellos polígonos que no tienen superposición, antes de usar la función gIntersection
. Puedo convertir fácilmente la matriz lógica en dos vectores de ID (uno para cada spdf) que representan esos polígonos con al menos cierta superposición.
Mi pregunta es: ¿puedo usar un vector de ID de polígono para subconjuntar un spdf? Si es así, ¿subconjugará correctamente los valores en la @data
ranura? Sé que generalmente puedo subconjugar spdfs usando esta sintaxis:
spdf[spdf@data$myVariable[someVector], ]
Esto no funcionará para las ID, ya que están enterradas mucho más profundamente dentro de la estructura de la lista spdf.
spdf[r, ]
)r
de nombres de fila, utilizando enteros extraerá ordinalmente