Я новачок у R та використовую растровий пакет. У мене є проблема з вилученням полігонів з існуючого растрового файлу. Якщо я користуюся
extract(raster, poly_shape)
Функція на растрі завжди створює список із даними. Мені дуже хочеться витягти ще один растровий файл, який я можу знову завантажити ArcGIS. Прочитавши трохи більше, я думаю, що функція врожаю - це те, що мені справді потрібно. Але коли я намагаюся використовувати цю функцію
crop(raster, poly_shape)
Я отримую цю помилку:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
Файли растрові та полі_шапи однакові для обох функцій. Чи можете ви сказати мені, що тут може бути не так? Чи правильно, що функція обрізання створює інший растр, а не список?
EDIT : Функція степеня () не працює для мене. Я все одно отримую ту саму помилку. Але я впевнений, що два набори даних перетинаються! З
extract(raster, poly_shape)
Я отримую з них правильні дані. Як список, а не як растр, як я хочу його мати. Я щойно завантажував набори даних в ArcGIS раніше, і вони дуже добре підходили, тому я не перевіряв проекцію. Тепер я спробував
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"
і ви бачите, що проекції не відповідають. Здається, функція витягу здатна автоматично трансформувати файли в потрібний спосіб. Я це знаю, бо зробив наступне:
- Я вирізав точну частину багатокутника, який я видобув у R також у ArcGIS
- Я обчислив суму всіх значень видобутого полігона R (список)
- Я підрахував суму всіх растрових клітин, які я вирізав в ArcGIS
2 мають точно такий же результат, тому я гадаю, що висновок повинен бути таким, що функція вилучення працювала правильно. Зараз у мене є 2 варіанти, які я думаю:
- Мені потрібен спосіб, як знову витягнути Растер із вилученого списку або
- У двох наборах даних (растровий + полі_шапе) потрібно використовувати одне і те ж прогнозування, і функція обрізання повинна працювати
Що б ти запропонував зробити тут?