| zhao さんのプロフィール慧慧フォトブログリスト | ヘルプ |
|
6月18日 毕业设计论文(分布式异构空间数据共享平台中共享机制的研究)(八)--软件使用说明书1软件使用说明书 1. 系统介绍 本系统主要实现基于RPC(远程方法调用)的Web 服务的调用。其中包括,基本元数据和核心元数据服务(Metadata Service),图服务(Web Map Service),空间要素服务(Web Feature Service),空间覆盖服务(Web Coverage Service). 本系统通过了Java Web服务客户端,和.Net Web服务客户端的互操作验证,能够保证在不同的平台下共享地理信息。 2. 功能简介 基本元数据和核心元数据服务: · 提供基本元数据的查询 · 提供核心元数据的查询 WMS的功能: · 生成地理参考数据地图 · 以影像格式渲染地图,如PNG,GIF或JPEG。 · 为用户创建标准方法请求Web上的地图 · 为服务器创建标准方法描述数据所有 WFS的功能: · 提供访问地理要素(矢量)数据 · 支持查询请求 · 为数据处理操作执行接口 WCS的功能: · 提供访问地理(图片)数据 · 支持查询请求 · 为数据处理操作执行接口 系统运行环境介绍 硬件配置: 本配置说明是对于服务器端而言,推荐配置如下: CPU:PentiumIV以上 内存:≥256MB 硬盘:≥40G 转速:≥7200转/分 显示器:分辨率1024*768 40倍速以上CD-ROM 10M/100M自适应网卡
软件环境: 可在Windows9X/NT/2000/XP上顺利运行
3. 安装调试步骤 (1) 首先安装JDK 文件名:j2sdk-1_4_1-windows-i586.exe 大 小:37,724,482 字节 执行j2sdk-1_4_1-windows-i586.exe后,自动安装完成Java的环境,同时也自动安装了JDBC。假设将Java安装于c:\j2sdk1.4.1目录中,那么在c:\j2sdk1.4.1中将发现一个src.jar文件,这是J2SE的源程序压缩文件,可使用WinZip软件将它解压缩后存入c:\j2sdk1.4.1中,那么c:\j2sdk1.4.1\src\java目录就是整个Java程序套件了。整个Java的执行文件存于c:\j2sdk1.4.1\bin目录中,类文件存于c:\j2sdk1.4.1\lib\tools.jar。安装完成后,设置系统环境变量如下: 开始->设置->控制面板->系统->高级->环境变量->系统变量 PATH=%PATH;C:\J2SDK1.4.1\BIN CLASSPATH=%CLASSPATH;.;C:\J2SDK1.4.1\LIB;C:\J2SDK1.4.1\LIB\CLASSES.ZIP 至此,系统运行环境安装完毕
(2)安装apache-tomcat-5.5.17.zip 用WinRAR解压缩apache-tomcat-5.5.17.zip到路径C:\ Tomcat 5.5,。 验证安装:启动Tomcat 5.5\bin\ tomcat5w.exe
通过按钮start, stop启动和关闭Tomcat 在浏览器中输入:http://localhost:8080,出现下面页面,表示安装成功。
(3)载AXIS项目打包文件axis-1_1.zip解压缩后将目录中的webapps目录下的axis子目录拷贝到C:\Tomcat\webapps下。 Axis框架来自 Apache 开放源代码组织,它是基于JAVA语言的最新的 SOAP 规范(SOAP 1.2)和 SOAP with Attachments 规范(来自 Apache Group )的开放源代码实现。有很多流行的开发工具都使用AXIS作为其实现支持Web服务的功能,例如JBuilder以及著名的Eclipse J2EE插件Lomboz。AXIS的最新版本是1.1,可以从http://ws.apache.org/axis/index.html下载。
(4) 验证AXIS的安装:重新启动Tomcat服务器后打开浏览器输入网址http://localhost:8080/axis 后应该出现如下图所示页面,点击链接"Validate"来验证Axis所需的几个JAVA包是否齐全。
点击超链接Validate后,AXIS会自动检查所需的每一个JAVA组件,这协组件分为:必需组件以及可选组件,必须保证所有必需组件都存在,如下图所示即为验证成功。
(5)VS.NET安装 1) 安装VS.NET必备软件: ² IIS容器以及FrontPage扩展的安装: Ø 若操作系统中还未安装IIS服务器,可打开“控制面板”,然后单击启动 “添加/删除程序”, 在弹出的对话框中选择 “添加/删除Windows组件”,在Windows组件向导对话框中选中“Internet信息服务(IIS)”,然后单击“下一步”,按向导指示,完成对IIS的安装。(图例如下图1、图2 由于白茶123使用的是Windows Server 2003操作系统所以和大家的安装界面有所出入,但大体相同) 此主题相关图片如下:
此主题相关图片如下:
Ø 启动Internet信息服务(IIS)
Ø 配置IIS
Ø 启动与停止IIS服务 2) 正式安装VS.NET平台(此.NET已包含.NET Framework SDK1.1) ² 安装 Ø 安装过程如下: 1.关闭所有打开的应用程序,以防止在安装过程中需要进行系统的重新启动。 2.插入标为Visual Studio .NET CD1或DVD光盘,就会自动运行Setup.exe,进入“安装”对话框,如图所示。 说明:如果没有自动运行Setup.exe文件,则请从安装CD或DVD的根目录下直接运行Setup.exe。 3.安装程序对磁盘上已安装的组件进行扫描。如果安装程序确定系统需要进行组件更新,则在“安装“对话框中会出现“1:Windows组件更新”链接,单击该链接更新系统组件。 说明:如果不需要进行组件更新,则该链接会显示为灰色,此时可以直接进入到链接2——Visual Studio .NET。 4.在安装程序确认系统已经包含有最新的系统组件之后,“安装”对话框将会启用链接2——Visual Studio .NET,单击该链接则“安装”对话框。 在该对话框的左侧窗格中选择要安装的各项,在对话框的右侧窗格中设置安装路径,然后单击“立即安装”按钮。 说明:如果在安装程序运行的同时正在运行防病毒程序(例如,金山毒霸),则可能会显示警告,这是因为安装程序运行了访问文件系统对象的脚本(允许脚本运行是安全的)。
6)本软件安装向导 1)启动已经做好的安装文件setup1.msi
图略
2)下一步
图略
3)选择安装路径,完成安装
图略
u两个部分服务 Ø基于WEB元数据信息的服务 Ø核心元数据查询 Ø基本元数据查询 Ø基于XML的地理信息的服务 ØWMS ØWCS ØWFS
图略
1) 基于WEB元数据信息的服务
图略 核心元数据服务项目: ü查询元数据(通过ID) ü查询元数据数量(通过负责人) ü查询元数据(通过负责人) ü查询元数据(多条件匹配查询)
图略 基本元数据服务项目: ü查询元数据(通过ID) ü查询元数据数量(经纬度) ü查询元数据(通过经纬度以及日期时间)
2) 基于XML的地理信息的服务-WMS
图略
空间地图服务项目: ü获得服务描述元数据 ü获得地图图像(通过经纬度以及图层) 获得要素信息 图略
空间覆盖服务项目: ü获得服务描述元数据 ü获得覆盖信息(通过经纬度以及图层)
获得服务描述文件 图略
获得描述图层类型 图略 毕业设计论文(分布式异构空间数据共享平台中共享机制的研究)(七)--结论、致谢、参考文献结 论
经过将近三个月的时间对Web服务和GIS的分析和研究,清楚的知道地理信息系统方面的专业基础知识,最重要的是我们信息人员能够如何的将这些信息共享,并且能够更好技术的共享。通过这一层次,加强了我对WEB服务层概念的清楚的认识,以及对其如何开发的熟练。更加用.NET平台开发客户端,通过对服务端的调用,让我深刻了解到不同平台之间的互操作原理。 地理信息的共享是所有和这些数据有关的政府部门、科研机构和学术团体都共同关注的技术前沿。只有实现了地理信息的共享和互操作, 才能最大限度的挖掘和利用数据资源, 从而为研究全球变化和社会可持续发展提供科学依据。本文从技术的角度探讨了实现地理信息共享和互操作的框架, 可以看出, 数据网格和互操作标准是实现共享和互操作的核和关键。当然要真正实现区域和各部门的数据共享, 相关的共享政策和共享立法也是必不可少的。 随着网络的日益普及和应用的进一步深入,应用的复杂性提高得很快,这样使得软件的规模和复杂程度都呈现出前所未有的趋势。正是在这种情况下,Web服务的概念被提出。 计算机体系结构也从客户机——服务器的二层体系结构朝着分布式,多层次的方向发展。很多企业级应用技术正在被大规模,多领域地运用着,对多层应用软件中的这些技术值得进一步的分析和研究。
致 谢
每个人要想成功当然主要靠的是自己的努力勤奋,但在追逐知识的过程中,导师是必不可少的引路灯,一个好的老师会去很好的引导我们去更好思路的开发我们各自隐藏的潜力。我们在不依赖别人的前提下有了这样的指引,去创造我们自己的新颖,去不断的追求我们的理想。 在这次毕业设计中,非常感谢邹志强老师的指导,在邹老师的身上学到的不仅仅是知识的层面,更重要的是他追求知识的热情,还重要的是他对学生的尊重和关爱,却又不失老师本身工作的严谨的态度,他的工作作风以及对生活的态度让我受益匪浅。 毕业设计中碰到的很多个人困难,邹老师都能给予很大的体谅与帮助。在毕业设计中遇到的试验的客观条件方面,邹老师都能给予最大力度的协助,让我有更好的工作环境,在这里,同时感谢在中科院南京地理所的老师和同所的学长们给予各方面的关照。在毕业设计中遇见的课题中的很多技术问题,邹老师能给予认真的指导,并培养我独立自立的能力,让我对自学能力有了很高的提高,在各方面,提高了我的主动积极性。 最后,再次感谢邹老师给予我很多方面的指导和帮助,感谢在中科院南京地理所提供的试验条件,由于他们对工作的热情度以及对我的关心,让我对这样的一个有组主的团队很是敬仰。感谢有了这些,我才能很好的顺利的完成我的这次毕业设计。
参考文献
[1].张书亮,李秀梅编著,《网络地理信息系统》,科学出办社2005年8月。 [2].[美] Tom Bellwood, 资深技术人员, IBM 。“理解 UDDI”,2006-5-19 [在线]: http://www-128.ibm.com/developerworks/cn/webservices/ws-featuddi/index.html [3].[美] Qusay H. Mahmoud, “Service-Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration (EAI)” 2006-5-19 [在线]: http://java.sun.com/developer/technicalArticles/WebServices/soa/ [4].仇谷烽 彭洪洪 著,《Visual C#.NET网络编程》,清华大学出版社,2004年9月。 [5]. [美]Ben Galbraith、Whitney Hankison等编著,吴旭超、王黎译《Web服务安全性高级编程》,清华大学出版社,2003年9月。 [6].[美]Jack Lunn、Dr p g Sarang等著,张哲峰等译《Java开发人员.net高级编程――C#编程篇》,清华大学出版社,2003年6月。 [7].[美]Mack Hendricks、Ben Galbraith等著,卢刚、高春荣、朱军等译,李双庆审校《Java Web 服务编程指南》,电子工业出版社,2002年10月。 [8].何建邦,吴平生编著,《地理信息共享的原理与方法》,科学出版社。2003年8月 [9].[美]Keith Ballinger著,张小坤、谭立平、袁纯良译《.NET Web Services架构与实现》,中国电力出版社。2004年12月。 [10][美] Aaron Skonnard “理解 SOAP” http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/UnderstandingSOAP.mspx?mfr=true [11] W3C Note 15 March 2001 ,“Web Services Description Language (WSDL) 1.1” [12] UDDI.org, “UDDI”白皮书 http://www.uddi.org/whitepapers.html [13] W3C , “Web 服务架构白皮书” http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/
毕业设计论文(分布式异构空间数据共享平台中共享机制的研究)(六)--正文6毕业设计论文(分布式异构空间数据共享平台中共享机制的研究)(六)--正文44.4.4 WMS中获得元文件信息编码: private void button1_Click(object sender, System.EventArgs e) { string filename="c:/WMSGetCapabilities.xml"; if(!System.IO.File.Exists(filename)) { try { byte[] files=service.getCapabilities(); System.IO.FileStream file=System.IO.File.Create(filename); for(int j=0;j<files.Length;j++) { file.WriteByte(files[j]); } file.Close(); System.IO.StreamReader reader=new System.IO.StreamReader(filename); this.richTextBox1.Text=reader.ReadToEnd(); reader.Close(); } catch (Exception ee) { MessageBox.Show("Web 服务调用错误!"); } } else { System.IO.StreamReader reader=new System.IO.StreamReader(filename); this.richTextBox1.Text=reader.ReadToEnd(); reader.Close(); } } WMS 中GETMAP private void button2_Click(object sender, System.EventArgs e) { try { byte [] images=this.service.getMap(this.textBox1.Text, "default", "EPSG:4326", textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, "352", "240", "image/png", "0x999933", true);//352, 240 if(images!=null && images.Length>0) { string filename="c:/wms.png"; if(this.pictureBox1.Image!=null) { this.pictureBox1.Image.Dispose(); System.IO.File.Delete(filename); } System.IO.FileStream file=System.IO.File.Create(filename);
for(int j=0;j<images.Length;j++) { file.WriteByte(images[j]); } file.Close(); this.pictureBox1.Image = System.Drawing.Image.FromFile(filename); this.pictureBox1.Refresh(); } else { MessageBox.Show("没有图片"); } } catch (Exception ee) { MessageBox.Show("没有图片"); this.pictureBox1.Image = null; this.pictureBox1.Refresh(); } }
private void button3_Click(object sender, System.EventArgs e) { try { byte []files=this.service.getFeatureInfo(this.textBox9.Text, "default", "EPSG:4326", this.textBox8.Text, this.textBox10.Text, this.textBox7.Text, this.textBox6.Text, "352", "240", "image/png", "0xfff8ff", true, this.textBox11.Text, "text/plain", "0", "0"); string filename="c:/WMSFeatureInfo.xml"; System.IO.FileStream file=System.IO.File.Create(filename); for(int j=0;j<files.Length;j++) { file.WriteByte(files[j]); } file.Close(); System.IO.StreamReader reader=new System.IO.StreamReader(filename); this.richTextBox1.Text=reader.ReadToEnd(); reader.Close(); } catch (Exception ee) { MessageBox.Show("没有FeatureInfo"); this.pictureBox1.Image = null; this.pictureBox1.Refresh(); } }
毕业设计论文(分布式异构空间数据共享平台中共享机制的研究)(六)--正文34.4.2 基本元数据获得矢量图编码private void button8_Click(object sender, System.EventArgs e) { string text=textBox57.Text; try { int i=Convert.ToInt32(text); GeocoreType type= service.getDataInfo(i); if(type==null) { MessageBox.Show("元数据ID "+text+" 没有对应的数据!.", "基本元数据", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { resetTextBox(type); getMap(type,i); } } catch (Exception ee) { if(ee.GetType().ToString().Equals("System.FormatException")) { MessageBox.Show(text+" 不是整形!.", "元数据ID", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (ee.GetType().ToString().Equals("System.Net.WebException")) { MessageBox.Show("Web 服务错误", "Web 服务错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }
private void button3_Click(object sender, System.EventArgs e) { try { double leftExtent=Convert.ToDouble(textBox47.Text); double rightExtent=Convert.ToDouble(textBox56.Text); double bottomExtent=Convert.ToDouble(textBox60.Text); double topExtent=Convert.ToDouble(textBox58.Text); int start=Convert.ToInt32(textBox62.Text); int end=Convert.ToInt32(textBox61.Text); object [] obs=service.queryGeocoreType(leftExtent,rightExtent,bottomExtent,topExtent,start,end); if(obs!=null && obs.Length>0) { this.comboBox2.Text=""; this.comboBox2.Items.Clear(); int length=obs.Length; object [] combos=new object[length]; this.geotypes=new GeocoreType[length]; for(int i=0;i<length;i++) { combos[i]=(i+1)+""; geotypes[i]=(GeocoreType)obs[i]; } this.resetTextBox(geotypes[0]); this.comboBox2.Items.AddRange(combos); } else { } } catch (Exception ee) { if(ee.GetType().ToString().Equals("System.FormatException")) { MessageBox.Show("输入参数 不是整形!.", "元数据查询", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("Web 服务错误", "Web 服务错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } }
private void comboBox2_SelectedIndexChanged(object sender, System.EventArgs e) { ComboBox combo=(ComboBox)sender; int num=combo.SelectedIndex; if(this.geotypes!=null && this.geotypes.Length>0) { this.resetTextBox(this.geotypes[num]); } }
毕业设计论文(分布式异构空间数据共享平台中共享机制的研究)(六)--正文24.4 客户端编码4.4.1基于.NET平台的基于WEB元数据信息服务客户端编码getSingleData方法: private void button1_Click(object sender, System.EventArgs e) { this.getSingleData(sender,e);
} private void getSingleData(object sender, System.EventArgs e) { string text=textBox1.Text; try { int i=Convert.ToInt32(text); MetadataType type= service.getSingleData(i); if(type==null) { MessageBox.Show("元数据ID "+text+" 没有对应的数据!.", "核心元数据", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { resetTextBox(type); } } catch (Exception ee) { if(ee.GetType().ToString().Equals("System.FormatException")) { MessageBox.Show(text+" 不是整形!.", "元数据ID", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { MessageBox.Show("Web 服务错误", "Web 服务错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }
} }
文本框值复置编码: private void resetTextBox(MetadataType type) { this.textBox10.Text=type.baseinfo.dsetid; this.textBox11.Text=type.baseinfo.language; this.textBox12.Text=type.baseinfo.charset; this.textBox22.Text=type.baseinfo.tpcat; this.textBox14.Text=type.baseinfo.keyword; this.textBox24.Text=type.baseinfo.idabs; this.textBox21.Text=type.baseinfo.fmname; this.textBox13.Text=type.baseinfo.formatver; this.textBox23.Text=type.baseinfo.statement; this.textBox20.Text=type.baseinfo.resrefdate+""; this.textBox15.Text=type.baseinfo.mdstname;
this.textBox33.Text=type.citeinfo.origin; this.textBox32.Text=type.citeinfo.restitle; this.textBox31.Text=type.citeinfo.pubdate+""; this.textBox18.Text=type.citeinfo.pubplace; this.textBox29.Text=type.citeinfo.publisher; this.textBox16.Text=type.citeinfo.edition; this.textBox25.Text=type.citeinfo.dpreform; this.textBox30.Text=type.citeinfo.URL;
this.textBox36.Text=type.idpoc.rporgname; this.textBox35.Text=type.idpoc.rpindname; this.textBox34.Text=type.idpoc.rpposname; this.textBox19.Text=type.idpoc.role; this.textBox27.Text=type.idpoc.delpoint; this.textBox17.Text=type.idpoc.city; this.textBox26.Text=type.idpoc.adminarea; this.textBox28.Text=type.idpoc.postcode; this.textBox38.Text=type.idpoc.country; this.textBox39.Text=type.idpoc.emailaddr; this.textBox40.Text=type.idpoc.linkage; this.textBox37.Text=type.idpoc.phone; this.textBox41.Text=type.idpoc.fax; } private void resetTextBox(GeocoreType type) { if(type.baseinfo!=null) { this.textBox51.Text=type.baseinfo.theme; this.textBox50.Text=type.baseinfo.collection; this.textBox49.Text=type.baseinfo.update+""; } if(type.citeinfo!=null) { this.textBox44.Text=type.citeinfo.purpose; this.textBox48.Text=type.citeinfo.license; this.textBox6.Text=type.citeinfo.supplement; } if(type.quality!=null) {
this.textBox5.Text=type.quality.qreport; }
if(type.coverage!=null) { this.textBox78.Text="("+type.coverage.planecoverage.eastlong+","+type.coverage.planecoverage.westlong+","+type.coverage.planecoverage.northlat+","+type.coverage.planecoverage.southlat+")"; this.textBox77.Text="("+type.coverage.vertcoverage.zmax+","+type.coverage.vertcoverage.zmin+")"; this.textBox76.Text="("+type.coverage.tplcoverage.contentStart+"-"+type.coverage.tplcoverage.contentEnd+")"; } if(type.project!=null) { this.textBox73.Text=type.project.projectinfo+""; this.textBox75.Text=type.project.projectstatus+""; this.textBox43.Text=type.project.projectname; this.textBox45.Text=type.project.projectadmin; } if(type.bwpicture!=null) { this.textBox64.Text=type.bwpicture.imgtype; this.textBox66.Text=type.bwpicture.imgwidth+""; this.textBox63.Text=type.bwpicture.imgheight+""; this.textBox65.Text=type.bwpicture.imgdata; } if(type.standard!=null) { this.textBox59.Text=type.standard.mdstdefpath; }
|
|
|||
|
|