我想把following GIS数据文件读到R:
部分数据规范为here:
图像类型:通用平面二进制,字节交错(BIL)
投射:中断Goode Homolosine
我尝试使用R包“raster”,但失败了。
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?
答案 0 :(得分:5)
创建一个名为global_forest_cover.hdr
的文件,并将标题信息从http://edc2.usgs.gov/glcc/fao/header_file.php添加到其中:
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
文件并使用它来计算.img
文件中15059 * 36543字节的结构。
但是它没有投影信息。但即便如此,将IGH预测扭曲回拉特长度可能会有些问题。如果你看看其他IGH投影地图,你会看到它们涉及拆除海洋以帮助平整地球。要回到lat-long,你需要扭转所有这些平坦和撕裂。它应该是可能的,我认为最新的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
但我在名称和全球范围内的'欧洲'之间略有混淆。它也是一个非常大的光栅。啊,它让欧洲处于不利地位。请注意,投影现在是拉长的。在将网格放在一起之前,您可能希望将网格细化,以便从那里给出的所有文件创建全局栅格。