Создание RasterLayer

Я пытаюсь создать растровый слой из матрицы, которая содержит в столбцах названия видов, долготу и широту.

Имя данных является "базовым", и когда я пытаюсь создать растровый слой со степенью base с командой

r<-raster(base)

Я получаю ошибку:

Error en .local(x, ...) : list has no "x"

Ты поможешь мне? Спасибо

1 ответ

Вы не дадите нам многого, но вы можете попробовать это (пример ниже ПРИНИМАЕТ, что ваши координаты представлены в формате широта-долгота с использованием данных WGS84. Если это не представление ваших точек в 2-D пробел будет неправильным, поэтому, пожалуйста, попробуйте найти информацию о проекции...

require( sp )
require( raster )
require( maptools )


#Some dummy data in the format you have described
base <- data.frame( longitude = sample( c(-20:20) , 10 ) , latitude = sample( c(-30:30) , 10 ) , species = sample( letters[1:3] , 10 , repl = TRUE ) )
head( base )
#     longitude latitude species
#   1       -10        7       a
#   2         3       14       b
#   3        -9       29       b
#   4        -8      -25       a
#   5         0      -19       b
#   6       -19       19       c

#Make spatial points dataframe, which will have a spatial extent
spdf <- SpatialPointsDataFrame( base[ c("longitude" , "latitude") ] , data = data.frame( base$species ) , proj4string = CRS("+proj=longlat +datum=WGS84") )

#make raster based on the extent of your data
r <- raster( extent( spdf ) )
r
#   class       : RasterLayer 
#   dimensions  : 10, 10, 100  (nrow, ncol, ncell)
#   resolution  : 3.3, 5.8  (x, y)
#   extent      : -20, 13, -29, 29  (xmin, xmax, ymin, ymax)
#   coord. ref. : NA 
#   values      : none
Другие вопросы по тегам