作者MAGICXX (逢甲阿法)
看板Python
标题[问题] gdal用法
时间Wed May 8 13:07:00 2013
经过上一篇的问题之後 又产生了新的问题 囧
我终於可以利用subprocess.call的用法之後
gdal又有错误出现了 囧
因为在subprocess.call里面他应该是回传0代表完成
可是他总是回传1
然後我又找不到在output 资料夹里面应该输出的GeoTiff
所以唯一的可能性 是他在哪边出问题了
想要问一下大家如果call之後出了问题 有办法让他在有问题的地方停下来吗?
就是不要只回传1 而是报错之类的...
另外 如果我直接在qgis里面用gdal那个plugin他是可以直接完成的
应该不是指令错误之类的~@@
--
#1CYsr0re (Keelung)
1F:→ todo70192:因为引擎的声音太大声了 尤其是在桥下 回音更大声09/11 20:11
2F:→ todo70192:害我没办法专心讲电话 听不清楚09/11 20:12
3F:→ sinyuan99:所以要怪机车骑士吗?_?09/11 20:24
4F:→ todo70192:没错 机车骑太凶 引擎声音太大 没考虑到路边讲电话听不09/11 20:25
5F:→ todo70192:清楚09/11 20:25
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.63.202
6F:→ os653:试试改用Popen,把stdout跟stderr设成PIPE,应该可以读输出 05/08 14:22
谢谢大大
我用CMD直接跑出来 Orz
下面是我这次用cmd跑的过程
============================================================================
>>> from subprocess import Popen
>>> import gdal
>>> crs='"+proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000
+y_0=0+ellps=GRS
80 +units=m +no_defs"'
>>> mask='"C:/Program Files(x86)/Quantum GIS Wroclaw/test/taipei_twd97.shp"'
>>> input='C:/Program Files(x86)/Quantum GIS Wroclaw/test/M_0.tif'
>>> output='"C:/Program Files(x86)/Quantum GIS Wroclaw/test/wrap"'
>>> Popen(['gdalwarp', '-t_srs ' + crs, '-dstnodata 0', '-q', '-cutline ' +
mask, '-dstalpha', '-of GTIFF', input, output])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\subprocess.py", line 679, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 896, in _execute_child
startupinfo)
WindowsError: [Error 2] 系统找不到指定的档案。
==============================================================================
上面这个问题是说他找不到gdalwarp的执行档 还是找不到我要处理的图层的档案?
还请大大们帮我看看m(_ _)m
※ 编辑: MAGICXX 来自: 140.112.63.202 (05/08 14:55)
7F:推 grtfor:要报错回传1时可自己用raise,log的话subprocess可设stderr 05/08 14:56
8F:→ grtfor:看起来像找不到gdalwarp,在shell底下可以直接呼叫吗? 05/08 15:00
不行耶= =a
http://www.gdal.org/gdalwarp.html
我是在这边发现这个工具的
可是我刚刚查了一下 gdal竟然没有这个函式!?
然後我发遍了整个目录 也没有这个执行档 囧
※ 编辑: MAGICXX 来自: 140.112.63.202 (05/08 15:10)