基于SVG的自动站雨量分析系统的设计
摘 要
SVG是由W3C组织开发的基于可扩展标记语言的一种矢量图形描述语言,已经在互联网上得到了较广泛的应用。为了以图形方式直观地显示雨量数据变化,方便工作人员进行雨量数据的查询及分析,设计了本套基于SVG的雨量分析系统。
该自动站雨量分析系统是基于B/S架构,使用ASP.NET来开发的。主要使用了.NET三层架构、XML程序集、矢量图形的动态生成、Web服务等技术,并实现了系统模块管理、雨量数据管理、城市数据管理、雨量数据查询、生成矢量图形格式的图表等功能模块。在系统中主要对矢量图形文档的生成进行了分析和设计,采用DOM模型来操作该图形文档,并封装了基本的图形元素。
该自动站雨量分析系统作了新的尝试,采用基于可扩展标记语言的矢量图形作为图形格式,系统与Web服务技术相结合,使系统的可重用性和开放性得到了很大的提高。
关键词:可伸缩矢量图形;可扩展标记语言;.NET三层架构;Web服务
目 录
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.1 项目背景
雨量监测对于工农业生产以及人民生活中的灾害预防、有效利用水资源具有重要意义,建立完整高效的雨量监测系统显得非常有必要。雨量分析系统是应用于防汛、水文等部门的,用于辅助分析自动气象站雨量监测的数据。雨量分析系统通常都会生成一些图表,但由于这些图表是二进制格式的,其可重用性不高,而且这些系统通常都缺乏开放性,大量的数据无法提供给外部研究人员使用,造成资源浪费。
该自动站雨量分析系统在雨量分析领域中作了新的尝试,它采用了基于XML(eXtensible Markup Language,可扩展标记语言)的开放的SVG(Scalable Vector Graphics,可伸缩矢量图形)作为图形格式,在引入先进技术的同时,提高了系统的可重用性,而且该系统与Web服务的结合也使系统的开放性大大地提高。作为示例,该系统要实现对四川省部分市县的城市及雨量数据进行管理与分析,能查询各市县的历史雨量数据并以SVG格式的曲线图显示出来,实现简单地统计分析功能。作为一个完整的系统,还要实现对系统内各个模块以及用户权限的管理。