1

我最近做了一个干净的窗户安装。我通过以下方式安装了 OSGeo4W:https ://trac.osgeo.org/osgeo4w/ 我通过下载 pip 轮GDAL-2.3.2-cp36-cp36m-win_amd64.whl安装了 GDAL 我还将我的 django settings.py配置为:

if os.name == 'nt':
    import platform
    import sys

    OSGEO4W = r"C:\OSGeo4W"
    if '64' in platform.architecture()[0]:
        OSGEO4W += "64"
    assert os.path.isdir(OSGEO4W), "Directory does not exist: " + OSGEO4W
    os.environ['OSGEO4W_ROOT'] = OSGEO4W
    os.environ['GDAL_DATA'] = OSGEO4W + r"\share\gdal"
    os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj"
    os.environ['PATH'] = OSGEO4W + r"\bin;" + os.environ['PATH']
    GDAL_LIBRARY_PATH = sys.path[6] + r'\osgeo\gdal203.dll'

此配置在我以前的机器上有效,但是当尝试使用 Point 字段编辑 django 模型时,我会收到此错误:

GDAL_ERROR 4: b'Unable to open EPSG support file gcs.csv.  Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files.'
Error transforming geometry from srid '4326' to srid '3857' (OGR failure.)
GDAL_ERROR 4: b'Unable to open EPSG support file gcs.csv.  Try setting the GDAL_DATA environment variable to point to the directory containing EPSG csv files.'
Internal Server Error: /admin/event/event/31/change/

我遵循与我之前的设置相同的配置。同一台机器,但新操作系统,所以我有点跺脚。如何配置 GDAL_DATA 环境变量?我尝试了这个建议:

https://stackoverflow.com/a/52597276/9469766

设置GDAL:

GDAL_DATA= OSGEO4W + r'\share\gdal'

GDAL_DATA= OSGEO4W + r'\share\epsg_csv'

但两者仍然产生相同的异常。

4

2 回答 2

1

我也遇到了这个问题。我最终通过为 OSGeo4W 运行 web gis express install 来修复它,它添加了文件夹 epsg_csv,它应该允许你使用:

if os.name == 'nt':
    import platform
    OSGEO4W = r"C:\OSGeo4W"
    if '64' in platform.architecture()[0]:
        OSGEO4W += "64"
    assert os.path.isdir(OSGEO4W), "Directory does not exist: " + OSGEO4W
    os.environ['OSGEO4W_ROOT'] = OSGEO4W
    os.environ['GDAL_DATA'] = OSGEO4W + r"\share\epsg_csv"
    os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj"
于 2020-04-10T00:13:00.877 回答
0

可能有人有更好的解决方案,但是在应用了一些修复之后,我能够找到唯一对我有用的解决方案,即在 Pycharm 中进行 WSL 和远程调试。我已经公开了一个要点,您可以尝试这些设置。 GeoDjango 配置

于 2020-03-10T13:09:22.067 回答