Geo Django GDAL Exception OGR Failure - PullRequest
       109

Geo Django GDAL Exception OGR Failure

0 голосов
/ 09 февраля 2020

Я использую geo django и работаю на windows. У меня GDAL и OSGEOS настроены в настройках.

Вот мой код settings.py для gdal.

   import os
    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\gdal"
        os.environ['PROJ_LIB'] = OSGEO4W + r"\share\proj"
        os.environ['PATH'] = OSGEO4W + r"\bin;" + os.environ['PATH']

У меня есть модель с полем точек. модель:

class Event(models.Model):
    user = models.ForeignKey(User, on_delete=models.SET, blank=True)
    name = models.CharField(max_length=100)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    location = models.PointField(srid=4326, blank=True)

Всякий раз, когда я пытаюсь создать событие и установить значение поля точки, я получаю эту ошибку:

GDAL_ERROR 6: b'Unable to load PROJ.4 library (proj.dll), creation of\nOGRCoordin
ateTransformation failed.'
Error transforming geometry from srid '4326' to srid '3857' (OGR failure.)

Эта проблема кажется быть проблемой windows. Когда я запускаю это приложение в Ubuntu на моем виртуальном компьютере, все работает нормально.

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Попробуйте добавить это в файл настроек

os.environ ['GDAL_DATA'] = "C: \ OSGeo4W64 \ share \ epsg_csv" <- (путь к файлу gcs.csv) </p>

0 голосов
/ 02 мая 2020

К сожалению, я не смог решить эту проблему для windows. Чтобы обойти эту проблему, я установил Ubuntu на windows, используя oracle virtualbox.

https://www.virtualbox.org/wiki/Downloads

...