挑战杯大学生课外学术科技作品竞赛基于ArcGIS Server的管道地理信息系统Word文件下载.docx
《挑战杯大学生课外学术科技作品竞赛基于ArcGIS Server的管道地理信息系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《挑战杯大学生课外学术科技作品竞赛基于ArcGIS Server的管道地理信息系统Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
1前言
地理信息系统(GIS)是一个新兴的科学技术领域,它是从20世纪60年代中后期发展起来的。
初期出现的系统主要是一些关于城市和土地利用方面的信息系统。
进入80年代,由于西方国家工业化进程的加快,城市人口迅猛膨胀,出现水源匮乏、能源短缺、用地紧张、良田锐减的严重局面,地球生态环境屡遭破坏,迫使人们寻找保护生态环境和资源的有效办法,地理信息系统提供了有效的手段。
另外,由于遥感、遥测等新技术的应用和迅速发展,使资源与环境信息的数量激增。
社会上对这些信息的需求日趋迫切,对质量的要求也越来越高。
从定性分析发展到定性、定量和定位相结合,从单一要素发展到多要素、多时空的综合分析,传统的方法已不能适应资源与环境信息科学管理和综合开发的需要,必须充分从现代科学技术中吸取营养。
目前,由于信息科学、计算机科学、网络技术、人工智能特别是数据库技术的发展,促进了数字测图技术和制图自动化技术的发展,使资源与环境信息的数字化采集、存贮、处理、显示和自动输出成为可能。
随着信息时代以多学科跨领域为特征的科学思维的发展,使社会发展和国家宏观决策更趋向于从纵观全局的高度进行系统分析,必须把自然界和人类社会作为一个整体,必须将资源与环境作为一个巨大的系统来对待。
这就促进了各种类型的经济信息系统与自然环境信息系统相结合的综合性信息系统的相继建立。
此外,地理信息系统的广泛运用,大大提高了资源与能源的利用率,带来了巨大的经济效益和社会效益。
现代社会要求我们管理庞大的企业集团就必须采用新的技术和管理手段,需要通过信息技术支持和固化先进的业务流程和管理模式,保证企业管理处于优势地位,提高企业的核心竞争力,而信息技术是提升企业管理水平,提高企业经济效益的必然方式。
2ArcGISServer管道地理信息系统的建立
2.1ArcGISServer系统平台的选择
操作系统:
WindowsServer2003;
Web服务器:
MicrosoftIIS6.0(InternetInformationService);
发布服务器:
ArcGISServer;
浏览器:
InternetExplorer6.0;
数据库:
SQLServer2000;
软件开发工具:
MicrosoftVisualStudio.Net2005;
硬件环境:
机型:
HP;
CPU:
;
内存:
GB;
显卡:
标准VGA;
屏幕分辨率:
1024×
768;
硬盘:
250GB;
2.2ArcGISServer系统结构
系统采用三层(B/S)结构,大部分功能运行在服务器端,并由服务器端来完成与数据库服务器之间的通信,客户端通过浏览器收集用户请求信息、传送请求信息到服务器端和负责显示从服务器端返回的结果。
利用MicrosoftIIS6.0以及ArcGISServer实现信息发布功能,管道地图图形数据和属性数据分别存储,在进行管道地图发布时,采用ArcGISServer实现Web地图发布平台的不同组件之间的数据传输。
系统的其他功能服务都是通过Web服务器来实现与后端数据库服务器之间的数据交互。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
2.1系统结构图
2.3ArcGISServer系统开发及实现功能
ArcGISServer是一个构建企业GIS应用的服务器,面向服务器应用开发人员,能够在服务器应用中包含所有的ArcObjects功能。
它提供的Web应用开发框架使得开发地理信息系统更加容易。
成品油管道地理信息系统应用SQL2000作为数据库存储数据,应用ArcSDE作为数据库引擎,应用ArcGISServer进行地图发布,应用ArcGISServer自带的ArcObjects功能进行网站设计,整套系统的实现更便捷,功能更广泛,维护更容易。
2.4应用ArcGISServer构建管道地理信息系统
2系统功能概述
成品油管线地理信息系统可实现对管道有关数据(首中末站平面布置、工艺流程、油罐等相关信息)及沿线主要数据内容(包括管道管径、壁厚、走向、桩号、电子地图、任意一点经纬度,管道具体点的高程、埋深等信息,管线防腐情况、抢修记录等信息以及所经村镇、河流、公路、铁路等主要目标的相关信息)做数字化(即管道数据的电子化)信息处理,按照管道沿线实际情况,实现管线、站场原始信息管理,并随时更新相关设备的维护及历年管线重大安全事件信息,为管道安全经济运行提供科学的决策依据。
2地图发布
ArcGISServer可以支持多种服务类型,用户通过发布这些服务可以享用GIS功能。
例如Map、Geocode、Geoprocessing、Geodata和Globe。
地图发布过程如下:
(1)首先利用ArcMap创建成品油管道的地图文档,经过渲染后可使地图信息更加丰富,然后保存为.mxd文件。
(2)进行用户的权限设置。
(3)启动ArcCatalog,发布地图服务,发布成功后,可在目录中看到发布的服务名称。
(4)最后,在服务管理中发布地图服务。
至此,成品油管道地图完成发布。
2网站创建
应用MicrosoftVisualStudio.Net2005设计网站的各种功能,具体步骤如下:
(1)启动VS2005,新建一个网站并命名。
(2)添加地图资源并定义用户。
(3)设置地图资源管理。
(4)进行身份认证设置。
至此,完成了成品油管道网站的初步设计。
可实现地图的放大、缩小、平移、距离查询、面积查询和鹰眼显示等基本功能。
另外,ArcGISServer自带的编辑功能非常强大,主要提供了空间和属性数据的编辑。
编辑过程中可以对编辑的图层和版本进行设定,并且在编辑过程中有捕捉的功能,如想要实现我们定制的编辑功能,需要做到以下两点:
(1)添加自己的工具到编辑任务中。
(2)添加自己的工具条到编辑任务中。
具体需要在EditorTask的ToolsCreated的事件中添加进自己的命令,工具和工具条,代码如下:
ProtectedvoidEditorTask1_ToolsCreated(objectsender,ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.ToolsCreatedEventArgse)
{
//在主工具条中添加工具
if(e.Parent==EditorTask1.Editor)
Toolbartoolbar=e.Toolbars[0];
//创建工具
EditorTooltool=newEditorTool("
MyTool2"
Map1.ClientID,true,ToolGeometry.All,1);
tool.ClientAction="
Point"
;
tool.DefaultImage="
~/images/identify_ON.gif"
tool.HoverImage="
~/images/identify_HOVER.gif"
tool.SelectedImage="
~/images/identify_OFF.gif"
tool.ServerActionAssembly="
App_Code"
tool.ServerActionClass="
CustomToolLibrary.IdentifyAllTool"
tool.ToolTip="
IdentifyAllTool"
//添加工具
toolbar.ToolbarItems.Add(tool);
toolbar.Width=newUnit(toolbar.Width.Value+35,UnitType.Pixel);
}
//在编辑要素panel中添加工具条
elseif(e.Parent==EditorTask1.Editor.ExistingFeatureEditor)
//创建工具,并把这个工具添加到编辑要素panel中的一个工具条中
EditorToolclip=newEditorTool("
Clip"
Map1.ClientID,false,ToolGeometry.All,1);
clip.ClientAction="
clip.DefaultImage="
~/images/zoom-in_ON.gif"
clip.SelectedImage="
~/images/zoom-in_OFF.gif"
clip.HoverImage="
~/images/zoom-in_HOVER.gif"
clip.ToolTip="
AddVertex"
clip.ServerActionAssembly="
ESRI.ArcGIS.ADF.ArcGISServer.Editor"
clip.ServerActionClass="
ESRI.ArcGIS.ADF.ArcGISServer.Editor.Tools.AddVertex"
e.Toolbars[0].ToolbarItems.Add(clip);
doubleoldWidth=e.Toolbars[0].Width.Value;
e.Toolbars[0].Width=newUnit(oldWidth+35,UnitType.Pixel);
//创建工具条
EditorToolbartoolbar=newEditorToolbar();
toolbar.ID="
MyToolbar"
toolbar.BuddyControlType=BuddyControlType.Map;