webgis实习报告(课程设计)

上传人:第*** 文档编号:56885275 上传时间:2018-10-16 格式:DOC 页数:27 大小:1.45MB
返回 下载 相关 举报
webgis实习报告(课程设计)_第1页
第1页 / 共27页
webgis实习报告(课程设计)_第2页
第2页 / 共27页
webgis实习报告(课程设计)_第3页
第3页 / 共27页
webgis实习报告(课程设计)_第4页
第4页 / 共27页
webgis实习报告(课程设计)_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《webgis实习报告(课程设计)》由会员分享,可在线阅读,更多相关《webgis实习报告(课程设计)(27页珍藏版)》请在金锄头文库上搜索。

1、学学 生生 实实 习习 报报 告告 实习名称:实习名称: 学学 号:号: 学生姓名:学生姓名: 指导教师:指导教师: 专业班级:专业班级: 院(部):院(部): 2013 年 月 日 实习成绩评定表实习成绩评定表 指导老师评语指导老师评语: 成绩成绩: 指导老师指导老师: 年年 月月 日日 Web GIS 实习报告 一.实验目的 1.了解WebGIS的基本功能以及各种模式构成; 2.使用VS创建并生成.NET Web应用程序; 3.掌握基于ArcServe建立地图发布系统的技能。 4.基于.NET 平台进行 WebGIS 开发。 二实验要求 1.熟悉WebGIS模式; 2.熟悉用ArcGis

2、Server Manager或者ArcCatalog发布Map Service并预览。 3.熟悉ArcSever的控件及功能; 4.建立客户端的地图发布网页; 5.在IIS中发布并预览。 三实验软件 1.安装 iis 服务; 2.安装 VS; 3.安装 IE 浏览器; 4.安装 Arcgis desktop 和 Arcgis Sever; 四实验内容 1.实验一. Web Mapping Application; 2.实验二.callback; 3.实验三. AddGraphics; 4,实验四. QueryNewWindow 五实验步骤及实验结果 1.实验一. Web Mapping App

3、lication 1)实验步骤: (1)用 ArcGis Server Manager 或者 ArcCatalog 发布一个自定义名字的 Map Service,并且把这个 Service 启动起来; (2)新建名为 MappingApp 的 ASP.NET Web 应用程序,即普通的 Web 应用程序; (3)在 Default.aspx 中放置需要的控件:1 个 Map、1 个 Toolbar、1 个 MapResourceManager、3 个 FloatingPanel、1 个 OverviewMap、1 个 Toc、1 个 Navigation; (4)OverviewMap、Toc

4、、Navigation 分别放置在 3 个 FloatingPanel。 (5)设置 MapResourceManager1,点击 MapResourceItem 填出对话框,点击添 加按钮新增一个 MapResourceItem0 然后点击 Definition 属性弹出对话框, 设置如下,Type:ArcGIS Server Local;Data Source:myssis(我的机器 名);Resource:(default)world(点击按钮选择上面发布好的叫 world 的 Map Service),完成设置。 (6)设置 Map1 控件的 MapResourceManager,在属

5、性栏下拉选中 MapResourceManager1。 (7)设置 OverviewMap1 的 Map 属性为 Map1,MapResourceManager 属性为 MapResourceManager1,OverviewMapResource 属性为 MapResourceItem0。 (8)设置 Toc1 的 BuddyControl 属性为 Map1。 (9)设置 Navigation1 的的 Map 属性为 Map1,可以通过设置 DisplayCharacter 属性改变显示的样子。 (10)MapResourceManager 控件需要添加 ESRI.ArcGIS.ADF.We

6、b.DataSources 引用,在 vs 右边的资源管理器右键点击“引用“然后添加引用找到 ESRI.ArcGIS.ADF.Web.DataSources 确定即可。 (11)设置 Toolbar1,BuddyControlType 属性为 Map,ToolbarStyle 属性为 ImageOnly, BuddyControl 属性为 Map1,ToolbarItems 属性:在弹出对 话框中把 Map Navigation 下的 MapZoomIn、MapZoomOut、MapPan、MapFullExtent 都添加,不需要做其 他设置。 (12)调试运行,本实验不需要添加代码即可完成

7、了基本的地图功能。 2)实验结果: 2.实验二. Callback 1)实验步骤: (1)用 ArcGis Server Manager 或者 ArcCatalog 发布一个自定义名字的 Map Service,并且把这个 Service 启动起来; (2)新建名为 callback 的 ASP.NET Web 应用程序,即普通的 Web 应用程序; (3)Default.aspx 页面中加入 MapResourceManager 控件 ID 为 Map Resource Manager1,并且设置 MapResourceItem 的属性;Map 控件 ID 为 Map1,MapResourc

8、eManager 属性为 MapResourceManager1。 (4)在地图控件的 4 个边分别添加 LabelW、LabelN、LabelE、LabelS DIV 控 件; (5)做当地图视图范围发生变化时更新 4 个边的 LabelW、LabelN、LabelE、LabelS DIV 控件坐标显示,显示的是地图每个 边的坐标,给 Map1 控件添加 protected void Map1_ExtentChanged(object sender, ExtentEventArgs args)事件,然后 编写相应的代码: protected void Map1_ExtentChanged(o

9、bject sender, ESRI.ArcGIS.ADF.Web. UI.WebControls.ExtentEventArgs args) 2 /获取地图控件的框 4 ESRI.ArcGIS.ADF.Web.Geometry.Envelope env = args.NewExtent; SortedList slist = new SortedList();/ /using System.Collections 6 slist.Add(“n“, env.YMax.ToString(“N“);/最北的坐标 7 slist.Add(“e“, env.XMax.ToString(“N“);/最东

10、的坐标 9 slist.Add(“s“, env.YMin.ToString(“N“); /最南的坐标 slist.Add(“w“, env.XMin.ToString(“N“);/最西的坐标 15 IEnumerator ide = slist.GetEnumerator(); /控件要增加using System.Collections; 17 foreach (KeyValuePair key in slist) 18 object o = new object1; 20 o0 = key.Value.ToString(); 21 /CallbackResult 参数说明:控件类型如 d

11、iv,控件 id,内容类型,内容 22 /CallbackResult 无刷新的更新页面内容 23 CallbackResult crn = new CallbackResult(“div“, “Label“ + key.Key.T oString(), “innercontent“, o);/using ESRI.ArcGIS.ADF.Web.UI.WebControls; 24 Map1.CallbackResults.Add(crn); (6) 在页面上添加 Toolbar 控件 ID 为 Toolbar1,BuddyControls 属性为 Map1,同时添加 ZoomIn、ZoomO

12、ut、Pan、FullExt 四个 Map Navigation 按 钮,然后添加一个 Tool 按钮 Name 属性为 CenterAt,ClientAction 属性为 Point,ServerActionAssembly 属性为 Callback,ServerActionClass 属 性为 Callback.CustomTool; (7)新建 CustomTool.cs 类,实现 IMapServerToolAction 接口,具体代码如 下: 1namespace Callback 2public class CustomTool : IMapServerToolAction 4 p

13、ublic void ServerAction(ToolEventArgs args) 6 Map map = (Map)args.Control; 8 PointEventArgs pargs = (PointEventArgs)args; 9 if (map != null /重新定位地图中心 (8)重新定位地图中心的功能完成了,而已运行试验一下效果。 (9)在 Default.aspx 页面上添加一个 Menu 控件 ID 为 Menu1,同时添加 2 个子 项 Asia 和 Africa, (10)实现上面菜单的 javascript 函数 ZoomToLocationClient,在

14、页面的结 束处添加代码入下: 3 function ZoomToLocationClient(val)/根据地名定位地图中心 6 /暂空 9 11 (11)Default.aspx 切换到代码视图开始编写服务端的代码,实现无刷新必须 实现 System.Web.UI.ICallbackEventHandler 接口,实现 ICallback Event Hand ler 接口就必须实现 GetCallbackResult()和 RaiseCallbackEvent(string eve ntArgument)这 2 个方法具体的代码和 说明入下: 1namespace Callback 2 p

15、ublic partial class _Default : System.Web.UI.Page,System.Web. UI.ICallbackEventHandler 4 public string sCallBackFunctionInvocation;/客户端脚本段 6 /返回给客户端的内容 8 private string mapstring; 9 protected void Page_Load(object sender, EventArgs e) 11 /GetCallbackEventReference 生成客户端脚本 sCallBackFunctionInvocation = Page.ClientScript.GetCallbackEventR eference(this, “message“, “processCallbackResult“, “context“, “postBa ckError“, true); 15 16 protected void Map1_ExtentChanged(object sender, ESRI.Arc GIS.ADF.Web.UI.WebControls.ExtentEventArgs args) 17 /获取地图控件的框 19 ESRI.ArcGIS.ADF.Web.Geometry.Envelope

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号