爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3991|回复: 3

[源程序] 求助帮忙编程!急用!不甚感激!

[复制链接]
发表于 2013-5-16 17:00:10 | 显示全部楼层 |阅读模式

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

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

x
求热心人帮忙,我需要计算地闪密度。把一片区域分割成经纬度为0.1*0.1的网格,然后判断每次闪电是否发生在这个网格里,如果是,就把发生在这个网格里的闪电次数累加起来,再除以面积,就得到每一个网格的地闪密度。我需要用程序实现它,求大神们帮帮我,不甚感激啊!毕业论文用的。感觉我好像没讲清楚,我的算法和下面我从一篇文献里的算法基本一样,如下:
  格子的中心位置为评估点所在经纬度。每个格子边长为3km,每边共有9 个格子。算法具体步骤如下:
评估点附近网格分布图:网格是9*9的网格
(1)在程序中声明4个二维数组:①ArrayNg,②ArrayAvgLigCurt,③ArrayBoxsLng,④Array-BoxsLat。分别用来存放图1中每个格子的①Ng值,②雷电流平均强度,③格子中心点经度,④格子中心点纬度。
(2)已知用户输入的评估点经纬度,而且根据地球上任意两点的经纬度又可以得到两点间距离。计算公式如下:
d(x1,y1,x2,y2)=rarccos[sin(x1)sin(x2)+cos(x1)cos(x2)cos(y1-y2)]
其中:x1,y1是纬度、经度的弧度单位,r 为地球半径。
据此,可以经过计算得出每个格子的经纬度范围,ArrayBoxsLng,ArrayBoxsLat能够通过循环成功赋值。
(3)逐行读取经过处理的闪电定位系统(LLS)数据,取闪电的经纬度存入局部变量lngTmp、latTmp。
使用if语句判断该行闪电定位数据是否属于图1中所示9×9=81个格子。如果属于,则ArrayNg数组中第i行j列格子数据执行自加运算(ArrayNg[i,j]++;);同时,地闪强度也累加(ArrayAvgLigCurt[i,j]+= LightningCurrent;)。
(4)对数据源循环一遍后,使用for循环语句重新对81个格子进行循环赋值。使用公式为:平均电流强度= 总电流强度/闪击次数
                     Ng = 总地闪次数/资料年数/格子面积
经过以上4步,即可得出每个格子的Ng值和雷




密码修改失败请联系微信:mofangbao
发表于 2014-9-2 10:54:57 | 显示全部楼层
同求。很想知道。
密码修改失败请联系微信:mofangbao
发表于 2014-9-30 10:46:12 | 显示全部楼层
来学习1一下!
密码修改失败请联系微信:mofangbao
发表于 2014-9-30 12:59:27 | 显示全部楼层

楼主发了这个帖子后应该有一年时间没来论坛了。其实他的问题我比他早几天发布的“闪电统计程序”就可以解决,而且非常直观。有现成的程序,又是免费的,为何不用?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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