มีวิธีที่ตรงไปตรงมาในการสุ่มตัวอย่างแรสเตอร์เพื่อให้ผลลัพธ์ของกระบวนการเป็นแรสเตอร์หรือไม่?
ฉันใช้ตัวอย่างที่ฉันพบในr-sig-geo
รายการและฉันได้ลองใช้sampleRandom
ฟังก์ชันในraster
แพ็คเกจด้วย วิธีการทั้งสองนี้สร้างผลลัพธ์ที่ฉันไม่แน่ใจว่าจะเปลี่ยนเป็นแรสเตอร์ได้อย่างไร ฉันไม่สามารถค้นหาวิธีการหลังจากค้นหาชุดค่าผสมหลายชุดของ "SpatialPointsDataFrame raster"
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
เพื่อให้บรรทัดต่อไปนี้ซึ่งพยายามเขียน raster สร้างข้อความ:
# write out as ascii file
writeRaster(r.test, filename="test1.ASC", datatype="ascii", overwrite=TRUE)
Error: hasValues(x) is not TRUE
วัตถุประสงค์หลักของฉันคือการผลิตแรสเตอร์บางประเภทหลังจากกระบวนการสุ่มตัวอย่าง ฉันยังสบายกับการเปลี่ยนค่าภายในแรสเตอร์ของฉัน (ฉันไม่แน่ใจว่าจะทำอย่างไร)