我是R的新手,正在使用raster包。我从现有栅格文件中提取多边形时遇到问题。如果我用
extract(raster, poly_shape)
栅格上的函数始终会创建包含数据的列表。我真正想要的是提取另一个可以再次使用ArcGIS加载的栅格文件。阅读更多内容后,我认为裁剪功能才是我真正需要的。但是当我尝试使用此功能时
crop(raster, poly_shape)
我收到此错误:
Error in .local(x, y, ...) : extents do not overlap
In addition: Warning message:
In intersect(extent(x), extent(y)) : Objects do not overlap
这两个函数的文件raster和poly_shape相同。你能告诉我这里有什么问题吗?裁剪功能创建另一个栅格而不是列表是否正确?
编辑:range()函数不适用于我。我仍然遇到相同的错误。但是我确信这两个数据集会重叠!随着
extract(raster, poly_shape)
我从中得到正确的数据。只是列表而不是像我想要的栅格一样。我之前只是将数据集加载到ArcGIS中,它们非常吻合,所以我没有检查投影。现在我尝试
projection(raster) # "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs"
projection(poly_shape) # "+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs"
您会看到这些投影不合适。提取功能似乎能够以正确的方式自动转换文件。我知道这是因为我做了以下事情:
- 我也切出了在ArcGIS中也在R中提取的多边形的确切部分
- 我计算了提取的R多边形(列表)的所有值的总和
- 我计算了在ArcGIS中剪切的所有栅格像元的总和
2具有完全相同的结果,因此我想得出的结论应该是提取函数确实可以正确工作。现在我有2种选择:
- 我需要一种使栅格再次脱离提取列表的方法,或者
- 2个数据集(栅格+多边形形状)需要使用相同的注入,并且裁剪函数应该起作用
您建议在这里做什么?
如果它是4波段RGB栅格怎么办?乐队至今为止迷路了……
—
多丽丝(Doris)
欢迎使用GIS SE!作为新用户,请务必进行简短导览。然后考虑编辑您的答案以提供其他信息和参考。请参阅我如何写一个好的答案?有关更多信息。
—
安迪