首页 > 解决方案 > 在栅格上绘制坐标

问题描述

这与我问的最后一个问题有关(仍然是 R 的相对新手,使用 RStudio,版本 1.2.5033)。基本上,我有一个在线下载的栅格文件(NLCD 2016 土地利用),我想在栅格地图上绘制描绘河流流域和采样点坐标的 shapefile。我能够在栅格顶部绘制 shapefile,但由于某种原因,我无法将坐标绘制在顶部。相反,RStudio 会为坐标创建一个新图形。任何人都可以帮助解决这个问题吗?谢谢!

关于光栅的信息(在代码中以 nlcd 开始,然后被重新分类并裁剪为 rc):类:RasterLayer 尺寸:7302、11233、82023366(nrow、ncol、ncell)分辨率:30、30(x、y)范围 : 175185, 512175, 2386365, 2605425 (xmin, xmax, ymin, ymax) crs : +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 + ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs 来源:/private/var/folders/f5/7wtm6gsn1qn70rxh1ny6m7m40000gn/T/RtmpRxBkDJ/raster/r_tmp_2020-05 -28_090052_49820_66166.grd 名称:NLCD_2016_Land_Cover_L48_20190424 值:0、90(最小值、最大值)

有关其中一个 shapefile 的信息(共 9 个):具有 1 个特征和 1 个字段几何类型的简单特征集合:多边形尺寸:XY bbox:xmin:338204.4 ymin:2456656 xmax:350204.4 ymax:2471206 CRS:+proj=aea +lat_1= 29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m + no_defs 名称几何 1 WI20200528013216810000 POLYGON ((346454.4 2471206,...

坐标信息:具有 9 个特征和 1 个字段几何类型的简单特征集合:POINT 维度:XY bbox:xmin:213539 ymin:2439512 xmax:495172.2 ymax:2577206 CRS:+proj=aea +lat_1=29.5 +lat_2=45.5 + lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs

小标题:9 x 2

名称几何形状1 Allequash(495172.2 2577206)2 Bassett(214667.1 2447725)3 Chippewa(363545.1 24447006)4 Como(351253.3 2465617 ) 9 鳟鱼 (341781.7 2464613)

代码:


All_Bas<-st_read("./Allequash/layers","globalwatershed")
Chip_Bas<-st_read("./Chippewa/layers","globalwatershed")
Bass_Bas<-st_read("./Bassett/layers","globalwatershed")
Como_Bas<-st_read("./Como/layers","globalwatershed")
Flam_Bas<-st_read("./Flambeau/layers","globalwatershed")
Minn_Bas<-st_read("./Minnehaha/layers","globalwatershed")
Red_Bas<-st_read("./Red Cedar/layers","globalwatershed")
Shin_Bas<-st_read("./Shingle/layers","globalwatershed")
Trout_Bas<-st_read("./Trout/layers","globalwatershed")

All_Bas_aea<-st_transform(All_Bas,crs(nlcd))
Chip_Bas_aea<-st_transform(Chip_Bas,crs(nlcd))
Bass_Bas_aea<-st_transform(Bass_Bas,crs(nlcd))
Como_Bas_aea<-st_transform(Como_Bas,crs(nlcd))
Flam_Bas_aea<-st_transform(Flam_Bas,crs(nlcd))
Minn_Bas_aea<-st_transform(Minn_Bas,crs(nlcd))
Red_Bas_aea<-st_transform(Red_Bas,crs(nlcd))
Shin_Bas_aea<-st_transform(Shin_Bas,crs(nlcd))
Trout_Bas_aea<-st_transform(Trout_Bas,crs(nlcd))

Basins<rbind(Chip_Bas_aea,Minn_Bas_aea,All_Bas_aea,Bass_Bas_aea,Como_Bas_aea,Flam_Bas_aea,Red_Bas_aea,Shin_Bas_aea,Trout_Bas_aea)
nlcd_crop<-crop(nlcd,Basins)

coordinates <-"Site Coordinates_degrees.xlsx"
site_coordinates<-read_excel(coordinates,sheet=1) #Proj=longlat datum=WGS84
rm(coordinates)
site_coordinates_crs<-CRS("+proj=longlat +datum=WGS84")

coordinates<st_as_sf(site_coordinates,coords=c("Longitude","Latitude"),crs=site_coordinates_crs)
coordinates_aes<-st_transform(coordinates,crs(nlcd))

m<-c(0,10,0,11,11,1,12,20,0,21,24,2,25,40,0,41,43,3,44,80,0,81,87,4,88,89,0,90,95,5)
rclmat<-matrix(m,ncol=3,byrow=TRUE)
rc<-reclassify(nlcd_crop,rclmat)
pal<-colorRampPalette(c("gray90","gray47","cornflowerblue","gray90","lightgreen","gray90","gray90","gray90","red","lightgreen"))

jpeg("Simplifed Landuse code.jpeg",width=1000,height=750)
plot(rc,col=pal(50),legend=FALSE)
plot(All_Bas_aea,color="white",lwd=2,fill=NA,add=TRUE)
plot(Chip_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Minn_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Bass_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Como_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Flam_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Red_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Shin_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(Trout_Bas_aea,color="black",lwd=2,fill=NA,add=TRUE)
plot(coordinates_aes) # This is where I'm running into the problem of coordinates not plotting on top of raster map
dev.off()'''


标签: rrasterpoint

解决方案


推荐阅读