ASP.NET 基于B/S自动站雨量分析系统的设计与实现(论文+源码)_Nueve

摘  要

SVG是由W3C组织开发的基于可扩展标记语言的一种矢量图形描述语言,已经在互联网上得到了较广泛的应用。为了以图形方式直观地显示雨量数据变化,方便工作人员进行雨量数据的查询及分析,设计了本套基于SVG的雨量分析系统。

该自动站雨量分析系统是基于B/S架构,使用ASP.NET来开发的。主要使用了.NET三层架构、XML程序集、矢量图形的动态生成、Web服务等技术,并实现了系统模块管理、雨量数据管理、城市数据管理、雨量数据查询、生成矢量图形格式的图表等功能模块。在系统中主要对矢量图形文档的生成进行了分析和设计,采用DOM模型来操作该图形文档,并封装了基本的图形元素。

该自动站雨量分析系统作了新的尝试,采用基于可扩展标记语言的矢量图形作为图形格式,系统与Web服务技术相结合,使系统的可重用性和开放性得到了很大的提高。

关键词可伸缩矢量图形;可扩展标记语言;.NET三层架构;Web服务

Design of the Auto-Station Rainfall Data Analysis System Based on SVG

Abstract

SVG developed by the W3C, is a vector graphics language based on the XML. And it has been widely used on the Internet. This rainfall analysis system is designed to achieve the goal that the rainfall data's changes are displayed by graphic mode intuitively for assisting to analyze the rainfall data.

The auto-station rainfall analysis system, developed in ASP.NET, is based on Browser/Server framework. In this system, many technologies are used, such as .NET Trip-Layer Framework, the XML program assembly, automatic creation of SVG document, Web Service and etc. The system contained function management module, rainfall data management module, city data management module, rain data query module, automatic creation module of SVG document and etc. The Document Object Model is used for manipulating SVG documents, and the basic graphics element is encapsulated.

Some new attempts have been made into the auto-station rainfall analysis system. By using SVG as graphics format and the Web Service technology, reusability and openness of the system is improved greatly.

Key words: SVG; XML; .NET Trip-Layer Framework; Web Service

目  录

1 引言

1.1 项目背景

1.2 本项目的应用价值

1.3 本项目的相关开发技术

2 SVG技术

2.1 XML介绍

2.2 SVG介绍

2.3 SVG的特点

2.4 SVG规范

3 雨量分析系统的需求分析

3.1 系统需求

3.2 功能分析

3.3 用例分析

4 雨量分析系统的设计

4.1 系统模块结构

4.2 数据库的设计

4.2.1 总体设计

4.2.2 数据库表字段说明

4.3 开发技术及过程

4.3.1 三层架构

4.3.2 SVG文档的表示

5 系统实现

5.1 雨量数据管理的实现

5.2 雨量数据分析与SVG图像的生成

5.3 使用Web Service方式提供开放的外部接口

5.3.1 Web Service介绍

5.3.2 使用Web Service的意义

5.3.3 Web Service接口的实现

6 系统测试

    

参考文献

    

    

1 引言

1.1 项目背景

雨量监测对于工农业生产以及人民生活中的灾害预防、有效利用水资源具有重要意义,建立完整高效的雨量监测系统显得非常有必要。雨量分析系统是应用于防汛、水文等部门的,用于辅助分析自动气象站雨量监测的数据。雨量分析系统通常都会生成一些图表,但由于这些图表是二进制格式的,其可重用性不高,而且这些系统通常都缺乏开放性,大量的数据无法提供给外部研究人员使用,造成资源浪费。

该自动站雨量分析系统在雨量分析领域中作了新的尝试,它采用了基于XML(eXtensible Markup Language,可扩展标记语言)的开放的SVG(Scalable Vector Graphics,可伸缩矢量图形)作为图形格式,在引入先进技术的同时,提高了系统的可重用性,而且该系统与Web服务的结合也使系统的开放性大大地提高。作为示例,该系统要实现对四川省部分市县的城市及雨量数据进行管理与分析,能查询各市县的历史雨量数据并以SVG格式的曲线图显示出来,实现简单地统计分析功能。作为一个完整的系统,还要实现对系统内各个模块以及用户权限的管理。

1.2 本项目的应用价值

本套系统是基于SVG的雨量分析系统,实现的主要功能是对各地收集的雨量数据加以分析,并以SVG矢量图形方式进行显示,使用户能够更加直观地了解某一区域的历史雨量。雨量分析系统主要应用于防汛、水文等部门,通过对各地雨量数据的统计与分析,来预防可能会造成的洪水灾害并有效的调配和利用水资源。

1.3 本项目的相关开发技术

该项目采用.NET开发,开发环境采用Visual Studio 2003,数据库采用MSSQLServer,并使用.NET的三层架构技术,使业务逻辑与数据表示隔离开来,提高系统的模块化程序;在图像显示上使用了基于XML的矢量图形语言SVG,并使用.NET XML DOM(Document Object Model,文档对象模型)来生成和操作SVG图形;并使用Web服务来提供外部接口,以提高系统的开放性。

2 SVG技术

2.1 XML介绍

XML是可扩展标记语言的简称,它定义了结构化表示数据的标准格式。XML是W3C(World Wide Web Consortium,万维网联盟)为适应互联网的发展而推出的新型Web语言,是国际标准化组织所制订的SGML(Standard Generalized Markup Language,标准通用标记语言)的子集。它是用于定义其他标识语言的一种元语言。它具有可扩展性、平台独立性、数据与表现分离以及结构化数据等特点,非常适合网络环境下的数据传输和表达。XML通过其可扩展性提供了一种通用的数据格式,不同的软件系统之间可以通过这种新的数据描述方式进行通信,从而实现完全的交互操作,这源于XML将结构化的数据表示为一个纯文本的特性。可以通过XML对信息加以规范化定义和描述,并且在互联网上进行数据的传输。SVG就是XML在图形图像领域的一个应用。

2.2 SVG介绍

SVG是一种基于XML的开放的标准文本式矢量图形描述语言,即它是用XML元语言定义的语言。SVG图像是与XML1.0兼容的文档,SVG元素是指示如何绘制图像的一些指令,阅读器解释这些指令,把SVG图像在指定设备上显示出来。使用SVG可以在网页上显示出各种各样的高质量的矢量图形,包括许多图像处理中常见的功能,如图形、文字、动画、颜色、滤镜效果等。最关键的是SVG完全用普通文本来描述,也就是说,这是一种专门为网络而设计的基于文本的图像格式。由于SVG是基于XML的,所以可扩展性很强,能够描述任何复杂的图像,甚至动态交互式图像。

2.3 SVG的特点

虽然SVG的“矢量描述”并不是一个全新的概念,但它综合了矢量图形、点阵图像和纯文字的优点,以一种标准将其统一起来描述。它由计算机根据矢量数据计算后绘制而成,相较于位图图像矢量图像有以下特点:(1)文件的大小与图形的复杂程度有关,而与图形的具体尺寸无关;(2)图形的显示尺寸可以无限缩放,变化后不影响图形的质量。正是由于矢量图像的这些特征,使得它尤其适合于网上传播。图片和交互在以前是两个独立的概念,而在SVG中,文字与图形并非封装于SVG内,而是可以借助DOM和脚本语言等手段与外界交互,使得在图片内进行交互成为可能,这是以往的图像所不能做到的。统一的标准和开放性是SVG的强大生命力所在。标准统一可增强网络的交流,结束目前业界各种格式并存的混乱局面;开放性则有利于日后的各种新的元素加入其中扩充其功能。SVG使用时,客户端的软件负责解释SVG文本并将其转化成实际的矢量图像,文字仍是文字,线条仍是线条,可在客户端即时修改,这也是SVG的一大特色。

2.4 SVG规范

SVG规范定义了6种类型的对象,包括矢量图形、图像、渐变填充、滤镜、可重用单元和文本。图形对象可以进行组合、添加样式、几何变换等操作。根据功能不同,这些主要对象可归结为基本要素对象和页面描述功能对象两大类,具体请见图1和图2所示。

图1 SVG基本要素

图2 SVG页面描述功能

框架元素,就是组成一个完整SVG文档的基本元素,主要包括<svg>、<g>、<desc>元素和<title>元素等等。<svg>元素是文档元素,必不可少的,它相当于指定一块画布,内部的所有图形元素都将显示在这块画布指定的区域中。因此它有一些标记位置的属性像x,y,width,height。<desc>和<title>元素是用来描述图像的注释性元素。还有一些表示基本图形的标记,如rect,circle等等,SVG图形就是通过组合这些基本的元素和组件,来生成复杂的图形的。

3 雨量分析系统的需求分析

3.1 系统需求

需求分析是一种软件工程活动,它在系统需求工程和软件设计间起到桥梁的作用,主要任务是将用户的需求变为软件的功能和性能描述。基于SVG的自动站雨量分析系统要实现对四川省部分市县及其雨量数据进行管理与分析,能够以各种时间方式查询各市县的历史雨量数据并以SVG格式的曲线图显示出来,要求实现简单地统计分析功能,例如统计同一时间段内两个不同地区的雨量数据,对其进行分析,并生成SVG图形以辅助工作人员判断某一时间数据点过高的城市是否有发生灾害的可能性。作为一个完整的系统,还要能够管理系统内各个模块及设置不同用户的权限。由于会涉及到大量数据,因此要有对数据库的管理,实现数据备份功能,以保障数据的安全性。

系统功能模块主要包括以下几个方面:

1、系统管理;

2、雨量数据管理;

3、城市信息管理;

4、前台管理;

5、数据备份。

3.2 功能分析

以下按照不同的模块进行功能描述:

1、系统管理实现以下四个功能:

(1)模块管理:管理系统中所有模块,对模块进行添加、更新及删除;

(2)用户管理:添加系统用户,选择对应的角色,对系统中已有用户进行更新(包括登陆密码及角色)、删除;

(3)角色管理:新增、更新、删除系统角色,分配角色权限;

(4)日志管理:能根据选择条件对已有日志进行查询、删除和下载。

2、雨量数据管理页面管理后台的所有雨量数据,有如下功能:

(1)数据查看:可根据选择条件(包括日期和城市选择)显示雨量数据,也可根据选择的显示方式,以SVG图形方式查看雨量数据;

(2)数据录入:选择某一城市后,可以选择任意一天进行雨量数据输入;

(3)数据更新:在选定城市某一天的雨量数据后,点击更新可以修改雨量数据。

3、城市信息管理页面管理地图页面中出现的所有城市的雨量数据,通过输入城市名及选择上级城市新增城市数据,也可以对已有城市数据进行更新(修改名称或上级城市)、删除操作。

4、前台管理页面放置了将前台查询页面,这一模块是整个系统的重点部分,包括地图管理、选择显示方式、选择查询方式并生成图形显示页面。区别于其它系统,本套系统对于数据图形使用了SVG这种文本式矢量图形描述语言。

用户查询数据,并生成SVG曲线图的操作流程如图3所示。

图3 SVG页面描述功能

5、系统的数据备份操作能够实现将数据库文件备份到本机上的指定目录下,需要时再进行数据恢复,以保证数据的安全性。备份管理有如下功能:

(1)数据备份:利用SQLServer的备份操作backup database进行数据备份;

(2)数据恢复:利用SQLServer的恢复操作restore database进行数据恢复。

3.3 用例分析

系统全局管理员用例图如图4所示。

图4 系统全局管理员用例图

图10 雨量数据录入界面

图11 前台界面

图12 SVG图形生成界面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值