南晚748 2023-02-10 12:15 采纳率: 25%
浏览 92
已结题

MATLAB处理CN05.1数据集

使用MATLAB处理CN05.1数据集,怎么输出制定研究区数据呢,是在for i/j 直接输入经纬度范围吗?求解惑初学者
代码如下:

clear all
setup_nctoolbox
source='E:\qxsj\gddata\CN05.1\1961-2018\CN05.1_Tm_1961_2018_daily_025x025.nc'
nc = ncgeodataset(source);
varname='tm'
nc.variables
lon = nc.data('lon');
lat = nc.data('lat');
jd = nj_time(nc,varname);
ncvar = nc.variable(varname);
for j=1:length(lat)
    for i=1:length(lon)
        v=ncvar.data(:,j,i);
        outfile=sprintf('%6.2flon%6.2flat.csv',lon(i),lat(j))
        fid=fopen(outfile,'wt')
        data= [datevec(jd) v]
        fprintf(fid,'%2.2d %2.2d %2.2d %2.2d %2.2d %2.2d %7.2f\n',data')
        fclose(fid)
        disp([outfile ' created.'])
    end
end
  • 写回答

3条回答 默认 最新

  • m0_72304602 2023-02-10 13:01
    关注

    如果您希望输出指定研究区的数据,可以通过在循环中添加一些条件判断来实现。例如,您可以将经纬度范围作为变量,并在循环内检查当前点的经纬度是否在该范围内。如果经纬度符合条件,则在循环内输出数据。代码如下:

    clear all
    setup_nctoolbox
    source='E:\qxsj\gddata\CN05.1\1961-2018\CN05.1_Tm_1961_2018_daily_025x025.nc'
    nc = ncgeodataset(source);
    varname='tm'
    nc.variables
    lon = nc.data('lon');
    lat = nc.data('lat');
    jd = nj_time(nc,varname);
    ncvar = nc.variable(varname);
    
    % 研究区经纬度范围
    lon_min = ...;
    lon_max = ...;
    lat_min = ...;
    lat_max = ...;
    
    for j=1:length(lat)
        for i=1:length(lon)
            % 如果经纬度符合条件,则输出数据
            if lon(i) >= lon_min && lon(i) <= lon_max && lat(j) >= lat_min && lat(j) <= lat_max
                v=ncvar.data(:,j,i);
                outfile=sprintf('%6.2flon%6.2flat.csv',lon(i),lat(j))
                fid=fopen(outfile,'wt')
                data= [datevec(jd) v]
                fprintf(fid,'%2.2d %2.2d %2.2d %2.2d %2.2d %2.2d %7.2f\n',data')
                fclose(fid)
                disp([outfile ' created.'])
            end
        end
    end
    
    
    

    您需要根据自己的研究区经纬度范围来设置 lon_min、lon_max、lat_min 和 lat_max 变量的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月18日
  • 已采纳回答 2月10日
  • 创建了问题 2月10日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么