这个问题可能会重复,但我没有得到答案。 我在python ide中编写流程代码。
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 :(得分:2)
GDAL需要一个名为GDAL_DATA
的环境变量,其指向a directory with various data files,包括gcs.csv
。 Learn 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)))
答案 1 :(得分:1)
我能够通过以下步骤在Windows中设置GDAL_DATA变量来解决此问题。
找到存储gdal数据的文件夹
\Anaconda2\envs\gdaltest\Library\share\gdal
打开Windows命令提示符,并在gdal数据文件夹的位置运行以下命令。
set GDAL_DATA=....\....\Library\share\gdal
答案 2 :(得分:0)
在MacOS Catalina(10.15.5)上,我在玩PyQGIS(QGIS 3.12)时遇到了我。刚刚在Mac finder中搜索了gcs.csv
,它返回了多个结果:
/usr/local/Cellar/gdal/2.4.2_4/share/gdal/gcs.csv
/Library/Frameworks/UnixImageIO.framework/Versions/F/Resources/epsg_csv/gcs.csv
/Library/Frameworks/GDAL.framework/Versions/2.2/Resources/gdal/gcs.csv
我坚持使用GDAL.Framework
,只是将此环境变量添加到了脚本中:
import os
os.environ['GDAL_DATA'] = '/Library/Frameworks/GDAL.framework/Versions/2.2/Resources/gdal/'
脚本不再抱怨了。