GeoDjango has its own
Feed subclass that may embed location information in RSS/Atom feeds formatted according to either the Simple GeoRSS or W3C Geo standards. Because GeoDjango’s syndication API is a superset of Django’s, please consult Django’s syndication documentation for details on general usage.
In addition to methods provided by the
django.contrib.syndication.views.Feed base class, GeoDjango’s
Feed class provides the following overrides. Note that these overrides may be done in multiple ways:
from django.contrib.gis.feeds import Feed class MyFeed(Feed): # First, as a class attribute. geometry = ... item_geometry = ... # Also a function with no arguments def geometry(self): ... def item_geometry(self): ... # And as a function with a single argument def geometry(self, obj): ... def item_geometry(self, item): ...
Takes the object returned by
get_object() and returns the feed’s geometry. Typically this is a
GEOSGeometry instance, or can be a tuple to represent a point or a box. For example:
class ZipcodeFeed(Feed): def geometry(self, obj): # Can also return: `obj.poly`, and `obj.poly.centroid`. return obj.poly.extent # tuple like: (X0, Y0, X1, Y1).
Set this to return the geometry for each item in the feed. This can be a
GEOSGeometry instance, or a tuple that represents a point coordinate or bounding box. For example:
class ZipcodeFeed(Feed): def item_geometry(self, obj): # Returns the polygon. return obj.poly
© Django Software Foundation and individual contributors
Licensed under the BSD License.