我正在尝试在python脚本中使用ogr2​​ogr实用程序将GML转换为ESRI shapefile。

我已经通过osgeo成功安装了GDAL / OGR软件包,但是现在我正在努力查找/理解有关在python中使用ogr2​​ogr的语法的任何详细信息。

导入ogr后,我发现的只是ogr2ogr -f "ESRI Shapefile" output.shp input.gml

如何在python中使用它?它就像分配输入和输出文件一样简单吗?

我尝试的所有操作都遇到语法错误。任何正确方向的指示都可以帮助我入门。

评论

您遇到什么错误?您的GDAL版本是什么?请分享为您提供帮助。.

#1 楼

获取ogr2ogr Python端口的副本,该副本随GDAL源代码下载一起分发,或者可以在以下位置找到:http://svn.osgeo.org/gdal/trunk/gdal/swig/python/samples/ogr2ogr.py

将其导入代码后,就可以像这样使用它:

import ogr2ogr

def main():
  #note: main is expecting sys.argv, where the first argument is the script name
  #so, the argument indices in the array need to be offset by 1
  ogr2ogr.main(["","-f", "KML", "out.kml", "data/san_andres_y_providencia_administrative.shp"])


评论


这是我在任何地方看到的唯一可行的示例。

– bozdoz
2014年3月25日17:15

我不明白,我应该如何安装ogr或GDAL来使用它而不是下载单个py文件?

– jokoon
20年6月24日在18:40

#2 楼

阅读os.system或os.popen或子进程。或者只是使用ogr2​​ogr和您的shell。甚至cmd.exe(Windows)都允许您循环输入文件。

#3 楼




您可能会找到比我在http://www.gis.usu.edu/~chrisg/python/2009/lectures/ospy_slides1.pdf和http://trac.osgeo上更好的答案。 org / gdal / wiki / GdalOgrInPython。

尝试从第二个URL链接的另一个教程,或者问另一个更具体的问题,如果您遇到问题了。

#4 楼

在此处可以找到如何用OGR Python API替代ogr2ogr命令行工具的详细说明。