01
背景与思路
对全球数据掩膜的重要性
鉴于很多数据如CRU、GLDAS、TerraClimate、GLASS数据等都是全球NC数据,如何利用Python对这些数据进行裁剪,得到属于自己研究区范围的数据一直困扰着许多人。
在这里我的思路:
1.利用全球和研究区的shp文件进行拼接
2.将shp转变为研究区属性为1,区以外为0的Raster文件
3.将Raster转变为NC文件
02
数据
在这里,我所使用的数据是研究区SHP文件、世界国家SHP文件,利用ARCGIS10.2软件完成下列操作


世界国家和研究区shp文件


研究区展示
03
矢量文件融合与拼接
1.分别将世界国家和研究区的shp文件进行融合,得到整个世界和研究区的面Shp。

点击Edior开始编辑

在Editor找到Merge进行融合


融合结果展示
2.将融合后的世界国家和研究区面矢量进行拼接至一个文件。

工具箱打开General-Append

选择需要拼接的数据
04
矢量数据转栅格
将具有研究区面的全球面矢量转变成栅格

首先创建属性Field,对研究区赋值1,研究区以外赋值0

打开工具箱ToRaster-Polygon to Rster

选择需要转成Rater的Value field 和cellsize,在这里需要注意的是cellsize的尺寸,360除以全球数据的纵shape

结果展示,右边点点绿色就是研究区
05
栅格转NC
为了方便在Python中计算,需要将栅格转成NC文件。

工具箱打开多维工具-Raster toNetCDF

选择需要转化的变量
这样研究区为1,全球为0的NC文件就制作好了,其中还有很多细节,需要自己动手去发现,在python计算中使用np.multiply将掩膜NC与全球数据相乘,再利用一些if判断,获取研究区边界内的方形格网,具体怎么操作靠大家的思路了