Dato un oggetto Spaziale in R, come posso ritagliare tutti i suoi elementi in un riquadro di selezione?
Ci sono due cose che mi piacerebbe fare (idealmente saprei fare entrambe le cose, ma una delle due è una soluzione accettabile al mio problema attuale: limitare un file di forma poligonale agli Stati Uniti continentali).
Rilascia ogni elemento non completamente all'interno del rettangolo di selezione. Questo sembra
bbox()<-
essere il modo logico, ma non esiste un tale metodo.Esegui una vera operazione di ritaglio, in modo tale che elementi non infinitesimali (ad esempio poligoni, linee) vengano tagliati al limite .
sp::bbox
manca un metodo di assegnazione, quindi l'unico modo che ho escogitato sarebbe usareover
ogContains
/gCrosses
in combinazione con un oggetto SpatialPolygons contenente una casella con le coordinate della nuova casella di delimitazione. Quindi, quando si ritaglia un oggetto poligonale, è necessario capire quali sono contenuti rispetto a croce e modificare le coordinate di quei poligoni in modo che non superino la casella. O qualcosa del generegIntersection
. Ma sicuramente c'è un modo più semplice?
Mentre so che ci sono molti problemi con i riquadri di delimitazione e che una sovrapposizione spaziale a un poligono che definisce la regione di interesse è generalmente preferibile, in molte situazioni, i riquadri di delimitazione funzionano bene e sono più semplici.
gIntersection
e si avvicinò con Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, "rgeos_intersection") : TopologyException: no outgoing dirEdge found at 3 2.5
Non c'è tempo per eseguire il debug di oggi; ha scritto una versione sciatta e risolverà in futuro.