基于坐标列表提取光栅值-spTransform?
我希望根据坐标列表提取光栅值。我在网上找到了一些脚本,其中包括坐标()、空间点()、crs()和spTransform(),还有一些没有。有人能解释一下脚本1或脚本2是否正确以及原因吗?多谢各位 脚本1基于坐标列表提取光栅值-spTransform?,r,coordinates,raster,r-raster,sp,R,Coordinates,Raster,R Raster,Sp,我希望根据坐标列表提取光栅值。我在网上找到了一些脚本,其中包括坐标()、空间点()、crs()和spTransform(),还有一些没有。有人能解释一下脚本1或脚本2是否正确以及原因吗?多谢各位 脚本1 sites <- read.csv("df.csv") coordinates(sites)= ~ Longitude+ Latitude mypoints = SpatialPoints(sites,proj4string = CRS("+init=epsg:4326")) mypro
sites <- read.csv("df.csv")
coordinates(sites)= ~ Longitude+ Latitude
mypoints = SpatialPoints(sites,proj4string = CRS("+init=epsg:4326"))
myproj = CRS(myraster)
points.proj = spTransform(mypoints, myproj)
myvalues = extract(myraster, points.proj)
站点都可能是正确的。使用光栅层r
和data.frame站点
可以
v <- extract(r, sites[, c("Longitude", "Latitude")])
crs
是“sterea…”,范围“178400181600…”表明坐标明显不是经度和纬度(它们以距离crs原点米的距离表示)
在这种情况下,您可能在r
site <- data.frame(Longitude=5.745039, Latitude=50.96254)
我们也是
pts <- SpatialPoints(site)
crs(pts) <- "+proj=longlat +datum=WGS84"
rcrs <- crs(r)
ptrans <- spTransform(pts, rcrs)
能否请您粘贴head(sites)
的结果,以便我们可以看到您开始使用的.csv
数据的类型和结构?下次请像我在回答中那样包括一些示例数据
site <- data.frame(Longitude=5.745039, Latitude=50.96254)
extract(r, site)
# [,1]
#[1,] NA
pts <- SpatialPoints(site)
crs(pts) <- "+proj=longlat +datum=WGS84"
rcrs <- crs(r)
ptrans <- spTransform(pts, rcrs)
extract(r, ptrans)
#1529.66