使用GDAL编程的最佳语言


20

我将开始创建程序来处理来自PostGIS服务器的地理数据,并使用GDAL。

根据您的经验,用最好的语言来编程吗?我可以使用Perl和Python进行编程,但想了解该语言,并提供更多可重复使用的代码,示例,库等。


6
我没有任何证据,但是我的感觉是Python比Perl具有更多的库和用户。这就是我的投票!
blah238

我认为Postgis已经可以使用许多应用程序。如果您问另一个问题说您有什么需求,也许您可​​以负担得起的工作:)
Francisco Puga,2012年

Answers:


26

就个人而言,我真的很喜欢使用Python用GDAL进行编码。一旦安装好它,并弄清楚它是如何工作的,这很容易进行。同样,通过python,您可以利用一些真正有用的“内置电池”内置模块(os,数学,字符串,sys,random等),以及第三方模块,例如NumPy(可用于栅格操作)。

有关GIS Python库的完整列表,请参见此处:在GIS中至关重要的Python工具/模块/插件是什么?)。

可以在这里找到关于Python GDAL绑定的非常好的介绍:

http://www.gis.usu.edu/~chrisg/python/2009/

您可以在最短的时间内掌握一些知识和知识,例如,可以分两行抓取shapefile:

driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.Open('shapefile.shp')

阅读文档(http://www.gdal.org/annotated.html)并且知道您在做什么之后,对文件执行任何操作都是非常容易的。

请参阅此处,以了解一些简单且最少的代码可能实现的示例:

http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/


13

在我看来,这是一个非常主观的问题。从GDAL / OGR的角度来看,我将说该库的基本相同功能在Python和Perl中公开。因此,很多情况可能取决于您的语言偏好以及您可能需要的其他组件。

我本人是python专家,但我想代表perl发言,请注意,Ari Jolma维护的GeoInformatica环境包括GDAL / OGR和许多其他对perl脚本编写者有用的东西。我鼓励您检查一下:

http://geoinformatics.tkk.fi/


7

毫无疑问,最好的语言是 Python。因为除了GDAL的使用,它还提供了许多其他可能性:

1)使用python,您可以使用SQLAlchemy之类的ORM连接到Postgis服务器,它将提供许多高级功能来处理您的数据并为数据准备数据。

2)您可以使用其他python库处理地理数据,例如ShapelyHigh Performance Geostatistics库

3)您对python中的地图输出有很好的绑定,例如Mapnik

4)您拥有一些框架和高级API,这些工作将为您节省大量工作,例如Geodjango(您可以在本地使用)或Qgis API


6

对Python进行第三次投票。对我来说,除了上面的出色答案外,这是因为我很快就厌倦了不得不了解六种脚本语言来完成不同的工作,因此,一旦ESRI支持Python,我就将它们全部放弃了(几乎-Javascript仍然有用)以支持Python。很棒的事情是,我使用的其他非GIS软件包也支持Python,因此我可以从各种软件的API中调用GDAL / OGR。Python也是一种非常高级的语言,因此我只写了十分之一的代码,即使像C#这样的托管语言也需要。

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.