2017-06-12 2 views
1

J'ai téléchargé les données de précipitations du satellite TRMM (pluie dans les tropiques) en tant que fichier netCDF et j'ai essayé de tracer les données dans R comme une rasterstack. Cependant, R insiste pour tracer incorrectement les axes de latitude et de longitude, de sorte que la longitude soit tracée sur l'axe des x (comme il se doit) mais utilise les coordonnées de latitude, alors que la latitude est sur l'axe des y, mais utilise les coordonnées de longitude. J'ai essayé d'utiliser à la fois les fonctions plot() et levelplot() mais aucune ne semble fonctionner. Quelqu'un peut-il m'aider à corriger cela?Raster stack incorrecting trace les coordonnées de latitude et de longitude

Ce sont les caractéristiques de la pile:

class  : RasterStack 
dimensions : 1440, 186, 267840, 12 (nrow, ncol, ncell, nlayers) 
resolution : 0.25, 0.25 (x, y) 
extent  : -23.25, 23.25, -180, 180 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
names  : X2016.01.16, X2016.02.15, X2016.03.16, X2016.04.15, X2016.05.16, X2016.06.15, X2016.07.16, X2016.08.16, X2016.09.15, X2016.10.16, X2016.11.15, X2016.12.16 
Date  : 2016-01-16, 2016-02-15, 2016-03-16, 2016-04-15, 2016-05-16, 2016-06-15, 2016-07-16, 2016-08-16, 2016-09-15, 2016-10-16, 2016-11-15, 2016-12-16 

Dans l'image suivante vous pouvez voir la sortie de courant. Il devrait montrer des précipitations sur les tropiques de -23 à 23 degrés de latitude et de -180 à 180 degrés de longitude.

Répondre

0

Il est impair si les coordonnées sont commutés avant tout traitement. Peut-être que vous voulez évaluer la source à partir de laquelle vous avez téléchargé les données et s'il y en a peut-être une meilleure.

Quoi qu'il en soit, (entre-temps) le paquet raster peut vous aider .. spécifiquement la fonction de transposition t(). Voici un exemple:

# data before transpose 
x <- getData('worldclim',var='tmean',res=10) 
plot(x) 

Normal

# data after transpose 
y <- t(x) 
plot(y) 

Transposed

Il y a aussi deux autres fonctions raster qui pourrait être vous intéresser: flip et rotate

HTH

0

merci pour votre réponse. Il semble étrange que les coordonnées soient désordonnées dès la sortie de la boîte, et j'ai essayé de télécharger un nouvel ensemble de données et le même problème s'est produit. Cependant, grâce à votre entrée, j'ai été capable de rectifier le problème en utilisant les fonctions transpose() et flip(). Je devais transposer les données, puis les retourner dans les deux dimensions x et y lorsque l'image était «reflétée». Voici le code je au cas où quelqu'un d'autre RENCONTRES ce problème avec les ensembles de données de TRMM:

a.t = t(test.rasterstack) a.flipy = flip(a.t, direction = 2) a.t.flipxy = flip(a.t.flipy, direction = 1) levelplot(a.t.flipxy)

+0

Ces ensembles de données sont pivotée « par la conception ». Voir aussi ici: https://gis.stackexchange.com/questions/170137/converting-binary-trmm-to-geotiff-using-r/170173#170173 – lbusett

+0

Merci @LoBu, c'est super utile et je pense que je vais utiliser le paquet Rsenal dans le futur – cbur