项目报告
基于 SVG 的自动站雨量分析系统的设计
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
目 录
总页数:25 页
1 引言................................................................................................................................................1
1.1 项目背景............................................................................................................................1
1.2 本项目的应用价值............................................................................................................1
1.3 本项目的相关开发技术....................................................................................................1
2 SVG 技术.........................................................................................................................................1
2.1 XML 介绍.............................................................................................................................1
2.2 SVG 介绍.............................................................................................................................2
2.3 SVG 的特点.........................................................................................................................2
2.4 SVG 规范.............................................................................................................................2
3 雨量分析系统的需求分析............................................................................................................4
3.1 系统需求............................................................................................................................4
3.2 功能分析............................................................................................................................4
3.3 用例分析............................................................................................................................5
4 雨量分析系统的设计....................................................................................................................6
4.1 系统模块结构....................................................................................................................6
4.2 数据库的设计....................................................................................................................7
4.2.1 总体设计................................................................................................................7
4.2.2 数据库表字段说明................................................................................................8
4.3 开发技术及过程..............................................................................................................10
4.3.1 三层架构..............................................................................................................10
4.3.2 SVG 文档的表示...................................................................................................14
5 系统实现......................................................................................................................................15
5.1 雨量数据管理的实现......................................................................................................15
5.2 雨量数据分析与 SVG 图像的生成..................................................................................16
5.3 使用 Web Service 方式提供开放的外部接口..............................................................20
5.3.1 Web Service 介绍...............................................................................................20
5.3.2 使用 Web Service 的意义..................................................................................20
5.3.3 Web Service 接口的实现...................................................................................21
6 系统测试......................................................................................................................................21
结 论..........................................................................................................................................22
参考文献..........................................................................................................................................22
致 谢..........................................................................................................................................24
声 明..........................................................................................................................................25
第 1 页 共 25 页
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