为Python安装GDAL和OGR?


18

我正在用Python开发一些代码,并且想使用GDAL / OGR python绑定。我需要安装GDAL和OGR python绑定的最低数量是多少?

如果我只想从Python使用GDAL / OGR,最简单的安装方法是什么?
我正在寻找适用于Mac和Windows的答案。

GDAL在Python软件包索引(PyPi)中列出,但我不明白如何安装其依赖项(libgdal和libgdal和numpy的头文件)。也许我需要做的就是安装numpy,然后在某处获取libgdal,如果是,在哪里?Windows安装除了 libgdal及其头文件是否还需要Windows Binaries ?

如何确保为我的Python版本(2.5、2.6、2.7、3)获得正确的python绑定?
为了使用Python中的GDAL和OGR,必须对PATH环境变量进行更改,还是可以通过我的site-packages文件夹和典型import语句访问所有内容?

这些问题与此问题相关,但不能回答:
在Mac OS X上将GEOS,PROJ,GDAL / OGR安装到python virtualenv中。
如何在Windows上使用Python安装GDAL?

我应该注意,FWToolsOSGeo4Wkyngchaos提供了带有Python绑定的ogr和gdal,并且非常出色,但是FWTools和OSGeo4W附带了自己的python,而不是充当现有python安装的库,并且kyng chaos框架似乎是仅适用于OSX。


“ kyng混乱框架似乎仅适用于unix。” 我认为您误会了,它们适用
Sean

2
有关Windows安装的信息,请参见gis.stackexchange.com/questions/2276/…。我个人是lfd.uci.edu/~gohlke/pythonlibs的忠实拥护者,因为它们是Win64和最近的版本
Mike T

3
三年后,我将重新审视。简而言之,我可以看到问题在于python库安装在处理用C语言编写的依赖项方面做得很差。他们拥有的Python版本。基本上,没有人创造出一种跨平台的方式来公正地pip install gdal使用它,并使其自动包含并编译GDAL中的所有必需文件。预计您将使用其他方法来创建GDAL二进制文件。
BenjaminGolder

Answers:


25

仅添加此内容是因为我尝试使用kyng chaos工具,但是在Mac OS X机器上,我能够非常轻松地将其安装在Anaconda上

conda install gdal

如果有人再次发现,则发布-我意识到原始帖子已发布3年。


1
我使用了Anaconda,它对于GDAL来说很简单,但是现在我希望能够运行ogr2ogr -clipdst -105.53 39.9 -104.93 40.27 places.json ne_10m_admin_0_map_subunits.shp,并且似乎需要从.configure文件启用GEOS-知道将Anaconda放在哪里吗? trac.osgeo.org/geos
blehman 2014年

我对此注释表示赞赏,但这与KyngChaos二进制文件相似,因为它仍然不允许您使用现有的python安装,并且您必须使用Anaconda随附的python版本。
BenjaminGolder

但是我无法使KyngChaos正常工作,因此添加了这个想法。但是Anaconda允许您选择要安装哪个版本的Python,所以...我不知道,我想您有理由需要使用其他特定的安装吗?
mmallek 2014年

1
一个圣诞节奇迹找到了这个答案,尝试将我的(工作中的)设置从PC转移到Mac大约需要2个多小时。
ScottieB

在必须执行环境重置之后,这对我不再起作用。我收到与from osgeo import ogr
ScottieB '17

6

首先,如果您使用的是Windows,那么上面的链接告诉我的朋友,您可以立即使用安装程序。但是如果您使用的是Linux,这是安装libgdal 1.11的方法。

转到此页面

http://packages.ubuntu.com/trusty/libgdal1h

下载所需的.deb文件,选择您的系统架构。

下载后转到下载目录并运行此命令

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

现在,您将收到一条错误消息,提示未安装依赖项。现在键入此命令

$ sudo apt-get -f install

它会自动重新安装主安装命令,从而自动安装所有依赖项。

$ sudo dpkg -i libgdal1h_1.10.1+dfsg-5ubuntu1_amd64.deb 

现在它将愉快地安装。现在我们需要为gdal安装开发人员库。

$ sudo apt-get install libgdal1-dev 

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

接下来,如果您有numpy,则可以继续GDAL python库的安装,否则安装numpy,以便在linux上安装numpy和scipy

$ sudo apt-get install python-numpy python-scipy

现在使用pip install GDAL库

$ sudo pip install GDAL

正是由于这个答案(使我想起了两个“导出”行),我才能够在virtualenv中安装GDAL :((venv)mgc@mgc:~$ export CPLUS_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ export C_INCLUDE_PATH = /usr/include/gdal (venv)mgc@mgc:~$ pip3 install gdal==1.11.2 或与计算机上安装的gdal库相对应的版本号)。
mgc


4

我不知道在OS X上安装它的简便方法,我认为Kyng Chaos是最好的选择,Windows上的OSGEO4W也是如此。Python绑定只是实际C / C ++代码的包装,如果不从源代码或通过二进制文件安装它们,就无法逃脱。

点或easy_install可以解决问题,具体取决于当前的Python版本和系统库。例如,这是 Python 2.5 PyPI目录。在多个平台和多个版本的Python上一致地安装GDAL仍然是不容易的,但是在许多方面都有意义:它可能是大多数开源和许多专有GIS软件的基础的一个库,并且具有大量数据格式依赖性在它下面。


关于确保事情不会中断,您可能需要查看virtualenv和virtualenvwrapper来帮助保持事情整洁。
雅克·塔迪

PyPI的目录分别为2.4(仅Win32,带有GDAL 1.5、1.6),2.5(mac / win32,带有GDAL 1.5、1.6)和2.6(仅Win32,带有GDAL 1.6)。都没有GDAL 1.7。如果我正确理解了答案的要点,您主要是说这并不容易,并且在某些情况下可能会起作用。我应该研究如何从源代码构建它吗?
BenjaminGolder

@BenjaminGolder:是的,根据我的经验,这可能很棘手,尤其是当您尝试支持许多平台和/或Python版本时。从源代码进行构建需要更多的前期工作,但是如果您要开发一套一致的说明,可能值得花些时间。您可能还想在GDAL列表上提出您的问题,该列表由开发人员自己读取。
SCW

4

与ArcGIS python安装同时安装GDAL / OGR时,我遇到了这个确切的问题。我的Windows解决方案是:

  1. 从下载Gdal和python绑定的二进制文件 http://www.gisinternals.com/sdk/。这包括针对不同版本的python的python绑定版本。
  2. 手动更新python文件中的路径:

os.environ ['PATH'] =“ C:/程序文件(x86)/ GDAL /;” + os.environ ['PATH']

oldpaths = sys.path

sys.path = [“ C:/程序文件(x86)/ GDAL / python /”,]

sys.path.extend(oldpaths)

从osgeo import ogr

从osgeo导入osr

从gdalconst import *

从osgeo import gdal

这不是很漂亮,但可以让您混合使用不同的安装。您还明确知道要加载的内容。

编辑:固定语法错误


4

如果您不希望添加ppa,请使用此选项,

$ sudo apt-add-repository ppa:ubuntugis / ubuntugis-unstable

$ sudo apt-get更新

$ sudo apt-get install python-gdal


2019-04-19:从/programming//a/41613466/4355695添加了一个在我的云ubuntu服务器上为我工作的ubuntu解决方案

sudo add-apt-repository -y ppa:ubuntugis/ppa
sudo apt update 
sudo apt install gdal-bin python-gdal python3-gdal

我不是此答案的原始发帖人,但此问题已锁定,因此必须编辑现有问题。该源(ppa:ubuntugis / ppa)可能比上一个建议的源“不稳定”,并且对于我试图在服务器上运行的python2程序来说还算不错。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.