




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科学生实验报告学号 姓名 学院 专业、班级 实验课程名称 实用GIS开发 教师及职称 开课学期 至 学年 第二学期 填报时间 2011 年 5 月 16 日云南师范大学教务处编印实验序号2实验名称图形的绘制实验时间2011-5-16实验室一实验预习1实验目的 通过此实验,了解Mo的图形绘制功能,学会使用DRAWSHAPE方法在地图上显示一个图形(点,线,面)。2实验原理、实验流程或装置示意图 MO虽然不是绘图软件,但是经常要用到在地图上画点标明位置,画矩形或多边形标明地图查找范围等操作,因此就需要用到一些简单的绘图功能! MO的绘图就是在MAP上产生图形对象的过程。图形对象主要有:point(点),点集(points),线(line),矩形(rectangle),多边形(polygon)和椭圆(Ellipse)。 绘图时,先创建一个图形对象,给它赋值【dim(声明),set(赋值)】,再在symbol对象中定义显示的方式,最后用drawshape方法在地图上显示这个图形。 定义symbol对象,不仅可以设置对象类型(symboltype),填充方式(style),尺寸(size),颜色(color)和字体(font),还可以画出各种预定义符号(点的style中设定)。 除了使用drawshape方法绘图外,还可以用addevent方法在动态图层上画动态图形对象(GeoEvent)。3 实验设备及材料硬件:电脑软件:Visual Basic 6.0和MO4保证实验成功的关键问题 仔细认真,了解每步实验进行的顺序。二实验内容1 实验现象与结果使用drawshape方法Drawshape的语法如下: Object.Drawshape shape,symbol:使用drawshape绘制点代码如下Option ExplicitDim Pts As MapObjects2.PointsDim p As PointDim sym As New SymbolPrivate Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE) 【在AfterTrackingLayerDraw事件下驱动DrawShape】 sym.Color = moRed sym.SymbolType = moPointSymbol symboltype表示要绘制的对象类型 sym.Size = 5 If Not Pts Is Nothing Then Map1.DrawShape Pts, sym 使用drawshape绘点 End IfEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Set Pts = New MapObjects2.Points Set p = Map1.ToMapPoint(X, Y) 获取屏幕点坐标 Pts.Add p Map1.TrackingLayer.Refresh True 与map1建立连接End Sub运行结果如下:使用drawshape绘制线代码如下Option ExplicitDim g_Line As MapObjects2.Line 声明线对象Dim Pts As MapObjects2.Points 声明点集对象Private Sub Command1_Click() 点击command1清空图像 Set g_Line = Nothing Set Pts = Nothing Map1.Refresh Set g_Line = New MapObjects2.LineEnd SubPrivate Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE) Dim sym As New Symbol If Not g_Line Is Nothing Then 判断线 sym.Color = moBlack Map1.DrawShape Pts, sym 使用drawshape画点 If Pts.Count 1 Then判断点1才能构成线 sym.Color = moRedMap1.DrawShape g_Line, sym 使用drawshape画线End If End IfEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim p As Point If Button = 1 Then If g_Line Is Nothing Then Set g_Line = New MapObjects2.Line End IfIf Pts Is Nothing Then Set Pts = New MapObjects2.Points End If Set p = Map1.ToMapPoint(X, Y) Pts.Add p 将点加入点集 If Pts.Count = 1 Then g_Line.Parts.Add Pts 将点加入线集 Set Pts = g_Line.Parts(0) End If Map1.TrackingLayer.Refresh True Else MsgBox right End If:使用drawshape绘制面此时使用的是track方法可以同时绘制多边形,矩形,园代码如下:Option ExplicitDim Rect As MapObjects2.Rectangle 定义矩形Dim Eli As MapObjects2.Ellipse 定义椭圆Dim Poly As MapObjects2.Polygon 定义多边形Private Sub Map1_AfterTrackingLayerDraw(ByVal hDC As stdole.OLE_HANDLE) Dim sym As New MapObjects2.Symbol sym.SymbolType = moFillSymbol 绘制对象为多个使用moFillSymbol sym.Style = moDiagonalCrossFill style表示填充方式 If Not Rect Is Nothing Then 判断如果是矩形 sym.Color = moBlue Map1.DrawShape Rect, sym End If If Not Eli Is Nothing Then 判断如果是椭圆sym.Color = moRed Map1.DrawShape Eli, sym End If If Not Poly Is Nothing Then 判断如果是多边形 sym.Color = moGreen Map1.DrawShape Poly, sym End IfEnd SubPrivate Sub Map1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 使用track方法生成图形 If Option1 Then Set Rect = Map1.TrackRectangle ElseIf Option2 Then Set Eli = Map1.TrackCircle Else Set Poly = Map1.TrackPolygon End If Map1.TrackingLayer.Refresh TrueEnd Sub2、实验中出现过的问题(或错误)、原因分析 在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年营养师考试冲刺试卷:实操技能与心理营养深度解析
- 新能源汽车发展前景
- 深层搅拌桩软基处理施工方案
- 2025年东北师范大学教师教育研究院春季学期专任教师招聘7人考前自测高频考点模拟试题及答案详解(新)
- 2024计算机四级考前冲刺练习试题及答案详解【夺冠】
- 2024计算机四级考前冲刺练习及答案详解【考点梳理】
- 2025临床执业医师测试卷(名校卷)附答案详解
- 2024-2025学年自考专业(计算机网络)考试彩蛋押题含答案详解(完整版)
- 2024自考专业(建筑工程)考试黑钻押题含答案详解(培优A卷)
- 2024-2025学年度广播电视播音员主持人能力提升B卷题库附参考答案详解【能力提升】
- GB/T 8167-1987包装用缓冲材料动态压缩试验方法
- GB/T 34903.2-2017石油、石化与天然气工业与油气开采相关介质接触的非金属材料第2部分:弹性体
- GB/T 19806-2005塑料管材和管件聚乙烯电熔组件的挤压剥离试验
- -Unit 2知识点归纳 牛津译林版英语九年级上册
- 中医内科学表格
- 陶瓷-课件商周至汉代瓷器
- 村卫生室健康扶贫督导考核表
- DB37T 3842-2019 铁矿绿色矿山建设规范
- 《光电显示技术》OLED原理
- 诊断学基础知识常见症状ppt课件
- 丰田安全管理(安全班组活动)(课堂PPT)
评论
0/150
提交评论