GeoDjango 1.2
Overview
This document details the features that are forthcoming to GeoDjango in the 1.2 release.
High Priority
These tickets and features are a high priority for inclusion into django.contrib.gis
for the Django 1.2 release.
Multiple Database Support
- Extend [browser:django/branches/soc2009/multi-db multiple database] support to GeoDjango
SpatialBackend
is gone; all functionality will be moved into full-fledged database backends. The following can be used for theENGINE
setting:django.contrib.gis.db.backends.postgis
django.contrib.gis.db.backends.mysql
django.contrib.gis.db.backends.oracle
django.contrib.gis.db.backends.spatialite
- Related Bugfixes (multi-db refactoring should solve, or make easy to solve)
Admin-UI
- Apply any necessary changes, if necessary, to make [browser:django/branches/soc2009/admin-ui admin-ui] compatible.
3D Geometries
- #11433: Complete support for 3D Geometries
- Complete!
- PostGIS only, but considering support for SpatiaLite 2.4
- #12154:
OGRGeometry
coordinate dimension change upon transform - Need more robust KML serialization to better support 3D (see below)
- What about the admin?
Map Widgets
- UPDATE: This feature will not make it into 1.2, and is deferred to 1.3.
- #5472: Implement individual map widgets for geometry fields.
- Related tickets:
- Related projects:
- Charles DeTar's olwidget.
PostGIS Geography Support
- Add support for the PostGIS 1.5 geography type.
- Current API in testing is to set
geography
keyword on the geometry field (only SRID of 4326 supported):from django.contrib.gis.db import models class City(models.Model): point = models.PointField(geography=True) objects = models.GeoManager()
- API limited to subset of supported geography functions.
KML
- Come up with a more robust method to serialize KML from geometries
- Need to have way to set
clampToGround
,relativeToGround
, andabsolute
tags (important for 3D KML) - Other tags?
- Styles?
- Put in
django.contrib.gis.utils.kml
? - Class-based or method-based?
- Need to have way to set
- Upgrade KML templates to use 2.2
Geometry Backend
- Backend Information:
- Was necessary to decouple from database; makes it possible to swap out geometry representation used within the rest of GeoDjango
- Set
GEOMETRY_BACKEND
to change from GEOS (default) to a different included backend, or with the module name of the user's choice. - Requirements:
Geometry
andGeometryException
objectsGeometry
objects require:- Serialization properties:
wkb
,wkt
,ewkt
,ewkb
- Attribute properties:
coord_dim
,geom_type
(string),srid
- Serialization properties:
- Initial Backends (housed in
django.contrib.gis.geometry.backend
):geos
: default, usesGEOSGeometry
gdal
: usesOGRGeometry
(actually faster at parsing than GEOS)ogr
: thin wrapper over GDAL's SWIG bindingsshapely
subclass of or thin wrapper over Shapely
GEOS
- #10923: Use thread-safe GEOS API
- #12010: Add
ewkb
andhexewkb
properties and document the GEOS IO Classes - Add support for the Python Geo Interface
- Create a
__geo_interface__
property that returns a dictionary containing thetype
,coordinates
, andcrs
of theGEOSGeometry
- Use the interface to create GeoJSON when GDAL not available, e.g.,
simplejson.dumps(self.__geo_interface__)
- Be able to initialize arbitrary Python objects that implement the
__geo_interface__
protocol
- Create a
GDAL
- #12154:
OGRGeometry
coordinate dimension change upon transform - Add serialization properties for compatibility as geometry backend:
ewkb
,hexewkb
,ewkt
- Add support for the Python Geo Interface
- Same as above, but will be easier to implement
GeoQuerySet
Methods
- #10594: Filter out
NULL
geometries - #11854: Add support for PostGIS
ST_Azimuth
- Also considering:
ST_GeoHash
,ST_ForceRHR
,ST_MinimumBoundingCircle
- Also considering:
GeoQuerySet
methodin-place
keyword option?
Google Maps
Other Tickets and Features
These tickets/features will be considered for inclusion into GeoDjango for 1.2, but there are no guarantees as core developer time is scarce. To increase chances of being accepted, the ticket should have a patch, tests, and as much documentation as possible.
Miscellaneous
- #11948: Linear referencing
Google Maps
Last modified
15 years ago
Last modified on Feb 24, 2010, 4:16:23 PM
Note:
See TracWiki
for help on using the wiki.