2016-07-01 15 views
0

Ich finde die durchschnittlichen Produktionstage pro Jahr für Ahornsirup. Meine Maple-Distributionsdaten befinden sich in einer ASCII-Datei. Ich habe ein Raster (erstellt aus NetCDF-Dateien) brick.Tmax genannt. Ich möchte die Spezifikationen von brick.Tmax mit meinen Maple-Vertriebsdaten übereinstimmen.R - Raster mit gleichem Crs, Ausdehnung, Dimension, Auflösung stimmen nicht überein

## These are the specs I want to use for my maple distribution 
brick.Tmax 
class  : RasterBrick 
dimensions : 222, 462, 102564, 366 (nrow, ncol, ncell, nlayers) 
resolution : 0.125, 0.125 (x, y) 
extent  : -124.75, -67, 25.125, 52.875 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : E:\all_files\gridded_obs.daily.Tmax.1980.nc 
names  : X1980.01.01, X1980.01.02, X1980.01.03, X1980.01.04, X1980.01.05, X1980.01.06, X1980.01.07, X1980.01.08, X1980.01.09, X1980.01.10, X1980.01.11, X1980.01.12, X1980.01.13, X1980.01.14, X1980.01.15, ... 
Date  : 1980-01-01, 1980-12-31 (min, max) 
varname  : Tmax 

## reading in red maple data from ascii file into rasterLayer 
red_raster <- raster("E:/all_files/Maple_Data/redmaple.asc") 
red_raster 
class  : RasterLayer 
dimensions : 140, 150, 21000 (nrow, ncol, ncell) 
resolution : 20000, 20000 (x, y) 
extent  : -1793092, 1206908, -1650894, 1149106 (xmin, xmax, ymin, ymax) 
coord. ref. : NA 
data source : E:\all_files\Maple_Data\redmaple.asc 
names  : redmaple 
values  : -2147483648, 2147483647 (min, max) 

Wie kann ich alle Spezifikationen projizieren (Dimension, crs, resoluion und Ausmaß) von brick.Tmax auf red_raster, während immer noch die Werte von red_raster bewahren? Es scheint, als ob die beiden sich gegenseitig ausschließen.

HINWEIS: In einem Versuch, meine Frage zu rationalisieren, habe ich meine Frage ein wenig von meinem ursprünglichen Beitrag bearbeitet, so entschuldigt, wenn die folgenden Kommentare im aktuellen Kontext verwirrend sind. (Ich entfernte das Raster prodavg_rast, das sich wie ein Mittelsmann verhielt).

+0

Sie können die Metadaten nicht ersetzen, wenn ein Raster mit denen eines anderen und erwarten, dass Dinge funktionieren. Diese Schritte sind * Zuweisung * von Metadaten, keine Transformationen. Bitte melden Sie die crs, Auflösung, Dimensionen und Extents Ihrer Quelldaten. – mdsumner

+0

@mdsumner Vielen Dank für Ihre schnelle Antwort! Ach ja, Zuordnung versus Transformation. Ich habe bearbeitet, um die Spezifikationen zu meinen Quelldaten hinzuzufügen. –

+0

@RobertH danke für die richtung. Ich habe Verbesserungsvorschläge gemacht. –

Antwort

0

Die beiden Raster haben eindeutig nicht das gleiche Ausmaß. Tatsächlich befinden sie sich in verschiedenen Universen (Koordinatenreferenzsysteme). brick.Tmax hat Winkel- (Längen-/Breiten-) Koordinaten: +proj=longlat +datum=WGS84 , aber red_raster wird eindeutig nicht gegeben extent : -1793092, 1206908, -1650894, 1149106. Um diese Daten zusammen zu verwenden, muss einer der beiden transformiert werden (projiziert in das Koordinatenreferenzsystem des anderen). Das Problem ist, dass wir nicht wissen, was die crs von red_raster sind (esri ascii Dateien speichern diese Information nicht!). Sie müssen also herausfinden, was sich aus Ihrer Datenquelle ergibt, oder indem Sie den erfassten Bereich und die Konventionen angeben. Nachdem Sie es herausgefunden haben, können Sie beispielsweise Folgendes tun:

library(raster) 
tmax <- raster(nrow=222, ncol=462, xmn=-124.75, xmx=-67, ymn=25.125, ymx=52.875, crs="+proj=longlat +datum=WGS84") 

red <- raster(nrow=140, ncol=150, xmn=-1793092, xmx=1206908, ymn=-1650894, ymx=1149106, crs=NA) 
crs(red) <- " ??????  " 

redLL <- projectRaster(red, tmax) 

Projectiong Raster braucht Zeit. Ein guter Weg, um zu testen, ob Sie die Crs herausgefunden haben, wäre die Transformation einiger Polygone, die anzeigen können, ob sich die Dinge ausrichten.

library(rgdal) 
states <- shapefile('states.shp') 
sr <- spTransform(states, crs(red) 
plot(red) 
plot(sr, add=TRUE) 
+0

Brilliant! Danke @RobertH. Das hat perfekt funktioniert. Die ASCII-Dateien waren alberts gleich konisch, und die Projektionsinformationen waren verfügbar [hier] (http://www.fs.fed.us/nrs/atlas/littlefia/albers_prj.txt) –