Извлечение значения из растрового стека с использованием SpatialDataPoint в R - PullRequest
0 голосов
/ 13 мая 2018

У меня есть доля в растровых данных Landsat, и я хочу извлечь их значения, используя SpatialPointData в R, а затем отобразить извлеченные значения вместе со связанными переменными в SpatialPointData, и, наконец, я хочу экспортировать извлеченные данные вместе с переменная в атрибуте объекта пространственной точки. Для этого я использовал функцию извлечения, но проблема в том, что после извлечения я получаю несколько ошибок каждый раз, и иногда это работает, но это дает мне только кадр данных в виде матрицы, которую я не могу сопоставить с точкой наблюдения.

Мои сценарии

      #raster
      lsat <- stack(b1,b2,b3,b4,b5,b6_1,b6_2,b7)
      #SpatialPoint
      soil_sp=SpatialPoints(cbind(soil.clean2$x,soil.clean2$y))

Extrcat значение из слоя стека

     soil_sp$ref<- extract(lsat2, soil_sp)

нанесите на график извлеченное значение и наблюдаемое значение в точечных данных для каждой полосы

     plot( soil_sp$ref ~., data=soil_sp)

Наконец, я хочу экспортировать извлеченное значение вместе с данными переменной в точке в одном фрейме данных или SpatialPointsDataFrame.

1 Ответ

0 голосов
/ 14 мая 2018

Решением было использовать SpatialPointDataFrame для извлечения значения растрового стека, а затем записать результат в файл CSV или что угодно.

реализация: Создайте SpatialPointDataFram из SpatialPointData

  soil_spdf=SpatialPointsDataFrame(coords = soil_sp,data = soil.clean2, 
  proj4string = soil_crs)

Получите значения.

soil_spdf$ref <- extract(lsat2 , soil_spdf)

запишите данные в CSV-файл в желаемую директорию на вашем ПК.

write.csv(x =soil_spdf,file ="C:/lsat2.csv")
...