使用Osgeo4w shell通过。 python脚本

时间:2018-04-04 07:57:49

标签: python shell osgeo ogr2ogr

我试图编写一个脚本来创建对WFS服务的多个ogr2ogr调用(在循环中)。出于某种原因,我不能使用osgeo lib(它是一台工作计算机,访问受限制......),所以我想我会试试Subprocess lib。

到目前为止,我的过程是:

  • 打开OSGeo4W shell
  • 将字符串从脚本传输到shell命令行
  • 循环多个ogr2ogr调用

代码:

import subprocess
p = subprocess.Popen(r'C:\Program Files\QGIS 2.18\OSGeo4W.bat',
                  stdout=subprocess.PIPE, stdin=subprocess.PIPE)

call = 'ogr2ogr -f "CSV" "folder_on_pc" WFS:"dbname" -sql "SELECT * from 
specific_layer where attribute>=20180311 ORDER BY attribute"'

subprocess.check_call(call, shell=True)
output = p.communicate(call)[0]

我知道ogr2ogr调用有效,但似乎无法使命令行输入'。如果这是一个完全错误的方法,请告诉我。我赞不绝口。

0 个答案:

没有答案