2015-04-13 9 views
0

У меня есть соленость NetCDF в Индонезии, вода с 4-мя измерениями (лон, лат, глубина и время). Я хотел бы создать карту из моих данных, но она выглядит не в подходящем положении, которое точно не совпадает с береговой линией. загрузить данные здесь: https://onedrive.live.com/redir?resid=6FFDD661570C7D0A%21177 выход карты здесь: https://onedrive.live.com/redir?resid=6FFDD661570C7D0A%21176Создайте график из .ncdf данных в R

# 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) 

ответ

0

Вы можете использовать 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')) 

enter image description here

+0

Спасибо за ваш быстрый реагировать - Pascal –

+0

@pascal. Ты прав, и у меня есть другой вопрос. Не могли бы вы дать простой способ сделать композит из 5 слоев в этих данных? поэтому я могу получить 5-дневный состав солености в этом регионе. Что я делаю, это преобразование растра в вектор, и использование применяется, чтобы получить среднее значение, но у меня есть проблема для построения векторных данных на карте, как раньше ... –

+0

Пожалуйста, изучите функции пакета «растр», такие как 'calc',' cellStats' или 'overlay'. –

Смежные вопросы