我正在将光栅转换为多边形。在我的初始栅格中,单元格具有不同的区域,但是当我使用app:srcCompat
转换为多边形并绘制它时,我看到一个等距离网格,即使初始单元格具有不同的区域?
这是我的R代码的问题,还是我对预测的不理解的问题?我该如何表示面积与细胞面积成比例的多边形?
rasterToPolygons
谢谢!
答案 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")
您可以看到多边形的面积如何随纬度减小。 (有关投影的非常好的入门,您可以看到例如:https://kartoweb.itc.nl/geometrics/Map%20projections/mappro.html)