SDM SpatialPoints 和光栅掩模未对齐

问题描述 投票:0回答:1

我正在研究 R 中的物种分布模型,并试图在此过程的早期解决代码中的一些问题。我使用 WorldClim 的气候数据栅格创建了一个掩模。然后我根据物种观察数据创建空间点。当我尝试将空间点绘制到我的蒙版上时,它没有对齐:

not lining up

当我使用 QGIS 只是为了查看我的空间点是否与栅格图层对齐时,它会按预期对齐: lining up

稍后在我的代码中,我需要创建伪缺席,但这不起作用,因为它不会从掩码中提取任何内容,因为没有掩码,它不排队。

我尝试检查掩码和数据是否在同一个 CRS 中,我尝试在 QGIS 中仔细检查它,一切似乎都工作正常并对齐。我还确保了纬度和经度不会意外颠倒。

我错过了什么吗?

下面是出现问题的代码部分。我正在使用 R 版本 4.3.2 并在 VS Code 中进行编码(如果有帮助的话)。

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)
r gis raster mask qgis
1个回答
0
投票

代码看起来不错。也许阴谋本身就出了差错。这看起来像什么?

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")
© www.soinside.com 2019 - 2024. All rights reserved.