R语言 SDM SpatialPoints和栅格掩膜未对齐

zwghvu4y  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(98)

我正在用R语言编写一个物种分布模型,我试图在这个过程的早期解决代码中的一些问题。我使用WorldClim的气候数据栅格创建一个遮罩。然后我从物种观测数据创建空间点。当我试图将空间点绘制到遮罩上时,它并不对齐:
not lining up
当我使用QGIS只是为了查看空间点是否与栅格图层对齐时,它会按预期对齐:lining up
稍后在我的代码中,我需要创建伪缺失,这不起作用,因为它没有从掩码中提取任何东西,因为没有掩码,它没有排队。
我试着检查掩码和数据是否在相同的CRS中,我试着在QGIS中仔细检查它,一切似乎都很好,并且排成一行。我还确保了纬度和经度不会意外切换。
我错过了什么吗?
下面是给出问题的代码部分。我使用R版本4.3.2,如果有帮助的话,用VS代码编码。

library(raster)

# Read in occurence data
obs_data <- read.csv("data.csv")

# Read the raster files
raster_bio1 <- raster("wc2.1_30s_bio_1.tif")
raster_bio4 <- raster("wc2.1_30s_bio_4.tif")

# create stack of climatic data
clim_SA <- stack(raster_bio1, raster_bio4)
names(clim_SA) <- c("AnnMeanTemp", "TempSeasonality")

#  create mask which is kind of like a base map
#select any variable at the SA scale
mask_SA <- clim_SA$AnnMeanTemp > -500 

# create spatial points of species observation data
pt <- SpatialPoints(obs_data[, c("decimalLongitude", "decimalLatitude")], proj4string = CRS("+proj=longlat +datum=WGS84"))
plot(mask_SA)
plot(pt, pch = 16, col = "red", add = T)

字符串

6tqwzwtp

6tqwzwtp1#

代码看起来很好。也许绘图本身出错了。这看起来像什么?

library(terra)
obs_data <- read.csv("data.csv")
r <- rast("wc2.1_30s_bio_1.tif")
plot(r)
points(obs_data[, c("decimalLongitude", "decimalLatitude")], pch=20, col="red")

字符串

相关问题