Django

Code

root/django/branches/gis/django/contrib/gis/db/backend/oracle/__init__.py

Revision 7641, 1.7 kB (checked in by jbronn, 3 weeks ago)

gis: Refactor of the GeoQuerySet; new features include:

(1) Creation of internal API that eases generation of GeoQuerySet methods.
(2) GeoQuerySet.distance now returns Distance objects instead of floats.
(3) Added the new GeoQuerySet methods: area, centroid, difference, envelope, intersection, length, make_line, mem_size, num_geom, num_points, perimeter, point_on_surface, scale, svg, sym_difference, translate, union.
(4) The model_att keyword may be used to customize the attribute that GeoQuerySet methods attach output to.
(5) Geographic distance lookups and GeoQuerySet.distance calls now use ST_distance_sphere by default (performance benefits far outweigh small loss in accuracy); ST_distance_spheroid may still be used by specifying an option.
(6) GeoQuerySet methods may now operate accross ForeignKey? relations specified via the field_name keyword (but this does not work on Oracle).
(7) Area now has the same units of measure as Distance.

Backward Incompatibilites:

  • The aggregate union method is now known as unionagg.
  • The field_name keyword used for GeoQuerySet methods may no longer be specified via positional arguments.
  • Distance objects returned instead of floats from GeoQuerySet.distance.
  • ST_Distance_sphere used by default for geographic distance calculations.
Line 
1 __all__ = ['create_spatial_db', 'get_geo_where_clause', 'SpatialBackend']
2
3 from django.contrib.gis.db.backend.base import BaseSpatialBackend
4 from django.contrib.gis.db.backend.oracle.adaptor import OracleSpatialAdaptor
5 from django.contrib.gis.db.backend.oracle.creation import create_spatial_db
6 from django.contrib.gis.db.backend.oracle.field import OracleSpatialField
7 from django.contrib.gis.db.backend.oracle.query import *
8
9 SpatialBackend = BaseSpatialBackend(name='oracle', oracle=True,
10                                     area=AREA,
11                                     centroid=CENTROID,
12                                     difference=DIFFERENCE,
13                                     distance=DISTANCE,
14                                     distance_functions=DISTANCE_FUNCTIONS,
15                                     gis_terms=ORACLE_SPATIAL_TERMS,
16                                     gml=ASGML,
17                                     intersection=INTERSECTION,
18                                     length=LENGTH,
19                                     limited_where = {'relate' : None},
20                                     num_geom=NUM_GEOM,
21                                     num_points=NUM_POINTS,
22                                     perimeter=LENGTH,
23                                     point_on_surface=POINT_ON_SURFACE,
24                                     select=GEOM_SELECT,
25                                     sym_difference=SYM_DIFFERENCE,
26                                     transform=TRANSFORM,
27                                     unionagg=UNIONAGG,
28                                     union=UNION,
29                                     Adaptor=OracleSpatialAdaptor,
30                                     Field=OracleSpatialField,
31                                     )
Note: See TracBrowser for help on using the browser.