文章目录

  • 示例数据与软件介绍
    • 数据
    • 软件
  • 中国区域提取
  • 利用Python裁剪nc文件

示例数据与软件介绍

数据

  1. NCEP的逐月2m气温数据
  2. 中国基础shp文件

软件

这次除了常用的Python之外,我们还需要用到ArcGis软件。有需要的小伙伴记得提前装好哦!

中国区域提取

  1. 首先我们需要准备一张中国的基础shp文件,并将其导入到ArcGis中,如果小伙伴们不是很会的话,可以直接将中国shp拖入到ArcGis中(基础shp文件放在文末,自提)。

  2. 打开NCEP的2m气温文件,首先我们需要在ArcGis右侧的找到搜索按钮,然后再搜索框中输入netcdf然后搜索,选择创建NetCDF栅格图层(多维)工具打开。(注意:尽量不要使用中文输入法,我这个arcgis使用中文输入法搜索后点不开工具组件)

  3. 创建NetCDF栅格图层(多维)参数设置
    在维度值这一栏我们可选也可以不选(我在这里,选择了维度值:time)

  4. 接着我们需要创建常量栅格

在创建常量栅格数据中,我们输出的像元大小要与NC文件本身的像元大小一致(2.5的),接着我们需要在环境选项中选择则处理范围范围要与中国shp一致

创建好的常量栅格如下所示,但是我们可以看到这个栅格还是四四方方的,并不是我们想要的不规则图形。

接下来我们需要对栅格进行裁剪处理。
切记一定要勾选几何选项

完成之后的图形应该是如下所示的样子

  1. 镶嵌至世界地图中

我的思路是这样的,将中国范围内的数值设置为1,其余范围内的数值设置为0,然后再使用新生成的数据去乘以原始的旧数据,这样就能得到一个中国范围的数据。所以接下来一步便是需要生成世界范围的常量数据。工具依旧是创建常量栅格,但是这里面的栅格值需要设置为0,输出范围需要选择nc文件生成的栅格

创建完事之后会变成黑乎乎的一片,大家不要担心,因为还差一步,需要将这两个栅格镶嵌在一起

  1. 栅格数据镶嵌
    使用的工具是镶嵌至新栅格打开工具之后第一步是选择输入栅格,在这里第一个必须是裁剪好的中国范围常量栅格,第二再选择世界范围的常量栅格

    再选择输出位置的时候,先点击右边的文件夹,然后新建一个地理数据库,新建的方式就是左边对话框上的那个框起来的标志

建好之后修改名字,然后点击添加就好

还有便是确定数据集名与波段数称,名称这个就看大家命名方式了!!!
波段数这里我们需要输入的是1

最后的镶嵌运算符,必须是FIRST,上面所有参数设置好之后就可以点击确定了

7. 生成nc文件

最后一步便是将刚刚生成的0、1栅格数据转为nc文件使用到的工具是栅格至NetCDF

到这一步就比较简单了,首先我们需要注意一下,输出的nc文件路径,再就是设置一个你喜欢的变量名称就好了,单击确定,一个新的nc文件就这么保存出来了。至此,ArcGis部分就完事了。

利用Python裁剪nc文件

这一步大家就参照我的代码来就行了

import xarray as xr
import numpy as np
ds1 = xr.open_dataset(r'D:\air.mon.mean.nc')
time = ds1.time.data #time 变量名
lat = ds1.lat.data #lat变量名
lon = ds1.lon.data #lon变量名
ds2 = xr.open_dataset(r'D:/China.nc')
China = np.array(ds2.china.data)
China[np.isnan(China)] = 0 # 一定要有哦
air = np.array(ds1.air.data)
for i in range(len(air)):air[i] = air[i]*China
print(air.max())
air[air==0] = np.nan
ds3 = xr.Dataset()
ds3['air'] = (('time','lat','lon'),air)
ds3.coords['time'] = time
ds3.coords['lat'] = lat
ds3.coords['lon'] = lon
ds3.to_netcdf(r'D:/air.mon.mean.China.nc')

最终的效果也是比较Nice的,本次分享就到此结束了!!

中国基础shp下载地址:

链接:https://pan.baidu.com/s/1v-0sW4rQ3Dbc590cSJtzwQ?pwd=sg8c
提取码:sg8c

NC文件不规则裁剪(利用shp文件裁剪)相关推荐

  1. matlab利用shp文件提取单个或者任意个中国各个省份的降雨

    matlab利用shp文件提取单个或者任意个中国各个省份的降雨在这里插入图片描述

  2. arcgis导出shp文件_RegionManager GIS导出shp文件编码说明

    在<RegionManager GIS数据如何上报到国家水土保持重点工程项目管理系统>一文介绍了RM GIS软件如何导出shp文件的相关操作,以及如何定义投影等相关操作.从RM GIS软件 ...

  3. 怎么根据PSD文件写html,利用psd文件写出html css结构的流程

    1.拿到psd文件后先大概定义页面的div结构,然后一行一行的写, ctrl + r 显示隐藏标尺 右击 标尺 --- 把里面的单位一律改为像素, alt + -可以放大缩小psd文件, space+ ...

  4. shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言

    博客背景和目的 最近在用C++写一个底层的东西,需要读取和创建shp文件.虽然接触shp文件已经几年了,但是对于shp文件内到底包含什么东西一直是一知半解.以前使用shp文件都是利用软件(如ArcGI ...

  5. java aoi 服务器地图_GitHub - WanZixin/getShp: 利用高德地图web服务API获取坐标串,生成行政区和aoi的shp文件...

    爬取数据生成shp文件 1.功能简介 共有两大功能,一个功能是根据高德地图web服务API获取行政区划坐标串,写入行政区shp文件:另一个功能是根据高德地图的接口获取poi坐标串,写入aoi(area ...

  6. java使用geotools读取shp文件

    java使用geotools读取shp文件 测试shp文件 引入geotools包 压缩包文件处理 shp文件相关信息的读取 运行结果 GeoTools是一个开源的Java GIS工具包,可利用它来开 ...

  7. arcmap shp导出cad无反应_【PyGIS-02】CAD文件转SHP文件并进行空间校正

    本文是PyGIS系列的第2篇文章,详细介绍如何将CAD文件导入ArcMap中,并转换成正确空间参考系的SHP文件. 目录 1.背景介绍 2.导入CAD文件以及转换成SHP文件 3.空间校正 4.注意事 ...

  8. xml转化为kml_借助ogr2ogr工具实现shp文件转换kml格式

    kml格式是一种在GOOGLE地图浏览器中用于交换地理数据的文件.它基于XML,并定义了一些TAG用于规定地理数据的显示方式.KML可用于定义的地理特征包括地点.描述.叠层.路径和多边形等. 实际工作 ...

  9. shp文件显示 c语言,上传并在地图中显示Shp文件

    前段时间参与了一个项目,客户有一个功能需求是上传SHP文件并在地图上显示,然后在此基础上做缓冲区处理.经过对比测试,最终选择了shapefile.js工具,在此做个记录. shapfe.js能够将Es ...

最新文章

  1. 2021年临颖一高高考成绩查询,河南漯河名列前茅的4所高中,临颖一高强势登榜,你还知道几所?...
  2. c运行库、c标准库、windows API都是什么玩意
  3. C++中 static 关键字的作用
  4. Android线程详解
  5. PyCharm 5 破解注册方法
  6. html页面上使用vlc,【JSJQuery】使用VLC在html中播放rtsp视频
  7. 计算机主机机箱结构图,带大家认识电脑主机拆开,内部结构
  8. 开发与测试的相爱相杀
  9. 整体大于部分_整体叶盘球头鼓锥形铣刀五轴加工技术
  10. IDL(ENVI/IDL) 简(jian)明(lou)教程:一、IDL基础
  11. Java时间 之 Instant
  12. 程序员:新手到专家的5个阶段
  13. v-model 自带绑定的number 、lazy 、debounce属性
  14. 10019---初探JVM
  15. 利用conda安装包、卸载包、升级包、查看包信息等操作
  16. 邓西百度网盘批量分享工具
  17. php 作业 的背景,新课课程背景下中学语文作业布置的思考(网友来稿)a href=/friend/list.php(教师中心专稿)/a...
  18. Google CodeJam习题:Alien Numbers
  19. 用python的turtle画炫酷的图
  20. CLC(ClearCarry Flag)

热门文章

  1. 一个页面同时使用两个video标签自动播放在各个移动端浏览器存在的问题
  2. sortable使用小知识(vue)-- 使用sortable拖拽插件在初始化循环标签的状态下,如何获取拖拽的数据
  3. Linux系统命令(一)软件下载安装命令:rpm、Yum、apt、apt-get、sudo、man、ssh服务、镜像源修改
  4. 刘瑞琦单曲《离开的借口》歌词版MV上线
  5. Opencv 图像处理-Contours函数提取轮廓及感兴趣区域ROI的必用且实用操作技巧-(涵盖Contours的一切使用基础,附代码段)
  6. Google 社招 | 谷歌云最大规模招聘 就是现在!
  7. 个人如何用AI来赚钱?教你AI赚钱的三大方式!
  8. c语言字母的范围,C语言变量类型及其表示范围
  9. 美DARPA利用人工智能技术识别敌国在“灰色地带”的意图
  10. (转载的一篇文章)美团和饿了么的产品对比