爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6048|回复: 6

[讨论] 0.5°的nc数据,想要计算每个grid的面积,求讨论

[复制链接]

新浪微博达人勋

发表于 2019-4-17 08:30:03 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 sunzy025 于 2019-4-17 08:33 编辑

我的数据是nc格式的,有0.5*0.5(全球720*360)的,也有其他分辨率的数据但都是以°为单位,我想要计算每一个格网的面积。

https://gis.stackexchange.com/qu ... ate-area-of-rasters      Eq.1
这个帖子有介绍如何计算以°为单位的raster的数据的面积的。


我的指导教师和我讨论后得到计算公式为:
grid_area(km2) = 111*111*degree*degree*cos(latitude*(3.14159274/180))     Eq.2



我有点理解不理解Eq.2的具体含义,还望大家伙帮帮忙,指点一二,感恩!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-4-24 21:31:59 | 显示全部楼层
学习渣渣 发表于 2019-4-20 14:51
百度。曲面多边形面积。

嗯嗯!好主意,我后来试验了,确实精度还是可以接受的,感谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-24 21:27:34 | 显示全部楼层
文质彬 发表于 2019-4-17 15:47
每个1*1°格点的面积等于所在格点的dlat*dlon
dlat-------大约111km,固定值
dlon------会随纬度变化,dl ...

后来,我就这么算的了,感觉比111km这个准,但是是UTM投影

a = 6378137;
b = 6356752.3142;
e = sqrt(1 - (b/a)^2);
f1 = center_lat + pixel_y./2;
f0 = center_lat - pixel_y./2;
zm0 = 1 - e.*sind(f0);zm1 = 1 - e.*sind(f1);
zp0 = 1 + e.*sind(f0);zp1 = 1 + e.*sind(f1);
area0 = pi .* b.^2 .* (log(zp0./zm0) ./ (2.*e) + sind(f0) ./ (zp0.*zm0));
area1 = pi .* b.^2 .* (log(zp1./zm1) ./ (2.*e) + sind(f1) ./ (zp1.*zm1));
area = (area1 - area0) .* pixel_x ./ 360;
area = repmat( area , 1 , length(x) );
area = area';
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-4-24 21:24:50 | 显示全部楼层
虫儿飞 发表于 2019-4-17 10:49
我做过面积加权的格点平均降水,精度还可以的,总体的思路就是求梯形面积,如果考虑地形,那就考虑每一个格 ...

后来,我这么算了
a = 6378137;
b = 6356752.3142;
e = sqrt(1 - (b/a)^2);
f1 = center_lat + pixel_y./2;
f0 = center_lat - pixel_y./2;
zm0 = 1 - e.*sind(f0);zm1 = 1 - e.*sind(f1);
zp0 = 1 + e.*sind(f0);zp1 = 1 + e.*sind(f1);
area0 = pi .* b.^2 .* (log(zp0./zm0) ./ (2.*e) + sind(f0) ./ (zp0.*zm0));
area1 = pi .* b.^2 .* (log(zp1./zm1) ./ (2.*e) + sind(f1) ./ (zp1.*zm1));
area = (area1 - area0) .* pixel_x ./ 360;
area = repmat( area , 1 , length(x) );
area = area';

感觉还不错呢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-4-20 14:51:32 | 显示全部楼层
百度。曲面多边形面积。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-4-17 15:47:26 | 显示全部楼层
每个1*1°格点的面积等于所在格点的dlat*dlon
dlat-------大约111km,固定值
dlon------会随纬度变化,dlat=111*cos((lat/180)*3.14) :角度单位——度化π
那么0.5*0.5的面积就是1*1°的面积*0.5*0.5
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2019-4-17 10:49:30 | 显示全部楼层
我做过面积加权的格点平均降水,精度还可以的,总体的思路就是求梯形面积,如果考虑地形,那就考虑每一个格点的地形包络,这个我没有研究过,但是思路都是类似的:在每一个格点内,利用高分辨率的高程和地形数据,把格点再次分割细小网格,用求解梯形面积的方法,求解每一个细小网格的面积
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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