gdal安装和使用
一、linux下的安装和使用1.安装
下载源程序包,解压,运行以下三条命令
?
这样就会生成同时支持32位和64位的动态链接库了。
参考这里:
?
[1] http://www.kyngchaos.com/macosx/build/gdal
[2] http://www.mail-archive.com/libtool@gnu.org/msg12306.html
?
2. dmg安装William Kyngesburye维护了一个GDAL的Mac OS X framework.
按指示安装即可,卸载的话直接将/Library/Framework/GDAL.framework, /Library/Application Support/GDAL,~/Library/Application Support/GDAL 扔到废纸篓里
2.1?
安装成功后,安装目录(/Library/Frameworks/GDAL.framework/)下是没有Libraries目录的。
如果我们的程序要以共享库的方式使用,则需要在安装目录(/Library/Frameworks/GDAL.framework/)下加一个符号连接:
directory这是没有安装python-dev的原因
?
首先,检查python版本
$ python -V
Python 2.7.2+
?
根据版本选择要安装python-dev:
$ sudo apt-get install python2.7-dev
?
最好安装 numpy
sudo apt-get install python-numpy
?
otherwise:
import _gdal?
ImportError: No module named _gdal?
?
从源码安装python:
下载源码,configure->make->make install后,运行python -V查看
?
需要指定gdal库的位置,如前,必要时执行ldconfig
在gdal的swig/python目录下运行
python setup.py build
python setup.py install
?
检查模块是否正确安装
pyhon环境中运行
?
from osgeo import ogr
3. 64位linux下build如果出现如下错误/usr/lib/libexpat.so: could not read symbols: File in wrong format
是说expat是32位的不能在64位机器上,可以修改configure生成的GDALmake.opt指向正确的文件,或者confiugre时指定不要expat,但这样就不支持KML和GPX了
?
可采用使用自带的expat来编译,?配置时加上如下参数:
./configure --with-expat=buildin
?
?
?
?
4. HDF4的支持:从源代码编译安装HDF4?
4.1 前提在ubuntu中编译hdf4的时候需要yacc和flex
?
如果configure时出现错误:
cannot find yacc utility
要安装byacc
sudo apt-get install byacc
?
?
4.2 HDF4需要安装第三方支持库:szip jpeg 等?
策略是将这些都安装在/usr/local下,在hdf安装配置时指定(--prefix=...)这些第三方库的安装路径,在gdal安装配置时指定hdf的安装路径
?
4.2.1 szip库的安装可以选择szip库的支持,make安装szip时,缺省是安装在当前szip源文件目录下的,所以最好指定安装路径:
./configure --prefix=/usr/local/szip-2.1
?
?
4.2.2 jpeg第三方库的安装http://www.hdfgroup.org/ftp/lib-external/jpeg/src/jpegsrc.v6b.tar.gz
?
?
./configure --prefix=/usr/local/jpeg6b --enable-shared --enable-static?
查了一下,似乎这个jpeg库源代码是1998年发布的。在编译安装时有可能会遇到如下两个问题:1) libtool的问题在64位环境中make的时候会出现libtool错误,可以apt-get 安装libtool,然后在安装目录下建立一个到libtool的软链接:
ln -s `which libtool` libtool
这样就可以make了
?
2) 手工创建目标目录但是在make install之前,还要先手工建好以下目录
sudo mkdir -p?/usr/local/jpeg6b/bin??/usr/local/jpeg6b/include?/usr/local/jpeg6b/lib?/usr/local/jpeg6b/man/man1?
?
sudo make install
?
4.2.3 zlib库的安装一般系统都自带了这个库,不过版本较低(1.2.3)。如果坚持安装最好自定义安装路径:
./configure --prefix=/usr/local/zlib-1.2.5
make?
sudo make install
?
如果不指定prefix,有可能override系统自带的zlib,导致某些其它应用不能正常使用。好在zlib源代码提供了一个卸载选项:
sudo make uninstall
?
?
4.3 hdf4的编译安装需要指定安装目标路径(prefix)。不然就装在当前目录下了。
?
./configure --prefix=/usr/local/hdf-4.2.7 --with-jpeg=/usr/local/jpeg6b --with-szlib=/usr/local/szip-2.1 --enable-shared=yes --enable-static=yes --disable-fortran
?
或者,坚持使用zlib-1.2.5的话
./configure --prefix=/usr/local/hdf-4.2.7 --with-jpeg=/usr/local/jpeg6b --with-szlib=/usr/local/szip-2.1 --with-zlib=/usr/local/zlib-1.2.5 --enable-shared=yes --enable-static=yes --disable-fortran
?
make?
sudo make install
将HDF4库配置安装在/usr/local/hdf-4.2.7目录下
?
4.4 gdal的编译安装./configure --with-python --with-hdf4=/usr/local/hdf-4.2.7
?
make?
sudo make install
参考:http://www.cnblogs.com/yeahgis/articles/2446336.html
http://www.hdfgroup.org/release4/obtain.html
?