在R

时间:2019-06-16 21:14:36

标签: r polygon crop shapefile clip

我正在尝试裁剪(而不是根据范围裁剪)美国各州和县的shapefile,以匹配此DEM(数字高程模型)裁剪栅格的边界。

"DEM"

我裁剪后的状态shapefile如下所示: enter image description here

如何裁剪状态shapefile以匹配DEM的复杂轮廓?我尝试过使两者相交,但可行,但这并不能区分州和分水岭的边界,这使得地图很难阅读(尤其是与县!)。 enter image description here

huc6_cty_intersect <- raster::intersect(huc6s, counties)  

我需要能够分别覆盖各州和县,因此我可以更改其边界宽度,颜色等,以便于阅读地图。

我尝试将州和县的shapefile光栅化,然后通过dem进行遮罩,但这似乎需要非常非常长的时间(过夜时间还不够)。

counties_rast <- rasterize(counties, dem)
r4 <- raster::mask(counties_rast, huc6_cty_intersect)

我正在尝试获取下图,但将分水岭外的所有州边界都割掉了。如何做到这一点的任何帮助将是美好的。谢谢。 enter image description here

注意:流域边界内的白色高程被故意掩盖。

1 个答案:

答案 0 :(得分:0)

如果我对您的理解很好,那么您正在寻找raster::crop

library(raster)
b <- as(extent(6, 6.4, 49.75, 50), 'SpatialPolygons')
crs(b) <- "+proj=longlat +datum=WGS84"    
p <- shapefile(system.file("external/lux.shp", package="raster"))

pb <- crop(p, b)

如果我不太了解您,请像我一样使用简单的示例数据阐明您的答案。引用别人没有的对象没有什么价值。