使用等值线控件的一些经验

作者: 天涯无情 @ 11/13 2006, 22:10

   该控件是外国人做的,在网站http://snowedforest.brinkster.net/免费提供下载,安装完了之后,同时可以看到他们提供的示范程序,包括VB,VC,DEPHI的代码,所以应该说把示范代码看明白了,掌握这个控件的使用方法也就容易多了.但是唯一不足的是,他们并没有提供接口说明,同时每个接口的参数也没有说明.这无疑减缓了学习的进度.同时可能是由于是试用版,每次调用生成等值线&等值曲面的接口时,都会有一个版本对话框弹出.

  就我昨天使用该控件的一些感触在此做个总结.

1.发现该控件有一个规律,就是大部分接口的返回值是作为一个参数传入.如为了判断该控件生成了多少条等值线,需如下使用:

     dim lineCount as long

     contourOCX1.getLineCount  lineCount

同时对于类型的要求也比较严格,不过我们可以借助VB的接口浏览器查看,这样做会方便一点.

2.对数据的文件格式要求:支持从文本文件读取数据,这个接口是.initialRadomPointsFile(,)

文件的格式是.txt的才行;由于看不到帮助文档,所以也不知道能不能从数据库的表中直接读取,看到了.AddDBField()接口,但是不知道怎么用.

我是采用了如下的办法,从数据库得到一个包含所要信息的recordset,然后创建一个临时的.txt文件,将所以信息写入临时文件,完毕之后,将临时文件删除,这样也能达到预期的目的.

3.插值方法的支持:提供了三种插值方法,IDW,CFWAI,Kringing.用三种方法插值的结果都不尽一样,同时CFWAI方法有bug,有些数据,它就执行不了.就因为这个问题,昨天下午困惑了我近两个小时,郁闷啊.所以综合考虑,还是采用kringing,虽然它涉及到的参数多一点,但是大家查下资料也能够解决的.它提供的Kringing方法,Nugget=0.

4.至今还想解决的问题有:

它生成的等值线范围,是输入点的外接矩形,不知道是否可以自定义生成的范围?

怎么去掉版本提示框,非得找它们购买正版?



  © 感知世界,感知未来, All rights reserved.