魅优论文范文网

 找回密码
 立即注册
查看: 11273|回复: 0
打印 上一主题 下一主题

[水利工程] 浅析数据库技术在海河流域水资源综合规划中的应用

[复制链接]

1149

主题

1149

帖子

3495

积分

论坛元老

Rank: 8Rank: 8

积分
3495
跳转到指定楼层
楼主
发表于 2014-3-27 11:05:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  论文关键词:数据库技术;水资源规划;供需分析;海河流域

  论文摘要:海河流域水资源综合规划采用水资源系统配置模拟模型对全流域进行了长系列的供需分析,生成了近2万行供需平衡数据。如果采用常规手工分析方法进行供需分析,难于适应规划的进度和精度要求。介绍如何利用Foxpro数据库系统提供的强大数据处理功能,实现供需平衡数据的统计分析和输出,并给出了实用的程序片段,不仅对提高水资源规划工作效率有所帮助,而且其思路和方法对其他专业规划也具有一定的参考价值。

  1引言

  海河委员会在水资源综合规划中委托中国水科院水资源所开发研制了海河流域水资源系统配置模型,配置模型以水资源三级区套地市作为基本计算分区,同时又根据规划精度的要求对分区作了进一步细化,共划分107个计算单元。利用配置模型对全流域进行了长系列的供需分析.生成了基准年、2010、2020和2030年4个规划水平年107个计算单元45年的供需平衡数据,不仅数据量大,而且方案反复调整,十分烦琐,若采用常规手工统计分析方法,对计算单元供需平衡数据按不同分区进行各种频率的供需分析,难于适应规划的进度和精度要求。运用Foxpro数据库系统提供的强大数据处理功能.基本实现了不同水资源分区供需分析长系列成果生成、均值统计、各种保证率成果确定、大型调水工程不同保证率供水量统计及最终成果表编制等工作的程序化,极大地提高了工作效率。

  2建立基础数据库

  水资源配置模型运行后导出的供需平衡数据为包含107个计算单元的1956-2000年的系列数据.文件数据格式既可选择Excel表格,也可选择以Tab为分隔的数据文件.表格基本格式见表1(仅列部分字段)。


  Foxpro数据库系统具有直接导入以上两种数据格式文件并生成相应数据库的功能。以Tba分隔数据文件为例,如水资源配置模型导出文件名为balance.dat则导入并建立数据库的程序为:

  use单元供需分析.dbf

  delel all

  pack

  append from balance.Dat type delimited with tab

  其中,“单元供需分析.dbf”为事先建立.其字段为与balance.dat相一致的数据库文件。

  按水资源综合规划要求.供需分析成果以省级区套水资源二级区(以下简称省套二级区)为单元.保证率主要根据统计单元的降水频率确定。因此.需建立一个以省套二级区为统计单元的长系列降水量数据库“降水排序.dbf”.字段包括:年份、二级区码、省级码、降水量和降水排序(降水量降序排列号)5个字段,其中年份为1956-2000年。

  为了简化统计分析的程序代码,构建了一个贮存省级行政区及二级区组合码的数据库“省套二级区编码.dbf'’,数据库记录包括了海河流域省级行政区与二级区的所有可能组合.海河流域有l6个省套二级区,因此共有l6个记录。字段包括:wt_code(二级区码)、pry_code(省级码)、wt_na(二级区名称)、plv_na(省级区名称)4个字段。

  3数据库记录编码

  供需平衡数据的统计分析,主要以计算单元编码作为统计区域分类的线索,选择合适的编码方式和规则尤为重要。以字母和数据构成的编码具有简洁、便于重新组合的优点。在海河流域水资源配置模型中,计算单元编码由1个字母和l5个数字组成,其中前3位代表水资源二级区,如C02为海河北系;前7位代表水资源三级区,如C010100为滦河山区;8~9位为省级行政区,如l3为河北省;而第l0位以后的编码为地市级行政区等信息。

  对计算单元供需平衡数据按不同分区要求进行统计分析的操作,实际上是对数据库记录(行)进行分类、合并、排序、提取的过程。为了达到分类  4供需平衡数据的分析

  为了生成省套二级区的供需分析长系列成果,并进行各种频率的供需分析,首先需对“单元供需分析.dbf”数据库中的每个记录进行分类,如哪些记录属于海河北系河北省1956年的数据?通过提取单元编码中代表二级区及省级区的编码,并与年份进行组合,即可形成不同年份省套二级区的组合码,将其存人数据库的组合码字段,为同类合并(相加)创造了条件。数据库系统对已索引或排序的数据库提供了方便的同类合并功能,以下程序片段,轻而易举地完成了省套二级区供需分析长系列数据的整理工作。

  use单元供需分析.dbf

  copy all to temp.dbf

  use temp.dbf

  repl all组合码with yearl+substr(code0,1,3)+substr(code0,8,2)1

  index on组合码to ch_code

  total on组合码to省套二级区系列.dbf

  其中:temp.dbf为临时数据库,是“单元供需分析.dbf”数据库的复制文件.对其进行操作可避免改变原有数据库:yearl和code0分别为年份和单元编码字段。

  在数据库系统的工作区1打开先前建立的“省套二级区编码.dbf”,并保持打开状态。在工作区2反复打开或关闭用于查找不同降水频率对应年份的“降水排序.dbf”、用于提取不同保证率供需平衡数据的“省套二级区系列.dbf”及存储统计分析结果的“省套二级区供需分析.dbf”,并进行数据的统计、复制、添加、分区名称及保证率的填写等操作。以工作区1第1个记录(第一个省套二级区)为起始,提取省套二级区信息,利用do while not eofO循环语句。在两个工作区之间来回变换,进行重复的统计分析操作,直到完成最后一个省套二级区的统计分析。程序片段(仅以50%保证率和平均值统计为例)如下:

  sele1 &&选择工作区1

  use省套二级区编码.dbf

  do while not eof0 &&循环开始

  prv_nal=prv_na &&提取要统计的省级区名

  wt_na1=wt_na &&提取要统计的二级区名

  prv_codel=pry_code &&提取要统计的省级区编码

  wt_codel=wt_code &&提取要统计的二级区编码

合并的目的,在“单元供需分析.dbf”数据库中增加了1个“组合码”字段,用于存储重新分类统计的组合编码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机访问本页请
扫描左边二维码
         本网站声明
本网站所有内容为网友上传,若存在版权问题或是相关责任请联系站长!
站长联系QQ:7123767   myubbs.com
         站长微信:7123767
请扫描右边二维码
www.myubbs.com

QQ|Archiver|手机版|小黑屋|魅优论文范文网 ( 琼ICP备10200388号-7 )

GMT+8, 2024-4-29 01:32 , Processed in 0.045672 second(s), 20 queries .

Powered by 高考信息网 X3.3

© 2001-2013 大学排名

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