MapGIS与Excel VBA在地物化综合剖面成图中协同应用.docVIP

MapGIS与Excel VBA在地物化综合剖面成图中协同应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MapGIS与Excel VBA在地物化综合剖面成图中协同应用

MapGIS与Excel VBA在地物化综合剖面成图中协同应用   【摘 要】 本文针对MapGIS明码文件与Excel VBA在地物化综合剖面成图中的协同应用而展开。首先介绍MapGIS线文件的明码格式,再介绍Excel的自动化语言Excel VBA自动高效地将原始数据整理并保存为MapGIS线明码文件,在绘制相关曲线的时候,通过相关参数的修改可以对曲线进行任意的组合,以适应实际工作和研究的需要。   【关键词】 MapGIS明码文件 Excel VBA 地物化综合剖面   1 问题的提出及解决方法   在工作中,以往地物化综合剖面的绘制往往占用工作人员的大量时间。甚至采用先手绘,然后扫描,再矢量化的方法。工作人员在行业软件中进行了大量的尝试,但当涉及到工作比例尺、成图比例尺、曲线组合等问题的时候,此类软件就不能满足实际需求。   利用Excel VBA强大的自动化编辑功能,构建MapGIS明码文件,然后将此明码文件转化为MapGIS的线文件,完成图件的绘制,这一过程中通过“偏移量”的设置,可以对元素任意组合,满足实际需要。   思路如图1所示。   2 MapGIS文件明码格式介绍   本文主要使用MapGIS的线文件,所以现主要介绍MapGIS线明码文件的格式,点(区)文件的明码格式可参阅相关书籍(如图2)。   逻辑结构:文件头 线数 1号线 2号线 ……n号线   具体为:   A、文件头,8个字节   WMAP9021   B、线数 n   C、1号线   D、线参数   说明:在以上的说明文字中,斜体部分为文件所需内容。文中带下划线的文字为介绍文字,实际明码文件中不需要。线参数包括:线型号,辅助线型号,线色,线宽,X系数,Y系数,辅助色,图层,透明输出(具体数值视MapGIS软件及成图需要)。   3 Excel数据准备及 Excel VBA数据计算、提取   3.1 绘制“数据计算与提取”按钮并添加按钮的单击事件,代码如下:   Private Sub CommandButton1_Click()   UserForm1.Show   End Sub   3.2 绘制“数据计算与提取”对话框,如图2所示   3.2.1 添加“计算”按钮的单击事件   成图数据=观测数据×10×成图比例尺+偏移量   纵向偏移量相当于一常数,不同元素的偏移量设置为同一数值,即表示将这几种元素曲线组合在一起,添加“计算”按钮的单击事件,主要是通过循环语句for … next赋值,部分代码如下:   Private Sub CommandButton1_Click()   Dim i As Long   Dim k As Long   k = Val(TextBox0.Text) + 3   Worksheets(sheet1).Activate   For i = 4 To k Step 1   ActiveSheet.Cells(i,16).Value=(Val(Cells(i,4))*10/Val(TextBox2.Text)+Val(TextBox3.Text)   ActiveSheet.Cells(i,17).Value=(Val(Cells(i,5))*10/Val(TextBox5.Text)+ Val(TextBox6.Text)   ……   Next i   End Sub   3.2.2 添加“提取线”按钮的单击事件   “提取线”按钮主要是通过赋值语句将2.1过程中计算的数据按照MapGIS线明码文件的数据格式要求重新组合数据,完成效果如图3所示,步骤如下:   (1)采用VBA的赋值语言建立表头、输入线数、输入线参数,部分代码如下   ActiveSheet.Cells(1, 1).Value = WMAP9021   ActiveSheet.Cells(2, 1).Value = 16   ActiveSheet.Cells(3, 1).Value = 1   ActiveSheet.Cells(3, 2).Value = 1   ………   ActiveSheet.Cells(4, 1).Value = k   (2)写入x、y坐标, 部分代码如下:   For i = 5 To k + 4   Worksheets(sheet2).Cells(i, 2).Value = Worksheets(sheet1).Cells(i - 1,21).Value   Worksheets(sheet2).Cells(i, 1).Value = 2 * i - 10   Next i   (3)写入线的ID号和

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档