Я готовлю набор данных для запуска классификации SVM.Пока у меня есть растровый стек, который включает слой ([6]
) для обучения
> S1
class : RasterStack
dimensions : 3865, 6899, 26664635, 6 (nrow, ncol, ncell, nlayers)
resolution : 14.83, 14.83 (x, y)
extent : 361363.5, 463675.7, 5760647, 5817965 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=32 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
names : Coherence_VV_Stack2.1, Coherence_VV_Stack2.2, Coherence_VV_Stack2.3, Coherence_VV_Stack2.4, Coherence_VV_Stack2.5, Class
min values : ?, ?, ?, ?, ?, 0
max values : ?, ?, ?, ?, ?, 1
Где S1[[6]]
:
> S1[[6]]
class : RasterLayer
dimensions : 3865, 6899, 26664635 (nrow, ncol, ncell)
resolution : 14.83, 14.83 (x, y)
extent : 361363.5, 463675.7, 5760647, 5817965 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=utm +zone=32 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
data source : in memory
names : Class
values : 0, 1 (min, max)
и plot(S1[[6])
:
Я хочу создать dataframe
(для последующего использования в качестве входных данных для классификации), где:
Если значение пикселя в S1[[6]]
равно 1
, извлеките значения пикселей в других слоях raster stack
и поместите его в dataframe
Если значение пикселяв S1[[6]]
есть 0
, ничего не делать.
Есть предложения о том, как поступить?Я знаю, что проблему можно решить, импортировав shapefile
и используя функцию extract
, но я хочу использовать этот подход.