ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:1.87MB ,
资源ID:1196110      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1196110.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(gis课设报告.doc)为本站会员(cjc2202537)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

gis课设报告.doc

1、第 1 页 共 11 页1 实习目的掌握利用SuperMap Objects + C#来开发GIS系统。熟练应用SuperMap来操作地图,并对数据进行处理。掌握SuperMap Objects开发GIS系统的接口,方法。通过课程设计进一步掌握了地理信息系统与应用课程的有关知识,掌握了GIS系统程序设计与开发课程的相关知识,掌握了进行系统定义、系统总体设计方法、系统详细设计、空间数据库设计方法,掌握了利用开发语言和GIS组件开发进行地理信息系统二次开发的能力,实现地理信息系统的基本功能和扩展功能,掌握面向对象进行程序设计的方法,并且可以建立空间数据库完成图形数据和属性数据的统一管理,将所学的内

2、容加以综合,并且对GIS的二次开发有了整体的理解,真正实现从课本到实践的应用。2 实习地点交通与测绘学院机房(第五教学楼2层)3 起讫日期2010年6月20日2010年7月14日4 实习内容C#是一种现代的面向对象语言。它使程序员快速便捷地创建基于Microsoft.NET平台的解决方案。利用 C# + SuperMap Objects进行二次开发,熟悉对GIS系统的二次开发,主要实现功如下:4.1地图矢量化4.1.1 配准在所要矢量化的扫描栅格地图上选取广泛分布在整张地图上各个位置的8个点,作为配准时的已知坐标点。由于这8个点的坐标并不是已知的,所以我们从Google Earth上查询出对应

3、点的经纬度,利用SuperMap的“投影变换”功能将经纬坐标进行转换,再利用转换后的坐标进行配准。4.1.2 矢量化配准完成后,即可利用SuperMapDeskpro,根据已经建立的数据集(主要有点、线、面、文本、网络数据集几大类)对配准后的唐山市区中心图进行矢量化。4.2由本人实现的主要功能4.2.1 空间操作功能空间操作功能包括打开工作空间、关闭工作空间、保存工作空间三部分。此本分属于基本功能,故不细述。4.2.2 地图操作功能地图操作功能主要包括打开地图、保存地图、另存地图、删除地图四部分。此本分属于基本功能,故不细述。4.2.3 地图浏览功能第 2 页 共 11 页地图浏览功能主要包括

4、选择、自由缩放、漫游、全幅显示、放大、缩小六部分。此本分属于基本功能,故不细述。4.2.4 查询功能查询功能主要包括选择查询和SQL查询两部分。选择查询又包括点选择、框选择、圆选择、多边形选择,选择查询通过在地图中选中对象,在SuperGridView1中显示所选对象的属性信息来实现其功能。执行结果如下图4.2.4.1所示:4.2.4.1 选择查询主要代码如下:点选择:SuperMap1.Action = SuperMapLib.seAction.scaSelect;框选择:SuperMap1.Action = SuperMapLib.seAction.scaRectSelect;圆选择:Su

5、perMap1.Action = SuperMapLib.seAction.scaCircleSelect;多边形选择:SuperMap1.Action = SuperMapLib.seAction.scaRegionSelect;SQL查询通过在窗体右上角的textBox1中输入查询条件,在SuperGridView1中显示符合条件的对象的的属性信息来实现其功能。执行结果如下图4.4.2所示:第 3 页 共 11 页4.2.4.2 SQL查询主要代码如下:soLayers objLys = this.SuperMap1.Layers;soLayer objLy = objLys1;soDat

6、aset objDt = objLy.Dataset;soDatasetVector objDtv = (soDatasetVector)objDt;soRecordset objRd = null;string strSql = this.textBox1.Text;if (strSql = “)objRd = objDtv.Query(“, true, null, “);elseobjRd = objDtv.Query(strSql, true, null, “);this.SuperGridView1.Connect(objRd);soSelection objSelect = this

7、.SuperMap1.selection;objSelect.FromRecordset(objRd);this.SuperMap1.Refresh();Marshal.ReleaseComObject(objLys);objLys = null;Marshal.ReleaseComObject(objLy);objLy = null;第 4 页 共 11 页Marshal.ReleaseComObject(objDt);objDt = null;Marshal.ReleaseComObject(objDtv);objDtv = null;Marshal.ReleaseComObject(ob

8、jRd);objRd = null;4.2.5 创建缓冲区选择对象,进行缓冲查询。执行结果如下图4.2.5.1所示:4.2.5.1 创建缓冲区主要代码如下:soStyle objStyle = new soStyleClass();objStyle.BrushStyle = 2;objStyle.BrushBackTransparent = true;objStyle.PenColor = (uint)ColorTranslator.ToOle(Color.Blue);objStyle.PenWidth = 20;objStyle.BrushColor = (uint)ColorTransla

9、tor.ToOle(Color.DarkRed);soTrackingLayer objTrackingLayer = SuperMap1.TrackingLayer;soSelection objSelect = SuperMap1.selection;soRecordset objSelectRd = objSelect.ToRecordset(true);objSelectRd.MoveFirst();soGeoRegion objBufferRegion = null;objTrackingLayer.ClearEvents();for (int iRecordCount = 1; i

10、RecordCount = objSelectRd.RecordCount; 第 5 页 共 11 页iRecordCount+)soGeometry objSelectGeo = objSelectRd.GetGeometry();if (objSelectGeo.Type = seGeometryType.scgRegion)soGeoRegion objGeoRegion = (soGeoRegion)objSelectGeo;objBufferRegion = objGeoRegion.Buffer(20, 50);Marshal.ReleaseComObject(objGeoRegi

11、on);objGeoRegion = null;else if(objSelectGeo.Type = seGeometryType.scgPoint)soGeoPoint objGeoPoint = (soGeoPoint)objSelectGeo;objBufferRegion = objGeoPoint.Buffer(50, 50);Marshal.ReleaseComObject(objGeoPoint);objGeoPoint = null;if (objBufferRegion != null)objTrackingLayer.AddEvent(soGeometry)objBuff

12、erRegion, objStyle, “);Marshal.ReleaseComObject(objBufferRegion);objBufferRegion = null;Marshal.ReleaseComObject(objSelectGeo);objSelectGeo = null;objSelectRd.MoveNext();objTrackingLayer.Refresh();Marshal.ReleaseComObject(objSelectRd);objSelectRd = null;Marshal.ReleaseComObject(objSelect);objSelect

13、= null;Marshal.ReleaseComObject(objStyle);objStyle = null;Marshal.ReleaseComObject(objTrackingLayer);objTrackingLayer = null;4.2.6 专题图制作专题图制作包括单值值专题图和标签专题图的制作。点击菜单命令即可打开专题设置对话框制作专题图。改变涂层颜色的单值值专题图执行结果如下图4.2.6.1所示:第 6 页 共 11 页4.2.6.1单值值专题图单值值专题图主要通过调用如下窗体(图4.2.6.2)来实现单值值专题图的制作。调用代码如下:this.frmThemeUniq

14、ue = new Form8(this);this.frmThemeUnique.ShowDialog();4.2.6.2窗体代码繁多,下面仅列举确定按钮的代码:第 7 页 共 11 页int i = 0;soLayer objLayer = null;soThemeUnique ThemeUnique = null;objLayer = mainfrm.SuperMap1.LayerscboLayer.Text;if (objLayer = null)return;ThemeUnique = objLayer.ThemeUnique;ThemeUnique.Enable = true;The

15、meUnique.Field = cboField.Text;ThemeUnique.MakeDefault();ThemeUnique.ValueCount = this.dataGridView1.RowCount;for (i = 1; i = this.dataGridView1.RowCount - 1; i+)soStyle objStyle = new soStyle();objStyle.BrushColor=(uint)ColorTranslator.ToOle(this.dataGridView10,i- 1.Style.BackColor);ThemeUnique.set

16、_Style(i, objStyle);Marshal.ReleaseComObject(objStyle);objStyle = null;objLayer.ThemeRange.Enable = false;mainfrm.SuperMap1.Refresh();Marshal.ReleaseComObject(objLayer);objLayer = null;this.Dispose();设置标注字段大字体的标签专题图执行结果如下图4.2.6.3所示:第 8 页 共 11 页4.2.6.3标签专题图标签专题图主要通过调用如下窗体(图4.2.6.4)来实现标签专题图的制作。调用代码如下:

17、this.frmThemeLable = new Form7(this);this.frmThemeLable.ShowDialog();4.2.6.4窗体代码繁多,下面仅列举完成按钮的代码:第 9 页 共 11 页soThemeLabel objThemeLabel = null;soLayer objLayer = null;objLayer = mainfrm.SuperMap1.LayerscboLayer.Text;if (objLayer = null)return;objThemeLabel = objLayer.ThemeLabel;objThemeLabel.TextStyl

18、e = objTextStyle;objThemeLabel.Field = cboFieldName.Text;bool bFix = false;if (this.chkLable.Checked = true)bFix = true;elsebFix = false;objThemeLabel.TextStyle.FixedSize = bFix;objThemeLabel.Enable = true;mainfrm.SuperMap1.Refresh();Marshal.ReleaseComObject(objLayer);objLayer = null;Marshal.Release

19、ComObject(objThemeLabel);objThemeLabel = null;Marshal.ReleaseComObject(objTextStyle);objTextStyle = null;this.Dispose();4.2.7 叠加分析叠加分析包括裁剪和擦除两部分。点击裁剪或者擦除后,选择区域后进行对应操作。裁剪执行结果如下图4.2.7.1所示:第 10 页 共 11 页4.2.7.1裁剪主要代码如下:this.h = true;this.intAction = 1;this.SuperMap1.Action = seAction.scaTrackPolygon;擦除执行结果如下图4.2.7.2所示:4.2.7.2擦除主要代码如下:this.h = true;this.intAction = 2;this.SuperMap1.Action = seAction.scaTrackPolygon;5 实习心得体会

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报