编译C#版GDAL-1.11.1(含GEOS,PROJ,HDF)



C#GDAL-1.11.1编译(含GEOS,PROJ,HDF

                                                   

这里选择的版本是:gdal-1.11.1.tar.gzgeos-3.4.2.tar.bz2proj-4.8.0.tar.gzswigwin-3.0.2HDF4.2.6_win_x64.zipHDF5-1.8.7_win_x64.zip本机为64Win7操作系统。

 

首先在http://trac.osgeo.org/gdal/wiki/DownloadSource下载http://download.osgeo.org/gdal/1.11.1/gdal-1.11.1.tar.gz - source as .tar.gz( md5)

然后解压,我将解压的文件放在了C盘,即C:\gdal-1.11.1

这里我使用cmd命令行方法进行编译。

首先以管理员身份运行方式打开“Visual Studio x64兼容工具命令提示(2010)”命令,如下图1:

图1

然后使用cd命令(没用过的请百度一下,挺有用的),切换到GDAL的源代码目录(C:\gdal-1.11.1),如下图2:

图2

接着修改gdal1.11.1文件夹里面的nmake.opt文件的“#WIN64=YES”为WIN64=YES,然后依次输入下面的命令后回车,等待编译结束。

nmake –f makefile.vc

(上面的意思是编译GDAL库)

nmake –f makefile.vc install

(上面的意思是编译GDAL库并安装,安装的意思是将生成的dllexe等文件复制到C:\warmerda\bld目录)

nmake –f makefile.vc devinstall

(上面的意思是编译GDAL库并安装开发者模式,安装的意思同上,开发者模式意思是将开发用到的include文件夹中的头文件和lib文件一同复制到C:\warmerda\bld目录,此时会在C:\warmerda\bld目录中添加两个文件夹,分别是includelib,分别存放GDAL的头文件和lib文件,用于调用GDAL库)

通过以上的过程就完成了编译GDAL库。而且会在C盘生成如下内容,如图3:

图3

下面集成GEOSPROJ.4

为了集成GEOSPROJ.4,需要先在网上下载压缩包,然后解压,编译,编译好以后再修改gdal-1.11.1nmake.opt文件重新编译一次gdal

首先从 http://download.osgeo.org/proj/proj-4.8.0.tar.gz下载proj-4.8.0,然后解压(我同样是 C:\proj-4.8.0

再次以管理员身份运行“Visual Studio x64兼容工具命令提示(2010)”,使用cd命令切换到C:\proj-4.8.0,如图4

图4

然后输入以下两个命令:

nmake /f makefile.vc           ( 如图5)

图5

nmake /f makefile.vc install-all          (如图6.1,6.2)

图6.1

图6.2

编译完成后会在C盘生成一个PROJ目录(图7):

图7

然后就可以修改gdal-1.11.1里面的nmake.opt为(图8):

图8

接着按照最上面编译GDAL的方法重新编译一次GDAL,这样编译出来的GDAL就集成了PROJ.4库,支持投影转换等功能。或者直接将PROJ.4库编译出来的dll复制到GDALdll所在的目录也行。下图9是重新编译成功GDAL库的结果:

图9

下面实现集成GEOS

同样先下载:http://download.osgeo.org/geos/下载 geos-3.4.2.tar.bz2

然后解压到C:\ geos-3.4.2

再次以管理员身份运行“Visual Studio x64兼容工具命令提示(2010)”,使用cd命令切换到C:\geos-3.4.2(图10)

图10

然后输入以下两个命令:

autogen.bat          (图11)

图11

nmake /f makefile.vc   (图12)

图12

这样编译完成GEOS后,src目录下会生成GEOS库的libdll文件(图13):

图13

然后就可以如同PROJ.4那样重新编译GDAL库了,修改gdal-1.11.1nmake.opt为:

注意,这时如果仍然按照李民录老师的博客或书上所写的如下图14所示是行不通的。

图14

应该修改为图15所示(因为GEOS库发生了变化,原来的source变成了src,并且里面没有headers这一个文件夹了,里面的内容全部放到外面的一个include文件夹里面了):

图15

这样编译出来的GDAL就集成了GEOS库,支持矢量图形空间操作等功能,重新编译结果如下图16:

图16

编译完成后,需要将geos_c.dll文件复制到gdal111.dll的同级目录下,否则会提示找不到geos_c.dll


下面实现集成HDF数据读取

首先仍需要下载:http://www.hdfgroup.org/downloads/,然后分别转到http://www.hdfgroup.org/ftp/HDF5/releases/http://www.hdfgroup.org/ftp/HDF/prev-releases/。通过上面两个链接,选择相应版本、binwindows然后选择相应的进行下载

下载编译好的HDF4HDF5的库。这里下载的是HDF4.2.6_win_x64.zipHDF5-1.8.7_win_x64.zip

修改gdal-1.11.1nmake.opt如下图17

图17

然后就可以重新编译GDAL库了,结果如下图18:

图18

同时,将HDF库中的dll文件夹下的dll文件复制到gdal111.dll的同级目录下。


下面编译C#版本的GDAL

这里要用到SWIG,到http://www.swig.org/download.html下载。注意,这里应该下载文件:swigwin-3.0.2.zip,而不是源代码:swig-3.0.2.tar.gz

然后解压,位于(如图19):


图19

然后就需要将解压目录加到环境变量Path中,否则后面需要设置SWIG的所在目录(图20)。


图20

检验SWIG是否成功设置到环境变量Path中的办法是:在运行中输入swig后回车,会有一个黑屏一闪而过。

(注意,如果成功设置了环境变量,gdal-1.11.1nmake.opt就不需再修改了,如果没有成功设置环境变量,则需将下图21第三行改为“SWIG=C:\SWIG\swigwin-3.0.2\swig.exe”)


图21(成功设置了环境变量,不需修改)

然后就可以按照最上面的方法(3个命令)重新编译GDAL了。

执行完后,接着使用cd命令,进入swig\csharp文件夹中并使用nmake工具编译,命令如下:

cd swig\csharp       (图22)


图22

nmake /fmakefile.vc

nmake /fmakefile.vc install

结果如图23


图23

执行完后,系统会在csharp文件夹下生成8dll文件,这时我们把这8dll文件复制到GDAL输出目录下的csharp文件夹中。

这样就可以在C#项目中调用GDAL库了。

至此,编译完成。


注意1:

在我后面继续编译GDAL的时候,使用了swigwin-3.0.5转换成C#版,出现了如下问题:

的问题,解决方法是重新下载了低版本的swigwin-1.3.36,并写进了环境变量中,然后就可以编译通过了(如果出现了像“注意2”中的问题,则可以参考其解决方法)。

注意2:

在编译C#版本的GDAL时出现了

如下图24所示的问题,然后先nmake /f makefile.vc clean,再继续

图24

然后又出现了如下图25所示的问题,然后通过如下interface解决了:

图25

按照同样的方式,我们可以通过修改配置文件使GDAL支持NetCDFOracle等。

注意,上述过程中使用 -f或者/f效果都是一样的

完!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值