读取TIF文件错误“给予不符合数据的地理CRS”

时间:2015-07-15 22:45:07

标签: r tiff rgdal

我正在尝试读取TIF文件,如下所示:

d = readGDAL('F182013.v4c.stable_lights.avg_vis.tif')
Error in validityMethod(as(object, superClass)) : 
  Geographical CRS given to non-conformant data: -180.004166667

该文件来自美国国家海洋和大气管理局night light data,因此它应该是有效的文件。也许这个问题与数值浮点问题有关。

感谢任何建议如何解决。

2 个答案:

答案 0 :(得分:1)

readGDAL调用错误检查函数validityMethod,它检查WGS84的经度是否在+/- 180度范围内。可以使用以下方法抑制非致命错误和消息:

d = readGDAL('F182013.v4c.stable_lights.avg_vis.tif', silent = TRUE)

这样该文件至少可以作为SpatialGridDataFrame读入。对象的相应地理范围仍然超过+/- 180度,但误差可能在您愿意接受的容差范围内。

bbox(d)
         min       max
x -180.00417 180.00417
y  -65.00417  75.00417

答案 1 :(得分:0)

解决方法是:

require(tiff)
r = raster(readTIFF(filepath, as.is = T))
extent(r) = extent(-180,180,-65,75)
crs(r) = CRS("+proj=longlat +datum=WGS84")