发布网友 发布时间:2022-04-21 07:17
共1个回答
热心网友 时间:2022-05-16 10:08
MAPGIS虽然集成了大量的处理GIS数据的模块,但它在计算机辅助成图设计方面确实与AutoCAD相差甚远。作为地质工作者,画柱状图是一项基本功,MAPGIS软件现已成为国人地学“通用”软件,要成一张柱状图很要费一番功夫:通常有二种方法可供选择,1)、手工用直尺铅笔在磅纸上作好后,经扫描仪扫描后,再经矢量化成图。这种方法比较正宗,也是最“笨”的办法,虽然叫“电脑制图”,其实应该叫“穿新鞋,走老路”;2)、用一个已作好的柱状图作为“模板”,去掉“多余”的内容,采用“阵列复制”功能,从而实现“精确”定位,反反复复的利用这一单一功能,作一张图繁杂得“要命”,不过其精度比第一种要高得多。现在都是计算机时代,如果利用计算机成图还是如蜗牛般“快”,那就失去了电脑成图的意义。如何让电脑自动绘MAPGIS钻孔柱状图,是本讲座要探讨的主要内容。希望通过本讨论把你带入到“自动成图”的“天堂”中。由于它涉及到的内容较多,本讲座分为四部份:1、连接EXCEL;2、如何生成点文件(*.wt);3、如何生成线文件(*.wl);4、如何生成区文件(*.wp)。最后送大家一个编译好的生成钻孔柱状图的程序及VB的源代码程序(VB6下的工程文件等,经简单修改一下就可以变成你需要的模板)本来网上有较多的关于VB与EXCEL连接的程序源代码,为了内容的完整性,在此我把该代码写一遍,其形式如下:Set Myapp = CreateObject("Excel.Application")Myapp.Visible = trueSet MyBook = Myapp.Workbooks.Open("c:\windows\temp\GIS钻孔柱状图.xls") Set mysheet = MyBook.Worksheets(1) MyBook.CloseMyapp.Quit至此,你的程序就可以“认识”电子表格(c:\windows\temp\GIS钻孔柱状图.xls)了,如你要访问第8行、第2列的数据,用代码mysheet.Cells(8, 2).value就可以了。还有一个用到的就是确定EXCEL是有多少行(n),这个数值非常重要,因为如在钻孔中分多少层,我们事先不可知,数据是录入EXCEL中,要让电脑“自动判读”;一个钻孔要取多少件样,我们事先也不知道,它在特定的列有多少个(连续行)数据也得让电脑自行读取。这就需要一个函数n=mysheet.Range("A65536").End(xlUp).Row,有了这个数值,它就"会"计算出这个钻孔分了多少层,取了多少件样等内容至此,电脑就架起了一道MAPGIS--EXCEL间的桥梁。 K5?