【发布时间】:2013-09-12 20:59:43
【问题描述】:
我在使用光栅包中的提取功能时遇到问题。栅格不是空的,但是当我执行提取功能时,所有值都以 NA 的形式返回。我可以在栅格上很好地绘制点,它们会出现在同一个位置。
library(dismo)
library(raster)
#Import CSV File
file <- paste("C:/Michelle/Michelle/R/CuskPA_Sept12_2013_1.csv", sep=" ")
#read file
cusk <- read.table(file, header=TRUE, sep=',')
cusks<- subset(cusks, SlongDD!=0 & SlatDD!=0)
cuskll <-cusks[,24:25]
#import raster
salvar <- raster("C:/Michelle/Michelle/R/Variables/salvar")
ext <-extent(-67.6, -64.9, 41.0, 44.7453)
salvarc <-crop(salvar, ext)
#extract from raster
psalvar <- extract(salvarc, cuskll)
这是我完成提取后得到的
head(psalvar)
[1] NA NA NA NA NA NA
summary(psalvar)
Mode NA's
logical 3859
栅格不显示为空。
> salvar
class : RasterLayer
dimensions : 334, 240, 80160 (nrow, ncol, ncell)
resolution : 0.01121539, 0.01121539 (x, y)
extent : -67.59662, -64.90493, 41.00048, 44.74642 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs
data source : in memory
names : salvar
values : 0.01655413, 2.137321 (min, max)
这是文件中经纬度的示例
head(cuskll)
SlatDD SlongDD
1 44.41533 -66.07883
2 44.41167 -66.07733
3 44.44883 -66.07433
4 44.47067 -66.01217
5 44.47050 -66.01183
6 44.47633 -66.01450
【问题讨论】:
-
您是否尝试将数据强制转换为 sp 对象?坐标(cuskll)
-
如果你绘制它会是什么样子,很容易看出你是否应该得到一些东西。情节(萨尔瓦);点(cuskll);在我看来,您将经度与纬度混淆了,因此请尝试 cuskll
-
你可以绘图,或者以其他方式使用
salvar吗?如果是这样,那么您可以对csalvar做同样的事情吗?如果没问题,那么提取步骤几乎肯定是罪魁祸首。 -
谢谢。他们倒退了。我总是先忘记 R 喜欢经度。