R中栅格的分辨率值

时间:2012-03-02 23:57:40

标签: r resolution raster meter

我只是想知道是否有人有一个转换表来解决R中的栅格问题。我想知道这些数字是以米为单位的数字:

分辨率:0.08333333,0.08333333

决议:0.009398496,0.009988496
分辨率:0.002349,0.002349 = 250m(我认为)

我真的想知道设置栅格对象的分辨率,以使单元格大小为1平方公里。我正在使用跨越澳大利亚的光栅。

先谢谢大家。

干杯, 亚当

2 个答案:

答案 0 :(得分:12)

这一切都取决于光栅的单位,这取决于投影。栅格甚至可能不是以米为单位的方格 - 它们可能是方形的度数,不是以米为单位的平方!

赤道1度经度是地球周长的1/360。在北极附近1度是一个小得多的距离,在极点上它几乎为零。然而,纬度是恒定的。

你可以拍摄光栅的角点,如果还没有将它们转换为lat-long坐标,然后计算它们之间的大圆距离(我记得这里有一个rdist函数)。但是如果你的光栅跨越整个地球,那么这将不起作用,因为那时你的NW角和你的NE角在同一点......嗯。无论如何,答案是...... 42。

如果你想制作澳大利亚1公里的栅格,那么....你需要一个澳大利亚的坐标系统,以公里为单位。在英国,我们有一个名为OSGB National Grid的系统,该系统足够接近公制网格。澳大利亚可能比较复杂,因为它比英国略大......所以澳大利亚似乎有一些网格系统。见这里:

http://www.spatialreference.org/ref/?search=AGD84

因此,您可能希望使用位于该国中部的系统来避免最严重的扭曲,然后在lat-long中计算出澳大利亚的边界,转换为epsg:20353并根据以下内容创建栅格:

在我看来澳大利亚大致是:

> xtll
         [,1]       [,2]
[1,] 112.5162 -43.906900
[2,] 155.8425  -7.585619

将其变为SpatialPoints对象:

> xtll=SpatialPoints(xtll,CRS("+init=epsg:4326"))

转换到该国中部的AGD84:

> spTransform(xtll,CRS("+init=epsg:20353"))
SpatialPoints:
     coords.x1 coords.x2
[1,]  -1306200   4886041
[2,]   2849956   9103124

将栅格范围对象四舍五入为km:

> ext = extent(-1306000,2850000,4886000,9103000)

我们需要多少行和列?

> length(-1306:2850)
[1] 4157
> length(4886:9103)
[1] 4218

创建栅格:

> r = raster(ext,ncol=4156,nrow=4217,crs="+init=epsg:20353")
> r
class       : RasterLayer 
dimensions  : 4217, 4156, 17525852  (nrow, ncol, ncell)
resolution  : 1000, 1000  (x, y)
extent      : -1306000, 2850000, 4886000, 9103000  (xmin, xmax, ymin, ymax)
coord. ref. : +init=epsg:20353 +proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs 
values      : none

请注意,ncol和nrow值比边界值小1 - 这是将这些值放入的fencepost错误。

看看我的分辨率是多少?这是一个1公里的网格。问题是这可能会在沿海地区有点扭曲。您可以通过转换为lat-long(epsg:4326),然后转换到海岸上的点的正确AGD区域,看看它们有多么不同。它们可能非常接近,除了偏移。

无论如何,努夫说。

答案 1 :(得分:1)

查找为您的栅格赋予意义的元数据可能有点挑战。我花了很多时间寻找这个。如果光栅是由政府机构发布的,那么我希望这些信息能够突出显示在某个地方。

好消息是,一旦您知道各种栅格上使用的投影,就可以使用projectRaster()包中的raster将它们转换为公共投影。你需要在每种情况下找到描述原始和所需投影的proj.4字符串。您可以从http://www.spatialreference.org获得此信息。

当您知道投影时,您所寻求的分辨率信息将具有意义。