当前位置: > 论文中心 > 计算机论文 >

适应北方片水文资料整编程序的水量计算体会

时间:2015-07-20 09:34 点击:
摘要介绍各月水量的计算方法,探讨北方片水文资料整编程序,包括注册表的操作、数据库服务器的配置、数据库的查询、成果的Excel输出,以为深入了解水文资料整编技术提供参考。 关键词北方片水文资料整编程序;水量计算;体会 在水文调查资料整编过程中,还原计算需
  摘要介绍各月水量的计算方法,探讨北方片水文资料整编程序,包括注册表的操作、数据库服务器的配置、数据库的查询、成果的Excel输出,以为深入了解水文资料整编技术提供参考。
  关键词北方片水文资料整编程序;水量计算;体会
  在水文调查资料整编过程中,还原计算需要各月水量值,2007年以前辽宁水文资料整编使用辽宁水文资料整编程序,该程序具有计算各月水量的功能[1]。从整编2008年水文资料开始,辽宁使用了北方片全国统编水文资料整编程序,该程序不提供计算各月水量的功能。在进行水文调查资料整编时,需要用水文资料整编中的成果表《逐日平均流量表》逐日相加(累计值单位:m3/s),再乘以日秒数8.64万s,得到各月水量值(单位:万m3),相加可选用Excel列求和功能或使用计算器累加,计算方法十分烦琐。为解决水文调查资料整编水量还原对各月水量的需要,现介绍一种利用程序计算各月水量的方法,该方法适合全国统编的北方片整编程序计算环境,是在北方片水文资料整编的基础上,通过程序在成果数据库中读取逐日平均流量值,计算各月流量总数,输出各月水量表,输出格式与以前使用程序计算的结果相同。
  1基本思路
  北方片水文资料整编程序,计算逐日流量结果保存在数据库中及Excel成果表中。程序可以在数据库中读取,也可以在Excel成果表中读取。在Excel成果表中读取数据要知道成果表存放在哪个目录中,该目录位置信息可以通过北方片程序读出,也可以在数据库表COM_PATHSET中得到[2-3]。通过北方片程序读出要手动操作,十分烦琐;另外,程序操作Excel速度比较慢,要尽量避免操作Excel。在COM_PATHSET表中读取要连接数据库,对于不同的使用者该目录有可能不同。
  在数据库中直接读取流量日表数据,首先,要知道数据库的配置参数,用来连接数据库,北方片水文资料整编程序数据库配置参数保存在注册表中,根键“hkey_local_machine”,子键“software\田中岳\北方片整汇编软件”,“linkset”项键值保存数据库连接字。其次,要了解数据库中流量日表在数据库中的位置,逐日流量数据保存在数据库表sou_zcgb_qal中;该表的结构中stcd字段是站号,yr字段是年份,yy是月份,d01,d02,d03,……,d31分别表示1日、2日、3日,……、31日平均流量。
  2实现方法
  获取数据库配置参数,使用Delphi7.0语言读取注册表中数据库配置参数,配置数据库的程序段如下:
  ProcedureTForm1.FormCreate(Sender:TObject);
  registry1:tregistry;//注册注册表对象
  s:string;
  Begin
  try
  registry1:=tregistry.Create;//创建注册表对象
  withregistry1
  begin
  rootkey:=hkey_local_machine;//确定根键
  //注册子键software\田中岳\北方片整汇编软件
  ifopenkey('software\田中岳\北方片整汇编软件',false)then
  s:=readstring('linkset');//读linkset键值
  end;
  ADOConnection1.ConnectionString:=s;//数据库连接字设置
  application.MessageBox('读取注册表数据失败','提示信息',64);
  end;
  registry1.Destroy;//释放注册表对象
  end;
  逐日流量数据查询,要查询某年某站的逐日流量,在配置好数据库的情况下,查询逐日流量的程序关键语句如下:
  withadoquery1do
  begin
  close;sql.Clear;
  sql.Add('selectstcd站号,yr年份,yy月,d01,d02,d03,d04,d05'+
  ',d06,d07,d08,d09,d10,d11,d12,d13,d14,d15,d16,d17,d18,'+
  'd19,d20,d21,d22,d23,d24,d25,d26,d27,d28,d29,d30,d31,+
  ′fromsou_zcgb_qal');
  sql.Add('where(stcd=:stcd1)and(yr=:yr1)');
  sql.Add('orderbyyy');
  parameters.ParamByName('stcd1').Value:=edit1.Text;
  parameters.ParamByName('yr1').Value:=edit2.Text;
  open;
  end;
  根据查询结果计算逐日流量月总数,再乘日秒数计算月水量。

   论文榜(www.zglwb.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导代理,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


栏目列表
联系方式
推荐内容
 
QQ在线咨询
投稿辅导热线:
189-6119-6312
微信号咨询:
18961196312