gdal入门学习日记

     最近几天因为工作需要研究了gdal,学习过程中由于我的奇葩思维和粗心大意,做了不少挫事,记录下来,警戒自己吧。

    学习过程中主要是参考csdn上两个gdal技术牛人的博客,首先就是李民录(人很好技术很牛哇,回头要买本他的书报答他一下)的gdal源码剖析,附上链接http://blog.csdn.net/liminlu0314/article/details/6937194,这篇文章主要讲的是怎么编译gdal类库,由于我主要是为了读取hdf,所以重点是配置hdf文件读取。下面说一下在学习这篇文章过程中的挫事。

①修改make.opt信息的时候,如图(图片来自李民录博客),我配置的时候改了路径,却没有把#号去掉,眼瞎啊,#号是注释,所以怎么编译,折腾了很久都不支持hdf文件的读取。

②图中hdf4的lib目录,大家看到有很多类库,每个$符号间是有个空格的,我复制过去后有的消失了,也没有管就一直编译不过去。上图中第三个$符号前那个‘\’估计是换行的意思的,我电脑上用这个反斜杠没有识别会报错,我就去掉也换成空格了然后就可以了。

③明白这个后,执行“生成”还是会出错,后来用“重新生成”就可以生成成功。

这样之后的终于可以运行gdalinfo.exe查看hdf文件了。

接下来由于我是用C#开发的就要用swig生成C#类库,参考的是李明录的这篇文章http://blog.csdn.net/liminlu0314/article/details/6945452和朱金灿的http://blog.csdn.net/clever101/article/details/38562815这两篇文章。这个过程中也遇到了两个问题:

①编译生成C#类库时出错,出错的信息是指针转化出错,我觉得可能是swig版本的问题,我最初用的是3.几的版本,就按照说明换了个2.几的版本还是不行,就放弃了。后来李民录说是swig版本的问题,换个swigwin-1.3.40的版本,然后就下载了个,然后就通过了。

   ②类库生成之后就引用了,注册的时候报了个错误

“OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常。

后来百度发现是gdal类库的依赖项缺少,用depends查看后复制过去就ok了。总算把环境搭建好了

posted @ 2015-01-08 10:10  狗尾巴儿草  阅读(1102)  评论(0)    收藏  举报