2016-09-06 6 views
0

Ich habe eine Rasterdatei für die ganze Welt, deren Details sind:Wie kann ich ein Rasterformat in ein anderes Format konvertieren?

class  : RasterLayer 
dimensions : 18000, 43200, 777600000 (nrow, ncol, ncell) 
resolution : 0.008333333, 0.008333333 (x, y) 
extent  : -180, 180, -60, 90 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs 
data source : E:\bc26pr50\bc26pr501.tif 
names  : bc26pr501 
values  : 0, 1100 (min, max) 

Und ich will es der Teilmenge eine andere Rasterdatei, die nur für US ist zu imitieren:

class  : RasterLayer 
dimensions : 3500, 7000, 24500000 (nrow, ncol, ncell) 
resolution : 0.01, 0.01 (x, y) 
extent  : -130, -60, 20, 55 (xmin, xmax, ymin, ymax) 
coord. ref. : NA 
data source : E:\dem.tif 
names  : dem 
values  : -85.25208, 4385.539 (min, max) 

Wie kann ich umwandeln die Auflösung sowie Teilmenge der Datensatz? Muss ich RGDAL dafür benutzen? Alle Hinweise wären hilfreich.

Antwort

0

Verwenden Sie zuerst die Ernte() Funktion aus dem Raster-Paket:

r1.crop <- crop(r1,r2) # probably not obligatory, but will speed up the next action

Dann die Funktion Resampling verwenden

r1.resamp <- resample(r1.crop, r2) # can be slow

Sie sollten mit Ihrem Ziel sehr nahe sein. Es kann effizientere Wege geben, aber versuchen Sie es zuerst, dann optimieren Sie es.

1

Ich würde vorschlagen, gdalwarp Funktion in Paket gdalUtils zu verwenden. Sie müssen die "te" und "tr" Parameter einstellen und vielleicht ein bisschen mit "tap" spielen, aber Sie sollten leicht bekommen, was Sie wollen.

HTH,

Lorenzo

Verwandte Themen