2015-07-02 68 views
2

我安裝了Python 3.4.0 64位和gdal文件release-1400-x64-gdal-1-11-1-mapserver-6-4-1。從http://www.gisinternals.com/release.php開始郵編。我發現來自http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal的綁定和文件名是GDAL-1.11.2-cp34-none-win_amd64。我成功安裝這些文件並導入gdal。然而,當我運行的Python IDE中的以下命令來合併文件1 2和3,我得到了一個錯誤gdal_merge.py不能在gdal之後工作並且它已經安裝python綁定

>>> gdal_merge.py -o out.tif 1.tif 2.tif 3.tif 
    File "<console>", line 1 
    gdal_merge.py -o out.tif 1.tif 2.tif 3.tif 
       ^
SyntaxError: invalid syntax 

我專門檢查,看看我是否可以導入gdal_merge如下

>>> import gdal_merge 

並沒有問題。 我很感激有人能幫助解決這個問題。

回答

2

gdal_merge.pyGDAL utilities的一部分,它們是從命令行執行的,而不是從Python IDE或其他Python腳本中執行的。

只需打開一個命令行(cmd)和類型:

python gdal_merge.py -o out.tif 1.tif 2.tif 3.tif 

根據您的環境變量,是否在您的Path變量包括GDAL您可能需要specificy到gdal_merge.py完整路徑和/或可在通話開始時忽略python

+0

感謝您的評論。我有兩個問題:我想知道是否有一種方法可以在Python IDE中使用此命令。我可以使用其他GDAl函數,但是這個問題有問題。我的第二個問題是:是否有任何方法,而不是像1.tif 2.tif等輸入文件名,我可以合併文件夾中的所有文件?謝謝 – user2148425

+0

如果你想在Python中使用命令行工具,我建議看一下[subprocess](https://docs.python.org/2/library/subprocess.html)模塊。您也可以使用[批處理腳本來合併文件](http://gis.stackexchange.com/questions/88058/how-to-batch-gdal-merge-on-win7-in-one-command-line-command )。 – Kersten

+0

我想知道如何在輸入參數「-n 0」中傳遞要在子進程中使用的命令。看起來數字值不能傳入,因爲它只取文本值。 – user2148425

相關問題