nc、hdf等数据转为带地理信息的geotif
在做工作的时候会碰到很多nc格式的数据,并且读取的数据文件是长时间序列的,具有相同的地理投影与地理范围。
通常会用IDL来读取数据,但是读取的数据如何变为带有地理信息的数据,一直都是个问题。
以下是我的常用方法和尝试了但个人用起来不方便的方法(很主观,勿喷)
一般情况,除了data,也就是你获取的变量数据之外,还会有和data相同矩阵大小的经度和纬度矩阵。这两个是建立地理信息必要的东西。
1、利用arcmap打开nc数据,此时如果能够成功获取具有地理信息的数据,再保存成tif文件。在IDL中利用geoinfo赋值即可。(方便、快捷)
但是有些低版本的arcmap打开并不能带地理信息
2、利用envi里的Georeference from IGM功能建立地理信息。(稍微麻烦了些)
首先选择data,再选择X(经度)、Y(纬度)。
之后在弹出的地理/投影坐标窗口中,“Input Projection”默认选择地理经纬度, “ Output Projection ” 根 据需求选择或自定义。一般我都采用自定义。
这里可以先利用panoly读取nc数据文件,或者上网搜索,获取这个文件的投影和地理坐标信息。
以下为例子
下图为文件的地理坐标信息
之后ENVI窗口中的填写方法如图,注意标准纬线和中央经线的填写
随后会让你填写pixel size,默认就好,如果还有rotate啥的,检查一下前面的标准纬线和中央经线是否写错。
生成之后注意核对图像大小是否和原图一样,如果不一样,可能是地理/投影坐标信息输入错误,或者pixel size你修改了。
最后将输出的图像转为tif,读写其他nc数据,利用IDLwrite tiff函数将这个图像的geoinfo赋值即可。
3、利用matlab读取,并建立地理信息(网上能搜到例子,但是我经常用极投影,因此并不是很规矩的经纬网,不能用)
4、python读取,尝试了利用xarray等库读取(不知道为啥读取的地理信息错误,建立之后图像的地理范围很小,可能我没太搞懂吧,毕竟我python较渣)
nc、hdf等数据转为带地理信息的geotif相关推荐
- Python使用小教程03——tiff/grib/nc/hdf/txt数据的读写
工作需要,要从ec.cimiss.h8官网上下载并处理各种数据,涉及tiff.grib.nc格式数据的读写,这里做一个简单的总结 01 读数据 打开tiff主要是用的gdal(netCDF4也可以的) ...
- 【Groovy】自定义 Xml 生成器 BuilderSupport ( 构造 Xml 节点类 | 封装节点名称、节点值、节点属性、子节点 | 将封装的节点数据转为 Xml 字符串 )
文章目录 一.构造 Xml 节点类 1.封装节点名称.节点值.节点属性.子节点 2.将封装的节点数据转为 Xml 字符串 二.Xml 节点类完整代码 一.构造 Xml 节点类 生成 Xml 数据前 , ...
- Matlab/Python nc格式小时数据转日期
在处理气象nc格式数据时,时间变量往往不是已YYYYMMDD格式给出日期,而是距某一天(如1900年1月1日)XXX小时或XXX日. 为此,可由以下代码将nc的时间变量转为日期: matlab代码: ...
- matlab将txt数据转为PLY数据
matlab将txt数据转为PLY数据 自带函数存在问题 PLY_Write函数说明 ply_write函数代码 自带函数存在问题 博主使用matlab2019a,其自带点云处理函数并不好使,代码如下 ...
- each 数据获取attr_调用高德POI数据,带你玩转长沙
长沙CITY,长沙SHOW 长沙C-BLOCK,长沙FLOW 长沙妹驼,叫长沙GIRL 说到长沙,大家第一想到的可能就是小吃,当然来长沙旅游,不光只是为了吃,这吃喝玩乐,咱都得来一套是吧.基于此,我调 ...
- 返回Json数据浏览器带上<pre></pre>标签解决方法
返回Json数据浏览器带上 标签解决方法 参考文章: (1)返回Json数据浏览器带上 标签解决方法 (2)https://www.cnblogs.com/Rozdy/p/4994214.html 备 ...
- iOS 数据计算带小数点导致数据不精确问题
iOS 数据计算带小数点导致数据不精确问题 我在开发中碰到一个UIScrollView跳动的问题,明明各个地方都没有问题,最后发现原来是计算ContentSize时有个计算需要除以2 /2.00 我这 ...
- sqlserver中将行数据转为Xml文件格式
将sqlserver中的某张表中的行数据转为XML格式的文件的方法: 语法:select * from 表名 for xml path(xml文件中父节点的名称) 案例: // 在Movie数 ...
- 通过输入流获取json格式数据转为map格式
将通过输入流获取json格式数据转为map格式 转换代码: try {int length = 0;//通过输入流获取到json格式数据ServletInputStream inputStream = ...
最新文章
- mysql+在服务中无法启动_MySQL服务初始化后无法启动
- 数据结构实验之链表四:有序链表的归并
- Java虚拟机:常见JVM参数配置和GC性能优化
- 启动一个Java进程
- 一加8系列获得认证:骁龙865加持 离上市又近一步
- 解封装(六):通过遍历获取AVStream音视频流信息并打印参数
- 【Qt】QTableView中嵌入复选框CheckBox 的四种方法总结
- GDAL使用DEM数据计算地形指数
- asp 开发app_从零开始实现 ASP.NET Core MVC 的插件式开发(七) 问题汇总及部分问题解决方案...
- Java8 Lambda之Collectors.toMap
- BAT中for循环如何执行多条命令
- 众人拾柴火焰高,5G承载将逐步进入成熟期
- android arial字体,Arial字体大小
- Nginx的keeplive
- Pure DNS 可能是迄今最不稳定的DNS
- 程序员副业兼职5000+ ?
- 一款网课学习辅助软件
- Linux编写C++程序
- 宝塔Linux面板redis服务开多个端口
- An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent, and a s