论文部分内容阅读
【摘 要】在日常地质工作中常使用微软公司Office套装办公软件,特别是其中的数据处理软件Excel,给工作带来便利,其功能十分强大,能够对各种数据进行处理,并且其计算过程非常直观。在日常工作中,有大量的地质数据要进行处理,以高斯投影坐标正反算应用为例说明运用Excel中的内部函数及VBA语言,利用其处理各种地质数据,可以取得事半功倍的效果。
【摘 要】地质;Excel;高斯计算
微软公司的Office组件是日常工作常用的软件,其中组件之一的Excel是电子表格处理软件,其使用非常方便,应用范围也很广泛。Excel中的函数和VBA语言功能也非常强大,在地质中应用较多,解决了各类数据处理工作中大部分应用问题。
用Excel处理地质工作的数据,不需要进行专业的培训和进行复杂的程序编写训练,同时也解决了用计算器一步一步计算的老的工作方法;在EXCEL中利用单元格引用进行计算,对数据计算和处理有非常直观性,容易理解和掌握。Excel在日常中的应用很广,以高斯投影坐标计算这个典型的应用为例说明Excel在日常地质工作的使用方法。
1.高斯投影计算的数学模式
1.1高斯投影计算
高斯投影计算,包括由大地坐标(B,L)求高斯平面直角坐标(x,y),和由高斯平面直角坐标(x,y)求大地坐标(B,L),前者称为高斯投影坐标正算;后者称为高斯投影坐标反算[1][2]。
1.1.1高斯投影坐标正算公式为:
式中B为大地纬度;X为由赤道至纬度B的子午线弧长;为与中央子午线的经差,N为卯酉曲率半径,,。
1.1.2高斯投影坐标反算公式为:
式中:为底点纬度(垂足纬度),为卯酉曲率半径,为子午线曲率半径
2.Excel自定义函数的建立
Excel的函数功能强大,为工作带来了极大方便,对可以用Excel函数解决的问题,可以利用一些使用技巧和理论进行方便、实用的数据处理,但有时我们为实现一些复杂事务处理,可能用到几个函数或者采用嵌套函数,这样应用起来,不方便,容量出错,据此可以利用Excel绑定VBA创建自定义函数UDF(User—defined function)来解决这个问题。
首先进入Excel,建立“高斯坐标计算”工作薄,将“Sheet1”表改名为“坐标正算”,将“Sheet2” 表改名为“坐标正算”在[工具]→[宏]→[Visul Basic编辑器] ,在“工程资源管理器”中选择“VBAProject 高斯坐标计算.xls”[插入]→[添加模块],将模块名称改为“高斯投影计算”,在代码窗口输入下列程式,共自定义了五个函数,分别为直角坐标函数Xzb()、Yzb();大地坐标函数Bwd()、Ljd();度分秒和弧度转换函数DZH()、HZD()。
3.公式的输入
在“坐标正算”表相关位置填入相关内容及批注,建立分组框和选项按钮[3](其生成值在G3单元格中),在H3至M5矩形单元格内输入北京54、80西安、WGS84坐标系地球椭球参数,在H6至M6单元格内输入公式,如H3格公式为IF($G$3=1,I3,IF($G$3=2,I4,IF($G$3=3,I5,I3)))(根据G3单元格值自动生成相应坐标系地球椭球参数),通过分组框内按钮的选择来达到坐标系地球椭球参数的选择,可达到在一个表内进行多个坐标系的坐标计算(图1)。
在A3、D3、E3单元格中输入IF(B3<>"",ROW(B3)-2,"")(B3单元格输入数据,则在A3单元格内生序号)、IF(C3="","",Xzb(B3,C3,$F$11,$H$6,$I$6,$J$6,$K$6,$L$6,$M$6))(B3中輸入数据,用Xzb函数读入大地坐标、中央经线值及五个地球椭球参数后进行X坐标计算)、IF(D3="","",Yzb(B3,C3,$F$11,$H$6,$M$6))(B3中输入数据,用Xzb函数读入大地坐标、中央经线值及两个地球椭球参数后进行Y坐标计算)、利用填充句柄将A3、D3、E3单元格公式分别填充到A100、D100、E100单元格。对所利用的单元格进行相应的格式设定,设定数据格式,保证数据显示位数和精度。
4.表格的保护
为了防止误操作修改了程序和计算公式,可对表格采取保护措施:
①选中B3至L100单元格区域、和F11、G3单元格。
②单击右键,在弹出的快捷菜单中点击“设置单元格格式”,在单元格格式窗体中点击“保护”,然后取消“锁定”前面的“√”号,点击“确定”退出窗体。
③Excel主菜单中依次点击“工具→保护→保护工作表”,在弹出的“保护工作表”窗体中输入保护密码(两次),并取消“选定锁定单元格”前面的“√”号。
除B3至L100单元格区域、和F11个单元格可进行编辑外,其余所有的单元格都被保护起来了,既不能选定,也不能编辑,达到保护程序的目的【3】。
为使可编辑单元格和不可编辑单元格在视觉上也区分开来,隐藏G至IV列单元格,选中A至E第三行向下除B和C 列所有单元格,然后将其底色改为“灰色-25%”。
可以将A至E列单元格设置为打印区域,并在页面设置中设置页眉页脚等项目,设置计算日期,设计人等项目,方便工作[4]。
5.结语
用同样的方法可以完成坐标反算工作表的建立。
在使用VAB生成自定义函数时,使用工作表要注意对宏的安全性进行合适的设置。
建立自定义函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力,使用、维护更加方便。
Excel在地质中应用非常广泛,在实践可以进行钻孔弯曲度和坐标计算、利用矩阵和逆矩阵函数建立变异函数、进行实测地质剖面的相关计算、进行地质要素统计、进行MAPGIS数据的处理等等,这些应用实践表明,Excel在地质中应用是可行的,且快速、精确、方便、准确。
参考文献:
[1]张凤举等 控制测量学 北京:煤炭工业出版社,2003
[2]侯德义 找矿勘探地质学 北京:地质出版社 1988
[3]韩泽坤 朱瑞亮 Excel VBA高效办公范例应用 北京:中国青年出版社 2004
[4]缪凌云 Excel2000技巧与实例 北京:中国水力水电出版社,1999
【摘 要】地质;Excel;高斯计算
微软公司的Office组件是日常工作常用的软件,其中组件之一的Excel是电子表格处理软件,其使用非常方便,应用范围也很广泛。Excel中的函数和VBA语言功能也非常强大,在地质中应用较多,解决了各类数据处理工作中大部分应用问题。
用Excel处理地质工作的数据,不需要进行专业的培训和进行复杂的程序编写训练,同时也解决了用计算器一步一步计算的老的工作方法;在EXCEL中利用单元格引用进行计算,对数据计算和处理有非常直观性,容易理解和掌握。Excel在日常中的应用很广,以高斯投影坐标计算这个典型的应用为例说明Excel在日常地质工作的使用方法。
1.高斯投影计算的数学模式
1.1高斯投影计算
高斯投影计算,包括由大地坐标(B,L)求高斯平面直角坐标(x,y),和由高斯平面直角坐标(x,y)求大地坐标(B,L),前者称为高斯投影坐标正算;后者称为高斯投影坐标反算[1][2]。
1.1.1高斯投影坐标正算公式为:
式中B为大地纬度;X为由赤道至纬度B的子午线弧长;为与中央子午线的经差,N为卯酉曲率半径,,。
1.1.2高斯投影坐标反算公式为:
式中:为底点纬度(垂足纬度),为卯酉曲率半径,为子午线曲率半径
2.Excel自定义函数的建立
Excel的函数功能强大,为工作带来了极大方便,对可以用Excel函数解决的问题,可以利用一些使用技巧和理论进行方便、实用的数据处理,但有时我们为实现一些复杂事务处理,可能用到几个函数或者采用嵌套函数,这样应用起来,不方便,容量出错,据此可以利用Excel绑定VBA创建自定义函数UDF(User—defined function)来解决这个问题。
首先进入Excel,建立“高斯坐标计算”工作薄,将“Sheet1”表改名为“坐标正算”,将“Sheet2” 表改名为“坐标正算”在[工具]→[宏]→[Visul Basic编辑器] ,在“工程资源管理器”中选择“VBAProject 高斯坐标计算.xls”[插入]→[添加模块],将模块名称改为“高斯投影计算”,在代码窗口输入下列程式,共自定义了五个函数,分别为直角坐标函数Xzb()、Yzb();大地坐标函数Bwd()、Ljd();度分秒和弧度转换函数DZH()、HZD()。
3.公式的输入
在“坐标正算”表相关位置填入相关内容及批注,建立分组框和选项按钮[3](其生成值在G3单元格中),在H3至M5矩形单元格内输入北京54、80西安、WGS84坐标系地球椭球参数,在H6至M6单元格内输入公式,如H3格公式为IF($G$3=1,I3,IF($G$3=2,I4,IF($G$3=3,I5,I3)))(根据G3单元格值自动生成相应坐标系地球椭球参数),通过分组框内按钮的选择来达到坐标系地球椭球参数的选择,可达到在一个表内进行多个坐标系的坐标计算(图1)。
在A3、D3、E3单元格中输入IF(B3<>"",ROW(B3)-2,"")(B3单元格输入数据,则在A3单元格内生序号)、IF(C3="","",Xzb(B3,C3,$F$11,$H$6,$I$6,$J$6,$K$6,$L$6,$M$6))(B3中輸入数据,用Xzb函数读入大地坐标、中央经线值及五个地球椭球参数后进行X坐标计算)、IF(D3="","",Yzb(B3,C3,$F$11,$H$6,$M$6))(B3中输入数据,用Xzb函数读入大地坐标、中央经线值及两个地球椭球参数后进行Y坐标计算)、利用填充句柄将A3、D3、E3单元格公式分别填充到A100、D100、E100单元格。对所利用的单元格进行相应的格式设定,设定数据格式,保证数据显示位数和精度。
4.表格的保护
为了防止误操作修改了程序和计算公式,可对表格采取保护措施:
①选中B3至L100单元格区域、和F11、G3单元格。
②单击右键,在弹出的快捷菜单中点击“设置单元格格式”,在单元格格式窗体中点击“保护”,然后取消“锁定”前面的“√”号,点击“确定”退出窗体。
③Excel主菜单中依次点击“工具→保护→保护工作表”,在弹出的“保护工作表”窗体中输入保护密码(两次),并取消“选定锁定单元格”前面的“√”号。
除B3至L100单元格区域、和F11个单元格可进行编辑外,其余所有的单元格都被保护起来了,既不能选定,也不能编辑,达到保护程序的目的【3】。
为使可编辑单元格和不可编辑单元格在视觉上也区分开来,隐藏G至IV列单元格,选中A至E第三行向下除B和C 列所有单元格,然后将其底色改为“灰色-25%”。
可以将A至E列单元格设置为打印区域,并在页面设置中设置页眉页脚等项目,设置计算日期,设计人等项目,方便工作[4]。
5.结语
用同样的方法可以完成坐标反算工作表的建立。
在使用VAB生成自定义函数时,使用工作表要注意对宏的安全性进行合适的设置。
建立自定义函数;能将复杂的、嵌套的、多个原有的函数组合在一起,发挥更大的威力,使用、维护更加方便。
Excel在地质中应用非常广泛,在实践可以进行钻孔弯曲度和坐标计算、利用矩阵和逆矩阵函数建立变异函数、进行实测地质剖面的相关计算、进行地质要素统计、进行MAPGIS数据的处理等等,这些应用实践表明,Excel在地质中应用是可行的,且快速、精确、方便、准确。
参考文献:
[1]张凤举等 控制测量学 北京:煤炭工业出版社,2003
[2]侯德义 找矿勘探地质学 北京:地质出版社 1988
[3]韩泽坤 朱瑞亮 Excel VBA高效办公范例应用 北京:中国青年出版社 2004
[4]缪凌云 Excel2000技巧与实例 北京:中国水力水电出版社,1999