我在导入ASCII栅格时遇到了问题,该栅格的值从Min.:-69826220
到Max.: 167780500
。我遇到的问题是,当我使用栅格函数导入ASCII文件时,每个小于-9999
的值都报告为NA
,最小值为-9458
。
这是功能的bug,有解决方法吗?当我导入相同的ASCII文件作为数据帧时,一切都很好,我得到了整个值范围。此外,我使用相同的过程导入其他ASCII光栅,没有任何问题。
这是ASCII文件的链接https://dl.dropboxusercontent.com/u/24234831/ps0011yme.asc
这是会话信息,我打开了一个新会话以防万一。
session sionInfo()R版本3.0.0(2013-04-03)平台:x86_64-w64-mingw32/x64(64-bit)
LC_COLLATE=English_United州LC_CTYPE=English_United州1252
[3]LC_MONETARY=English_United州1252LC_NUMERIC=C
[5]LC_TIME=English_United州1252
附加的基础包:[1]stats图形grDevices utils数据集方法基础
其他附包:[1]raster_2.1-16sp_1.0-8
通过命名空间加载(且未附加):[1]grid_3.0.0lattice_0.20-15
任何帮助都很感激
您可以尝试在光栅文件上使用setMinMax()
来尝试计算最小值和最大值并将它们存储在返回的Raster*对象中。这样尝试:
r <- setMinMax( raster("path/to/myraster.asc") )
我不确定发生了什么,因为如果我下载你的数据并这样做:
r1 <- raster( "~/Downloads/test.asc")
summary(values(r1))
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
-69830000 -4789000 737300 16950000 13880000 167800000 71468
请将session sionInfo()
的输出添加到您的问题中,即不作为评论。
这种情况下的错误是由未安装rgdal
引起的,这是与地理空间数据抽象库的绑定,对于导入/导出光栅和shapefile数据非常重要。
我无法重现您的错误。这是一个手工构建的. asc文件:
NCOLS 3
NROWS 3
XLLCORNER 0
YLLCORNER 0
CELLSIZE 0.5
NODATA_value -9999
1e-6 0.3 -34567891234
0.2 -1e6 25
3 68492758321934 20
正确加载到栅格
对象中。您会注意到那里的NODATA_value
项,它解释了您的-9999的来源。我敢打赌,您的源. asc文件中有损坏的东西。你能发布标题和一小部分数据样本吗?
'raster'中的内部ascii文件驱动程序假定没有低于NA标志值的有效值,如果标志值是
library(raster)
library(rgdal)
a1 <- raster(filename, native=TRUE)
a2 <- raster(filename, native=FALSE)