Added several methods to the Task Logic module.
These include the automatic tranistion methods. The methods for running updates , that for instance place comments, in a datastore transition to keep the Task synced with the comments. And a rudimentary way of updating the Tasks' history.
Reviewed by: Lennard de Rijk
def add_postgis_srs(srs):
"""
This function takes a GDAL SpatialReference system and adds its
information to the PostGIS `spatial_ref_sys` table -- enabling
spatial transformations with PostGIS. This is handy for adding
spatial reference systems not included by default with PostGIS.
For example, the following adds the so-called "Google Maps Mercator
Projection" (available in GDAL 1.5):
>>> add_postgis_srs(SpatialReference(900913))
Note: By default, the `auth_name` is set to 'EPSG' -- this should
probably be changed.
"""
from django.contrib.gis.models import SpatialRefSys
from django.contrib.gis.gdal import SpatialReference
if not isinstance(srs, SpatialReference):
srs = SpatialReference(srs)
if srs.srid is None:
raise Exception('Spatial reference requires an SRID to be compatible with PostGIS.')
# Creating the spatial_ref_sys model.
sr, created = SpatialRefSys.objects.get_or_create(
srid=srs.srid, auth_name='EPSG', auth_srid=srs.srid,
srtext=srs.wkt, proj4text=srs.proj4)