'I'm trying to set geo coordinates through address using mapquest. but it give me an error[ django.contrib.gis.gdal.error.GDALException: OGR failure. ]

I'm trying to set geo coordinates through address using mapquest, gdal, gis. but it give me an error. I never used gdal and gis so i can't figue out the problem but i think there is problem on models.py. please help me to figue out the [OGR failure] error

Any help would be appreciated! - Let me know if I should update this question with my settings.py or other relevant files.

Here is me Logs.

Environment:


Request Method: POST
Request URL: http://127.0.0.1:8000/admin/job/job/add/

Django Version: 4.0.3
Python Version: 3.10.4
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'rest_framework',
 'corsheaders',
 'django_filters',
 'job.apps.JobConfig',
 'django.contrib.gis']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback (most recent call last):
  File "D:\Django\Jobbee\env\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request)
  File "D:\Django\Jobbee\env\lib\site-packages\django\core\handlers\base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\admin\options.py", line 683, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\utils\decorators.py", line 133, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\views\decorators\cache.py", line 62, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\admin\sites.py", line 242, in inner
    return view(request, *args, **kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\admin\options.py", line 1885, in add_view
    return self.changeform_view(request, None, form_url, extra_context)
  File "D:\Django\Jobbee\env\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\utils\decorators.py", line 133, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\admin\options.py", line 1745, in changeform_view
    return self._changeform_view(request, object_id, form_url, extra_context)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\admin\options.py", line 1791, in _changeform_view
    form_validated = form.is_valid()
  File "D:\Django\Jobbee\env\lib\site-packages\django\forms\forms.py", line 205, in is_valid
    return self.is_bound and not self.errors
  File "D:\Django\Jobbee\env\lib\site-packages\django\forms\forms.py", line 200, in errors
    self.full_clean()
  File "D:\Django\Jobbee\env\lib\site-packages\django\forms\forms.py", line 433, in full_clean
    self._clean_fields()
  File "D:\Django\Jobbee\env\lib\site-packages\django\forms\forms.py", line 445, in _clean_fields
    value = field.clean(value)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\forms\fields.py", line 90, in clean
    geom.transform(self.srid)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\geos\geometry.py", line 480, in transform
    g = gdal.OGRGeometry(self._ogr_ptr(), srid)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\gdal\geometries.py", line 123, in __init__
    self.srs = srs
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\gdal\geometries.py", line 289, in _set_srs
    sr = SpatialReference(srs)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\gdal\srs.py", line 114, in __init__
    self.import_epsg(srs_input)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\gdal\srs.py", line 300, in import_epsg
    capi.from_epsg(self.ptr, epsg)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\gdal\prototypes\errcheck.py", line 120, in check_errcode
    check_err(result, cpl=cpl)
  File "D:\Django\Jobbee\env\lib\site-packages\django\contrib\gis\gdal\error.py", line 59, in check_err
    raise e(msg)

Exception Type: GDALException at /admin/job/job/add/
Exception Value: OGR failure.

model.py

from django.db import models
from datetime import *
from django.contrib.auth.models import User

import geocoder
import os

from django.contrib.gis.db import models as gismodels
from django.contrib.gis.geos import Point

class Job(models.Model):
    address = models.CharField(max_length=100,null=True)

    point = gismodels.PointField(default=Point(0.0, 0.0))

    def save(self, *args, **kwargs):
        g = geocoder.mapquest(self.address, key=os.environ.get('GEOCODER_API'))
        print(g)
        lng =g.lng
        lat=g.lat
        self.point = Point(lng, lat)
        super(Job, self).save(*args, **kwargs)


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source