Geo Django GDAL: невозможно открыть файл поддержки EPSG gcs.csv - PullRequest
1 голос
/ 26 февраля 2020

Я недавно установил чистое окно. Я установил OSGeo4W через: https://trac.osgeo.org/osgeo4w/ Я установил GDAL, загрузив колесо pip GDAL-2.3.2-cp36-cp36m-win_amd64.whl Я также настроил django settings.py to:

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'

Эта конфигурация работала на моем предыдущем компьютере, но при попытке отредактировать модель django с полем Point я бы получил эту ошибку:

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/

Я следовал той же конфигурации, что и мои предыдущие настройки. Та же машина, но новая ОС, так что я немного растрепан. Как я могу настроить переменную env GDAL_DATA? Я попробовал предложение:

{ ссылка }

с настройкой GDAL:

GDAL_DATA= OSGEO4W + r'\share\gdal'

и

GDAL_DATA= OSGEO4W + r'\share\epsg_csv'

но оба по-прежнему выдают одно и то же исключение.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Я тоже столкнулся с этой проблемой. Я решил исправить это, запустив веб-установку gis express для OSGeo4W, которая добавляет папку 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"
0 голосов
/ 10 марта 2020

Может быть, у кого-то есть лучшее решение, но после применения исправления я смог найти единственное решение, которое сработало для меня - отладка WSL и Remote в Pycharm. Я сделал публикацию c, вы можете попробовать настройки. Geo Django Конфигурации

...