Guest User

Untitled

a guest
Mar 23rd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. class elevation(models.Model):
  2. rast = models.RasterField(srid=3857)
  3. filename = models.CharField(max_length=120)
  4.  
  5. def __str__(self):
  6. return self.rid
  7.  
  8. from django.contrib.gis.gdal import GDALRaster, SpatialReference
  9. from .models import elevation
  10. def load_elevation(inputfilepath, title, verbose=True):
  11. raster = GDALRaster(inputfilepath, write=True)
  12. print(raster, raster.name, raster.width, raster.height, raster.extent, raster.srid)
  13. # (<Raster object at 0x75c20a8>, u'civildefense/inputs/vvvbxcv.asc', 468, 504, (-918401.3837687642, 4933035.6108884355, -903929.8409687642, 4948620.349288436), None)
  14. raster.srs = 3857
  15. print(raster.srs)
  16. # None
  17. res = elevation.objects.create(rast=raster, filename=title)
  18.  
  19. Traceback (most recent call last):
  20. File "C:Python27libsite-packagesdjangocorehandlersexception.py", line 41, in inner
  21. response = get_response(request)
  22. File "C:Python27libsite-packagesdjangocorehandlersbase.py", line 187, in _get_response
  23. response = self.process_exception_by_middleware(e, request)
  24. File "C:Python27libsite-packagesdjangocorehandlersbase.py", line 185, in _get_response
  25. response = wrapped_callback(request, *callback_args, **callback_kwargs)
  26. File "C:UserstestDesktopFaculdadeTesecodedjangogeodjangocivildefenseviews.py", line 138, in loadElevation
  27. res = load_layer.load_elevation(r'civildefense/inputs/' + title + '.asc', srid, title)
  28. File "C:UserstestDesktopFaculdadeTesecodedjangogeodjangocivildefenseload_layer.py", line 40, in load_elevation
  29. res = elevation.objects.create(srid=srid, rast=raster, filename=title)
  30. File "C:Python27libsite-packagesdjangodbmodelsmanager.py", line 85, in manager_method
  31. return getattr(self.get_queryset(), name)(*args, **kwargs)
  32. File "C:Python27libsite-packagesdjangodbmodelsquery.py", line 394, in create
  33. obj.save(force_insert=True, using=self.db)
  34. File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 808, in save
  35. force_update=force_update, update_fields=update_fields)
  36. File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 838, in save_base
  37. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
  38. File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 924, in _save_table
  39. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
  40. File "C:Python27libsite-packagesdjangodbmodelsbase.py", line 963, in _do_insert
  41. using=using, raw=raw)
  42. File "C:Python27libsite-packagesdjangodbmodelsmanager.py", line 85, in manager_method
  43. return getattr(self.get_queryset(), name)(*args, **kwargs)
  44. File "C:Python27libsite-packagesdjangodbmodelsquery.py", line 1076, in _insert
  45. return query.get_compiler(using=using).execute_sql(return_id)
  46. File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py", line 1111, in execute_sql
  47. for sql, params in self.as_sql():
  48. File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py", line 1064, in as_sql
  49. for obj in self.query.objs
  50. File "C:Python27libsite-packagesdjangodbmodelssqlcompiler.py", line 1003, in prepare_value
  51. value = field.get_db_prep_save(value, connection=self.connection)
  52. File "C:Python27libsite-packagesdjangocontribgisdbmodelsfields.py", line 182, in get_db_prep_save
  53. return connection.ops.Adapter(self.get_prep_value(value))
  54. File "C:Python27libsite-packagesdjangocontribgisdbmodelsfields.py", line 244, in get_prep_value
  55. obj.srid = self.get_srid(obj)
  56. File "C:Python27libsite-packagesdjangocontribgisdbmodelsfields.py", line 171, in get_srid
  57. srid = obj.srid # SRID of given geometry.
  58. File "C:Python27libsite-packagesdjangocontribgisgdalrastersource.py", line 233, in srid
  59. return self.srs.srid
  60. AttributeError: 'NoneType' object has no attribute 'srid'
Add Comment
Please, Sign In to add comment