Tôi mới sử dụng R và sử dụng gói raster. Tôi có một vấn đề trích xuất đa giác từ một tệp raster hiện có. Nếu tôi sử dụng
extract(raster, poly_shape)
Chức năng trên raster nó luôn tạo một danh sách với dữ liệu. Điều tôi thực sự muốn là trích xuất một tệp raster khác mà tôi có thể tải lại với ArcGIS. Sau khi đọc thêm một chút tôi nghĩ hàm crop là thứ tôi thực sự cần. Nhưng khi tôi cố gắng sử dụng chức năng này
crop(raster, poly_shape)
Tôi nhận được lỗi này:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
Các tệp raster và poly_shape giống nhau cho cả hai chức năng. Bạn có thể cho tôi biết những gì có thể sai ở đây? Có đúng không khi hàm crop tạo ra một raster khác và không phải là một danh sách?
EDIT : Hàm scope () không hoạt động đối với tôi. Tôi vẫn nhận được lỗi tương tự. Nhưng tôi chắc chắn 2 tập dữ liệu trùng nhau! Với
extract(raster, poly_shape)
Tôi nhận được dữ liệu đúng từ nó. Chỉ là một danh sách và không phải là một raster như tôi muốn có nó. Tôi mới tải các bộ dữ liệu trong ArcGIS trước đó và chúng rất phù hợp vì vậy tôi đã không kiểm tra phép chiếu. Bây giờ tôi đã thử
projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"
projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"
và bạn có thể thấy rằng các phép chiếu không phù hợp. Hàm trích xuất dường như có thể tự động chuyển đổi các tệp theo đúng cách. Tôi biết điều đó bởi vì tôi đã làm như sau:
- Tôi đã cắt bỏ phần chính xác của đa giác mà tôi đã trích xuất trong R cũng trong ArcGIS
- Tôi đã tính tổng của tất cả các giá trị của đa giác R được trích xuất (danh sách)
- Tôi đã tính tổng của tất cả các ô raster mà tôi đã cắt trong ArcGIS
Cả 2 có cùng kết quả chính xác nên tôi đoán kết luận là hàm trích xuất đã hoạt động chính xác. Bây giờ tôi có 2 tùy chọn tôi đoán:
- Tôi cần một cách để đưa Raster ra khỏi danh sách được trích xuất lại hoặc
- 2 bộ dữ liệu (raster + poly_shape) cần sử dụng cùng một phép chiếu và chức năng cắt sẽ hoạt động
Bạn muốn đề nghị làm gì ở đây?