首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

gdal装配和使用

2012-07-19 
gdal安装和使用一、linux下的安装和使用1.安装下载源程序包,解压,运行以下三条命令?这样就会生成同时支持32

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

?

热点排行