Diberikan objek Spasial dalam R, bagaimana cara klip semua elemennya berada di dalam kotak pembatas?
Ada dua hal yang ingin saya lakukan (idealnya saya tahu bagaimana melakukan keduanya, tetapi keduanya merupakan solusi yang dapat diterima untuk masalah saya saat ini - membatasi polifon shapefile ke benua AS).
Jatuhkan setiap elemen tidak sepenuhnya dalam kotak pembatas. Ini sepertinya
bbox()<-
cara yang logis, tetapi tidak ada metode seperti itu.Lakukan operasi klip yang benar, sehingga elemen non-infinitesimal (mis. Poligon, garis) terpotong pada batas .
sp::bbox
tidak memiliki metode penugasan, jadi satu-satunya cara saya datang dengan menggunakanover
ataugContains
/gCrosses
dalam hubungannya dengan objek SpatialPolygons yang berisi kotak dengan koordinat kotak lompatan baru. Kemudian ketika memotong objek poligon, Anda harus mencari tahu mana yang berisi vs silang, dan mengubah koordinat poligon tersebut sehingga mereka tidak melebihi kotak. Atau semacamnyagIntersection
. Tapi pasti ada cara yang lebih sederhana?
Meskipun saya tahu bahwa ada banyak masalah dengan kotak pembatas , dan bahwa pelapisan spasial ke poligon yang mendefinisikan wilayah yang diminati biasanya lebih disukai, dalam banyak situasi, kotak pembatas berfungsi dengan baik dan lebih sederhana.
gIntersection
dan muncul dengan Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, "rgeos_intersection") : TopologyException: no outgoing dirEdge found at 3 2.5
Tidak ada waktu untuk debug hari ini; menulis versi ceroboh dan akan diperbaiki di masa depan.