Code


Version 5 (modified by jbronn, 5 years ago) (diff)

Updated

GeoDjango 1.1

TOC(GeoDjango1.1)?

This document is to outline the roadmap for the features and fixes that will go into GeoDjango as a part of the 1.1 release. This is meant to be a living document, so feel free to edit -- but please no vandalization or flaming.

Process

All development will be taking place in the gis-1.1 repository hosted at the GeoDjango Mercurial page. The gis-1.1 repository is synchronized with SVN trunk, as well as, Russell Keith Magee's aggregation git repository, and may also include various patches from tickets before they are checked into trunk (e.g., for SpatiaLite support). Because of the dynamic nature of this repository, it is not recommended for production use.

If the work is already part of a ticket then attach subversion patches as normal to the ticket. However, if the work is:

  • A feature that spans multiple tickets (like aggregation or SpatiaLite support)
  • A small tweak that jbronn approves (e.g., Christopher Schmidt's from_bbox patch)

Then send me (jbronn at gmail) patches directly, and I'll incorporate in the mercurial. All the necessary information for working with the mercurial may be found in the next section.

Informal discussion will take place on IRC (in the #geodjango channel on FreeNode network), and more lengthy discussion (like any feature proposals) should take place on the newly created GeoDjango mailing list.

Mercurial Intro

Fortunately, you will only need to learn a subset of Mercurial's features to participate -- and most of them are very similar to what you would do in SVN. This section is a brief guide of the mercurial commands you'll need to work with the gis-1.1 repository.

Installation

For those with setup tools and a command-line:

$ easy_install mercurial

However, there are also Mercurial binary packages for Windows and Mac OS X.

Getting a Copy

Here's how to get a copy of the repository -- unlike SVN, you get every changeset when you "clone" a repository:

$ hg clone http://geodjango.org/hg/gis-1.1/

Making Patches

After cloning, work with the code as necessary. Once modified, you create a patch as follows:

$ hg diff > my_patch.diff

However, if you've made your own changes (e.g., checked in your own local revisions with hg ci) then you will need to send me a diff to the latest pulled revision from the repository. In other words, something like:

$ hg diff -r 49

Updating (Pulling)

To get the latest changes (analagous to svn update), you pull the new changesets and then update the repository with the following commands:

$ hg pull
$ hg update

Or, if you're lazy you can do it in one command:

$ hg pull -u

New Features

Geographic Aggregates

  • Now in trunk as of r9748.
  • Add new PostGIS aggregates: Collect and Polygonize
  • Done: Add Extent, MakeLine, and Union spatial aggregates.
  • Done: Add support for Extent on Oracle

SQLite (SpatiaLite) Support

django.contrib.gis.serializers

  • Contacts: Hobu, Chris Schmidt
  • The start of the module is already in mercurial repo (serializers.py).
  • Related tickets?

GeoQuerySet Methods

  • Add in_place option for GeoQuerySet methods.
    • Have operation performed on geo field instead of new attribute
    • Related Tickets: #9745
  • New GeoQuerySet Method(s)
    • snap_to_grid() (#9745)
    • geojson() (Hobu implemented at one point..)
    • Requests?

Maintenance

Admin

Contact: Dane Springmeyer

  • #8972: Add ability to delete selected vector features
  • #9278: Geographic Admin doesn't show vector overlay when LANGUAGE_BIDI is set
  • #9299: Zoom too far in with PointFields in the admin
  • #9694: Fix admin bug for Ubuntu 8.10/Apache 2.2.9
  • #9806: Fix GeometryField in admin
  • #9620: AppCache issues with SpatialRefSys and GeometryColumns models (to be seen in admin)

Refactor GEOS and GDAL interfaces

  • Goals: clean up cruft, modularize better, move tests into modules, docstring & comment cleanup

GEOS

GDAL

  • #9557: no error message when using old GDAL and trying to get GEOJSON
  • #9806: (for fixing OGRGeomType)
  • #9855: Simplify SpatialReference intiialization with SetFromUserInput (already fixed in mercurial)

Google Maps

  • #9204: Add GIcon
  • #9955: Support for multiple maps.
  • Documentation!
  • General code cleanup; may trim up template path ('templates/gis/google/js/google-map.js'.replace('/js', ''))

Oracle

  • #9794: SQL works on 10 but not on 11 -- bug in Oracle or GeoDjango?

Miscellaneous

  • #9858: Add TEMPLATE_POSTGIS setting
  • #9437: Database connection is closed prior to first HTTP request when deploying via FastCGI