读取NC文件

1. ArcGIS

Multidimention tools, Make NetCDF Raster Layer

Note:仅通过arcgis很难知道, 显示的图像和真实的图像存在线性关系

通过matlab可查看文件结构:

blh
Size: 561x401x12
Dimensions: longitude,latitude,time
Datatype: int16
Attributes:
scale_factor = 0.0326
add_offset = 1.09e+03
_FillValue = -3.28e+04
missing_value = -3.28e+04
units = ‘m‘
long_name = ‘Boundary layer height‘

2. Matlab

% convert NC to Tiff written by Chengli Wang
%the workfile should be directed to the NC file
clc
clear
file_dir=‘K:\刘磊\U盘内容\张秀英\BaseLayers\Boundary Layer Height\NC\‘;
addpath(file_dir);
out_dir=strcat(file_dir,‘\output‘);
mkdir(out_dir); % create new file
file_id=ls([file_dir,‘*.nc‘]);% find all the *.nc
[m,n]=size(file_id);

%ncdisp(file_id(1,:)); % the workfile should be directed to the NC file
%ncinfo(file_id(1,:));

R=georasterref(‘RasterSize‘,[401 561],‘RasterInterpretation‘,‘cells‘,...
   ‘Latlim‘,[5 55],‘Lonlim‘,[70 140],‘ColumnsStartFrom‘,‘north‘);
% R=georasterref(‘RasterSize‘,[561 401],‘RasterInterpretation‘,‘cells‘,...
%     ‘Latlim‘,[5-0.125 55+0.125],‘Lonlim‘,[70-0.125 140+0.125],‘ColumnsStartFrom‘,‘south‘);
various=‘blh‘;

for A=1:m
    YY=file_id(A,1:4);
    img=ncread(file_id(A,:),various);
    % img=ncread(file_id(A,:),‘/Variables/blh‘)
    % lat=ncread(file_id(A,:),‘latitude‘);
    % lon=ncread(file_id(A,:),‘longitude‘);
    % time=ncread(file_id(A,:),‘time‘);
    [a,b,c]=size(img)   

    for i=1:c
        data0=img(:,:,i);

        scale_factor=0.032599;
        add_offset=1019.5013;
        data=data0*scale_factor+add_offset;
        data=data‘;
        if i>=10
            MM=num2str(i);
        else MM=strcat(‘0‘,num2str(i));
        end
        out_id=strcat(out_dir,‘\‘,YY,MM,‘.tif‘)
        geotiffwrite(out_id,data,R);
    end
end

  

时间: 2024-10-13 16:00:23

读取NC文件的相关文章

Matlab简单快速读取nc文件

2012以上版本的Matlab都内含nc阅读组件 命令非常简单. 例如 nc的文件名是filename,其中有多个变量,其中data_001是你想要的数据标签. 第一步,查看nc内的所有信息 ncdisp('filename','/', 'full'); 第二步,调出来你想要的变量或者数据, ncread('filename','data_001'). 就是这么简单. 第一步可以用软件hdfexplore软件代替,看起来更舒服方便. ncdisp 得到的结果直接显示了command window

grads读取nc格式文件

一.通常: 1.grads读取grd和ctl:open  ****.ctl 2.执行gs脚本:run   ****.gs d命令,display展示数据,常用来显示变量,比如rh,rain等 q命令,显示数据内容,常用来显示数据,比如时间dim,ctlinfo等 二.grads也可以读取nc文件 1  打开数据 命令:sdfopen +数据存放路径 2  查看nc数据的ctl 命令:q ctlinfo  (注意查看缺省值,变量名等.不同的nc数据缺省值通常不同,这点容易忽略) 3  用fwrit

NC文件的处理【netcdf】

NC是气象领域数据的标准格式之一. 能够更好的存储格点数据. 下面为测试NC文件的读写. git:https://git.oschina.net/ipnunu/nctest pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

【 D3.js 进阶系列 — 1.2 】 读取 CSV 文件时乱码的解决方法

在 D3 中使用 d3.csv 读取 CSV 文件时,有时会出现乱码问题.怎么解决呢? 1. 乱码问题 使用 d3.csv 读取 xxx.csv 文件时,如果 xxx.csv 文件使用的是 UTF-8 编码,不会有什么问题.当然,个人认为尽量使用 UTF-8 编码,可以在同一编码内使用各国文字. 但是,如果 xxx.csv 文件使用的是 utf-8 编码,使用 Microsoft Excel 打开的时候,可能会出现乱码,因为国内的 Excel 默认使用 GB2312 打开,而且在打开的时候不能选

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知

.NET读取Office文件内容(word、excel、ppt)

引用命名空间 1 using Microsoft.Office.Core; 2 using Word = Microsoft.Office.Interop.Word; 3 using Excel = Microsoft.Office.Interop.Excel; 4 using PowerPoint = Microsoft.Office.Interop.PowerPoint; Word文件的读取 1 public string ReadFile() 2 { 3 string text = str

五种方式让你在java中读取properties文件内容不再是难题

一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,先和大家共享. 二.项目环境介绍 Spring 4.2.6.RELEASE SpringMvc 4.2.6.RELEASE Mybatis 3.2.8 Maven 3.3.9 Jdk 1.7 Id

python读取mat文件

一.mat文件 mat数据格式是Matlab的数据存储的标准格式.在Matlab中主要使用load()函数导入一个mat文件,使用save()函数保存一个mat文件.对于文件 load('data.mat') save('data_1.mat','A') 其中,'A'表示要保存的内容. 二.python中读取mat文件 在python中可以使用scipy.io中的函数loadmat()读取mat文件,函数savemat保存文件. 1.读取文件 如上例: #coding:UTF-8 import

java无依赖读取Excel文件

说到Java读取Excel文件,用得多的当然是POI或jxls,但今天在看一本书的时候.当中提到使用JdbcOdbcDriver这个驱动类在不依赖第三方库的情况下也能够完毕对Excel文件的读取操作,网上搜了一下原因然后自己写了个样例跑通了,在此记录一下. Java读取数据库大家都非常熟悉,须要一个数据源与对应的驱动.开发人员通过JDBC操作驱动.驱动再去操作数据库.那么Java读取Excel文件也是类似的.在Windows系统中,能够将一个Excel文件注冊为一个ODBC数据源,注冊过程为: