mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
gis: Added the add_postgis_srs
utility to ease the creation of spatial_ref_sys
table entries.
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@7399 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
282bccfbc1
commit
17baee8789
@ -20,3 +20,4 @@ try:
|
|||||||
except:
|
except:
|
||||||
HAS_GEOIP = False
|
HAS_GEOIP = False
|
||||||
|
|
||||||
|
from django.contrib.gis.utils.srs import add_postgis_srs
|
||||||
|
23
django/contrib/gis/utils/srs.py
Normal file
23
django/contrib/gis/utils/srs.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
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
|
||||||
|
|
||||||
|
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)
|
Loading…
x
Reference in New Issue
Block a user