![](/img/trans.png)
[英]Extract data from NetCDF using shapefile that consist of mulitiple polygon in R?
[英]How to transfer regions from a shapefile to a netcdf file using R?
我有一个包含叶绿素数据的区域 netcdf 文件,并希望添加一个新变量“区域”来映射有关海洋区域的信息。 因此,对于每个坐标点,都会有该点所属区域的信息。
因此,对于 netcdf 文件中位于地中海区域的所有点,变量“region”将包含值 0,对于位于北海区域的所有点,变量“region”将例如包含值 1 等等...
我发现了一个包含基于生物地球化学过程的海洋区域的 shapefile(朗赫斯特省)。 现在我想使用这个 shapefile 在 netcdf 文件中定义我的“区域”变量。 有谁知道我怎么能在 R 中做到这一点?
我认为我的问题与DKRZ的这篇文章很接近,但我不想只提取/屏蔽一个区域,而是 map 在 shapefile 中定义的所有区域。
这些文件可以在这里找到:
https://drive.google.com/file/d/1kgPpHFapmuclDyUvw2TH_10i018GE9YH/view?usp=sharing
https://drive.google.com/file/d/1WLYEUs6XllZv6i0xjRif-N0syhR2lX01/view?usp=sharing
已经非常感谢了!
编辑
我发现这篇文章帮助我解决了我的问题: https://www.r-bloggers.com/2014/05/converting-shapefiles-to-rasters-in-r/ )
这是我可以根据Map Lat/Lon Points to a Shape File in R 组合起来的。 主要工作由over()
完成,这需要几分钟。
library(ncdf4)
nc_data = nc_open('/mnt/d/Downloads/CCI_ALL-v5.0-MONTHLY.nc', T) # write
lon = ncvar_get(nc_data, "lon")
lat = ncvar_get(nc_data, "lat")
library(rgdal)
shapefile = readOGR('/mnt/d/Downloads/Longhurst_world_v4_2010.shp')
grid = expand.grid(lon=lon, lat=lat)
coordinates(grid) = ~lon+lat
grid@proj4string = shapefile@proj4string
# for each grid point, find the province it belongs to (if available):
prov = over(grid, shapefile['ProvCode'])
# define dimensions for the new variable
londim = ncdim_def("lon", ncatt_get(nc_data, "lon")$units, lon)
latdim = ncdim_def("lat", ncatt_get(nc_data, "lat")$units, lat)
# define the new variable
region = ncvar_def("region", "", list(londim, latdim), prec="integer")
# add the new variable to the netCDF file
nc_data = ncvar_add(nc_data, region)
# write the variable's values to the file
ncvar_put(nc_data, region, prov$ProvCode)
nc_close(nc_data)
rgdal 版本等:
Loading required package: sp
rgdal: version: 1.4-8, (SVN revision 845)
Geospatial Data Abstraction Library extensions to R successfully loaded
Loaded GDAL runtime: GDAL 3.0.4, released 2020/01/28
Path to GDAL shared files:
GDAL binary built with GEOS: TRUE
Loaded PROJ.4 runtime: Rel. 6.3.1, February 10th, 2020, [PJ_VERSION: 630]
Path to PROJ.4 shared files: (autodetected)
Linking to sp version: 1.3-2
OGR data source with driver: ESRI Shapefile
Source: "/mnt/d/Downloads/Longhurst_world_v4_2010.shp", layer: "Longhurst_world_v4_2010"
with 54 features
It has 2 fields
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.