爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5880|回复: 1

[程序设计] 学术干货!赶紧保存!Matlab提取气象站点对应的网格

[复制链接]

新浪微博达人勋

发表于 2022-4-14 18:15:34 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
【科研干货】气象站点(经纬度坐标)与其对应的栅格,网格数据怎么来提取?有时候需要对另外一个网格数据进行验证对比其精度。用以下方法可以实现。


clc;clear    %Author Dr. Liucheng Shen & Date: 02/01/2022 & Institution: Shanghai Normal University
[num,~,~]=xlsread('C:\Users\admin\Desktop\paper\Exposure to Pre\站点信息.xls');%读取YRD地区的站点信息
num=num(:,2:3); %所有的地面站点的经纬度信息,在这两列中
LLat=36:-0.25:26;
LLon=114:0.25:124;
Data=zeros(185,3);
for i=1:185 %185个站点,依次排列的
    Lonti=num(i,2);
    Lati=num(i,1);
  
   
%% 经度的判断
S=floor(Lonti);  %S 是经度Lonti的整数部分
Z=Lonti-S;       %Z 是经度Lonti的小数部分






    if Z<0.125                    %判断条件①      %如96.68    则小数0.68  取经度96.75的范围
        Lon=S;
    end
   
    if Z>=0.125 & Z<0.375         %判断条件②   %有整数经纬度如100,没有100.50
    Lon=S+0.25;      %如果一个数是100,那么取100.25(100-100.5区间),也就是靠右不靠左
        end
        
   if Z>=0.375 & Z<0.625          %判断条件③
        Lon=S+0.5;
   end
   
   if Z>=0.625 & Z<0.875         %判断条件④
        Lon=S+0.75;
   end
   
     if Z>=0.875                  %判断条件⑤
        Lon=S+1;
   end
%%   
        
%% 纬度的判断        
M=floor(Lati);  %S 是纬度的整数部分
N=Lati-M;       %Z 是纬度的小数部分


if N<0.125                 %纬度判断条件①
       Lat=M;
end
   
if  N>=0.125 & N<0.375     %纬度判断条件②
      Lat=M+0.25;
end
   
if N>=0.375 & N<0.625      %纬度判断条件③
      Lat=M+0.5;
end
   
if N>=0.625 & N<0.875       %纬度判断条件④   
      Lat=M+0.75;
end
   
if N>=0.875                 %纬度判断条件⑤   
      Lat=M+1;
end
      
%%   定位
    jingdu=find(LLon==Lon);  %查找经度的列号
    weidu=find(LLat==Lat);   %查找纬度的行号
   
    %写了个185行,3列的数据
    Data(i,1)=i;             %
    Data(i,2)=weidu;
    Data(i,3)=jingdu;
%     Data=C(i,weidu,jingdu);
%     Data=Data';     %原先是列,现在要把他变成行
%     xlswrite('C:\Users\admin\Desktop\hahaha.xlsx',Data,['A',num2str(i),':PP',num2str(i)]);
disp(i)
end




我再提供一种思路,就是每个站点的经纬度坐标与所有的网格的中心点坐标进行根号下x平方加y平方,得到的距离最小的,就是最近网格。
希望大家喜欢本次干货分享。


密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-4-22 12:25:13 | 显示全部楼层
谢谢分享,学习了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表