2014-09-25 120 views
0

這個問題可能會重複,但我沒有得到答案。 我已經在Python IDE中編寫了流動代碼。無法在gdal中加載「gcs.csv」文件

out_srs = osr.SpatialReference() 

    **self.out_srs.ImportFromEPSG(4326)** 

它運行良好,但是當我從應用程序中運行它,它如下

注意導致一個錯誤 - 在錯誤線封閉在2星級-----

"Unable to load EPSG support gcs.csv file check setting GDAL_DATA environment variable which point to gdal library contains EPSG.csv file" 

我已經做到了,但我仍然得到這個錯誤。但此代碼單獨運行,但不在應用程序中。此代碼來自gdal的gdal2tile模塊。我正在使用python 2.7.6和gdal 1.10.0我無法理清什麼是問題以及它在哪裏。請建議如何解決這個問題。

+0

它是如何知道'geodetic'在您的代碼中指向'out_srs'? – beroe 2014-09-25 09:56:43

回答

1

GDAL需要一個名爲GDAL_DATA的環境變量,指向a directory with various data files,包括gcs.csvLearn more about it here

要檢查是否設置了GDAL_DATA,並且包含gcs.csv,並且如果這是可讀的,請使用以下代碼片段來檢查應用程序。這應該靠近引發錯誤的代碼。

import os 
import stat 
gdal_data = os.environ['GDAL_DATA'] 
print('is dir: ' + str(os.path.isdir(gdal_data))) 
gcs_csv = os.path.join(gdal_data, 'gcs.csv') 
print('is file: ' + str(os.path.isfile(gcs_csv))) 
st = os.stat(gcs_csv) 
print('is readable: ' + str(bool(st.st_mode & stat.S_IRGRP))) 
+0

從應用程序運行後,它返回以下輸出GDAL_DATA:C:\ Program Files \ GDAL \ gdal-data; – user2353848 2014-09-29 05:11:43

+0

但我仍然得到相同的錯誤 – user2353848 2014-09-29 05:12:53

+0

更新後的支票如何?你不需要顯示輸出結果,只要他們都說「真」。 – 2014-09-29 05:26:58