繁体   English   中英

如何使用单层 shapefile 屏蔽 multi-layer.netCDF 或栅格?

[英]How do I mask a multi-layer netCDF or raster with a single-layer shapefile?

我目前正在处理 .netCDF 格式的每日降水数据。 数据分辨率为 4 公里,覆盖美国。 但是,我想为特定地理区域(大约一个县的大小)使用更高分辨率的 shapefile 来屏蔽/剪辑数据。 最终,我希望 output 成为更小区域的每日降水数据,无论是高分辨率还是原始 4km 分辨率。

我尝试了几种不同的方法,使用以下代码最成功:

prcp_2000 <- raster::brick('pr_2000.nc')
shapefile <- shapefile("polygon_combined.shp")
shapefile <- spTransform(shapefile, crs(prcp_2000))
prcp_2000 <- mask(prcp_2000, shapefile)
prcp_2000 <- crop(prcp_2000, shapefile)
outfile <- paste("prcp_","2000_","CS",".nc",sep="")
writeRaster(prcp_2000, outfile, overwrite=TRUE, format="CDF", varname="prcp", varunit="mm/day", longname="mm of precipitation per day", xname="lon", yname="lat", zname="day", zunit="days since 1900-01-01")

但是,对于 prcp output,我只得到无穷大/负无穷大,即使我仍然得到适当的可变长度(日 = 366,纬度 = 24,经度 = 23)。 我错过了什么吗?

问题是起始 shapefile, shapefile <- shapefile("polygon_combined.shp") 我将“polygon_combined.shp”导入 QGIS 到 plot 很容易成为它下面的基础层。 我附上的图片显示它墨西哥湾开始。 开始的位置不好,改造它不会在以后保存它。

墨西哥湾带有 AOI 的 QGIS 场景图像

我不知道数据的来源,所以我不知道它是如何以这种方式产生的。 可能解决此问题的一种方法是从不同的来源获取数据。 EPA 制作了一个具有多个区域级别的生态区域产品。 我想你想要 IV 级数据来获取你的区域。 您可能仍需要对其进行转换,但它将位于正确的开始位置。 https://www.epa.gov/eco-research/ecoregion-download-files-state-region-5#pane-47

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM