【问题标题】:Create plot from .ncdf data in R从 R 中的 .ncdf 数据创建绘图
【发布时间】:2015-04-13 14:28:52
【问题描述】:

我有一个印度尼西亚水域盐度的 NetCDF 文件,具有 4 维(经度、纬度、深度和时间)。我想根据我的数据创建一张地图,但它的位置似乎与海岸线不完全匹配。 在此处下载数据:https://onedrive.live.com/redir?resid=6FFDD661570C7D0A%21177 此处输出地图:https://onedrive.live.com/redir?resid=6FFDD661570C7D0A%21176

# This is my script
library (ncdf)
library (raster)
library (sp)

setwd ('D:/work')
bio <- open.ncdf('data.nc')
print (bio)

sal.dat <- get.var.ncdf(bio,"salinity")
sal0 <- brick(sal.dat[,,1,])
extent(sal0) <- c(105,110,-5,0)
projection(sal0) <- CRS("+proj=longlat +datum=WGS84")

#plot image
image (sal0)

# load coastal lines of Indonesia:
con <- url("http://biogeo.ucdavis.edu/data/gadm2/R/IDN_adm0.RData")
load(file = con)
close(con)

# plot coastal lines:
plot(gadm, add = T)

【问题讨论】:

    标签: r plot


    【解决方案1】:

    您可以为此目的使用rasterVis 包:

    # load needed librairies
    library(rasterVis)
    library(rgeos)
    
    # open the data
    salinity <- brick("data.nc", varname = "salinity")
    
    # load coastal lines of Indonesia:
    con <- url("http://biogeo.ucdavis.edu/data/gadm2/R/IDN_adm0.RData")
    load(file = con)
    close(con)
    
    # clip the coastline to the study area
    CP <- as(extent(salinity), "SpatialPolygons")
    proj4string(CP) <- CRS(proj4string(gadm))
    gadm <- gIntersection(gadm, CP, byid=TRUE)
    
    # map
    levelplot(subset(salinity, 1), margin = FALSE) +
    layer(sp.polygons(gadm, fill='transparent', col='black'))
    

    【讨论】:

    • 感谢您的快速回复 - 帕斯卡
    • @pascal..你是对的,我还有另一个问题。您能否提供一种简单的方法来从该数据中的 5 层进行合成?所以我可以得到该地区盐度的 5 天合成。我所做的是将栅格转换为矢量并使用 apply 来获得平均值,但我无法像以前一样将矢量数据绘制成地图......
    • 请探索raster包的功能,如calccellStatsoverlay
    • 一个关于 hoe 定义色带固定值的简单问题,我想显示所有这些数据,范围为 10-60。我尝试使用 at 但仍然无法使用 levelplot(subset(salinity, 1), contour=T, at=seq(10, 60, 5), margin=FALSE)
    • 一个关于 hoe 定义色带固定值的简单问题,我想显示所有这些数据,范围为 10-60。我尝试使用 at 但仍然无法使用 levelplot(subset(salinity, 1), contour=T, at=seq(20, 33, 1), margin=FALSE)
    猜你喜欢
    • 1970-01-01
    • 2019-04-28
    • 2020-04-24
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2018-06-11
    • 2013-02-13
    • 1970-01-01
    相关资源
    最近更新 更多