Я хочу нарисовать всемирное изображение распределения температуры, с файлом формы мира в качестве базовой карты, а затем нарисовать слой температуры поверх него, но диапазон долготы файла формы составляет от -180 до 180, данные о температуре собраны изФайл NetCDF имеет размер от 0 до 360, я пытался изменить диапазон долготы базовой карты, но на картинке не получилось
Может кто-нибудь сказать мне, как справиться с проблемой?
library(RNetCDF)
library(ggplot2)
library(maptools)
library(rgdal)
library(sp)
setwd("F:\\Programing\\Rnetcdf")
f<-open.nc("Soong.nc")
basemap<-readShapeSpatial("world.shp")
head(basemap)
shore <- fortify(basemap)
#shore$long<-shore$long+180
head(shore)
var.inq.nc(f,"TMP_P0_L109_GLL0")
apt<-var.get.nc(f,"APTMP_P0_L103_GLL0")
lon<-var.get.nc(f,"lon_0")
lat<-var.get.nc(f,"lat_0")
newlon<-rep(lon,each=length(lat))
newlat<-rep(lat,length(lon))
newapt<-as.vector(t(apt))
draw<-as.data.frame(cbind(newlat,newlon,newapt))
head(draw)
finaldraw<-ggplot(data=draw,aes(x=newlon,y=newlat,fill=newapt))+geom_raster(interpolate=T)+
scale_fill_gradientn(colours = rev(rainbow(7)), na.value = NA) +
geom_polygon(data = shore, aes(x=long, y = lat, group = group), color = "black",fill="NA") +
theme_bw() +
finaldraw
