看板 Python 關於我們 聯絡資訊
經過上一篇的問題之後 又產生了新的問題 囧 我終於可以利用subprocess.call的用法之後 gdal又有錯誤出現了 囧 因為在subprocess.call裡面他應該是回傳0代表完成 可是他總是回傳1 然後我又找不到在output 資料夾裡面應該輸出的GeoTiff 所以唯一的可能性 是他在哪邊出問題了 想要問一下大家如果call之後出了問題 有辦法讓他在有問題的地方停下來嗎? 就是不要只回傳1 而是報錯之類的... 另外 如果我直接在qgis裡面用gdal那個plugin他是可以直接完成的 應該不是指令錯誤之類的~@@ -- #1CYsr0re (Keelung)
todo70192:因為引擎的聲音太大聲了 尤其是在橋下 回音更大聲09/11 20:11
todo70192:害我沒辦法專心講電話 聽不清楚09/11 20:12
sinyuan99:所以要怪機車騎士嗎?_?09/11 20:24
todo70192:沒錯 機車騎太兇 引擎聲音太大 沒考慮到路邊講電話聽不09/11 20:25
todo70192:清楚09/11 20:25
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.202
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)
grtfor:要報錯回傳1時可自己用raise,log的話subprocess可設stderr 05/08 14:56
grtfor:看起來像找不到gdalwarp,在shell底下可以直接呼叫嗎? 05/08 15:00
不行耶= =a http://www.gdal.org/gdalwarp.html 我是在這邊發現這個工具的 可是我剛剛查了一下 gdal竟然沒有這個函式!? 然後我發遍了整個目錄 也沒有這個執行檔 囧 ※ 編輯: MAGICXX 來自: 140.112.63.202 (05/08 15:10)