Jestem nowy w R i korzystam z pakietu rastrowego. Mam problem z wyodrębnieniem wielokątów z istniejącego pliku rastrowego. Jeśli użyję
extract(raster, poly_shape)
funkcja na rastrze zawsze tworzy listę z danymi. Naprawdę chcę wyodrębnić kolejny plik rastrowy, który mogę ponownie załadować za pomocą ArcGIS. Po przeczytaniu trochę więcej, myślę, że naprawdę potrzebuję funkcji przycinania. Ale kiedy próbuję użyć tej funkcji
crop(raster, poly_shape)
Otrzymuję ten błąd:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
Pliki raster i poly_shape są takie same dla obu funkcji. Czy możesz mi powiedzieć, co może być nie tak? Czy to w porządku, że funkcja przycinania tworzy kolejny raster, a nie listę?
EDYCJA : Funkcja scope () nie działa dla mnie. Nadal pojawia się ten sam błąd. Ale jestem pewien, że 2 zestawy danych pokrywają się! Z
extract(raster, poly_shape)
Otrzymuję z tego odpowiednie dane. Tak jak lista, a nie raster jak ja chcę ją mieć. Właśnie załadowałem wcześniej zestawy danych do ArcGIS i pasują one bardzo dobrze, więc nie sprawdziłem projekcji. Teraz próbowałem
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"
i widać, że występy nie pasują. Wydaje się, że funkcja wyodrębniania może automatycznie przekształcać pliki we właściwy sposób. Wiem to, ponieważ wykonałem następujące czynności:
- Dokładną część wielokąta wyciąłem w R również w ArcGIS
- Obliczyłem sumę wszystkich wartości wyodrębnionego wielokąta R (lista)
- Obliczyłem sumę wszystkich komórek rastrowych, które wyciąłem w ArcGIS
Te 2 mają dokładnie taki sam wynik, więc sądzę, że wniosek powinien być taki, że funkcja wyodrębniania działała poprawnie. Teraz mam chyba 2 opcje:
- Potrzebuję sposobu, aby ponownie usunąć Raster z wyodrębnionej listy lub
- Dwa zestawy danych (raster + poly_shape) muszą korzystać z tego samego prjection, a funkcja crop powinna działać
Co sugerowałbyś tutaj zrobić?