即使单元格具有不同的区域,r栅格到多边形也会显示规则网格?

时间:2017-02-17 22:29:25

标签: r projection r-raster

我正在将光栅转换为多边形。在我的初始栅格中,单元格具有不同的区域,但是当我使用app:srcCompat转换为多边形并绘制它时,我看到一个等距离网格,即使初始单元格具有不同的区域?

这是我的R代码的问题,还是我对预测的不理解的问题?我该如何表示面积与细胞面积成比例的多边形?

rasterToPolygons

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的代码中,您没有指定单元格的分辨率,也没有指定栅格或投影的范围。 因此raster默认为:

extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 

并且由于您使用的是nrow=18, ncol=36,因此您将在纬度和经度上获得10度的单元格,因此当您在平面上的“笛卡尔坐标”中绘制它们时,将获得“方形”单元格。

然而,在地理坐标中,对应于10x10度单元格的“椭球体”表面的区域实际上随纬度变化(请参阅此处https://gis.stackexchange.com/a/29743和此处https://badc.nerc.ac.uk/help/coordinates/cell-surf-area.html作为解释),如你的情节中的“颜色”所示。

如果您想要具有变量“area”的多边形,则必须重新投影到等面积投影。有很多:这里我使用锥形等面积作为例子:

ras_to_pol_new  <- spTransform(ras_to_pol, CRS("+init=epsg:3410"))
spplot(ras_to_pol_new, "area", main="Area of initial cells converted to polygons")

enter image description here

您可以看到多边形的面积如何随纬度减小。 (有关投影的非常好的入门,您可以看到例如:https://kartoweb.itc.nl/geometrics/Map%20projections/mappro.html