Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class elevation(models.Model):
- rast = models.RasterField(srid=3857)
- filename = models.CharField(max_length=120)
- def __str__(self):
- return self.rid
- from django.contrib.gis.gdal import GDALRaster, SpatialReference
- from .models import elevation
- def load_elevation(inputfilepath, title, verbose=True):
- raster = GDALRaster(inputfilepath, write=True)
- print(raster, raster.name, raster.width, raster.height, raster.extent, raster.srid)
- # (<Raster object at 0x75c20a8>, u'civildefense/inputs/vvvbxcv.asc', 468, 504, (-918401.3837687642, 4933035.6108884355, -903929.8409687642, 4948620.349288436), None)
- raster.srs = 3857
- print(raster.srs)
- # None
- res = elevation.objects.create(rast=raster, filename=title)
- Traceback (most recent call last):
- File "C:Python27libsite-packagesdjangocorehandlersexception.py", line 41, in inner
- response = get_response(request)
- File "C:Python27libsite-packagesdjangocorehandlersbase.py", line 187, in _get_response
- response = self.process_exception_by_middleware(e, request)
- File "C:Python27libsite-packagesdjangocorehandlersbase.py", line 185, in _get_response
- response = wrapped_callback(request, *callback_args, **callback_kwargs)
- File "C:UserstestDesktopFaculdadeTesecodedjangogeodjangocivildefenseviews.py", line 138, in loadElevation
- res = load_layer.load_elevation(r'civildefense/inputs/' + title + '.asc', srid, title)
- File "C:UserstestDesktopFaculdadeTesecodedjangogeodjangocivildefenseload_layer.py", line 40, in load_elevation
- res = elevation.objects.create(srid=srid, rast=raster, filename=title)
- File "C:Python27libsite-packagesdjangodbmodelsmanager.py", line 85, in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- File "C:Python27libsite-packagesdjangodbmodelsquery.py", line 394, in create
- obj.save(force_insert=True, using=self.db)
- File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 808, in save
- force_update=force_update, update_fields=update_fields)
- File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 838, in save_base
- updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
- File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 924, in _save_table
- result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
- File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 963, in _do_insert
- using=using, raw=raw)
- File "C:Python27libsite-packagesdjangodbmodelsmanager.py", line 85, in manager_method
- return getattr(self.get_queryset(), name)(*args, **kwargs)
- File "C:Python27libsite-packagesdjangodbmodelsquery.py", line 1076, in _insert
- return query.get_compiler(using=using).execute_sql(return_id)
- File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py", line 1111, in execute_sql
- for sql, params in self.as_sql():
- File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py", line 1064, in as_sql
- for obj in self.query.objs
- File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py", line 1003, in prepare_value
- value = field.get_db_prep_save(value, connection=self.connection)
- File "C:Python27libsite-packagesdjangocontribgisdbmodelsfields.py", line 182, in get_db_prep_save
- return connection.ops.Adapter(self.get_prep_value(value))
- File "C:Python27libsite-packagesdjangocontribgisdbmodelsfields.py", line 244, in get_prep_value
- obj.srid = self.get_srid(obj)
- File "C:Python27libsite-packagesdjangocontribgisdbmodelsfields.py", line 171, in get_srid
- srid = obj.srid # SRID of given geometry.
- File "C:Python27libsite-packagesdjangocontribgisgdalrastersource.py", line 233, in srid
- return self.srs.srid
- AttributeError: 'NoneType' object has no attribute 'srid'
Add Comment
Please, Sign In to add comment