




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重 庆 交 通 大 学学 生 实 验 报 告实验课程名称 地理信息系统软件二次开发 开课实验室 空间数据处理实验室 学 院 河海学院 年级 2008 专业班 1 学 生 姓 名 学 号 08260117 开 课 时 间 2011 至 2012 学年第 1 学期总 成 绩教师签名20目录实验五 GIS应用系统中专题地图的绘制3一、实验内容3二、实验要求3三、实验步骤31、系统完善;32、标注型专题地图43、数值型专题地图64、点密度专题地图105、分类专题地图136、图表专题地图16四、实验成果19五、实验心得19实验五 GIS应用系统中专题地图的绘制一、实验内容1、学习运用代码在所编系统中进行专题地图的绘制;2、完善系统。二、实验要求1、完善系统,实现在主窗体中调用多个窗体;2、实现标注型专题地图的制作;3、实现数值型专题地图的制作;4、实现点密度专题地图的制作;5、实现分类专题地图的制作;6、实现图表专题地图的制作。三、实验步骤1、系统完善; 在主界面窗体中完善系统界面,在“专题地图”菜单栏下添加标注型专题地图、数值型专题地图、点密度专题地图、分类专题地图、标图表专题地图等选项,如图5-1图5-1(系统界面)2、标注型专题地图 由于学生水平局限,不能够在一个窗体中完成所有功能的,因此此实验在多个窗体中实现,添加名为“frmlabelrenderer”的窗口,设置其界面。在代码窗口中写入以下代码:Option ExplicitDim Dbl As BooleanPrivate Sub DrawLayer() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path + . + Data If Not dc.Connect Then MsgBox 在指定的文件夹下没找到图层数据文件! End End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(行政区) layer.Symbol.Color = moOrange layer.Symbol.Size = 1 layer.Symbol.Style = 2 layer.Symbol.OutlineColor = moBrown Map1.Layers.Add layer Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(行政区) layer.Symbol.Color = moRed layer.Symbol.Size = 3 layer.Symbol.Style = 0 Set layer.Renderer = New LabelRenderer With layer.Renderer If Dbl Then .XOffsetField = 行政区 End If .Field = 行政区 .Symbol(0).Color = moBlack .Symbol(0).Font.Size = 8 End With Map1.Layers.Add layer Map1.RefreshEnd SubPrivate Sub Form_Load() Dbl = False DrawLayer frmlabelrenderer.WindowState = 2End Sub运行,如图5-2,图5-2(在主窗口中调用frmlabelrenderer窗体)图5-3(吉林省行政区划图)(标注型)3、数值型专题地图添加名为“frmvaluemaprenderer”的窗口,在代码窗口中写入以下代码:Option ExplicitDim moRecset As MapObjects2.RecordsetDim oRenderer As New MapObjects2.ValueMapRendererPrivate Sub Command1_Click()frmvaluemaprenderer.WindowState = 2 Dim strs As New MapObjects2.Strings Dim sFldname As String Dim oSym As New MapObjects2.Symbol Dim i As Integer 初始化 Set moRecset = Map1.Layers(0).Records sFldname = 行政区 Do While Not moRecset.EOF strs.Add moRecset(sFldname).ValueAsString moRecset.MoveNext Loop 设置渲染参数; Set Map1.Layers(0).Renderer = oRenderer oRenderer.Field = sFldname oRenderer.ValueCount = strs.Count - 3 设置缺省值 oRenderer.UseDefault = True Set oSym = oRenderer.DefaultSymbol oSym.Color = moPaleYellow 开始渲染; For i = 0 To oRenderer.ValueCount - 1 oRenderer.Value(i) = strs(i) Next i Map1.Refresh 清除对象,为下次点击准备; Set oRenderer = Nothing Set strs = Nothing Set moRecset = NothingEnd SubPrivate Sub Form_Load() DrawLayer frmvaluemaprenderer.WindowState = 2 添加一个States图层;End SubPrivate Sub DrawLayer() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path + . + Data If Not dc.Connect Then MsgBox 在指定的文件夹下没找到图层数据文件! End End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(行政区) layer.Symbol.Color = moOrange layer.Symbol.Size = 1 layer.Symbol.Style = 2 layer.Symbol.OutlineColor = moBrown Map1.Layers.Add layer Map1.RefreshEnd Sub 运行,如图5-4,5-5图5-4(在主窗口中调用frmvaluemaprenderer窗体)图5-5(加载吉林省行政区划图)图5-6(吉林省行政区划图)(数值型)4、点密度专题地图添加名为“frmdotdensityrenderer”的窗口,设置其界面。在代码窗口中写入以下代码:Option ExplicitPrivate Sub Command1_Click() Dim oDotRend As New MapObjects2.DotDensityRenderer Set Map1.Layers(0).Renderer = oDotRend With oDotRend .Field = 2009年人均 按照2009年人均耕地面积显示 .DotSize = 3 .DotColor = moRed .DotValue = 1 .DrawBackground = True End With Map1.Refresh Set oDotRend = NothingEnd SubPrivate Sub Form_Load() DrawLayer frmdotdensityrenderer.WindowState = 2End SubPrivate Sub DrawLayer() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path + . + Data If Not dc.Connect Then MsgBox 在指定的文件夹下没找到图层数据文件! End End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(行政区) layer.Symbol.Color = moPaleYellow layer.Symbol.Size = 1 layer.Symbol.OutlineColor = moBrown Map1.Layers.Add layer Map1.RefreshEnd Sub运行,如图5-7,图5-8,图5-9图5-7(在主窗口中调用frmdotdensityrenderer窗体)图5-8(加载吉林省行政区划图)图5-9(吉林省2009年人均耕地面积专题地图)(点密度型)5、分类专题地图添加名为“frmclassbreakrenderer”的窗口,设置其界面。在代码窗口中写入以下代码:按照面积的统计值分区显示Option ExplicitPrivate Sub Command1_Click() Dim i As Integer Dim oMapLayer As MapObjects2.MapLayer Dim oStats As MapObjects2.Statistics Dim oClassRend As New MapObjects2.ClassBreaksRenderer Dim fBreakVal As Double Set oMapLayer = Map1.Layers(行政区) Set oMapLayer.Renderer = oClassRend With oClassRend .SymbolType = moFillSymbol .Field = 面积 Set oStats = oMapLayer.Records.CalculateStatistics(面积) fBreakVal = oStats.Mean - (oStats.StdDev * 3) MsgBox oStats.Mean & ,stddev= & oStats.StdDev & _ ,min= & oStats.Min & ,max= & oStats.Max & ,break= & fBreakVal For i = 0 To 6 If fBreakVal = oStats.Min And fBreakVal = oStats.Max Then .BreakCount = .BreakCount + 1 .Break(.BreakCount - 1) = fBreakVal End If fBreakVal = fBreakVal + oStats.StdDev Next .RampColors moPaleYellow, moGreen End With Map1.RefreshEnd SubPrivate Sub Form_Load() DrawLayer 添加一个行政区图层; frmclassbreakrenderer.WindowState = 2End SubPrivate Sub DrawLayer() Dim dc As New DataConnection Dim layer As MapLayer dc.Database = App.Path + . + Data If Not dc.Connect Then MsgBox 在指定的文件夹下没找到图层数据文件! End End If Set layer = New MapLayer Set layer.GeoDataset = dc.FindGeoDataset(行政区) layer.Symbol.Color = moPaleYellow layer.Symbol.Size = 1 layer.Symbol.OutlineColor = moBrown Map1.Layers.Add layer Map1.RefreshEnd Sub 运行,如图5-10,图5-11,图5-12图5-10(在主窗口中调用frmdotdensityrenderer窗体)图5-11(加载吉林省行政区划图)图5-12(2009年人均耕地面积专题地图)(分类型)6、图表专题地图添加名为“frmclassbreakrenderer”的窗口,设置其界面。在代码窗口中写入以下代码:Option ExplicitDim Cr As New MapObjects2.ChartRendererPrivate Sub Command1_Click() With Cr .ChartType = moBar .FieldCount = 2 .Field(0) = 2009年人均 .Color(0) = moRed .Field(1) = 2008年人均 .Color(1) = moGreen End With Map1.RefreshEnd SubPrivate Sub Form_Load() DrawLayer frmchatrenderer.WindowState = 2 Set Map1.Layers.Item(行政区).Renderer = CrEnd SubPrivate Sub DrawLayer() Dim dc As N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年市场营销调研面试技巧数据收集与分析模拟题及解析
- 2025年物资储备仓库规划与建设知识测试题库及答案
- 电.钳工安全知识培训
- 2025年人力资源经理应聘考试题库及答案解析
- 神经外科医生的日常工作
- 甲状腺肿瘤护理课件
- 甲状腺炎课件
- 用药预防用药程序课件
- 江苏南京2020-2024年中考满分作文64篇
- 用电应急安全知识培训课件
- 滁州市珠龙广卫绢云母粉厂滁州市南谯区将军山绢云母矿1万吨-年露天采矿工程项目环境影响报告书
- 人民医院心血管外科临床技术操作规范2023版
- 2023年江苏小高考历史试卷
- 主要组织相容性复合体及其编码分子
- 优化物理教学策略的思考(黄恕伯)
- 中国移动-安全-L1,2,3(珍藏版)
- 2017年全国大学生数学建模A题
- 2023年专升本计算机题库含答案专升本计算机真题
- scratch3.0编程校本课程
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- GB/T 14825-1993农药可湿性粉剂悬浮率测定方法
评论
0/150
提交评论