Наложение (построение) точечных данных на растровый слой - PullRequest
0 голосов
/ 12 марта 2019

Итак, у меня есть следующий скрипт, который пытается подготовить данные для последующего моделирования на них с помощью пакета "biomod2". Он пытается наложить точки присутствия видов (xlm) на слои окружающей среды (bio1, bio7).

library(biomod2)
library(raster)

    data <- structure(list(longitude = c(-122.84,-119.418,-78.6569,-78.1834, -89.3985), latitude = c(45.28,36.7783,37.4316,-1.8312, 32.3547)), .Names = c("X_WGS84", 
"Y_WGS84"), class = "data.frame", row.names = c(NA, -5L))
data$xlm<-1

spdf <- SpatialPointsDataFrame(coords = xy, data = data,
                               proj4string = CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"))

myRespName <- 'xlm'
myResp <- as.numeric(data[,myRespName])
myRespXY <- data[,c('X_WGS84','Y_WGS84')]
myExpl = stack( system.file( "external/bioclim/current/bio3.grd", package="biomod2"),
system.file( "external/bioclim/current/bio4.grd", package="biomod2"))
myBiomodData <- BIOMOD_FormatingData(resp.var = myResp,expl.var = myExpl,resp.xy = myRespXY,resp.name = myRespName)
plot(myBiomodData)

В этом случае это работает, однако проблема в том, что когда я хочу заменить слои "bio4.grd" и "bio3.grd" в пакете своими собственными данными, это не работает. Я попробовал это следующим образом. Сначала я подумал, что это может быть формат файла "asci", но даже преобразовав их в "grd", я не получаю наложенные точки на сложенные слои. Хотя он перекрывает только одну точку в южной части США (вокруг Луизианы, Миссисипи).

library(biomod2)
library(raster) 

data <- structure(list(longitude = c(-122.84,-119.418,-78.6569,-78.1834, -89.3985), latitude = c(45.28,36.7783,37.4316,-1.8312, 32.3547)), .Names = c("X_WGS84", 
"Y_WGS84"), class = "data.frame", row.names = c(NA, -5L))
data$xylella<-1

spdf <- SpatialPointsDataFrame(coords = xy, data = data,
                               proj4string = CRS("+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0"))

myRespName <- 'xylella'

myResp <- as.numeric(data[,myRespName])

myRespXY <- data[,c('X_WGS84','Y_WGS84')]

bio2<-raster("C:\\Data\\BioClim_V2_MaxEnt\\wc2.0_bio_10m_02.asc")
crs(bio2) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" 
writeRaster(bio2, "C:\\Data\\BioClim_V2_MaxEnt\\bio2", overwrite=TRUE)

bio7<-raster("C:\\Data\\BioClim_V2_MaxEnt\\wc2.0_bio_10m_07.asc")
crs(bio7) <- "+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0" 
writeRaster(bio7, "C:\\Data\\BioClim_V2_MaxEnt\\bio7", overwrite=TRUE)

myExpl = stack (bio2,bio7)

myBiomodData <- BIOMOD_FormatingData(resp.var = myResp,expl.var = myExpl,resp.xy = myRespXY,resp.name = myRespName)

plot(myBiomodData)

Любая помощь высоко ценится. Большое спасибо.

...