利用.NET实现自动气象站资料的图表显示

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:police
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:自动气象站资料在气象业务工作中具有重要的价值。文章对ASP.NET与GDI 的某些方法进行了研究,利用ASP.NET实现在网页中以图表方式显示自动站数据库资料。
  关键词:自动气象站;.NET;GDI
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)19-30080-02
  Displaying the Data of Automatic Station Database Using the Method of .NET
  QIN Rong-mao, YANG Hua
  (Changji Meteorological Bureau,Changji 831100,China)
  Abstract: The data of automatic weather station is very important in weather professional work. the article researched some method of ASP.NET and GDI ,and finished displaying the data of automatic station database.
  Key words: automatic weather station; .NET; GDI
  
  1 引言
  
  自动站在我州开始运行以来,为预报服务提供了很多的数据资料。同时,通过开发部分应用软件,也已经建立了本地资料数据库。系统运转后,其收集的数据为科研人员的科研工作发挥了重要作用。但是也有不足之处,就是如何将数据库中的资料以图表的形式简洁、直观地显示给最终的普通用户,使他们也能够通过简单的操作就可以得到满意的结论。结合本部门系统内部网络构成,目前最好的方法就是利用互联网,采取网页的形式来实现资源共享。文章着重描述了在.NET环境下来实现网页图表显示的功能。
  
  2 问题提出
  
  目前,我州自动站实时数据能够自动进入到本地数据库服务器。只是尚未给用户提供一种合适的使用环境来充分地应用这些资料。而应用服务器上提供有WEB服务,是否可以通过在WEB页面上以图表的形式显示这些资料数据呢?经过多次实验,证明是切实可行的。
  
  3 实现原理
  
  WEB页面的生成采用ASP.NET技术实现。ASP.NET是一种编译语言,当客户端第一次调用ASP.NET页面的时候,其实是经过了一种比较复杂的编译过程,编译生产MSIL文件,存储到本地机,MSIL文件其实是一个中间语言的文件,然后此文件又通过JIT(Just in Time)编译器进行再编译,生成机器语言,这样你所调用的ASP.NET页面才展现出来,对于不同的机器,有着不同的JIT,也就被编译成不同机器语言,这就是微软公司大力鼓吹ASP.NET的所谓跨平台的原理。
  当ASP.NET页面被编译成MSIL文件的时候,编译所使用的类库必须是受管代码文件(Managed Code),而ActiveX控件是已经被编译成机器语言的文件,他属于非受管代码文件(Unmanaged Code)。所以直接在ASP.NET调用MSChart组件是不可能的。虽然你可以利用.Net框架提供的工具把此MSChart组件转换成受管代码文件,但这个过程相对比较复杂,并且利用这种方法产生的图表速度相当慢,还有就是由MSChart组件自身所限制,对于复杂的图表,是无法利用他来生成的。
  其实我们在各种.NET开发的网站中看到的图表并不是一个图表,而是一个图片。在服务器端产生图片,然后在图片上面画出想要显示给用户的各种信息,然后通过浏览器发送图片到客户端,从而形成图表。那么,图表的生成使用GDI 来实现,GDI 是从GDI演化而来的,但是在Visual Studio的以前版本中使用GDI是相当复杂的,而且工作量巨大。现在在GDI 中,微软已经帮我们解决了许多问题,因而使用GDI 编程将变得非常容易。
  GDI 包含在System.Drawing.Dll集合中,所有的GDI 类包含在System.Drawing,System.Text,System.Printing,System.Internal,System.Imaging,System.Drawing2D以及System.Design等命名空间中。
  上述技术方法就是本文要利用的方法。通过这些方法,就可以实现各种气象要素的图表显示。尤其针对气象资料中的温度、降水等的显示,下面就来介绍具体的实现方法。
  
  4 实现方法
  
  4.1 在.NET中提取数据库资料
  在.NET Framework中,数据提供商作为应用程序和数据源之间的桥梁,提供了简单的数据库连接接口。一个.NET Framework数据提供商能从数据源返回查询结果,执行数据源上的命令。本网站中就利用.NET Framework中的SQL Server .NET Data Provider进行数据库的访问。
  4.2 利用GDI 绘制图表
  为了使用GDI 在.NET页面中画出图表,关键步骤主要有两步:其一,创建一个图片对象(Bitmap)。然后利用.Net FrameWork SDK所提供的方法在此图片对象上面画出自己想要的图形,譬如画线,画点等;其二,就是为了更适合传输,把此图片对象,以“Jpeg”格式保存,并显示出来。下面我们就来看看这二步的具体实现方法。
  1)首先在ASP.NET页面创建一个动态图片,并显示出来。创建一个图片对象其实非常容易的,利用命名空间“System.drawing”中的“Bitmap”类来实现的,下列语句可以创建一个位图对象:
  Bitmap image = new Bitmap (400,400); //创建一个“Bitmap”对象
  修改“Bitmap”对象的二个参数来改变创建的位图对象的长和宽。通过Bitmap类的Save方法就可以显示已经创建的位图对象。由于位图文件要占用很多的空间,为了便于网络传输,一般转换成“Jpeg”或者“Gif”文件来保持。下面语句是把已经创建的位图对象,转换成“Jpeg”文件显示:image.Save(Response.OutputStream,ImageFormat.Jpeg); //以“Jpeg”格式保存此图片对象,在客户端显示出来。
  2)如何给产生得图片上色。
  其实给产生得图片上色是比较容易的,首先根据“Bitmap”对象创建一个“Graphic”对象,然后根据此“Graphic”对象的方法来确定上色的图形类型(譬如显示的图片为椭圆、正方形等)。
  Bitmap image = new Bitmap (400,400);
  Graphics g = Graphics.FromImage(image);
  g.FillRectangle (new SolidBrush(Color.LightGreen),0,0,400,400)。
  3)如何在图片上实现画线和写字。
  在图片上写字是通过产生的“Graphic”对象的DrawString()方法来实现的,在调用此方法前,必须设置字体和刷子,具体调用方法是:
  //写字
  g. DrawString ("在图片上面写入文字", axesFont, blackBrush, 90, 20);
  //画线
  g. DrawLine (blackPen, 0, 2, 210, 250);
  知道了这些基本知识,就可以利用数据库中的气象要素在WEB页面上绘制出我们需要的图表了。
  
  5 结束语
  本文在ASP.NET页面中利用.Net FrameWork SDK GDI+中提供的各种用以操作图形的方法,实现了气象要素在WEB页面中的显示,这样的过程虽然有点烦杂,但对实现复杂的图表是非常有用的。
  
  参考文献:
  [1] 王立丰. Visual C#.NET项目开发实用案例[M].科学技术出版社,2006.
  [2] Mahesh Chand. GDI 图形程序设计[M].韩江,译.电子工业出版社,2005:144-150.
  [3] 周鸣扬,曾洁玫. GDI 程序设计实例[M].中国水利水电出版社,2004:25-30.
其他文献
摘要:狄更斯笔下的儿童形象最引人瞩目:有饱受折磨、苦尽甘来的孩子,也有理想化了的儿童。尽管他们的形象各不相同,但也不乏相似之处:他们纯真的爱、对老师的恨和对成人们专制的憎恶是相同的。本文旨在以《大卫·科波菲尔》和《雾都孤儿》为例,对狄更斯笔下的儿童形象进行分析,从而阐释作品中儿童人物的不同遭遇对现代教育的启示。  关键词:狄更斯 儿童形象 现代教育 大卫·科波菲尔 雾都孤儿  狄更斯是英国十九世纪
摘要:该文的研究内容将用到编程,数学,物理等技术。在例子中将运用Flash中强大的脚本语言ActionScript让物体运动起来,这些都是补间动画无法比拟的。   关键词:脚本;运动;编程  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)35-2493-02  Research on Programing physics Motion Based on the Act
摘要:“英语考试指挥棒” 和教育考试制度的错误导向造成了母语教育和英语教育的错位。应对措施:中高考需改变英语和语文的分值;大学课程母语和英语设置本末倒置需改变;大学应该开设母语等级考试;考研考博母语和英语可任选;职称考试应该由考英语而改为考母语。  关键词:母语教育 英语教育 错位 归位  引言  母语教育在每个国家的基础教育和高等教育中都应该处于核心地位,每个社会公民都应该重视并努力学好自己的母
摘要:以PISA 2000耀2009的阅读素养测评为基本蓝本,着重介绍阅读素养的内涵、评估,进而探讨面向公民生活素养的阅读教学要义。  关键词:PISA阅读素养内涵评估教学要义  PISA(Pro倮ram for International Student Assessment)是由经济合作与发展组织(OECD)策划开展的一项国际学生能力评估,它评估学生阅读、数学、科学的素养,每三年确定其中之一作
【摘要】文章从来源期刊、栏目分布、作者所属地域和单位等方面对《复印报刊资料·小学语文教与学》2020年度论文转载情况进行统计与分析,回顧本年度小学语文教育教学几个热点和重点问题所取得的研究成果,并对未来研究方向进行展望。  【关键词】小学语文,教育教学研究,转载情况,研究方向  一、2020年度小学语文教育教学论文转载概况  1.论文来源期刊转载数量  2020年《复印报刊资料·小学语文教与学》(
摘要:在PKI中,证书路径的构建是非常重要的过程,也许在可信赖的第三方与终端实体之间有多个候选路径,探讨了PKI路径的构建时蚁群算法的应用,并对PKI路径的构建时最短路径问题进行了研究。  关键词:公钥基础设施;蚁群算法;证书路径构建  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)08-1pppp-0c    为了验证一个证书,在证书与可信赖的第三方之间必须建立一条
《中国传统文化视域下学生德育研究》一书围绕当前学校教育中学生德育工作的焦点,从当代学生思想与道德教育基本理论出发,对中国传统文化与德育教育的关系进行了详尽论述,重点讨论了中国传统文化对学生德育的影响及其与学生德育融合的策略,旨在对相关领域的教育工作者起到启发与借鉴作用。  全书共分为九章,第一至第三章是理论分析,主要介绍了当代学生德育教育的现状、德育教育发展历程,以及传统文化与德育教育的相关理论和
潘强、徐中原、邵光辉主编的《多元文化背景下大学生思想政治教育的挑战与创新》(中国纺织出版社)一书通过对当前大学生思想政治教育研究现状与存在问题的全面总结,提出了以我国大学生为主体的新的教育理论,为当前多元文化背景下的大学生思想政治教育提供了新方向。该书有三个突出特点。  一是内容完善,层次清晰。该书研究内容立足于实际,从多元化的视角出发,阐述了当前大学生思政教育的研究现状与存在的问题,并针对这些问
摘要:语文阅读是语文教育教学的基本要求和重要目标,是培养良好学习习惯的重要环节,是提升语文课堂教学质量的重要举措,处于至关重要的地位,发挥着重要的作用。良好的语文阅读可以有效培养学生学习语文的自信心和自觉性,可以有效激发学生学习语文的兴趣,培养学生的兴趣爱好。本文试图简要分析阅读的重要性,提出加强语文阅读的对策建议。  关键词:语文阅读 教育教学 重要性  语文阅读能力是学习语文的重要基础,不仅具
摘要:文章介绍了一个运行在Windows下的网络检测软件Windump,详细描述了Windump的使用方法及参数,并通过实例介绍了Windump在网络管理中的实际应用。  关键词:网络;TCP/IP;Windump  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)16-21214-02  A Way(or Analysis) to Detect the Network