收藏 分享(赏)

gis课设报告.doc

上传人:cjc2202537 文档编号:1196110 上传时间:2018-06-17 格式:DOC 页数:11 大小:1.87MB
下载 相关 举报
gis课设报告.doc_第1页
第1页 / 共11页
gis课设报告.doc_第2页
第2页 / 共11页
gis课设报告.doc_第3页
第3页 / 共11页
gis课设报告.doc_第4页
第4页 / 共11页
gis课设报告.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

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营业执照举报