• R语言
  • 请教如何用R把全球气温数据显示在地图上?

本人想用R来实现全球温度的可视化,看了以前的帖子,还是不大清楚。所用数据为nc(netcdf)数据,空间分辨率 1°×1°,已完成数据读取,已完成底图(也就是用球形立体投影的北半球轮廓图)制作(缺少边缘处即赤道处的一个圆形轮廓)。下面的代码就到此处!

最后卡在如何把属性数据(代码中的sst)显示到底图上,数据大小分级并用不同颜色表示。数据文件太大,不知怎么上传,下面的代码应该没有错误。求高手帮忙补充完整,多谢!

setwd("D:/Rdata/")<br />
library(ncdf)<br />
nc <- open.ncdf("sst.mnmean.nc")<br />
for( i in 1:nc$nvars ) {<br />
    v <- nc$var[[i]]<br />
    print(paste(" Here is information on variable number",i))<br />
    print(paste(" Name: ",v$name))<br />
    print(paste(" Units:",v$units))<br />
    print(paste(" Missing value:",v$missval))<br />
    print(paste(" # dimensions :",v$ndims))<br />
    print(paste(" Variable size:",v$varsize))<br />
    }<br />
varid <- nc$var[[1]]<br />
sst <- get.var.ncdf(nc,varid)             # read sst  360*180<br />
varsize <- varid$varsize<br />
tmp <- varid$dim[[1]]<br />
lons <- tmp$vals                          # read longitude   360<br />
tmp <- varid$dim[[2]]<br />
lats <- tmp$vals                          #read latitude    180<br />
library(maps)<br />
map('world',interior=FALSE,proj="stereographic", ylim=c(0,90))
</p>

你可以试试rwordmap这个包,应该可以帮你解决的问题。当然,像plotgooglemap或者plotKML等把数据投影到google earth上,也是一种方式。最后,用GIS来处理也蛮方便的。

回复 第2楼 的 zhangbing4502431:非常感谢,我试试!