Rworldmap ressemble exactement à ce dont j'ai besoin pour cartographier les données climatiques, mais j'ai un problème pour aligner la carte de base avec les données climatiques. Ce que je suis cartographie est des données de température de l'océan à partir JAMSTEC pour Août 2015 à partir d'ici:rworldmap coordonnées, comment faire correspondre les données NetCDF à la carte?
http://www.jamstec.go.jp/ARGO/argo_web/ancient/MapQ/Mapdataset_e.html
Le nom du jeu de données est TS_201508_GLB.nc. Le script R que j'utilise est ci-dessous. Les contours du pays sont très bien, mais les données sont pour les océans seulement et les données ne montrent pas dans les océans qu'il est compensé en quelque sorte. Pouvez-vous me dire comment aligner les données sur la carte?
J'ai lu beaucoup d'articles mais je ne sais pas comment les aligner. Les données que j'ai sont la longitude et la latitude. La latitude sud est négative et la longitude ouest est négative, je ne vois pas comment ils pourraient être confus. Comment est montrée la carte, y a-t-il une sorte de convention spéciale pour les lat/longs?
Merci pour toute aide que vous pouvez fournir. Le code:
library(RNetCDF)
library(sp)
library(rworldmap)
library(rgeos)
library(RColorBrewer)
library (classInt)
library(grid)
library(spam)
library(maps)
library(maptools)
library(fields)
library(methods)
library(rgdal)
library(rworldxtra)
fname <- "G:/Climate_Change/Ocean_Warming/MOAA_GPV_Jamstec_Temperature/TS_201508_GLB.nc"
moaa <- open.nc(fname)
# moaa
print.nc(moaa)
file.inq.nc(moaa)
#TOI is the temperature array extracted from the NCDF file
TOI = var.get.nc(moaa,"TOI",start=c(1,1,1),count=c(360,132,25))
TOI[1,1,1]
Long = var.get.nc(moaa,"LONGITUDE")
Lat = var.get.nc(moaa, "LATITUDE")
Pres = var.get.nc(moaa,"PRES")
# create grid
offset=c(-179.5,-60.50)
cellsize = c(abs(Long[1]-Long[2]),abs(Lat[1]-Lat[2]))
cells.dim = c(dim(Long), dim(Lat))
# create gt
gt <- GridTopology(cellcentre.offset=offset,cellsize=cellsize,cells.dim=cells.dim)
# create map window
mapDevice()
# Create a color pallette
colourPalette=c('blue','lightblue','white',brewer.pal(9,'YlOrRd'))
# Values at 2000 decibar for August 2015
ncMatrix <- TOI[,,25]
# Gridvalues
gridVals <-data.frame(att=as.vector(ncMatrix))
# create a spatialGridDataFrame
sGDF <-SpatialGridDataFrame(gt,data=gridVals)
# Vector to classify data
catMethod=seq(from=0,to=4,by=.33)
# plotting the map and getting params for legend
mapParams <- mapGriddedData(sGDF, nameColumnToPlot='att',catMethod=catMethod,colourPalette=colourPalette,addLegend=FALSE)
Bienvenue chez SO. S'il vous plaît ranger votre code (tous les paquets vraiment nécessaires? Tous les commentaires précédés par '#'? ...). En outre, une capture d'écran illustrant le problème peut s'avérer utile. Et last but not least, cela pourrait être mieux adapté pour http://gis.stackexchange.com. – lukeA
J'apprécie ce que vous dites, mais quand j'essaie de mettre les commentaires, je reçois un message d'erreur. Je l'ai eu l'air bien, mais il ne posterait pas. Il n'acceptera pas "#". –
Merci à Dave2e pour avoir corrigé les commentaires! J'ai besoin d'apprendre comment faire ça. –