Vorrei fare una vera clip GIS in R di poligoni dei suoli usando una serie di poligoni a contorno singolo, ma non riesco a trovare una funzione R per farlo correttamente. Dovrebbe funzionare esattamente come la clip
funzione di ArcMap di ESRI. Ho provato il over
metodo nel sp
pacchetto ma non sembra funzionare per polis su polis.
Un suggerimento è stato quello di utilizzare la gIntersection
in rgeos
pacchetto come una clip utilizzando il seguente codice:
#------------------------------------
library(rgeos)
library(maptools)
#Read layers as SpatialPolygonsDataFrame (both the same Albers projection)
Soils_poly = readShapePoly("Soils_polygons") #Note - Has 400 polygons
clipper_poly = readShapePoly("clipper_polygon") #Note - Has 1 polygon
#Try gintersection as clip
Clipped_polys = gIntersection(Clipper_Tile_poly, Soils_poly)
#-----------------------------------
Questa operazione richiede 5 minuti (troppo lento) ed errori con questo:
Errore in RGEOSBinTopoFunc (spgeom1, spgeom2, byid, id, drop_not_poly, "rgeos_intersection"): TopologyException: nessuna directory in uscita trovata a -721459.77681285271 2009506.5980877089
Ho anche provato questo codice per verificare la sovrapposizione:
gIntersects(Clipper_Tile_poly, Soils_poly)
e il risultato è stato VERO. clip
funzione in ESRI ArcMap funziona bene per questi dati.
Qualcuno sa di una funzione R per fare correttamente una clip su poligoni spaziali usando poligoni spaziali?