1

我正在尝试将以下 GIS数据文件读入 R:

一些数据规范在这里

图像类型:通用平面二进制、逐行字节交错 (BIL)

投影:中断的古德同音

我尝试使用 R 包“光栅”,但失败了。

library(raster)
r <- raster(file.choose())

Error in .local(.Object, ...) : 
  `C:\global_forest_cover.img' not recognised as a supported file format.

Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer",  : 
  Cannot create a RasterLayer object from this file.

那么,我应该如何将此 GIS 数据加载到 R 中?另外,将投影“Interrupted Goode Homolosine”转换为 LongLat ?

4

1 回答 1

5

创建一个名为并将http://edc2.usgs.gov/glcc/fao/header_file.phpglobal_forest_cover.hdr的标题信​​息粘贴到其中的文件:

BYTEORDER   M
LAYOUT  BIL
NROWS   15059
NCOLS   36543
NBANDS  1
NBITS   8
BANDROWBYTES    36543
TOTALROWBYTES       36543
ULXMAP  -17359000
ULYMAP  8673000
XDIM    1000
YDIM    1000

然后读取.img文件:

> forest = raster("global_forest_cover.img")
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 1.6.3, released 2009/11/19
Path to GDAL shared files: /usr/share/gdal16
Loaded PROJ.4 runtime: Rel. 4.7.1, 23 September 2009, [PJ_VERSION: 470]
Path to PROJ.4 shared files: (autodetected)
> forest
class       : RasterLayer 
dimensions  : 15059, 36543, 550301037  (nrow, ncol, ncell)
resolution  : 1000, 1000  (x, y)
extent      : -17359500, 19183500, -6385500, 8673500  (xmin, xmax, ymin, ymax)
coord. ref. : NA 
data source : /home/nobackup/rowlings/Downloads/global_forest_cover.img 
names       : global_forest_cover 
values      : 0, 255  (min, max)

GDAL 看到.hdr文件并使用它来计算文件中 15059*36543 字节的结构.img

但是它没有投影信息。但即便如此,将 IGH 投影扭曲回经纬度可能会有些问题。如果您查看其他 IGH 投影地图,您会发现它们涉及拆除海洋以帮助使地球变平。要回到经纬度,你需要扭转所有这些扁平化和撕裂。这应该是可能的,我认为最新的 PROJ4 库支持 IGH 投影,但可能仅在一个方向上。但是,除非您使用与创建数据完全相同的代码,但反过来,您可能无法得到正确的答案。

鉴于该.hdr文件未包含在 zip 中,并且投影对于进一步分析来说并不是一个很好的投影,我会去寻找另一个数据来源。该数据显然仅用于显示目的。而且它也很差,因为它似乎没有丢失 IGH 投影分裂地球的数据值 - 将http://edc2.usgs.gov/glcc/fao/index.php页面上的图片与其他 IGH进行比较预测http://en.wikipedia.org/wiki/Goode_homolosine_projection

我认为这里的数据可能更合适: http: //www.fao.org/forestry/32203/en/

> r=raster("./fceurope/europe/w001001.adf")
> r
class       : RasterLayer 
dimensions  : 20000, 40000, 8e+08  (nrow, ncol, ncell)
resolution  : 0.009, 0.009  (x, y)
extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=clrk66 +no_defs 
data source : /home/nobackup/rowlings/Downloads/fceurope/europe/w001001.adf 
names       : w001001 
values      : 1, 6  (min, max)
Raster Attribute Table
     fields : ID   COUNT
        min :  1  129626
        max :  6 4963775

但我对名称中的“欧洲”和全球范围有些混淆。它也是一个非常非常大的栅格。啊,它让欧洲在茫茫荒野中。请注意,投影现在是经纬度。您可能希望先将网格细化,然后再将它们放在一起以从那里提供的所有文件创建全局栅格。

于 2013-01-14T09:42:12.530 回答