PostgreSQL+PostGIS+GDAL应用环境配置

目前做的一个项目用到了GDAL,服务器端windowserver2008,VS2010,用的GDAL版本比较旧。迁移过来在本地做开发win10+VS2017,项目调用了ogr2ogr.exe等很多服务器端的GDAL应用环境,都需要在本地重新配置,开发环境GDAL版本服务器端比较旧,不过那些dll使用起来还没有出现问题,故没有再配GDAL开发环境了。

1.装PostgreSQL和PostGIS

这两个软件包版本和服务器端一致,postgresql-9.5.1-1-windows-x64.exe和对应版本的postgis-bundle-pg95x64-setup-2.3.7-1.exe。依次安装即可,网上教程很多,注意安装路径相同就可以了。

值得注意的是两者都安装完之后在PostgreSql的bin目录下(我这里是C:\Program Files\PostgreSQL\9.5\bin)已经有ogr2ogr.exe和很多dll文件了,但是直接使用会报错ERROR 1: Unable to find driver `PostgreSQL’.

2.安装GDAL应用环境

安装GDAL就在官网下载https://download.osgeo.org/gdal/,我这里用的比较新的2.3.0版本,开发环境里C#用的是比较旧的GDAL库文件,版本1.10左右,程序目前在调用本地的程序时并没有报错,所以没有重新配开发环境。

下载完之后解压,进入解压完的gdal-2.3.0目录,修改nmake.opt文件。

首先参考https://blog.csdn.net/rybgis/article/details/12858105文章,将PostgreSQL安装位置中的整个include文件夹以及lib文件夹内的libpq.lib文件拷到新目录下,注意这里新目录不能包含空格,否则之后编译GDAL会报路径错误。之后按文章中的步骤修改nmake.opt文件的PostGIS Libraries部分(我这里拷到了C:\Work\Project下)。


修改完成之后还需要安装Proj,否则后续使用还会报错。前往https://github.com/OSGeo/proj.4,本地git clone或者下载压缩包。之后解压进入proj.4文件夹。

由于服务器端和本地都是64位环境,所以打开VS2017的x64本机工具命令提示。

cd命令进入proj.4文件夹,输入nmake /f makefile.vc。

等待编译完成,继续修改gdal-2.3.0目录下的nmake.opt文件,在PROJ stuff部分进行下图修改。

修改GDAL_HOME参数可以更改安装的路径(我这里设置的是安装到C:\gdal230)。

至此nmake.opt的修改部分基本完工,进行GDAL的安装,输入nmake -f makefile.vc MSVC_VER=1600 DEBUG=1 ANALYZE=1 WITH_PDB=1。

之后再输入nmake -f makefile.vc install

至此安装GDAL部分结束,之后还需要将一些dll文件拷入GDAL安装目录的bin文件夹(我这里是C:\gdal230\bin)。需要拷贝的有Proj的dll文件,位于Proj项目bin目录内(C:\PROJ\bin\proj.dll)以及PostgreSQL的bin目录下的所有dll文件(我这里是C:\Program Files\PostgreSQL\9.5\bin)。

都拷过去之后试了下,ogr2ogr.exe已经没问题了,在解决方案中也能顺利调用。

转载自:https://blog.csdn.net/vic_black/article/details/80817006

You may also like...