这个问题可能会重复,但我没有得到答案。我已经在 python ide 中编写了流畅的代码。
out_srs = osr.SpatialReference()
**self.out_srs.ImportFromEPSG(4326)**
Run Code Online (Sandbox Code Playgroud)
它运行良好,但是当我从应用程序运行它时,它会导致如下错误
注意 - 用 2 颗星括起来的行中的错误-----
"Unable to load EPSG support gcs.csv file check setting GDAL_DATA environment variable which point to gdal library contains EPSG.csv file"
Run Code Online (Sandbox Code Playgroud)
我已经完成了,但我仍然收到此错误。但此代码单独运行但不在应用程序中运行。此代码来自 gdal 的 gdal2tile 模块。我正在使用 python 2.7.6 和 gdal 1.10.0 我无法弄清楚问题是什么以及它在哪里。请建议如何解决这个问题。
GDAL 需要一个名为的环境变量GDAL_DATA,该变量指向一个包含各种数据文件的目录,包括gcs.csv. 在此处了解更多信息。
要检查是否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)))
Run Code Online (Sandbox Code Playgroud)
使用 Anaconda 或 Miniconda 的正确方法是激活安装了 GDAL的环境。例如,从 Windows cmd.exe 激活 Anaconda 的基础环境:
call %LOCALAPPDATA%\Continuum\anaconda3\Scripts\activate.bat base
Run Code Online (Sandbox Code Playgroud)
激活环境会触发环境变量,例如 GDAL_DATA(和其他)被设置,并且经常更改显示环境名称的命令提示符前缀。当环境被停用时,这些环境变量将被取消设置/恢复。
conda deactivate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6924 次 |
| 最近记录: |