क्या रैस्टर को बेतरतीब ढंग से सैंपल करने का सीधा तरीका है ताकि प्रोसेस का आउटपुट रैस्टर हो?
मैं एक उदाहरण का उपयोग कर रहा हूं जो मुझे r-sig-geo
सूची में मिला और मैंने पैकेज sampleRandom
में फ़ंक्शन की भी कोशिश की है raster
। ये दोनों दृष्टिकोण एक आउटपुट का उत्पादन करते हैं जो मुझे निश्चित नहीं है कि कैसे एक रेखापुंज में बदलना है। मैं "SpatialPointsDataFrame रास्टर" के कई संयोजनों की खोज करने के बाद एक दृष्टिकोण नहीं पा रहा था।
library(raster)
# read in raster
rasterSource <- 'landsat.TIF'
r <- raster(rasterSource)
# convert to spatial points data frame
r.spgrd<-as(r,"SpatialPointsDataFrame")
# elminate NA values
r.spgrd = r.spgrd[!is.na(r.spgrd[[1]]),]
# sample points
selectedPoints = sample(1:length(r.spgrd[[1]]), 1000)
r.sampled = r.spgrd[selectedPoints,]
# try to make spgrd into a raster
r.test <- raster(r.sampled)
जब मैं चलाता r.test
हूं तो मुझे आउटपुट मिलता है:
class : RasterLayer
dimensions : 10, 10, 100 (nrow, ncol, ncell)
resolution : 28617, 14766 (x, y)
extent : 1838505, 2124675, 2328685, 2476345 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +ellps=WGS84 +towgs84=0,0,0
values : none
ताकि एक रेखापुंज लिखने की कोशिश करने वाली निम्न पंक्ति संदेश उत्पन्न करती है:
# write out as ascii file
writeRaster(r.test, filename="test1.ASC", datatype="ascii", overwrite=TRUE)
Error: hasValues(x) is not TRUE
मेरा मुख्य उद्देश्य नमूना प्रक्रिया के बाद कुछ प्रकार के रेखापुंज का उत्पादन करना है। मैं अपने रैस्टर के भीतर मूल्यों को बदलने के साथ ठीक भी हूं (मुझे कुछ निश्चित नहीं है कि यह कैसे करना है)।