您的位置: turnitin查重官网> 计算机 >> 设备 >简谈防汛数字防汛决策支持系统设计和开发

简谈防汛数字防汛决策支持系统设计和开发

收藏本文 2024-03-09 点赞:27114 浏览:121993 作者:网友投稿原创标记本站原创

摘 要: 结合城市防汛预警决策的信息化建设,开发了数字防汛决策支持系统。介绍了开发该系统的意义、所使用的关键性技术、设计模式和开发工具。该系统应用了基于MVC模式的SSH2框架技术,以及目前主流的JaScript技术等。分析和展望了数字防汛决策支持系统的使用前景。
关键词: 数字; 防汛决策支持系统; J2EE; SSH2框架; Oracle
1006-8228(2013)02-63-05
Design and development of flood control decision-making support system for digital urban management
Wang Jianqiu1, Chen Guanlin2, Li Zhennan2
(1. China Telecom Corporation Ltd. Hangzhou Branch, Hangzhou, Zhejiang 310003, China;
2. School of Computer and Computing Science, Zhejiang University City College)
Abstract: With deepening of city-oriented development, the impact of floods become more serious so the information construction of flood control decision-making support system has been paid more and more attention. The way of how to use the J2EE platform with SSH2 (the Struts2+Spring+Hibernate) framework for the development of flood control decision-making support system is introduced, including the significance of developing the system, the key technology of the system, the system design model, development tools. SSH2 framework technology with MVC pattern and the current mainstream JaScript technology are implemented in this system. A summarized analysis of how to better meet the needs of the flood control decision-making support system is presented for digital urban management.
Key words: digital urban management; flood control decision-making support system; J2EE; SSH2; Oracle

源于:论文网www.udooo.com

0 引言
数字意为数字化城市管理,是指用信息化手段和移动通信技术手段来处理、分析和管理整个城市的所有部件和事件信息,是促进城市管理现代化的信息化措施。数字是现代城市的发展趋势,也是城市管理走向现代化的必然要求。
近年来,许多国外发达城市相继开展了“数字”的研究和实践,实施“数字”也已成为中国城市管理建设的热点。据统计,目前全国已有百余个城市已建设或正在推行数字化城市管理。以浙江省杭州市为例,杭州市于2006年8月顺利通过国家建设部的验收,成为首批十个“数字”试点城市中第一个通过验收的城市,其创新模式被冠名为“杭州模式”[3];至2010年底,杭州市已建成覆盖城市市域的市辖城域数字统一平台。
随着城市化进程的推进,洪水对城市的影响日益严重,城市防汛预警决策的信息化建设日益受到人们的重视[4]。同时,技术发展与应用的不断升级使得现有的决策支持系统已经不能满足各行各业解决复杂空间决策问题的需要,空间决策支持系统作为GIS与DSS相结合发展的趋势,已在国内外引起越来越广泛的关注[5]。本文介绍一个面向数字的防汛决策支持系统的设计和开发,通过对城市河道、水库等的防汛数据进行综合收集和整理,实现对重点区域的有效监控;建立和优化防汛决策的基础数据库,为城市的防汛减灾决策提供支持。在设计和开发面向数字的防汛决策支持系统过程中,主要运用Ja EE平台技术结合SSH2(Spring+Struts2+Hibernate)框架,采用MVC架构实现数字防汛决策支持平台,同时,还应用了许多其他的主流技术,包括Ja Script,AJAX,JQuery,Open Flash Chart,Oracle数据库等。

1 系统总体设计与分析

1.1 系统总体需求设计

设计和开发一个面向数字的防汛决策支持系统,需要通过对城市河道、水库等的防汛数据进行综合收集和整理,以实现对重点区域的有效监控,并建立和优化防汛决策的基础数据库。系统功能模块主要包括系统管理、防汛信息获取、实时水情分析、防汛预警、统计查询等。要求完成系统的总体设计,对系统进行充分的需求调研,并在此基础上认真进行系统的数据库设计和功能模块设计,重点完成分析模型和分类统计模块,提供方便的查询统计功能。

摘自:毕业论文www.udooo.com

model.setMonitoree(new AppUser(getLoginUser().getId()));
service.seOrUpdate(model);
getRequest().setAttribute("resultMessage", "录入成功");
return "view";
}
(其他代码省略)
}
⑵ Excel导入数据的实现
表格导入主要过程包括了文件上传,Excel文件遍历和数据库记录插入,其Struts的Action的关键代码如下:
public class WaterLevelAction extends PagealbeAction
{
/**
* 从表格中导入
*/
public String excelImport() throws Exception {
final Integer[] count={ 0 };
try {
ExcelTableReader reader=new ExcelTableReader(excel);
reader.process(new ExcelRecordProcessor() {
@Override
public void ProcessRecord(Cell[] columns) {
WaterLevel w=new WaterLevel();
// 初始化一个实例
w.setId(null);
w.setMonitoree(getLoginUser());
w.setStation(new Station(new Integer(columns[0]
.getContents())));
w.setTime(ExcelTableReader.getDate(columns));
w.setWaterLevel(Double.valueOf(columns.getContents()));
// 保存
service.seOrUpdate(w);
(其他代码省略)
}

2.3 实时水情分析的设计和实现

实时水情分析,是

摘自:本科生毕业论文范文www.udooo.com

指利用已有的最新水情数据,将当前的实时水情及其分析结果用图、表的形式展现出来,方便用户掌控当前的实时水情。实时数据的展现形式主要包括图示和报表显示。图示即标明每个检测站在地图中的位置及当前的状态信息,让用户对当前的水情在地理上的分布有一个直观的认识,如图6所示。而报表显示则将水库和河道的实时信息通过表格的形式展示给用户,表格中包括水情的详细统计数据,如图7所示。
5.1\Fit201302\图\wjq图

6.tif>

图6实时水情图示 5.1\Fit201302\图\wjq图

7.tif>

图7 实时水情报表 水情图示功能是利用百度地图的API来显示地图。百度地图API是一套应用程序接口,通过该API,即可在应用中构建功能丰富、个性化的、高效的地图功能,其中包含了构建地图基本功能的多个接口,提供了诸如位置搜索、周边查询、出行路线规划等功能怎么写作。本系统主要利用了API中地图显示功能,并将测站的信息以覆盖物(覆盖物是百度地图API中叠加或覆盖到地图中的内容)的形式显示出来。载入地图并初始化的JS代码如下:
var map;
$(document).ready(function() {
// 创建地图实例
map=new BMap.Map("container");
// 禁用双击放大
map.disableDoubleClickZoom();
// 添加导航控件
map.addControl(new BMap.NigationControl({
type:BMAP_NIGATION_CONTROL_LARGE
}));
// 添加地图类型控件
map.addControl(new BMap.MapTypeControl());
// 添加图例控件
map.addControl(new CutLineControl());
// 添加地区控件
map.addControl(new RegionControl());
// 初始化地图,设置中心点坐标和地图级别
map.centerAndZoom('杭州');
// 用于保存创建的站点列表
var stationMarkers=new Array();
// 从怎么写作器获取水位信息并更新显示
function getAndUpdateStations() {
$.getJSON("../waterLevel/getAllLatest.action",function(data) {
var list=stationMarkers;
var levels=data.list;var i, j;
for(i=0; ilist[i].level=levels[i];
list[i].updateDiv();
}
});
}
// 获取站点列表并加载
$.getJSON("../station/getAll.action", function(data) {
// 加载返回的站点列表
for(var i=0; ivar lng=data.list[i].lng;
var lat=data.list[i].lat;
var marker=new StationMarker(new BMap.Point(lng,lat),
data.list[i])
stationMarkers[i]=marker;
map.addOverlay(marker);
marker.waterLevel='';
marker.updateDiv();
}
// 获取水位信息并更新显示
getAndUpdateStations();
// 定时器:获取水位信息并更新显示
$(document).everyTime( 60*1000, function() {
getAndUpdateStations();
});
});
});
(其余功能代码省略)

2.4 实时水情分析的设计和实现

统计查询是指利用系统采集到的数据,统计一段时间内的水情水位信息,并以图、表等形式展现给用户。主要界面如图8和图9所示。
5.1\Fit201302\图\wjq图8.tif> 图8 某个测站在一段时间内的统计信息
5.1\Fit201302\图\wjq图9.tif> 图9 在一段时间内的水情的统计报表
统计查询中涉及到许多不同类型信息的统计,这里以一个时间段内的每个时间单位的平均水位为例。为了防止系统中单纯为传递数据的Ja Bean数量的无限制地增长,我们用了Map(映射)代替Ja Bean来返回查询的结果。其主要代码略。

2.5 防汛预警的设计和实现

防汛预警,主要是利用之前的数据通过算法预测出某天的水位数据,给防汛的决策提供一定的数据支持,其主要界面如图10所示。
5.1\Fit201302\图\wjq图10.tif> 图10 在一段时间内的水情的统计报表
预测算法如下:
public class PredectionService {
/**
* 根据之间的数据预测下一天的数据
*
* @param list
* @param algorithm
* @return
* @throws MessageException
*/
public Map predict(List>
list, String algorithm) throws MessageException {
// 变量声明
double result=0;
int

研究生论文www.udooo.com

n=list.size();
double[] x=new double[n];
// 初始化原始数组
int i=n-1;
for (Mapm:list) {
x[i--]=(Double) m.get("level");
}
// 调用相应算法
try {
Method method=this.getClass().getMethod(algorithm,
double[].class);
result=(Double) method.invoke(this, x);
} catch (Exception e) {
throw new MessageException("不支持的算法");
}
// 添加到结果中
Map t=list.get(list.size()-1);
t=new HashMap(t);
try {
SimpleDateFormat sdf=new SimpleDateFormat
("yyyy-MM-dd");
Date date=sdf.parse((String) t.get("time"));
date=new Date(date.getTime()+24L*60*60*1000);
t.put("time", sdf.format(date));t.put("level", result);
t.put("isPrediction", true);
} catch (ParseException e) {
e.printStackTrace();
}
// 返回
return t;
}
/**
* 平均算法
*
* @param x
* @return
*/
public Double erage(double[] x) {
double p=0;
for (double a:x) {
p+=a;
}
return p/x.length;
}
/**
* 插值算法
*
* @param x
* @return
*/
public Double interpolation(double[] x) {
double p=0;
int n=x.length;
double g=erage(x);
if (n==7) {
p=x[6]-7*x[5]+21*x[4]-35*x[3]+35*x-21*x+7*x[0];
} else if (n==6) {
p=-x[5]+6*x[4]-15*x[3]+20*x-15*x+6*x[0];
} else if (n==5) {
p=1*x[4]-5*x[3]+10*x-10*x+5*x[0];
} else if (n==4) {
p=-1*x[3]+4*x-6*x+4*x[0];
} else if (n==3) {
p=1*x-3*x+3*x[0];
} else if (n==2) {
p=1*x-2*x[0];
} else if (n==1) {
p= [0];
}
if (p<0||p>2*g||pdouble xx[]=new double[n-1];
for (int i=0; ixx[i]=x[i];
}
return interpolation(xx);
}
return p;
}
}

3 结束语

面向数字的防汛决策支持系统平台是当今数字建设的重要组成部分,通过对城市河道、水库等防汛数据进行综合收集和整理,实现对重点区域的有效监控,建立和优化防汛决策的基础数据库,可为城市的防汛减灾决策提供支持。面向数字的防汛决策支持系统,有效地利用数字平台积累的数据,并在此基础上进行数据分析,提取有价值的信息,可进一步促进数字应用的开发利用和知识发现,提升城市管理的水平和效能。面向数字的防汛决策支持系统使用当今主流的Ja EE技术设计开发,以Oracle作为其数据库系统,以Hibernate作为持久层管理,用Spring作依赖注入,使用Struts2作为控制层。系统充分展示了MVC设计模式的运用。B/S架构使得该系统可以在任何有浏览器而无需JRE支持的系统上直接使用。
参考文献:
余孟泽,赵美英.打造“全省示范,全国领先”数字[J].城乡建设,200

6.8:53-54

河南省洛阳市文明办,洛阳以数字化城市管理给力文明城市创建,http://archive.wenming.cn/gzyd/2010-11/15/content_2139093

1.htm.

[3] 陈观林,李圣权,周鲁耀.杭州市“数字”现状及发展对策研究[J].情报杂志,2009.28(3):43-45
[4]

源于:论文范例www.udooo.com

贾超,徐帮树,韩永军等.济南城市防汛预警决策支持系统研究[J].中国水利,2010.5:42-44
[5] 田丽秋.水环境空间决策支持系统的研究与实现[J].计算机光盘软件应用,2011.3:110-110

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号