यदि आप एक प्रक्षेपण और संकल्प में रास्टर हैं तो आपको projectRaster
का उपयोग कर सकते हैं और आपको एक अलग विशेष रिज़ॉल्यूशन और प्रोजेक्शन में आउटपुट की आवश्यकता है।
from
तर्क आपका उच्च रिज़ॉल्यूशन रास्टर है और to
तर्क आपका निम्न रास्टर रास्टर है। आप स्पष्ट डेटा के लिए एकत्रीकरण (यानी निरंतर डेटा के लिए bilinear
और ngb
(निकटतम पड़ोसी) के लिए सही विधि का चयन सुनिश्चित करें।
require(raster)
# Projection info
proj1 <- CRS("+proj=laea +lon_0=20 +lat_0=5 +ellps=sphere +unit=km +to_meter=1e3")
proj2 <- CRS("+proj=longlat +datum=WGS84 +ellps=WGS84")
# High res raster
r1km <- raster(nrows = 1515 , ncols = 2300 , xmn = -4000 , xmx = -1700 , ymn = -15 , ymx = 1500 , crs = proj1)
# Low res raster
r5km <- raster(nrows = 303 , ncols = 460 , xmn = -20 , xmx = -5 , ymn = 4 , ymx = 15 , crs = proj2)
# Set some values in high res raster
pts <- rasterToPoints(r1km)
values(r1km) <- 0.01*pts[,1] + sin(0.02*pi*pts[,2])
# Reproject using the attributes of the low res raster for output
out <- projectRaster(from = r1km , to = r5km , method = "bilinear")
# Plot - extent of second raster doesn't fully cover first so some data is missing
par(mfrow = c(1,2))
plot(r1km)
plot(out)
अपने इनपुट और आउटपुट डेटा संकल्प में छोड़कर ही कर रहे हैं, तो आप कुल उपयोग कर सकते हैं ...
# If same extent and resolution require use aggregate
r1 <- raster(system.file("external/rlogo.grd", package="raster"))
r5 <- aggregate(r1 , fact = 5 , method = "bilinear")
par(mfrow = c(1,2))
plot(r1)
plot(r5)
स्रोत
2013-10-08 09:29:43
क्या आपको एक अलग ग्रिड पर इंटरपोलेट करने की आवश्यकता है, या क्या? सभी 'रास्टर' फाइलें, जहां तक मुझे पता है, एक समान आयताकार ग्रिड पर डेटा परिभाषित करते हैं, इसलिए "मौजूदा रास्टर फ़ाइल का उपयोग करके" का अर्थ केवल "एमएक्सएन से एलएक्सके ग्रिड तक एकत्रित या इंटरपोल करना होगा।" –
प्रश्न में स्पष्टता की कमी थी और इसका कोई उदाहरण नहीं था। –