24小时热门版块排行榜    

查看: 815  |  回复: 3

nirvana_fwl

新虫 (初入文坛)

[求助] 求助编程序,算雷击大地密度,用网格法。

求热心人帮忙,我需要计算地闪密度。把一片区域分割成经纬度为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值和雷
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 金币+1, 感谢参与谢谢骠骑将军 2013-05-15 22:52:50
ben_ladeng: 专家考核 2013-05-16 13:22:05
nirvana_fwl: 金币+6, 有帮助 2013-05-21 13:24:44
你看的论文挺早的吧,看起来像纯c程序,这个设计很不OOP,
c++的做法是弄一个类叫Point,保存经纬度信息,2个属性,加一个方法计算距离
再弄一个类叫Grid,保存Ng,雷电强度,与一个Point变量(中心经纬度),加一个方法地闪加1
不过看你的描述,感觉格子光保存中心点经纬度不够方便,因为有宽度,虽然每次可以计算,但是由于格子一旦初始化完成就固定了,最好还是把每个格子的经纬度范围保存起来作为Grid的属性,用[x,y,w,h]这种顶点宽高法也行,用[x1,y1,x2,y2]这种两点法也行

这样程序就只需要用一个Gfid的二维数组来保存,9*9
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-05-15 21:59:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nirvana_fwl

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by libralibra at 2013-05-15 21:59:54
你看的论文挺早的吧,看起来像纯c程序,这个设计很不OOP,
c++的做法是弄一个类叫Point,保存经纬度信息,2个属性,加一个方法计算距离
再弄一个类叫Grid,保存Ng,雷电强度,与一个Point变量(中心经纬度),加一个方法地闪加 ...

首先谢谢大神!我现在想做的是以经纬度画0.1*0.1的格子,每个格子的中心点为评估点,计算每个格子的Ng,请问你能可以编出程序来吗?我是初学者,什么都不懂,毕业论文老师让写这个,一点不会,急啊!!
3楼2013-05-16 13:29:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

没有看懂
4楼2013-05-16 17:52:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 nirvana_fwl 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 cHIDTWCTtLlG 2026-08-19 3/150 2026-08-19 15:28 by rHxJfXUaiknj
[基金申请] filecode,4个jtjc了 +8 ziyangfang 2026-08-19 9/450 2026-08-19 13:08 by blacksandy
[基金申请] 今天基金会出结果吗?20260819 +8 kkkl_v 2026-08-19 8/400 2026-08-19 12:34 by Vivilian
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +52 医学老男孩 2026-08-13 115/5750 2026-08-19 12:09 by 医学老男孩
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 时间戳变了,能看出什么问题? +10 基诺咪客 2026-08-17 14/700 2026-08-19 10:34 by 基诺咪客
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +8 启萌科技 2026-08-12 30/1500 2026-08-19 10:22 by 启萌科技
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +4 Tide man 2026-08-12 5/250 2026-08-19 07:41 by 201120518022
[基金申请] 重要消息,中午系统在维护 +10 yuleib84 2026-08-18 11/550 2026-08-19 07:30 by 羽毛枫f
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +3 瞬息宇宙 2026-08-15 3/150 2026-08-18 21:40 by xiaohuixin
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 6/300 2026-08-18 15:36 by wwm09
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
信息提示
请填处理意见