Después de una respuesta acerca de la intersección de polígonos con líneas para cortar un polígono en pequeñas polígono unidades (en QGIS), quería probar lo mismo en R. sin Embargo, me parece no puede encontrar un método que funcione!
over()
no tiene un método de los polígonos de intersección con las líneas; encontré gIntersection()
de rgeos pero falla:
require(sp)
require(rgeos)
poly <- readShapePoly("polygon.shp")
lines <- readShapeLines("lines.shp")
chopped <- gIntersection(poly, lines)
Dar:
Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, "rgeos_intersection") :
UnsupportedOperationException: GeometryGraph::add(Geometry *): unknown geometry type: N4geos4geom18GeometryCollectionE
Actualización: Aquí hay un enlace a los archivos en cuestión.
Actualización 2: PaulG notas que funciona y después de la actualización de rgeos y R me deshice de que el error anterior. Gracias PaulG ...
Sin embargo, gIntersection resultados en un SpatialLines objeto no importa si me pongo en el (poli, líneas) o (líneas, poli) mientras que en la operación que me hicieron en QGIS (o de Arco, en los malos tiempos de antaño) dividir un polígono con las líneas y el resultado en un polígono de objeto, no de la línea.
Así que, ¿cómo me cortan mi polígono con las líneas y obtener los polígonos ?